Hola amigos, vereis tengo un problema con una maquina que estoy montando y ahora mismo no se que pasa.
Tengo un arduino montado a una shield Lcd, una bluetooth y una placa de 8 reles (solo uso 6). Desde un móvil android, yo le mando al arduino que encienda X segundos el rele A, x segundos el rele B, etc y todo bien. La sintaxis de envio es por ejemplo 3a4b (tengo "case" puestos en el código para leer las letras y el tiempo lo definen unos delays)
Bueno, el tema es que funciona todo perfectamente, estaba preparando la aplicación para android etcc hasta que le conecto unas bombas peristalticas de 12v a los relés. En el momento que las alimento, solo me enciende el primer relé durante el tiempo estipulado y no hace nada más.
Pense que era un problema de alimentación, y alimente todo por separado (5v para los reles, 12v para arduino y 12v para la bomba) y nada, sigue el problema. Decir que el arduino no se bloquea, simplemente no continua con la instrucción. Hace el amago pero nada más. Además, la pantalla LCD cuando termina deberia de mostrar un mensaje, y tampoco lo hace.
¿Teneis idea de que puede ser? Porque no tengo ni idea de donde esta el problema.
EDITO CON LA SOLUCIÓN:
Pues como me sugirió VictorJam, Hector y surbyte se trataba de un problema de ruido eléctrico. Me sugirieron poner un diodo 1n4002 en antiparalelo con la bomba, y así lo hice y funciono perfectamente (con un 1n4007 en este caso porque no encontré el otro)
(5v para los reles, 12v para arduino y 12v para la bomba)
Supongo que estará mal escrito y será 5v para arduino, y 12v para los reles y la bomba.
Si no pones las bombas todo funciona ok. La placa de relés es comercial y por lo tanto ya lleva diodos de protección. La bomba, seguramente, no lo lleve.
victorjam:
Supongo que estará mal escrito y será 5v para arduino, y 12v para los reles y la bomba.
Si no pones las bombas todo funciona ok. La placa de relés es comercial y por lo tanto ya lleva diodos de protección. La bomba, seguramente, no lo lleve.
Prueba a poner un diodo de protección:
Hola Victorjam! Primero gracias porque me has dado una esperanza jj. El voltaje esta bien escrito, segun tengo entendido Arduino soporta hasta 12 voltios, no es asi? Y la placa de reles funciona a 5v... Pero ahora me dejas dudando.
De todos modos, respecto a la bomba, que diodo tengo que poner? O como lo calculo? Y que lo conecto a una patilla de la bomba nada mas? Es que respecto a la electronica no entiendo mucho.
mntinside:
Hola Victorjam! Primero gracias porque me has dado una esperanza jj. El voltaje esta bien escrito, segun tengo entendido Arduino soporta hasta 12 voltios, no es asi? Y la placa de reles funciona a 5v... Pero ahora me dejas dudando.
De todos modos, respecto a la bomba, que diodo tengo que poner? O como lo calculo? Y que lo conecto a una patilla de la bomba nada mas? Es que respecto a la electronica no entiendo mucho.
En efecto a arduino lo puedes alimentar con 12 ya que este tiene un regulador interno a 5V sin embargo funciona si conectas los 12V por el conector de alimentacion que este dispone o por el pin marcado con 'VIN', tambien esta bien alimentar la shield de reles con 5V me imagino que estas usando la que tiene las entradas con opto-acoplador.
La vez pasada Surbyte me recomendo usar en un problema de ruidos también, el 1n4002 en antiparalelo con una electrovalvula 24VDC 6W, para tu aplicación creo que debes de mirar la corriente nominal de la bomba o medirla con un multimetro y le pones un diodo en anti-paralelo que aguante dicha corriente el 1n4002 aguanta hasta 1A con picos no repetitivos de hasta 30A, si es mayor ps pones tanta cantidad de diodos tal que entre todos se sume la corriente a dispersar (obviamente en paralelo), la forma de conexion es en antiparalelo con la bomba es decir el positivo de la bomba al catodo y el negativo al anodo
Jajaja eres un fenomeno Victorjam, asi si que lo entiendo. Comprare el diodo que dice firius2010 el lunes si lo encuentro y lo pondre tal cual me has dicho y comento por aqui por si ayudo a alguien en un futuro. Un millon de gracias a los dos!
Gracias por tu ayuda Hector. Llevo toda la vida en foros y me entero ahora que citar un mensaje superior era de mal gusto.
Supongo que el mal gusto es algo subjetivo, a unos les puede parecer que hacer un "quote" al anterior mensaje es mal gusto y a otros que comentar un thread simplemente para dar su opinion sobre lo que gusta o no, e ignorando por completo la tematica del post tambien es mal gusto.
Aun asi, gracias por tu opinion, tu mensaje sera de ayuda a alguien en el futuro
Eso de que llevas toda la vida en foros, te digo que depende de la longitud de tu vida y así y todo también lo pongo en duda, porque esto de la Internet y sus foros no data de antes de la década de los 90. En 1994 mi internet aún era toda en modo texto, pero en ese año vino mi transición, mayor hardware, mayor velocidad de internet, etc. Aún recuerdo mis viejos modems de 14k, 28k y 56k.
En la actualidad hay muchos foros que tratan de mal gusto lo que tu defiendes a tientas y a locas. Todo bien, si a ti te gusta hazlo, pero en otros foros, en este no.
A todos los demás les pido un millón de veces que me disculpen por el OFF TOPIC!
Mntinside, jamás volveré a responder comentarios de este tenor en el foro, de ahora en más, te manejas por privado. Bueno, si quieres!
el quote se utiliza solo para destacar una parte del post anterior, por ejemplo, si hay tres preguntas y sabes la respuesta a una, pues SOLO ESA la pones en el quote y así es más facil y rápido entender el tema al que se responde. No sé si es una norma de internet o no, pero es lo que yo encuentro más logico. Sinceramente, hay algunos foros en que es costumbre poner el citar (quote) y para mi gusto, es nefasto y estos foros ya no vuelvo y ese hace dificil la lectura.
Aparte, cuando entras a una casa ajena debes acatar las normas, y en este caso, el foro es una casa ajena, por lo que se puede comentar una norma por si se puede mejorar o expresar tu opinion, todo es siempre mejorable y para gustos colores, pero de todos los foros por los que he navegado, de forma asídua o esporadica, muy pocos (un 1%) hace esto que comentas y qu ahora te enteras de que es mal gusto, poca vida en foros llevas o tienes un iman en que has aterrizado solo en esos.
saludos, y perdon también por el off topic, si es voluntad de los moderadores podeis eliminarlo, pero me he desahogado xD
Yo trataría de separar corrientes. Alimentaria los reles con optoacopladores para proteger al micro. He visto como simples reles se van en corto y de seguro va a sufrir los puertos de salida de tu arduino.
Pense que era un problema de alimentacion, y alimente todo por separado
Creo que eso ya lo ha pensado. Aunque no dice que placa de rele usa, posiblemente ya esté aislada. El problema radica que al encenderse la bomba no pasa nada, y es cuando se desconecta que se produce un ruido que bloquea al arduino.
Este es un tema que creo que se ha hablado mucho en el foro, y es que los ruidos electricos son malos amigos del arduino.
efect2000:
el quote se utiliza solo para destacar una parte del post anterior, por ejemplo, si hay tres preguntas y sabes la respuesta a una, pues SOLO ESA la pones en el quote y así es más facil y rápido entender el tema al que se responde. No sé si es una norma de internet o no, pero es lo que yo encuentro más logico. Sinceramente, hay algunos foros en que es costumbre poner el citar (quote) y para mi gusto, es nefasto y estos foros ya no vuelvo y ese hace dificil la lectura.
Aparte, cuando entras a una casa ajena debes acatar las normas, y en este caso, el foro es una casa ajena, por lo que se puede comentar una norma por si se puede mejorar o expresar tu opinion, todo es siempre mejorable y para gustos colores, pero de todos los foros por los que he navegado, de forma asídua o esporadica, muy pocos (un 1%) hace esto que comentas y qu ahora te enteras de que es mal gusto, poca vida en foros llevas o tienes un iman en que has aterrizado solo en esos.
saludos, y perdon también por el off topic, si es voluntad de los moderadores podeis eliminarlo, pero me he desahogado xD
No se si has leido la ultima respuesta, pero el error fue que inclui mi respuesta dentro del quote, ya esta editado. Por supuesto he leído las normas, quizas no las leíste tú, y no se comenta nada de quotes, de todos modos tanto Hector como yo cometimos un leve error y repito que ya lo solucione por privado con los Moderadores, asi que no entiendo tu respuesta ahora mismo.
De todos modos tu forma de expresarte y dirigirte a mi no merece que siga desviando la atención del tema principal, es evidente que tu experiencia en foros es limitada.
Estoy casi seguro que eso que se ven en las placas son optoacopladores. Uno por cada rele. Podrías postear el código por favor porque preciento que pudiese haber un detalle en el programa mas no en el harware.
Acabo de conseguir ahora los diodos, pero en vez del 4002 son 4007, me dijo el chico que servian igual, ¿tiene razon o correre el riesgo de quemar algo? Esta noche tengo pensado probar salvo que me digais lo contrario, y posteo el codigo como me sujeris.
Hola de nuevo, acabo de probar los diodos y funciona! Ahora va todo a la perfección, increíble Voy a leer un poco sobre los diodos a ver si comprendo bien su funcionamiento, que siento curiosidad como algo así pudo afectar al Arduino.
Voy a editar el primer post y el título, muchísimas gracias a todos de verdad.
Al Arduino como a cualquier microcontrolador son afectados por los transitorios que provoca el accionamiento de esas bombas peristálticas.
La bomba se acciona, genera un transitorio porque? Porque toda bobina al recibir un cambio abrupto de corriente genera un efecto contrario que se opone, es la FUERZA CONTRA ELECTROMOTRIZ, esta corriente inversa circula por la fuente, viaja por el cable y termina en el Arduino en forma de un latigo que lo hace resetear.
Solución: un simple diodo que bloquea esa corriente inversa y la limita a 0.6V por encima de los 24V de la fuente que alimenta las bombas.
El resultado es que se consume en el devanado de la bobina en forma de calor.