Go Down

Topic: Problema de Arduino con comunicación USB y Motores de Vending Machine (Read 3868 times) previous topic - next topic

Aler26

May 09, 2018, 05:17 pm Last Edit: May 09, 2018, 05:47 pm by Aler26 Reason: No sale la imagen que estoy adjuntando


Hola a todos, como dice el topic, tengo problemas con un proyecto que estoy realizando con un Arduino Uno, primero les explicare en que consiste. Estoy realizando un prototipo de Vending Machine el cual entrega ciertos productos cuando por medio de una comunicación USB (serial) se manda cierta instrucción. Ademas cuenta con un sensor infrarrojo el cual manda una señal cuando el objeto o producto cae (se entrega) para que el motor se detenga. El proyecto funciona bien pero al parecer de tanto activar y desactivar los motores llega el momento donde el Arduino deja de comunicarse por el puerto serie con el PC de manera que se bloquea y la única forma es desconectando y conectando de nuevo el puerto USB, pero la falla sigue ocurriendo con el transcurso de diferentes activaciones.

En la siguiente imagen pueden ver como esta el sistema conectado, tengo las alimentaciones por aparte y solo tengo puenteado la señal de 5V del Arduino al Modulo de Reles para poderlo referenciar, sin embargo este modulo esta alimentado de manera indepentiende a su vez los motores son a 24V dc y para eso tengo una Fuente Externa de 24 V dc solo para encenderlos y apagarlos, ya que el sensor infrarrojo a pesar que es también de 24 V dc decidí colocarle una alimentación diferente y referenciar la tierra al Arduino para que trabaje correctamente. Por favor si alguien me puede ayudar le agradecería pues ya he mirado que puede ser y solo se que es un ruido que se genera cuando se activan los motores pues si pruebo sin carga (sin los motores) esta falla no ocurre o almenos no hasta ahora. Muchas gracias de antemano.


surbyte

Como no puedo ver la imagen (mira el privado para que edites tu post inicial) no se si tienes o no diodos en antiparalelo en los motores y electroválvulas involucrados en la máquina.

Aler26

Listo ya lo edite, muchas gracias, con respecto a tu pregunta pues los motores son de vending machine es decir ya vienen solo con los bornes para conectarlos y alimentarlos, ahí en la imagen puedes ver como esta todo conectado. Gracias

surbyte

Bueno si no interpreto mal tu esquema el arduino esta alimentando los RELES y si es el caso eso es lo que esta generando el problema.
El módulo de reles consume mucha corriente. Debes alimentarlo con fuente externa de 5V y de la corriente adecuada (como 60 mA x rele) si cuento 16x60mA= 960mA entonces una fuente de 1 o 1.5A estará bine.
Comparte GND con Arduino y listo.

De todos modos... que tengas los contactos nada me dice sobre el tema que te mencioné respecto del ruido que genera una válvula o motor DC.

Tenlo presente o bien, otra alternativa es usar MOV del valor adecuado.

Yo haría una simple prueba con alguna de las válvulas/motores.
Pondría un tester/multímetro y medir en un sentido y otro la resistencia del bobinado. En ambos sentidos debería dar igual. Si hay un diodo, en un sentido habrá diferencia


EDITO: Dudo ahora que lo pienso mejor que tenga un diodo. Considera agregarlos. Un simple 1N4002 será suficiente en cada válvula o motor. Siempre que el motor no cambie de sentido. Si gira en uno u otro sentido, olvidate. Y ahi debes usar MOV.

Aler26


El arduino no esta alimentando a los reles si miras ahi en el dibujo se ven los reles alimentados por un adaptador de 12 V, solo que toca ponerle el vcc del arduino como referencia para poderlos controlar ya que estan alimentados por fuentes diferentes. En cuanto al MOV o Diodo pues como los motores son de vending machine tienen un cubrimiento en plastico que no me deja ver como estan por dentro pero si probe colocando un diodo 1n4001 en la salida de la fuente de 24 V de los motores pues todos estan puenteados no se si ese sea mi error, tu me diras. Muchas gracias

Aler26

Tome medida con un tester midiendo la resistencia entre los dos bornes del motor y efectivamente cuando coloco las puntas de manera correcta me mide un valor de resistencia y cuando invierto los bornes no me lee nada.


surbyte

Como nada? Debería leer igual.
Tiene indicada polaridad?

Aler26

@surbyte Si claro los bornes del motor que vez en la imagen estan marcados con + y -. Si con el tester mido de manera correcta en una escala de 20Mohm me marca como 3.88Mohm y si invierto las puntas no me dice un valor, es como si estuviera un diodo en inversa es decir un numero de resistencia muy alto. Como te muestro en las imagenes:


surbyte

Quote
Today at 16:11:41 Last Edit: Today at 16:17:59 by Aler26
Si con el tester mido de manera correcta en una escala de 20Mohm me marca como 3.88Mohm y si invierto las puntas no me dice un valor
3.88Mohms es un valor que no hubiera imaginado, pero que en el sentido opuesto te de supuestamente abierto no se corresponde con un diodo.
Si claro que deberías hacerlo nuevamente y poner el multimétro en lectura de diodos y repite las lecturas.

Aler26

Ya hice las pruebas midiendo y me da 0.595 de manera directa y en invertida me marca como si estuviera abierto.

tauro0221

Hi,
Pregunta donde esta el ground del arduino a la caja de los relays. Veo que tiene los +5 pero no veo que tenga ground. Solamente los cables de los pines que van hacia los relays. Otra cosa que es una buena practica es trenzar los cable por ejemplos los cables de la caja de relays a los motores. Cuando uno trenza los cable se cancelan los ruidos de corriente alterna. Esto no quiere decir que va arreglar el problema pero es una buena practica de trenzar los cables.

surbyte

Bien, eso es correcto, entonces si tiene diodo.
Ahora nos entendemos.
Bueno entonces no hay que preocuparse por esa parte.

Quote
El proyecto funciona bien pero al parecer de tanto activar y desactivar los motores llega el momento donde el Arduino deja de comunicarse por el puerto serie con el PC de manera que se bloquea y la única forma es desconectando y conectando de nuevo el puerto USB, pero la falla sigue ocurriendo con el transcurso de diferentes activaciones.
Retomando el problema y aunque no encontramos la causa, que tal activar el watchdog para que se autoresetee y siga funcionando?

surbyte

Quote
Pregunta donde esta el ground del arduino a la caja de los relays. Veo que tiene los +5 pero no veo que tenga ground.
Si no estuviera te aseguro que los relays no se activarian.
Estoy de acuerdo conque no se ve, por eso no me gustan esos esquemas, me cuesta entenderlos.

Aler26

Gracias por responder, pues los motores son DC y tienen su fuente de 24V separada de la de control y de la de los reles, ahora con respecto a el cable GND del arduino no va debido a que se referencia solo con el voltaje Vcc, debido a que si pongo la tierra estaria uniendo las tierras del arduino con las de los reles a pesar de que tienen fuentes diferentes y notaba que esto hacia que los reles se empezaran a disparar asi no tuviera el arduino conectado. Es decir antes tenian un comportamiento extraño, buscando en foros me di cuenta que la gente cuando usa diferentes fuentes en el caso del arduino y los reles solo referencian con Vcc.

surbyte

NOOO!!!  <=== ME EQUIVOQUE

Jamas referencies por VCC quien te ha dicho semejante barbaridad?


EDITO: Ya se que has hecho..
Comandas el diodo del opto de cada rele entre VCC y el pin. De ese modo el RELE actua en logica directa y no inversa como siempre estamos advirtiendo.

Me corrijo. Esta bien.

Go Up