Interferencias

Hola estoy haciendo un proyecto con los siguientes elementos:
*Arduino Uno R3 Smd Atmega328
*Fuente 220v Aislada Switching 5v 700ma Ac/dc
*Modulo Detector Sensor De Obstaculos Infrarrojo Arduino Pic
*Sensor Magnético Hall Ky-003 A3144 Estándar Arduino
*Llave Palanca Doble Switch Dpdt On-on 6a 125v Mts-202 6pin
*Modulo De Relee Relay Opto 8 Canales 5v 10a Arduino Pic
Al finalizar adjunto la imagen de cada elemento y el programa.

El funcionamiento es de una maquina que utiliza un motor ignis 24 DC, 2 electrovalvulas neumáticas de 24 dc, 4 luces led de 220v.
El arduino esta alimentado por el pin VIN desde la fuente aisladay al GND, luego de la salida del pin 5v de arduino alimento los VCC de los sensores y el modulo relay, lo mismo con el GND.

Mediante un pulsador NA conectado de forma Pull Down como input encendería el motor a traves del modulo rele, y un pulsador NC también conectado de forma Pull Down apagaría el motor.

Otro pulsador NA conectado de forma Pull Down me habilita una parte del programa que va a comandar las electrovalvulas neumáticas a través del modulo rele y un pulsador NC también conectado de forma Pull Down me deshabilitaria esa parte del programa. Una vez activado por medio del pulsador NA, hay un sensor infrarrojo que me detecta el paso de un producto por delante y deja de sensar, y cuando detecta me activa una electrovalvula, esta electrovalvula queda conectada hasta que el sensor magnético posicionado en el cilindro neumático me detecta el embolo magnético y desactiva la electrovalvula anteriormente conectada y retrocede el cilindro dejando de sensar el sensor magnético.
Luego el programa quedaria en espera hasta que nuevamente sense el sensor infrarrojo y se repita el ciclo indefinidamente hasta yo detenerlo en cualquier momento.

El problema es el siguiente, yo lo pruebo y funciona todo correctamente sin utilizar las electrovalvulas, el problema es cuando conecto las electrovalvulas y al conectar el rele a las electrovalvulas se me accionan cosas que no se tienen que accionar, es decir empieza hacer cualquier cosa.
Algunas veces me deja repetir el ciclo una vez, otras 4 veces y empieza a fallar. Toda las conexiones son con cables de protoboard.

1.png2.png3.png

5.png6.pngInterferencias - Hardware - Arduino Forum

1.png

2.png

3.png

5.png

6.png

maquina1.ino (4.42 KB)

Es importante saber como esta conectado el modulo de reles, hay dos manera de hacerlo, mediante el Jumper que tiene. De una manera las bobinas de los reles esta accionada por la tensión del arduino, pero se puede conectar de manera que las bobinas de los relays se accionen con una fuente externa y con menor posibilidad de interferencia.

el rele esta conectado a los 5v que me brinda arduino, como tendria que hacer para probar de la otra forma

Hi,
Consejo nunca debes de usarse los 5 voltios del arduino para enegirzar componentes que sea tipo inductores como selenoides, valvulas etc. Estos componentes por lo regular producen ruidos electromagneticos que pueden causar problemas en la opreracion del arduino. Deben de usarse una fuente externa para alimentarlos. Los 5 voltios del arduino pueden usarse para alimentar aquellos modulos que usan una corriente baja y que no causen ruidos electromagneticos. Otra cosa es que la corriente maxima que puede suplir el regulador interno del arduinoes es de 800max.

Tambien cuando pides ayudas debes de incluir como esta alambrado el projecto para tener una idea que puede causar el problema. Muchos no lo incluyen y es la informacion mas importante para poder visualizar donde puede estar el problema.

Otra cosa es que la corriente maxima que puede suplir el regulador interno del arduinoes es de 800max.

Tauro, el regulador del Arduino como máximo entrega 500mA como crees que puede llegar a 800mA?
No tiene casi disipador. Si lo tuviera te creo pero no es el caso.
Luego mas de 350mA no es posible que alimente considerando el propio arduino que consume unos 65mA bueno tal vez un poco mas hasta llegar a los 500.
Yo probé en algun momento y mas de 4 reles hacian que se reiniciara.

Un rele con su lógica consume 65mA aprox.
Asi que usa una fuente externa de al menos 65x8 = 520 mA, comparte GND con Arduino, y deja el resto de las conexiones como estan y todo debería funcionar bien.
Un viejo cargador de celular de 700mA sería mas que suficiente.

Para alimentar el módulo de relé , debes levantar el Jumper que une las patitas jvcc y VCC y donde dice jvcc y ground alimentarlo con una fuente externa de 5v, dejando igual las otras conexiones

surbyte:
Tauro, el regulador del Arduino como máximo entrega 500mA como crees que puede llegar a 800mA?
No tiene casi disipador. Si lo tuviera te creo pero no es el caso.
Luego mas de 350mA no es posible que alimente considerando el propio arduino que consume unos 65mA bueno tal vez un poco mas hasta llegar a los 500.
Yo probé en algun momento y mas de 4 reles hacian que se reiniciara.

Un rele con su lógica consume 65mA aprox.
Asi que usa una fuente externa de al menos 65x8 = 520 mA, comparte GND con Arduino, y deja el resto de las conexiones como estan y todo debería funcionar bien.
Un viejo cargador de celular de 700mA sería mas que suficiente.

se puede hacer de ese modo, pero ¿ Por qué compartir masas? Si es posible no hacerlo, aislando totalmente los dos circuitos con los optoacopladores que ya trae el módulo

Ahh bueno, no lo pensé como lo sugieres PeterKanTropus, porque para mi los circuitos estan separados pero tenes razón. GND del transitor no tiene porque estar en contacto con GND del Arduino. No hace falta compartir GNDs, tienes razón.

Hi,
PeterKantTropus el proposito de los opto couples es aislar el arduino de los relays. Si instalas el jumper para que use el voltaje del arduino entonces ya no vaz a tener la aislacion que te da los opto couples. Para mi lo ideal es de asilar ambos cicuitos. Surbyte el regulador del arduino puede dar 1 amperios pero como ya lo mencionaste no tiene desipador de calor y por eso de no usarlo hasta un amperio. Algunos dicen 500ma y otro dicen 800ma. De todas manera el voltaje del arduino no debe usarse para alimentar modulos inductivos como ya mencione.

Precisamente Tauro, desde el principio dije de separar los circuitos yd levantar el jumper como posible solución.
Saludos

El regulador aguanta HASTA 1A, depende del voltage de entrada. Porque tiene que convertier la diferencia en calor y disiparlo.
En este caso, con la fuente de alimentación de 5V, no se suministra a Vin, sino directamente a 5V. Y los reles también puedes conectar tranquilamente también directamente a los 5V de la fuente. 700mA pueden ser justos, pero las interferencias vienen porque conectaste los reles al pin 5V del Arduino y suministraste el Arduino a través de Vin con 5V. Esto no puede ir bien. Mide el voltaje y lo verás.

Más adelante, las electroválvulas te harán interferencias fuertes. Has de emplear un snubber para evitarlas y para proteger los contactos del relé.

Hi,
PeterKantTropus te pido disculpas pues te mal entendi. El arduino debe de estar aislado de aquellos componentes que usan inductores. Otra cosa que se me olvidar traer la atencion es del uso de switcher que se conectan al voltaje de 120/220 pues estos usan un condesador para bajar el voltaje y no tiene aislacion del alto voltaje al arduino. Si ese condesador se cruza va enviar 120/220 al arduino. Yo siempre uso suplidor de energia que tenga transformadores. Este te aisla el arduino del alto voltaje y de ruidos electromagneticos.

1.- Mete una estapa de proteccion entre tu arduino y lo que sea que vayas a operar, usando UNL2003, son baratos y faciles de conectar.

2.- Usa los relevadores conectados a otra fuente de alimentación;
Como en esta guia.

3.- Usa fuentes de poder que tengan un transformador, agrega cuando menos 3000uF en capacitor a la salida ente el Vcc y el gnd.

Con eso debes de quedar bien.

Saludos.
-Alex.