Autor Tema: Puerta de garaje con PIC16F876  (Leído 10053 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1093
Puerta de garaje con PIC16F876
« en: 03 de Abril de 2012, 13:04:26 »
¡¡ Que contento estoyyyyyyy!!, que diria Vicky el vikingo.
Bueno ya acabe mi primer proyecto "importante" realizado con un PIC y programado en C.
Como el nombre del hilo indica, se trata de un automatismo para el control de una puerta de garaje con el PIC16F876.
Entre sus caracteristicas:

-Se puede manejar tanto con un solo pulsador, como con tres
-Se puede elegir si enciende la luz del garaje al abrir o no
-Se puede elegir si cierra automaticamente o no tras un periodo de espera
-El periodo de espera es programable de 15 segundos a 4 minutos en saltos de 15 segundos
-Utiliza una fotocelula para detectar durante el cierre si alguien o algo se interpuso en la puerta

Los 8 micros switch sirven para:

1, 2, 3 y 4 - Seleccion del tiempo de cierre automatico
5 - Reserva
6 - Cierre automatico ON/OFF
7 - Luz garaje al abrir ON/OFF
8 - Modo 1 pulsador OFF, o 3 pulsadores ON (En el modo de 1 pulsador, se utiliza solo el de ABRIR)

El resto esta todo documentado sobre el proyecto de simulacion de Proteus.
Por supuesto que aunque lo doy por terminado, agradecere a cualquiera que aporte otras formas de hacer las cosas y/o si detectan algun fallo en el codigo.

Quiero agradecer la ayuda recibida de Suky, Samshield_pic y muy especialmente de Carlos, (Kallitos), sin la cual aun andaria por ahi perdido entre if's, #int y otras cosas.

Y de paso recordar que no me he olvidado de mi otro proyecto pendiente, el de la vitroceramica, el cual tengo medio abandonado. Pero que en breve retomare, ahora con mas fuerza con los conocimientos adquiridos en este proyecto.

Saludos.

P.D.: En la simulacion de proteus, se han sustituido los elementos de salida, (reles), por led's, para hacer posible y vistosa la simulacion.
« Última modificación: 03 de Abril de 2012, 13:08:21 por AcoranTf »

Desconectado Diego E.

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1086
Re: Puerta de garaje con PIC16F876
« Respuesta #1 en: 03 de Abril de 2012, 14:36:03 »
Hola amigo, bueno tu trabajo, te doy un truco para que en los componentes de proteus no aparezca la etiqueta <TEXT>

1- Das doble Click en la etiqueta <TEXT>
2- Seleccionas pestaña "Style"
3- Des-seleccionas la opción "Follow Global"
4- Des-seleccionas la opción "Visible ?"

y listo, saludos.

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1093
Re: Puerta de garaje con PIC16F876
« Respuesta #2 en: 03 de Abril de 2012, 16:31:20 »
Muchas gracias Diego, me sera muy util ese truco, como ves yo lo que hacia es arrinconarlos todos donde no me molesten.

Saludos.

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: Puerta de garaje con PIC16F876
« Respuesta #3 en: 04 de Abril de 2012, 01:58:31 »
Felicidades! Seguro en el transcurso encontraras algunas fallas o mejoras, que es lo mas importante.

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1093
Re: Puerta de garaje con PIC16F876
« Respuesta #4 en: 04 de Abril de 2012, 06:00:24 »
Felicidades! Seguro en el transcurso encontraras algunas fallas o mejoras, que es lo mas importante.

Gracias jeremylf, en ello estamos.

Saludos.

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1093
Re: Puerta de garaje con PIC16F876
« Respuesta #5 en: 08 de Abril de 2012, 17:26:18 »
Bueno estos dias estuve realizando el montaje real de este proyecto. Realice la PCB y la monte.
En principio funciono todo bien, pero probando una de las cosas que hice fue proteger el codigo contra lectura y despues no podia borrar el PIC para reprogramar. Lo que ocurria es que puse los microswitch en el puerto B, un gran fallo, porque ahi estan las lineas de datos y clock para el ICSP y justamente el micro de la linea de datos lo puse en on, o sea el pin RB7 a masa. Lo tendre en cuenta para futuros proyectos, cosas de novato.
Adjunto unas fotos de la placa acabada, como podreis ver las pistas no me quedaron muy alla, ya que me pase en el tiempo de revelado y quedaron "tocadas" y algunas tuve que arreglarlas con pequeños puentes. Aunque en esto no soy novato, esta vez me confie demasiado y el revelador estaba nuevo y ataco como leon hambriento.
Comentar tambien que la placa esta enteramente realizada con el Ares de Proteus.
Bueno espero os guste mi montaje.

Saludos.

P.D.: Gracias samshield_pic, las subi a mi servidor. Ahora voy a intentar reducirlas, para que no se vean tan grandes.



« Última modificación: 08 de Abril de 2012, 19:58:10 por AcoranTf »

Desconectado samshiel_pic

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 777
    • Electrónica·Ingenia
Re: Puerta de garaje con PIC16F876
« Respuesta #6 en: 08 de Abril de 2012, 18:41:41 »
yo tengo una cuenta en Photobucket y cuelgo alli las fotos y despues las enlazo en el foro con esto en la barra de herramientas del mensaje.

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: Puerta de garaje con PIC16F876
« Respuesta #7 en: 09 de Abril de 2012, 04:56:38 »
Te falto poner tu .hex en tu adjunto para la simulacion  :P

Por otro lado, me gustaria ver tu esquema REAL, no de simulacion. Seguro que con el esquema se te puede dar algunos consejos de hardware. Por ejemplo, viendo tu foto, me parece que no has puesto diodos de protecion contra voltaje inverso en los reles, muy importante: evita interferencias en todos lados y protege a tus reles.

Por tu codigo, en un vistazo rapido, veo que no haces uso del WDT. Es casi obligatorio que habilites esto, ya sabes, no querras que se te quede colgador por algun imprevisto. Tantea que tiempo es el optimo.

El PUT tambien es muy recomendable, usalo.
« Última modificación: 09 de Abril de 2012, 05:07:42 por jeremylf »

Desconectado dogflu66

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3510
Re: Puerta de garaje con PIC16F876
« Respuesta #8 en: 09 de Abril de 2012, 09:07:37 »
Felicidades por el proyecto.
Llevo un rato observando la placa y no veo el condensador de desacople de alimentación del pic.
Saludos desde Granada, España.

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1093
Re: Puerta de garaje con PIC16F876
« Respuesta #9 en: 09 de Abril de 2012, 15:04:31 »
Te falto poner tu .hex en tu adjunto para la simulacion  :P

Bueno el hex no lo puse, pero si el fuente, seria solo compilar con el CCS.

Citar
Por otro lado, me gustaria ver tu esquema REAL, no de simulacion. Seguro que con el esquema se te puede dar algunos consejos de hardware. Por ejemplo, viendo tu foto, me parece que no has puesto diodos de protecion contra voltaje inverso en los reles, muy importante: evita interferencias en todos lados y protege a tus reles.

Si estan los diodos, pero no se ven, al estar hecha la foto con un angulo sobre la vertical, quedan ocultos justo entre las resistencias de 8K2 y cada rele

Citar
Por tu codigo, en un vistazo rapido, veo que no haces uso del WDT. Es casi obligatorio que habilites esto, ya sabes, no querras que se te quede colgador por algun imprevisto. Tantea que tiempo es el optimo.

Tienes razon, lo deje comentado para activarlo al final y me olvide.

Citar
El PUT tambien es muy recomendable, usalo.

¿Que es el PUT y que funcion tiene?.

Gracias por tus comentarios


Felicidades por el proyecto.
Llevo un rato observando la placa y no veo el condensador de desacople de alimentación del pic.


Pues es cierto que no lo hay, en la primera revision lo incluyo, por si acaso.
Gracias por tu apoyo.

Saludos a ambos.

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1093
Re: Puerta de garaje con PIC16F876
« Respuesta #10 en: 09 de Abril de 2012, 16:52:40 »
Jeremylf, aqui dejo el esquema real, tal como comentabas en tu anterior respuesta.
Podras observar que se ha cambiado el transistor que controla la alimentacion de la celula fotoelectrica, antes era un PNP y lo he cambiado por un NPN, con la finalidad de unificar todas las salidas. Al mismo tiempo como es logico he modificado el software.
Comentar tambien porque el conector del motor tiene 6 pines y esas conexiones tan "raras", es simplemente porque lo he hecho con idea de utilizar tanto en motores de CC y poca potencia, como en motores de CA, tanto monofasicos como trifasicos. En este ultimo caso, evidentemente habria que añadir dos contactores externos a la placa.
Tambien he modificado la fuente, ya que tal como esta en este esquema, al conectar el transformador de 220/24, (en realidad es de 220/28), la tension en puntas del condensador de 1000 micros es de 38 V. y el 7805 soporta como maximo 30 V. de entrada. Por ello ha agregado una etapa con transistor BDX53 y zener de 24 V. que reduce los 38 V. a 24 V., que a su vez el 7805 reduce a 5 V. para el PIC.
Por ultimo vereis que los valores de resistencias no coinciden con los de la placa, es simplemente porque no tenia suficientes del valor inicial previsto y las sustitui por otras de valor aproximado, ya que en este uso no es critico dicho valor, (las de 10 K sustituidas por 8K2 y las de 1 K por 820 Ohm.

Saludos.

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: Puerta de garaje con PIC16F876
« Respuesta #11 en: 10 de Abril de 2012, 15:15:54 »
El Power Up Timer (PUT) es un tiempo (por hardware) de 72ms aprox. que se le da al PIC para que se estabilice cosas como el oscilador primario. Luego de ese tiempo arranca tu main.

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Puerta de garaje con PIC16F876
« Respuesta #12 en: 10 de Abril de 2012, 20:12:48 »
No veo diodos en los reles  8)

Sobre el tiempo yo lo haria con un potenciometro y un ADC asi queda mas curioso y facil de hacer.

Si quieres meter ahi un motor de corriente alterna, o incluso uno de continua puede que tengas problemas de ruidos, lo has probado ya con algun motor de similares caracteristicas al real? No se muy bien como irian conectados, pero supongo que utilizas los reles para conmutarlos no? O los reles son para conmutar un driver externo para los motores?

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1093
Re: Puerta de garaje con PIC16F876
« Respuesta #13 en: 10 de Abril de 2012, 21:05:00 »
Hola Merlinz, los reles si que llevan diodos, concretamente el 1N4148, lo que ocurre es que estan justo entre los transistores y los reles y los tapa el propio rele, por el angulo en que tome la foto.
Respecto al ruido, aun no lo probe con motor, el jueves lo hare y ya vere si da problemas.
Los reles controlan directamente el motor si es de CC o CA monofasico, en caso de CA trifasico, se necesitan dos contactores externos.
Si el motor es de CC, se realizan sendos puentes entre las dos parejas de terminales de los extremos del conector y en los dos terminales del centro va el motor. Si fuese de CA, no lleva puentes y se aplicaria la tension al segundo terminal de cada extremo, el condensador entre uno de alterna y otro del motor y el motor igual que antes a los dos terminales del centro.

Sobre el tiempo yo lo haria con un potenciometro y un ADC asi queda mas curioso y facil de hacer.

Pero menos vistoso y preciso, aunque aqui la precision no es critica. Yo lo prefiero asi, porque el usuario no lo tocara tanto al no saber como va.

Saludos.
« Última modificación: 10 de Abril de 2012, 21:07:47 por AcoranTf »

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Puerta de garaje con PIC16F876
« Respuesta #14 en: 10 de Abril de 2012, 22:15:28 »
Y cuantos A circularan por los reles? Lo digo porque veo un poco finas las pistas, supongo que lo habras tenido en cuenta no?

Hombre, preciso si podria ser, depende del potenciometro que le pongas, incluso los hay de estos que lo vas girando y van dando pasos, le dibujarias una circunferencia y alrededor los tiempos, por ejemplo cada rallita que sea 2 minutos o algo asi.

Antes de nada prueba lo de los motores, me da la sensacion que tendras problemas de ruidos, ya he visto problemas en el foro de cosas similares y siempre habia un motor de por medio, incluso circuitos mas aislados.



 

anything