Microcontroladores PIC => * PROYECTOS * => Mensaje iniciado por: PulKon en 05 de Septiembre de 2010, 00:04:37
Título: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: PulKon en 05 de Septiembre de 2010, 00:04:37
Pretendo realizar una sencilla caja negra con un PIC como el 16F628A para que detecte la apertura de un gabinete, guardando en la memoria EEPROM la fecha en que se efectuó la apertura: Año-Mes-Día-Hora-Minuto, pudiéndo ser de la siguiente forma: 1009042158, dos dígitos para cada uno. Estoy considerando poner dos LEDs, uno verde para que encienda de manera intermitente al presionar un botón de verificación de estado, indicando que no se ha abierto y de manera similar un LED rojo, para señalizar que al menos en una ocasión ya se abrió dicho gabinete.
Voya a hacer el diagrama propuesto y lo subo para ponerlo a la consideración de ustedes.
Saludos.
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: PulKon en 05 de Septiembre de 2010, 03:29:01
Este sería el diagrama inicial, el botón BA es para que nos de una temporización de algunos minutos o el tiempo necesario para que al activarlo nos permita cerrarlo sin que haga alguna detección. El botón BV es para verificar el estado de los LEDs, se desea que el consumo sea mínimo a fin de alimentarlo con una pila.
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: todopic en 05 de Septiembre de 2010, 18:09:01
Hola, necesitaras, un RTC o reloj en tiempo real para almacenar las fechas.. salvo que no necesites tanta precision... lo harias con temporizaciones... tendras que buscar la forma de "cargar" la hora y fecha actual... quizas por comunicacion serie, y al activarlo, enviar los datos desde una PC luego, un contador de "aperturas" tendria que ir grabando en posiciones sucesivas en eeprom... de la misma manera, tendrias que "leer" los datos grabados desde una PC :mrgreen:
Norberto
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: PulKon en 05 de Septiembre de 2010, 21:31:39
Hola Norberto, No necesito mucha precisión, pero tampoco se que tan preciso resulte con el PIC, busqué el RTC y encontré disponibles por acá el DS12887A, lo voy a comprar proximamente y estudiarlo, pero mientras podría experimentar haciéndolo con temporizadores como me indicas. Lo voy a hacer paso a paso para enterderlo bien, primero la base de tiempo de 1 minuto y un contador del cual las primeras dos cifras serían los minutos, las siguientes dos las horas, etc. por el momento voy a considerar meses de 30 días y despues ver la manera de ajustarlos, la alimentación la haré por medio de una pila CR2032 a ver como funciona y aunque por el momento no grabe datos, podré ir viendo su consumo con un solo LED que pulse 200ms cada minuto.
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: CoreMain en 06 de Septiembre de 2010, 17:00:26
Muy buena la idea de caja negra. Si vas a omitir el RTC, usar temporizadores y usas PicBasic para programar, quizá encuentres interesante http://darreltaylor.com/DT_INTS-14/elapsed.html Esta página te muestra una forma más sencilla de usar las interrupciones y además muestra un reloj-timer como ejemplo. Suerte!
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: PulKon en 07 de Septiembre de 2010, 01:04:52
Gracias por la información CoreMain, ya visité la página pero no se usar PicBasic, estoy iniciando a usar el lenguaje ensamblador.
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: samshiel_pic en 07 de Septiembre de 2010, 13:35:29
Yo tenia en un proyecto parecido y usa este tipo de pulsadores.
Los atornillas al chasis a la misma altura de la tapa y listo.
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: PulKon en 09 de Septiembre de 2010, 00:33:58
Totalmente de acuerdo contigo samshiel_pic, ese microswitch es el adecuado o alguna de sus variantes con palanca mas grande. Estoy por terminar el programa, pero lo estoy haciendo con retardos, aunque tengo que estar equilibrando los ciclos de máquina en función de las diversas trayectorias que va tomando el programa, esto en lo que veo otras formas para mejorarlo.
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: martincnc en 09 de Septiembre de 2010, 00:50:45
Hola Pulkon.
Porque no usas alguno de los temporizadores del PIC16F628 para hacer la base de tiempo?. De esta manera podrías hacer otras tareas mientras corre el reloj y no tendrías que preocuparte por corregir el valor de los registros constantemente.
Saludos!
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: PulKon en 09 de Septiembre de 2010, 12:16:45
Hola martincnc.
De acuerdo voy a seguir tu consejo y el de todopic.
Gracias.
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: PulKon en 09 de Septiembre de 2010, 17:28:23
Con base al tutorial del foro: http://www.todopic.com.ar/foros/index.php?topic=24720.0 y a sus recomendaciones ya realicé una base de tiempo de 1 seg. pongo el programa como referencia y continuo con lo demas.
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: martincnc en 09 de Septiembre de 2010, 20:26:51
Hola PulKon
Como recomendación te diría que cargues el valor del temporizador lo mas rápido posible luego de ingresar al vector de interrupción (teniendo en cuenta la cantidad de instrucciones que sucedieron con anterioridad dentro del vector), digo esto para no tener que corregir los valores del temporizador para las distintas posibles salidas de la interrupción y así mantener separada la base de tiempo del resto del programa.
Saludos!
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: PulKon en 13 de Septiembre de 2010, 04:47:29
Hola martincnc,
Ya elaboré el diagrama de flujo correspondiente, he realizado algunas modificaciones, como lo es que solo grabe los datos cuando se detecte la apertura, considerando que eso es lo importante para efectos de garantías. No he incluido las subrutinas porque aún no las elaboro, agradezco tus comentarios.
Saludos.
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: PulKon en 13 de Septiembre de 2010, 04:49:14
No paso la parte 1, la pongo.
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: PulKon en 27 de Septiembre de 2010, 14:17:45
He cambiado el diagrama del proyecto, agregándole 3 displays para visualizar la fecha y hora en que ocurrió la apertura del gabinete, considerando que solo nos interesa grabar el primer evento de apertura. La información en el display solo estará activa al presionar el botón BV, siempre y cuando ya haya operado el sensor, en caso contrario, se encenderá el LED verde parpadeando 3 veces (todo bien), la información se desplegará cada segundo, primero el año, seguido por, mes, dia, hora y fianlmente minutos.
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: PulKon en 27 de Septiembre de 2010, 14:23:09
Una pregunta fuera del tema, ¿Como pongo una imagen propia en mi nombre PulKon?
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: martincnc en 28 de Septiembre de 2010, 21:44:53
Hola pulKon. Felicitaciones por el avance. Sigo tu proyecto de cerca.
Con respecto a la imagen para mostrar o avatar, debes seleccionarlo en "Perfil" --> "Información del Perfil del foro" y seleccionar la que quieras sea de una pagina web o de tu disco duro.
Saludos!
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: PulKon en 06 de Octubre de 2010, 01:45:35
Gracias martincnc, pude subirlo desde una página pero no desde mi disco duro, por lo que lo voy a poner aqui y lo voy a subir, espero que funcione. Saludos.
Si funcionó.
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: PulKon en 24 de Octubre de 2010, 00:55:13
Consideraré la opción de pre-programar una fecha y energizarlo en ese momento para que sea la fecha real.
Posteriormente me gustaría incluir el RTC que me recomendaron inicialmente y un display LCD.
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: PulKon en 12 de Noviembre de 2010, 15:39:07
Esta es una idea de como quedará el circuito, sus dimensiones son de 40X50 mm.
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: PulKon en 15 de Enero de 2011, 03:01:23
Puse el video del prototipo en: http://hotfile.com/dl/96885822/9040810/Video_CNG_Fase_1.WMV.html
Saludos.
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: Nocturno en 15 de Enero de 2011, 03:18:11
Da gusto ver cómo los proyectos se convierten en realidad. Enhorabuena
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: MGLSOFT en 15 de Enero de 2011, 08:00:32
Me gusto mucho!! Felicitaciones!!
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: PulKon en 29 de Enero de 2011, 23:08:57
Gracias por sus comentarios, este foro me ha servido mucho, lo que he aprendido aquí me ha permitido simplificar y hacer mas precisos varios diseños al incorporarles PICs.
Lo agradezco de verdad.
Saludos.
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: PulKon en 14 de Diciembre de 2011, 19:14:59
Voy a retomar este diseño, considerando la recomendación de Norberto de poner un RTC, ya tengo disponibles el DS1307, el cristal de 32.768KHz y el PIC 16F628A.
Saludos.
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: PulKon en 28 de Enero de 2012, 16:48:28
Este circuito del RTC es el que conectaré y después cambiaré el display al tipo LCD.
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: PulKon en 01 de Febrero de 2012, 23:24:28
Este es el diagrama modificado para poder conectarle el circuito del RTC.
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: BrunoF en 02 de Febrero de 2012, 02:28:16
Cuánto te dura encendido el primer diseño? Pudiste comprobar el desfasaje de tiempos?
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: PulKon en 02 de Febrero de 2012, 03:03:29
Hola BrunoF, No realice pruebas de larga duración porque lo alimentaba con una fuente de poder y no con pilas. Si observé desfasaje pero no lo cuantifiqué, aún conservo el circuito que armé y voy a realizar algunas mediciones para compararlo con este que quiero hacer con el RTC. Ya armé el RTC y estoy estudiando notas sobre el RTC y recién terminé de escribir lo que pretendo será la librería de subrutinas, tomado de la bibliografía que recomiendan en el foro.
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: PulKon en 02 de Febrero de 2012, 18:55:58
Ya realicé una prueba durante 1 hora, y el desfasamiento es mucho porque despliega la información cada minuto y esto no lo consideré en el programa inicialmente porque la idea no era que desplegará asi la información sino solo cuando se presionara el botón verificador, de tal forma que cada minuto tarda alrededor de 4 seg. en desplegar dicha información y esto hace que se atrace bastante, pero como voy a trabajar ahora con el DS1307 considero que ya no va a suceder esto.
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: PulKon en 05 de Febrero de 2012, 16:16:20
Saqué esta nota sobre librerías que puede ser de utilidad.
Librería de Subrutinas .inc
Ventajas del uso de subrutinas:
- Se pueden escribir como subrutinas secciones del código y ser empleadas en muchos programas, por ejemplo retardos. - Aportan a los programas un carácter modular. Se pueden codificar diferentes módulos para usarlos en cualquier programa logrando así una librería de subrutinas. - Reduce notablemente el tiempo de programación y la detección de errores. - El código se interpreta mas fácilmente, ya que las instrucciones de las subrutinas no aparecen en el programa principal. (solo la instrucción call)
Es frecuente necesitar mas de una subrutina en los programas y también algunas subrutinas se usan en muchos programas, por lo cual es conveniente disponer de bibliotecas de subrutinas denominadas librería.
En cada programa se cargan las subrutinas que se necesiten. La directiva INCLUDE realiza la función de insertar el archivo de referencia en el código durante el proceso de ensamblado.
El formato de la directiva INCLUDE es:
INCLUDE <include_file>
El archivo especificado por <include_file>, es leído como un archivo fuente. El efecto es el mismo que si el texto entero hubiera sido insertado dentro del archivo origen en la dirección donde esta directiva se encuentre, un ejemplo del uso de esta directiva es:
INCLUDE <P16F628A.inc>
Lo que hace, es añadir al programa la definición de los registros SFR y de sus bits.
La extensión .inc no es obligatoria, pero se recomienda su utilización para diferenciarla de los programas .asm
En las subrutinas no se debe fijar la dirección de la RAM de usuario. Se toma a continuación de la última asignada. Estas librerías no deben terminar con la directiva end, la cual debe estar situada en el programa principal. Podemos colocar nuestras librerías al final del programa justo antes de la directiva end.
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: PulKon en 12 de Febrero de 2012, 17:56:23
Ya están trabajando correctamente el DS1307, el display LCD 2X16 y el PIC16F628A, actualizaré el diagrama de la CNG para seguir con el diseño de circuito impreso y después el programa, si algo no sale bien, ya los estaré molestando.
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: huichoman en 12 de Febrero de 2012, 18:26:48
Hola Pulkon
No se si has tomado en cuanta lo siguiente.
¿Con que se alimentará el circuito?
Por ejemplo, se lo colocas a una máquina a la cual le das una garantía de 6 meses. Obviamente quien intente abrir la máquina lo hará estando está desconectada de la fuente de poder. Supongamos que la abren a los 5 meses, que tipo de batería le colocarás para que te aguante ese tiempo con el circuito funcionando?
Saludos
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: PulKon en 13 de Febrero de 2012, 16:19:26
Hola Huichoman,
Tienes razón, la idea es que este vigilando hasta 2 años y la máquina donde pienso aplicar este circuito se alimenta a 12 VCD pero su uso no es continuo, por lo que considero ponerle unas pilas AA recargables y que se recuperen cada vez que es operado el sistema.
Definitivamente tengo que hacer pruebas para definir los AH de consumo, lo bueno es que hay espacio suficiente para pilas mas grandes. También voy a ver la forma de poner el circuito al mínimo consumo, ya sea teniendo apagado el display, no poner LEDs, etc.
Saludos.
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: huichoman en 13 de Febrero de 2012, 17:25:45
Hola Pulkon.
Lo ideal para evitar poner baterías grandes y recargarlas, etc. La solución sería mantener el DS1307 funcionando con su batería de respaldo, la cual puede durar años. Ahora lo que necesitas es que el switch que detecta la apertura de la máquina esté colocado de tal manera que cuando la máquina esté cerrada mantenga el circuito abierto, y cuando se abra la máquina cierre el circuito, el cual será simplemente un switch de encendido para que comience a trabajar el microcontrolador, en el cual la primera instrucción será leer los datos del DS1307 y guardarlos en su memoria eeprom. Con este sistema no necesitas una gran batería, ya que prácticamente solo comenzará a aportar energía cuando se viole la garantía. Otro consejo, es no colocarle un display a tu circuito, lo ideal es que el cliente no se de cuenta de que existe un "candado". Lo ideal en mi humilde opinión, es hacer el circuito lo menos notable posible. Y para cuestión de costos te sale mucho mejor hacer los módulos sin LCD, y fabricar aparte un "lector" de dichos candados. Solo colarías a tus candados, salidas para la LCD de tu lector.
Espero que encuentres útiles mis sugerencias, saludos.
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: PulKon en 13 de Febrero de 2012, 21:21:30
Hola Huichoman,
Completamente de acuerdo contigo, seguiré tus valiosas sugerencias.
Saludos.
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: PulKon en 14 de Febrero de 2012, 04:40:31
Diseñé esta placa para hacer diversos experimentos con el PIC (16F628A), DS1307 y Módulo LCD, le adicioné dos relevadores y mas botones de mando para hacerla mas versátil, con esta depuraré el programa, posteriormente haré la placa definitiva.
Título: Re: Diseño de una Caja Negra muy simple para efectos de garantías
Publicado por: PulKon en 28 de Septiembre de 2012, 14:09:32