PLC con PIC16F84A o PIC16F628


Este circuito fue llamado PLC por tratarse de un controlador lógico y poder programarse, si bien no esta diseñado para tener ISCP (programacion en circuito) y tampoco lenguaje escalonado LADDER, es mas bien una placa entrenadora que cumple con las funciones de un PLC como tener 8 entradas aisladas óptimamente mediente optoacopladores 4N27 y 4 salidas mecánicas mediante Rele.
El circuito cuenta con una fuente regulada a 5V para el microcontrolador, no obstante la entrada debe ser de 12V ya que esta alimenta los reles. Pero podría mejorarse mediante un regulador de 12V aunque no es necesario.
El circuito es el siguiente:
El PCB es el siguiente: NOTA deben redimencionar el tamaño. Esta en alta resolucion para lograr mejor calidad de imagen.

73 comentarios:

  1. me podrias decir que componentes usaste de manera mas clara rd_bebo@hotmail.com

    ResponderEliminar
    Respuestas
    1. Hola, no acostumbramos a poner listado de componentes porque los mismos están en el diagrama electrónico, de esa forma no hay que tener el circuito y el listado, sino que solo con la imagen del circuito esta todo, aparte por temas prácticos y del desarrollador, por ejemplo si quisieras cambiar el optoacoplador por un 4N38, en lugar del 4N25, o 27.. seria mas facil ya que lo ves en el circuito y no te atas a una lista que solo imprimen y compran.

      Eliminar
  2. si, lo entiendo pronto realizare este proyecto asi que tienes razon gracias por este contenido tan importante gracias sebastian

    ResponderEliminar
    Respuestas
    1. Por nada, tené en cuenta que este PIC16F84A no esta soportado por el compilador LDmicro. (por si lo queres programar en Ladder como un PLC estandar).

      Eliminar
  3. puedo conseguir otro compilador que soporte el 16f84a para quemar el prgrama

    ResponderEliminar
    Respuestas
    1. viste este otro? http://electgpl.blogspot.com.ar/2012/08/plc-con-pic.html, es basicamente lo mismo sin los rele, pero tiene el puerto ICSP en la placa para poder programarlo sin sacar el micro, y usa un microcontrolador soportado por el programa LDmicro (PLC LADDER).
      Ese programa solo soporta los siguientes micros:
      PIC16F628,PIC16F88,PIC16F819,PIC16F877,PIC16F876,PIC16F887,PIC16F886.
      Podes reemplazar directamente el 16F84 por el 16F628, los pines de ambos coinciden uno a uno, asique no tendrias problemas para usar este compilador.

      Eliminar
    2. disculpa estee cicuito soporta el programa SIEMENS S7 300

      Eliminar
    3. Hola, no. En definitiva es un micrcontrolador con su interfaz de potencia y de entrada. La programación podes hacerla en los lenguajes que soporta el micrcontrolador y si te interesa el LADDER, podes usar el LDmicro que es gratis.
      Saludos.!

      Eliminar
  4. disculpa y si funciona correctamente

    ResponderEliminar
    Respuestas
    1. Recomiendo que leas este post, tal vez te interese la forma de programacion de este u otro plc con PIC.
      http://electgpl.blogspot.com.ar/2012/08/plc-con-pic.html
      Saludos.

      Eliminar
  5. Quiero realizar un PLC con el pic 16f628a basándome en tu diseño, solo que le pondré 4 entradas y 8 salidas, pero tengo unas dudas:

    si en una salida solo quiero tener una salida con transistor es necesario adaptarle alguno diferente o funcionara con el mismo transistor?
    Es decir cual es la función principal del transistor y si quiero dejar una salida al transistor uso el mismo u otro?

    Espero tu pronta respuesta y agradezco de antemano tu atención.

    ResponderEliminar
    Respuestas
    1. Hola como estas?, la función del transistor en este circuito es de activar el rele, ya que con la salida del microcontrolador no es posible por la corriente que requiere el rele y los 12V, Por eso se usa un transistor, que maneja los 12V del rele y la corriente del rele a partir de los 5V del micro.
      Si querés sacar el rele y dejar el transistor como una salida a colector abierto podes hacerlo con este transistor si la carga que le vas a poner no pasa de 100mA y 12V, si vas a usar mas corriente o mas tensión tenes que cambiar el transistor.
      Saludos.

      Eliminar
  6. disculpa no me podrias proporcionar las pistas en tamaño real ...me ayudarias mucho gracias .....

    ResponderEliminar
    Respuestas
    1. No las tengo en tamaño real por el motivo de la perdida de calidad, que después se termina transfiriendo mal el pcb a la placa, lo que te aconsejo es que pegues esta imagen en el word o algún programa que de dibujo, y calcules el tamaño de la pista con algún componente critico, osea toma la medida con una regla de que distancia hay entre dos pines del micro (ya que es una medida critica que no se puede modificar) y después fijate con las reglas del word o del programa de dibujo si miden lo mismo, y así corregir el tamaño agrando la imagen. yo suelo hacerlo así y no pierdo calidad en el pcb
      Saludos.

      Eliminar
    2. MUCHAS GRACIAS , ya logre adaptar los componentes, ahora me resulta una pequeña duda en el caso de trabajar con relevadores a 5 volts que transistor y valores de resistores me sera conveniente utilizar para obtener una buena ganancia
      ???puedo ocupar los mismos?,(omitire tu etapa de rectificacion), sin mas por el momento y muchas gracias por la atencion brindada..

      Eliminar
    3. Hola como estas?, si vas a usar Reles o Relays o Relevador con bobina de 5V, tendrias que saber que corriente maneja esa bobina, por ejemplo el Rele marca OMRON SPDT con bobina de 12V, maneja 100mA en su bobina, de ahi podemos calcular el transistor ya que sera la corriente de colector.
      Saludos.

      Eliminar
    4. MUY BIEN SEBASTIAN GRACIAS, ESPERO Y TU TE ENCUENTRES IGUAL MIRA SEGUN NOSOTROS TRABAJAREMOS ESE CIRCUITO ,PERO LOS RELES SON DE 5 VOLTS NOSOTROS SOLAMENTE INVESTIGAMOS QUE DEBE DE SER UN TRANSISTOR NPN Y EL QUE TU UTILIZAS ES NPN NO CREO QUE SURGA NINGUN INCONVENIENTE Y PUES EL RELEVADOR A UTILIZAR ES EL "SONGLE" Y ES DE (10 A 250 vac-10A 30VDC-10A 125VAC-10 A 28 VDC) SEGUN NOSOTROS LA RESISTENCIA DE LA BASE LA PONDREMOS A 1 K Y EL EMISOR LOS 10 KOHMS NO AFECTAN O ME EQUIVOCO ?? GRACIAS SIN MAS POR EL MOMENTO.
      SALUDOS FRATERNOS

      Eliminar
    5. Hola, buscando en internet el SONGLE SPDT 5Vdc, dice tener una corriente de 80mA por lo que te sirve el transistor que use yo. usa 1k y 10k.
      Saludos!

      Eliminar
    6. muchas gracias sebastian en efecto creo todo marcha bien.haremos los dos diseños este y uno de cinco modular que planteamos nosotros.solo que para alimentar con la fuente de doce puede ser un transformador de 12 volts de alterna pero a que amperaje ????gracias por la atencion brindada

      Eliminar
    7. De nada, si, el transformador peude ser de 12V por 1A, tene en cuenta que la placa esta tiene un puente rectificador pero no fue diseñado como una fuente para ingresar con alterna, si bien es posible la idea del puente era que se pueda invertir la polaridad de entrada sin correr riesgos.
      Saludos.

      Eliminar
    8. ok entonces el transformador es a directa ??o alterna segun
      yo supuse que era un puente cn rectificacion ??

      Eliminar
    9. El tema es asi, el circuito este se alimenta con corriente continua, pero se le puso un puente rectificador con la funcion de no equivocar la polaridad al alimentarlo. Claramente podes ingresar corriente alterna, pero tene en cuenta el valor que vas a ingresar, porque los reles estan alimentados sin regulacion, y si ingresas 12V de alterna vas a tener unos 17V de continua al pasar por el puente y filtro. por ende podria ser de poca vida util para los reles/transistor, si vas a alimentarlo con alterna ponele un transformador de 9V de alterna que son unos 12,3V rectificados, ahi no van a sufrir los reles. Y otra cosa agrandale el capacitor que esta junto al puente, de 1000uF, cambialo por uno de 2200uF/16V ya que ahora estaria funcionando como fuente de alimentacion. (TODO ESTO SI LO ALIMENTAS CON ALTERNA), si lo alimentas con 12V de continua, no tenes que modificar nada.
      Saludos.

      Eliminar
    10. ok mejor pondre una fuente de doce volts de corriente directa a un ampere vale para no tener problemas , jeje ya tengo todo como tu listo para soldar !!! ,SI FUNCIONA VERDAD ??
      !!!! TENGO MIEDO DE QUE NO JALE YA SOLDADO Y TODO
      GRACIAS POR TU ATENCION.

      Eliminar
    11. Sisi funciona bien!, yo lo tengo armado como lo podes ver en la primera foto!, lo he utilizado para algunas practicas. Espero que tengas buenos resultados!
      Saludos.

      Eliminar
    12. Una vez que tengas todo soldado, antes de poner el microcontrolador, podes chekear con un tester los niveles de tension. Por ejemplo en el zocalo del microcontrolador podes chequear que existan los 5V donde deben, podes activar cada rele, dandole 5V a donde estan las salidas del micro. Por ejemplo podes tomar un cable pichar en el zocalo el pin 14 que es Vdd (deberian haber 5V ahi) y con ese mismo cable tocar los pines del zocalo 1, 2, 18 y 17, los que corresponden a los reles. y deberian accionarse los reles segun el pin de esos que le des 5V. para las entradas podes directamente puentear una entrada hacia un rele, por ejemplo pinchar con un cable el zocalo el pin 6 (Entrada-RB0) y ese cable mandarlo a una salida por ejemplo el pin 1, entonces cuando ingreses tension en la entrada del optoacoplador deberia encenderse el rele. (son pruebas que se pueden hacer al hardware antes de montar el microcontrolador.
      Saludos.

      Eliminar
    13. mycha gracias por tu atencion !!!.oye disculpa el optoacoplador no difiere en nada ya que el emisor no lleva la resistencia que va a tierra y el colector lleva la resistencia a vcc???

      Eliminar
    14. Por nada, ahora que lo mencionas, esta invertida la logica, osea si ingresas tension a la bornera del opto, se prende el led del opto y se satura el fototransistor, haciendo que la tension en la pata de entrada del micro sea 0, y cuando le sacas la tension al opto la pata del micro vuelve a 1. Seria entrada invertida. Es un dato a tener en cuenta cuando se desarrolla un programa.

      Eliminar
    15. ok si ya lo habia masomenos deducido , lo hice en el proto y si funciona el optoacoplador. solo que hay un inconveniente cuando pongo los resistores de 10 kohms no me conmuta el rele y cuando en lugar de las de 10 kohms pongo de un valor menor en este caso de 330 si funciona bien , cres que suceda algun inconveniente .??muchas gracias por tu atención y ayuda.

      Eliminar
    16. A sisi claro, estas probando sin el microcontrolador no? cuando le pongas el microcontrolador tenes que ponerle la de 10k porque es lo que necesita para funcionar bien, el rele requiere 5V para activarse en la resistencia de la base del transistor. pero como esta invertida la entrada por lo que hablabamos antes, cuando activas el optoacoplador entrega 0V, en lugar de los 5V que requiere el transistor del rele.
      Saludos.

      Eliminar
    17. si en efecto lo estabamos probando pero sin el micro solamente con el puro optoacoplador y a su salida el rele ..pero ok entonces le pongo la de 10 kohms para que funcione adecuadamente ....
      por ahi hay una resistor el que esta en paralelo de la 5 a la 4 cual es cu valor no se distingue bien ??.
      y el relevador que utilizaremos es el de 12 volts , todo lo haremos como tu diseño menos con el pic 16f84a pondremos el 628a ya que este si se puede programar en escalera como ves??
      y pues muchas gracias no sabes cuanto te agradezco tu atencion y una disculpa si te e estado molestando mucho , que perfecto que muestres interes a las persona de esa manera

      Eliminar
    18. oye tu en los bornes de las entradas a que tension sueles alimentarlos ???...
      crees que a la salida pueda hacer funcionar un motor??.. gracias sergio

      Eliminar
    19. Hola, esa resistencia es de 4k7 (4,7kohm), me parece bien, el 628 es mas barato y mas potente!
      No hay problema para eso esta el blog! para preguntar!
      En la entrada suelo usar 12Vcc y los rele pueden manejar tranquilamente un motor, esos rele que tiene puestos son de hasta 250Vac 10A.
      Saludos!

      Eliminar
    20. muchas gracias lo puedo alimentar con un regulador de 12 vcc a 1000 mA sin problemas , gracias}}????

      Eliminar
    21. Sisi podes alimentarlo con 12v 1A.
      Saludos!

      Eliminar
    22. muchas gracias , ya quedo bueno solo falta programar el pic en escalera , los relevadores si conmutan... espero OBTENER LOS MEJORES RESULTADOS CON TU GRAN AYUDA , a las entradas del opto que voltaje me recomiendas meter????.MUCHAS GRACIAS

      Eliminar
    23. Hola yo uso 12V en las borneras de entrada
      Saludos!!

      Eliminar
  7. Hola. Como estas, yo uso 12v a las borneras de entrada! Espero que temgas buenos resultados! Saludos

    ResponderEliminar
    Respuestas
    1. si uso 5 volts de cd en las entradas surgira algun inconveniente????

      Eliminar
    2. amigo otra ves molestndote una pregunta ya hice todo tal y como esta ,solo que las borneras las puse a 5 volts e hice un programa en escalera de arranque y no me conmutan los relevadores cual cres que sea el problema???gracias .......

      Eliminar
    3. y habria que ver todo lo que hiciste para estar seguros, porque no probas prender una salida solamente en el programa para ver si funciona bien el hardware?.
      proba solamente prendiendo las salidas para ver que el microcontrolador esta enviando bien los 5V a la base de cada transistor.
      deberia funcionar eso, ya que probaste antes los reles con 5V a la entrada del transistor.
      Saludos.

      Eliminar
    4. CONECTAR EN LA BASE EL RESISTOR DE 1K Y 10 K QUE BENEFICIOS TIENES???

      Eliminar
    5. Hola la de 1k es limitadora de corriente para la base del transistor. Y la de 10k es de pull-down se usa para darle referencia a tierra a la base para que no se dispare por error cuando la salida del micro esta en alta impedancia.
      Saludos!

      Eliminar
  8. Buenas amigo. me gustaría hacerle una pregunta. he notado que los reguladores y las tarjetas nuevas no traen esos grandes transformadores y el puente rectificador a simple vista. eso simplifica mucho los circuitos. me podría decir que usan esas tarjetas y poder conectar las tarjetas directamente a la red 110v 0 208v. por ejemplo los rele alternadores son alimentados con 208v y manejan el control de los motores alternando una fase por dos de sus pines. te agradezco de antemano cualquier información que puedas publicar.

    ResponderEliminar
    Respuestas
    1. Hola, todas la fuentes por mas que no veas el puente y trato convencional lo poseen, solo que al trabajar a una frecuencia superior pueden reducir su tamaño drásticamente. Por ejemplo integrado TOP222 mira su datasheet. http://www.digchip.com/datasheets/parts/datasheet/373/TOP222-pdf
      También podes leer la teoría en este post: http://electgpl.blogspot.com.ar/2009/03/fuente-smps-switching-mode-power-supply.html
      Saludos

      Eliminar
  9. sebastian quería que me hagas un favor gracias de ante mano si me pudes brindar la programacion para el pic 16f48a que utiliza este plc para que corra ya que yo lo construir basandome en tu modelo de plc

    ResponderEliminar
    Respuestas
    1. Hola como estas?, el Firmware que lleva el microcontrolador tendrias que programarlo vos en funcion de tus necesidades, no tendria sentido que te de un programa yo que opere de alguna forma tal que tal vez no te sirva. No se si me explico, la idea es que desarrolles el programa en funcion a lo que necesitas, por ejemplo, si te hago un programa de TEST que te encienda un rele o algo asi, seria solo para probar el hard, ya que la idea de esto es que hagas el programa que necesites, de todas formas viste el programa LDmicro? http://cq.cx/ladder.pl este programa soporta el 16F628, podes programa en Ladder como cualquier PLC y luego volcar el programa al micro.

      Eliminar
  10. Hola, soy nuevo en este asunto de las PICS, se que programa depende de las necesidades, pero podras incluir algun ejemplo para darme una idea la pic que tengo es pic16f84, gracias

    ResponderEliminar
    Respuestas
    1. Hola en que lenguaje lo queres el programa de ejemplo?
      Saludos.

      Eliminar
  11. buen dia, sebastian que programa le metiste al pic, osea el lenguaje esta en que?
    disculpa saludos

    ResponderEliminar
    Respuestas
    1. Buen dia, el programa que uses en el pic puede tener varios lenguajes, Por ejemplo: C, ASM, BASIC, LADDER. No se cuales sean los conocimientos de programacion que tenes pero si queres programarlo como un PLC real tendrias que programarlo en LADDER y para ello te recomiendo la aplicacion LDmicro, Que aqui se detalla mejor: http://electgpl.blogspot.com.ar/2012/08/plc-con-pic.html
      Si queres un PLC mas completo con entradas analogas y puerto USB, podes ver este: http://electgpl.blogspot.com.ar/2013/12/plc-usb.html
      Saludos!

      Eliminar
  12. Cordial saludo Sebastian, son necesarios los opto si lo que necesito es activar rele que trabajan con 5v 2A?, puedo utilizar los 5v del PIC?

    ResponderEliminar
    Respuestas
    1. Hola como estas?, mira los opto son solo para aislar las entradas del pic, es decir el pic funciona bien si le ingresas un nivel de 5V, pero suponete que un dia sin querer se rompe la aislacion de un cable o algun otro factor externo y en lugar de ingresar 5V ingresan 12V, ahi destruirias el microcontrolador, entonces el optoacoplador aisla de forma optica ese tipo de problemas, y solo tendrias que cambiar un opto y no todo el micro y volver a programarlo (esto puede suceder en un ambiente industrial). Si solo vas a usar las salidas, o si estas seguro que va a ingresar un nivel de maximo 5V, sacalos los optos y manejate directo con los pines., los reles que tiene este circuito son de 12V, pero si queres poner Reles con Bobina de 5V no hay problema, de echo usas la misma fuente de 5V, lo unico que tenes que hacer es usar el transistor para activar el rele, ya que la corriente de la bobina del rele es mayor que la que puede entregar el puerto del pic. (No olvidar el diodo Dumper que se encuentra junto al rele)
      Saludos.

      Eliminar
  13. hola!.... oye una pregunta donde puedo tomar un curso para podel programar el pic para el plc porfa me urge!

    ResponderEliminar
    Respuestas
    1. Hola, en las universidades dan PLC, pero te recomiendo que te bajes el LDmicro que es un programa para programar microcontroladores con lenguaje LADDER, es muy simple y tiene una ayuda en el mismo programa que te da un ejemplo de cada instrucción.
      Saludos.

      Eliminar
  14. Professor bom dia.
    Poderia me enviar esse projeto no tamanho real.
    Pois não consegui redimensionar o mesmo.
    Quero muito montar essa placa, desde já agradeço.
    afpeletrica@gmail.com

    ResponderEliminar
    Respuestas
    1. Hola, lamentablemente ya no tengo los archivos porque es un poco viejo y cambie la pc dos veces desde que lo subí.
      Disculpas!

      Eliminar
  15. Profesor buenas noches, me gustaría saber como es que conectaría un boton a cualquiera de las entradas, me refiero a que si debo usar una fuente externa?

    ResponderEliminar
    Respuestas
    1. Hola, como estas? en este caso tenes que usar una fuente externa porque las entradas estan aisladas con optoacoplador, entonces lo que vos controlas desde afuera es el LED del optoacoplador, por ello necesitas el boton y una fuente (pilas, bateria).
      Saludos!

      Eliminar
    2. Muchas gracias! Es para mi proyecto final de automatización, excelente su blog, felicidades.

      Eliminar
    3. Por nada! cualquier cosa avisame! Saludos!

      Eliminar
  16. hola Sebastian, una pregunta..... quiero utilizar el PIC18F4550, ademas de utilizar 8 entradas y 8 salidas las cuales 4 son con reles y las 4 mas son con un Mosfet
    ¿Cres que con tu diagrama se pueda hacer el PLC?
    GRACIAS POR TU RESPUESTA.

    ResponderEliminar
    Respuestas
    1. Hola como estas?, hay que realizar un diagrama y pcb nuevo, ya que el 18F4550 no coincide el pinout con el que se presenta aca, y otras cosas de la fuente y protecciones., es otro circuito
      Saludos.

      Eliminar
    2. Hola profesor, agradesco su respuesta, ademas nose si me pueda pasar su correo electronico para enviarle mi proyecto en Proteus, y me pueda enviar sus recomendaciones, el pic que voy a ocupar es el 16F887
      Gracias.

      Eliminar
    3. Hola, como estas?, si, mi correo es electgpl@gmail.com.

      Saludos.

      Eliminar
  17. Hola, su proyecto me parece interesante, pero me gustaria saber como puedo adaptar su diseño para que tolere hasta 24V, porque tengo entendido su diseño solo acepta 12V de entrada, verdad?

    ResponderEliminar
    Respuestas
    1. Hola como estas?, exacto esta pensado para 12V, pero si queres ingresar mas tension en las entradas, tenes que aumentar el valor de la resistencia del led del optoacoplador, ahora tiene una resistencia de 1k, ponele resistencia de 2k2.
      En cuanto a la alimentacion, el 7805 soporta 24Vdc pero puede que tengas que ponerle un disipador mas grande o fabricarte una fuente intermedia de 24V a 12V con un 7812.
      Saludos

      Eliminar
  18. hola sebastian una pregunta mira e visto tu circuito la salidad del 7805 llega a una resistencia de 10k luego llega al punto 6 del optocoplador y va al pic en el 13 lo que es RB7
    siempre va estar alimentada el terminal 13 y cuando se active su respectivo acoplador va estar alimentado o se le quita la alimentacion esa es una duda que tengo y al entrada del optocoplador se le puede alimentar con 5 voltios verdad

    ResponderEliminar
    Respuestas
    1. Hola, la salida del 7805 alimenta todas las resistencias de 10k, porque son las resistencias de colector del transistor interno del optoacoplador, es decir, el transistor del optoacoplador esta configurado en emisor común, por ello están todas las resistencias de colector a 5V, cuando se enciende el led del optoacoplador se satura el transistor poniendo a "0v" la resistencia de 10k y así tirando hacia abajo al pin GPIO del microcontroaldor. en otras palabras, el microcontroaldor tiene el pin en 1 cuando no hay señal en el led, cuando hay señal en el led lo pone a 0.
      Saludos.

      Eliminar
  19. HOLA SEBASTIAN ME PUDIERAS DECIR PARA QUE SIRVE EL PUENTE DE DIODOS AHÍ MENCIONADO?

    ResponderEliminar
    Respuestas
    1. Es para que puedas alimentarlo en cualquier posición, es una protección. Si lo alimentas +,- o -,+ da lo mismo.
      Saludos.

      Eliminar
  20. Hola Sebastian queria agradecerte por compartir tu diseño, hoy termine un proyecto de poka yoke para mi trabajo. De todos los diseños en internet de placas para plc con pic, esta es la mas practica y versatil!

    ResponderEliminar
    Respuestas
    1. Bueno gracias! me alegra que te sea de utilidad.

      Salduos.

      Eliminar