Offline
Jr. Member
Karma: 0
Posts: 64
|
 |
« on: October 05, 2012, 03:49:20 pm » |
Muy buenas, me presento pues es mi primer post es español. Mi nombre es Sergi y vivo en Barcelona. Hemos iniciado con varios amigos una star-up y estamos diseñando una placa de control propia que se pueda montar en las máquinas que fabricamos, pues es fácil de usar, con una buena comunidad, y muy potente.
El objeto de este proyecto es crear un controlador robusto tipo PLC en una placa Eurocard estandar, con I/O optoacopladas y ampliable como por ejemplo Wifi, Ethernet, etc.
Llevamos ya 6 meses con el proyecto, pero aún está muy verde. Os explico que hemos hecho: Sobre una placa MEGA 2560, hemos puesto otra conectada con pines macho y formato Eurocard. Alimentamos al arduino con una fuente conmutada TRACO de 9VDC que a su vez de alimenta de otra fuente industrial conmutada de 24Vdc. Las I/O se realizan mediante conectores Molex de 2,54 mm. de crimpar y cable de cobre mono-hilo. Las salidas digitales tienen activada la resistencia pull-down interna del arduino. El interfaz HMI consta de una pantalla LCD alfanumerica de 40x4 con conexión en paralelo mediante cable de red UTP-5e apantallado en un extremo. La alimentación de la pantalla se realiza mediante una fuente conmutada TRACO de 5VDC que a su vez es alimentada por la misma fuente de 24VDC anterior. También consta de dos botones pulsadores y un encoder Alps con pulsación (que gira a izquierda y derecha para seleccionar un menú). Las salidas se realizan por transistores tipo TIP120 o TIP122 con su correspondiente diodo N4001 y alimenta a un contactor tipo Telemecanique de 3+1, trifásico 9A bobina a 24Vdc. (Los 24VDC los proporciona la misma F.A.). La programación del mismo está ya acabada, pero nos encontramos con un problema sin salida para poder seguir. El cual paso a describir:
Problemas encontrados: - La pantalla presenta muchas interferencias o se queda colgada cuando se enciende un contactor: Solución1: apantallar cable con cable de red UTP-5e apantallado conectado a masa por un extremo -> Elimina todas las interferencias exteriores, pero el contactor sigue provocando basura y cuelgues en la pantalla de forma casi instantánea (sobre todo al desactivar la bobina del contactor, claro). Solución2: Colocar resistencia pull-down 10k en las salidas -> No ocurre nada, ni a mejor ni a peor. - El contactor de 24VDC provoca tanto interferencias en la pantalla como EN EL PROPIO ARDUINO!, es decir activa y desactiva entradas digitales (que ya estan conectadas a masa con la resistencia pull-down interna del Arduino) y genera basura en la pantalla. Solución1: Conectamos la masa de la F.A. de 24VDC a tierra -> No ocurre nada. Solución2: Sustituimos el contactor por una de 230Vac y lo activamos mediante un relé optoacoplado de Phoenix Contact -> SIGUE SUCEDIENDO EL MISMO ERROR! Así pues decidimos desconectar la salida del arduino y activar el contactor A MANO, sin ninguna conexión física que una Arduino y Contactor aparte de la conexión de 230Vac que alimenta las F.A. del arduino y SIGUE SUCEDIENDO EL MISMO ERROR! Solución3: Colocamos un núcleo de ferrita en cada cable I/O que llega al arduino -> Exactamente igual.
Llegados a este punto, creemos que lo mejor es colocar un filtro RC al contactor (aunque desconocemos el tipo óptimo a colocar), pero creo que esa es una solución chapuza si es que con ello solucionamos el problema. Desconozco si lo que afecta el arduino son interferencias por cable: OJO: Deberían entrar por la parte de la alimentación a 230Vac, y pasar los dos F.A. O bien son interferencias electromagnéticas.
El problema se ha probado en dos placas de arduino diferentes. Cuando no se activa el contactor o solo se activan relés pequeños no sucede el problema. ¿Alguien puede aportar luz en este tema? Estamos desesperados y bloqueados.
Iré informando sobre el progreso del proyecto.
|
|
|
|
|
Logged
|
|
|
|
|
Online
God Member
Karma: 2
Posts: 512
|
 |
« Reply #1 on: October 05, 2012, 04:41:19 pm » |
Después de tantas pruebas y diagnósticos yo haría la última, comprobar si como dices las interferencias entran por cable o son electromagnéticas.
Para ello puedes hacer la activación a mano que indicas del contactor alimentando los 230 V de la misma toma pero con una pequeña manguera que te permita alejar el contactor del Arduino unos metros, probando a actuarlo cerca y lejos. En función del resultado de la prueba puedes hacer lo mismo pero esta vez tomando la alimentación del contactor desde otra toma alejada con un cable largo.
Al menos así comprobarás si las interferencias vienen por un camino u otro o un poco por los dos...
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 64
|
 |
« Reply #2 on: October 06, 2012, 06:58:56 am » |
Problema solucionado!
Solución: Existen diferentes tipos de contactores, unos más "bastos" para activar a través de pulsadores y otros sistemas eléctricos y otros adecuados para activar desde PLC que ya integran el filtro RC y demás. Yo pensava que todos los contactores DC lo integraban, pero no es así. Actualmente esta funcionando con un contactar 24Vdc de Telemachanique (los de LOVATO no funcionan) y he encargado un contactar ABB específico para PLC. A ver que tal!
Lo siguiente en lo que estamos trabajando es integrar un trafo de aislamiento para la F.A. de continua, así fuentes parasitarias o sobrecargas del exterior no deberían afectar al Arduino y sensores, y de paso aislamos la parte DC de la AC. Aunque para aislarla al 100% deberíamos colocar optoacopladores en las salidas a relé. Tiempo al tiempo.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 64
|
 |
« Reply #3 on: October 06, 2012, 07:04:41 am » |
Que tenemos pendiente:
- Estamos usando una pantalla LCD alfanumérica de 40x4 conexión en paralelo. Vamos a sustituirla por la misma pantalla pero en conexión serie. Vamos a ver que tal funciona, porque lo interesante es que nos ahorramos 7 pines I/O.
- Optoacopladores y transistores tipo darlington en las I/O, actualmente usamos transistores TIP120 o 122, que funcionan bien pero hay que soldarlos uno a uno + su diodo y resistencia. Hay chips darlington de 8 I/O con su resistencia y diodo ya incorporado y claro es mucho menos trabajo de soldadura.
- Conectores de placa: Estoy indeciso sobre si usar los actuales molex de crimpar de 2,54 mm. o cambiarlos por los PhonixContact de 5,08 mm. con terminal roscado.
- Conexión USB: La vamos a eliminar y en su lugar usaremos el cable FTDI para la programación, así el coste por placa de la fabricación debería ser más económica.
- Frecuencia de trabajo: Es posible trabajar a 20 Mhz en vez de los 16 Mhz??? Asi aumentaríamos las prestaciones sin gastar un €. Si alguien sabe como por favor hechar un cable.
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Edison Member
Karma: 13
Posts: 1242
Arduino rocks
|
 |
« Reply #4 on: October 06, 2012, 09:01:53 am » |
Que tenemos pendiente: - Estamos usando una pantalla LCD alfanumérica de 40x4 conexión en paralelo. Vamos a sustituirla por la misma pantalla pero en conexión serie. Vamos a ver que tal funciona, porque lo interesante es que nos ahorramos 7 pines I/O. te recomiendo esta, llevo usandola desde hace 2 o 3 años, y funciona genial. Tengo 3 o 4. por cierto, yo la uso por I2C así tengo los 3 puertos de serie del mega disponibles. tengo una libreria que no se si esta disponible en arduno 1.0.1, si la necesitas dimelo. no es mia. http://www.ebay.com/itm/I2C-Serial-2004-LCD-Module-20X4-IIC-TWI-LCD-for-ATmega328-1280-2560-board-/160700138365?ssPageName=ADME:L:OC:ES:3160
- Optoacopladores y transistores tipo darlington en las I/O, actualmente usamos transistores TIP120 o 122, que funcionan bien pero hay que soldarlos uno a uno + su diodo y resistencia. Hay chips darlington de 8 I/O con su resistencia y diodo ya incorporado y claro es mucho menos trabajo de soldadura. - Conectores de placa: Estoy indeciso sobre si usar los actuales molex de crimpar de 2,54 mm. o cambiarlos por los PhonixContact de 5,08 mm. con terminal roscado. - Conexión USB: La vamos a eliminar y en su lugar usaremos el cable FTDI para la programación, así el coste por placa de la fabricación debería ser más económica. he visto hacer esto en otras placas, de verdad crees que vale la pena el ahorro economico? estamos hablando de algo "industrial" y cuanto puedes ahorrar haciendo esto, 3 o 4 euros por placa? creo que la sencillez y conveniencia lo supera frente al ahorro. no se, piensalo.
- Frecuencia de trabajo: Es posible trabajar a 20 Mhz en vez de los 16 Mhz??? Asi aumentaríamos las prestaciones sin gastar un €. Si alguien sabe como por favor hechar un cable. una pregunta, tus entradas digitales optoacopladas que voltaje admiten? me gustaria saber si puedes recomendarme como hacer una entrada optoacoplada para una tensión de 70Voltios DC y leerlo con un pin digital del arduino. Es lo que haceis vosotros,no? pero con otro voltaje seguramente.
|
|
|
|
« Last Edit: October 06, 2012, 09:04:08 am by Sergegsx »
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 64
|
 |
« Reply #5 on: October 06, 2012, 03:48:24 pm » |
Gracias por tus consejos Sergegsx, no podemos usar esa pantalla ya que es solo 20x4, necesitamos 40x4. Sobre el USB, realmente no aporta nada, ya que entiendo que programar con el cable FTDI es exactamente igual a hacerlo con el USB. Entonces porque debo añadir una complicación/coste adicional?
Sobre las entradas a 70V, aún no hemos empezado a usar optoacopladores en las entradas. Pero sin haberlo probado yo usaría un transistor que se active a esos 70V y la salida si debe estar optoacoplada que active un optoacoplador tipo 4N25 que son muy económicos. Desconozco si existen optoacopladores que permitan un voltaje de entrada tan alto o si se puede acoplar una resistencia en serie o diodo zener para bajar el voltje antes de entrar al optoacoplador.
Aprovecho para lanzar dos preguntas: 1.- Es necesario montar el regulador de voltaje de 3,3 Vdc cuando se hace una placa de arduino propia? Para que sirve? 2.- Existe alguna pantalla más grande que la de 40x4 de uso simple y económico para arduino? Es decir no solo que muestre más carácteres, sino que se vean grandes.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 53
|
 |
« Reply #6 on: October 12, 2012, 04:36:22 am » |
Lo veo realmente muy Interesante este proyecto ya que implementar un PLC en una maquina basica sale muy costoso, aparte de su programacion ,me interesaria saber si puedo compartir algunas de mis experiencias contigo Jordi. Tengo algo de experiencia en electronica Industrial. Mi primera idea seria apantallar por completo la placa de control del Microcontrolador, esto se puede realizar mediante malla metalica puesta a tierra, es decir, una jaula de Faraday. Tambien muy importante que la linea de alimentacion del Atmega se toma de una fuente propia muy estable y aislada de la potencia, mi idea seria usar una bateria -tampon que alimente al Atmega, esta bateria estaria alimentada por un circuito de carga muy estable y a una cierta distancia de los contactores, desde esta fuente con cable apantallado alimentar al Atmega Las salidas y las entradas del Atmega yo las realizaria mediante Optoaclopadores. realizaria una placa independiente para los contactores, todos ellos con circuitos de proteccion en sus bobinas para evitar el ruido electrico en su actuacion. Con bobinas de 20 mH y condensadores. Para mi es Basico el aislar completamente la alimentacion de Potencia de las lineas de alimentacion del Atmega, por que seguramente por estas es por donde se trasladan los armonicos realizados en las comuntaciones de los contactores de potencia. Es decir, el circuito de control debe de estar aislado de todas las interferencias creadas por los contactores. Espèro que esta idea te haya podido ayudar, estoy a tu entera disposicion no lo dudes.
Manuel
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 53
|
 |
« Reply #7 on: October 12, 2012, 05:09:21 am » |
A tu pregunta te dire que la alimentacion del Atmega esta comprendida entre 3,3 y 5 V nominal Si alimentas con el minimo voltaje, puede que la tension de control para los reguladores internos del Atmega sea insuficiente. Lo ideal es alimentarlo a 5 V si es posible desde una bateria-tampon externa que sea autoalimentada por una fuente estabilizada. Si alimentas la placa desde su conector de serie, se ha de calcular entonces la caida de tension presente en el regulador de la placa, que es de unos 1, 5 V por ello hemos de alimentar a un voltaje superior, es decir, 5 V + 1,7 V = 6,7 V Se me ha ocurrido una idea y te la comento a ver que te parece. Por que no utilizar Reles de estado Solido en sustitucion de los contactores de potencia ? Con esto evitas las tensiones inducidas en las bobinas de los contactores, ya que los reles de estado solido son estaticos y estan optoaclopados internamente. Los reles de estado solido pueden ser actuados directamente desde las salidas del Atmega ya que su corriente de actuacion es de unos 50 mA nominal, y la carga que soportan es desde los 300 W a los 5000 W en modelos comerciales. La gran ventaja es que al no tener elementos mecanicos, su vida es muy elevada y al no disponer de bobina de exitacion estan libres de generar sobretensiones inversas y ruido en los cables de alimentacion
Espero que estas ideas te sean de utilidad.
Manuel
|
|
|
|
|
Logged
|
|
|
|
|
Cordoba
Offline
Full Member
Karma: 10
Posts: 158
|
 |
« Reply #8 on: October 12, 2012, 08:36:37 pm » |
Si las salidas usas tip estas usando CC, y debes tener unos buenos picos de sobre tension. deberias poner un filtro rc y un varistor en paralelo a la bobina del contactor.
.047 47ohms ------||---^^^------ | _ | ---|/|------------ -/ varistor segun voltaje de bobina
esto quita mas interferencia y suprime la chispa del despegue de la bobina.
perdon por el dibujo
|
|
|
|
|
Logged
|
El que pregunta aprende, el que responde aprende a responder.
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 53
|
 |
« Reply #9 on: October 13, 2012, 02:32:03 am » |
Sigo opinando que la solucion utilizado reles de estado solido es la mas eficaz ya que no producen ninguna sobre tension en los estados de conmutacion puesto que estan optoacplopados internamente en sus circuitos de entrada / salida
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Edison Member
Karma: 8
Posts: 1040
Arduino rocks
|
 |
« Reply #10 on: October 13, 2012, 04:45:02 am » |
Para las salidas podrías usar un ULN2003. ¿Que tipo de maquinas fabricas?
|
|
|
|
|
Logged
|
|
|
|
|
Cordoba
Offline
Full Member
Karma: 10
Posts: 158
|
 |
« Reply #11 on: October 13, 2012, 06:39:50 am » |
haa eso me olvidaba.. no vimos el esquema pero imagino las entradas y salidas estan aisladas!! cada una con su fuente. Trabajaje muchos años fabricando automatismos en una empresa y usaban ese diseño en ambientes muyyyyy ruidosos sin problemas
|
|
|
|
|
Logged
|
El que pregunta aprende, el que responde aprende a responder.
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 64
|
 |
« Reply #12 on: October 13, 2012, 08:32:26 am » |
Muchas gracias por todas vuestras respuestas!
Os cuento lo que tenemos hasta el momento:
- Controladora/micro: Atmega1284P, porque es muy fácil de implementar en placa (soldar el Mega2560 es imposible para mi) y con más posibilidades que un Arduino Uno. La idea es hacerlo funcionar a 20Mhz pero con todo el soporte IDE de Arduino. ¿Alguien sabe si se puede modificar en alguna manera el bootloader para soportar los 20Mhz con las librerias de Arduino?
- Relés de estado sólido: Son una gran cosa, pero su implementación es algo difícil, pues la parte de control (la CPU con sus I/O, etc.) debe ir separada de la parte de potencia. Es decir que si un usuario mete mano a la CPU no quede frito. Entonces es mucho más fácil una salida de 24Vdc que active un contactor en carril DIN.
- Sobre el filtro RC: No lo implementaremos en placa, ya que descubrí que hay contactores con el filtro ya integrado en el propio contactor por el mismo precio (les llaman contactores para PLC).
- Sobre la fuente de alimentación: Comparto que es un tema crucial. De momento alimentamos de la siguiente manera: 230Vac a 230Vac mediante trafo de aislamiento, luego F.A. conmutada estándar de 24Vdc marca Pulse que alimenta a una FA conmutada en miniatura marca Traco de 5Vdc 1A, entre la FA de 24Vdc y la de 5Vdc he puesto un condensador cerámico entre Vcc y Gnd, una bobina Vcc a Vcc y otro condensador cerámico Vcc a Gnd, tal como sugiero Traco en su datasheet para cumplir con una normativa IEC. ¿Alguna sugerencia?
- A cada IC se le pondrá un condensador cerámico de 0,1uF.
- Pantalla: Salida a pantalla LCD alfanumérica de 40x4 en paralelo. He visto que se puede poner un conversor I2C a paralelo, así que haré esto para ahorrarme 8 salidas! espero no sea muy difícil.
- Salidas panel de mandos: Ayer descubrí por indicación del foro que existen conversores I2C a paralelo con interrupción, y que por lo tanto si detectan un cambio activan una interrupción en el Arduino. Esto puede ser genial! Ya que gano mucha velocidad en detectar las pulsaciones. Por lo tanto probaré con el: MCP23016-I/SP
- Otras salidas: Gran duda! Las PWM conectaran con drivers de motores paso a paso, que protección puedo poner??? Otras iran con un expansor tipo multiplexor o demultiplexor. En este punto estoy estancado: He visto que algunos fabricantes ponen un diodo Zener de 5,1V en algunas salidas, supongo para que actue a modo de fusible, en otras drivers darlington, en otras optoacopladores... Es decir parece que según el tipo de función que tenga cada salida hacen una cosa u otra... fff esto me tiene dándole vueltas a la cabeza...
El lunes postearé fotos de como va quedando, mientras tanto si alguien tiene alguna otra sugerencia se lo agradeceré un montón.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 64
|
 |
« Reply #13 on: October 13, 2012, 08:33:44 am » |
haa eso me olvidaba.. no vimos el esquema pero imagino las entradas y salidas estan aisladas!! cada una con su fuente. Trabajaje muchos años fabricando automatismos en una empresa y usaban ese diseño en ambientes muyyyyy ruidosos sin problemas
¿Cómo las aislabais?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 64
|
 |
« Reply #14 on: October 13, 2012, 08:35:15 am » |
Si las salidas usas tip estas usando CC, y debes tener unos buenos picos de sobre tension. deberias poner un filtro rc y un varistor en paralelo a la bobina del contactor.
.047 47ohms ------||---^^^------ | _ | ---|/|------------ -/ varistor segun voltaje de bobina
esto quita mas interferencia y suprime la chispa del despegue de la bobina.
perdon por el dibujo
Usaremos contactores para PLC, que ya integran la protección, valen lo mismo y te ahorras un faenon.
|
|
|
|
|
Logged
|
|
|
|
|
|