Fallos con alimentación Vin

Hola,

soy nuevo en el foro, disculpen si esta cuestión ya está en otro hilo, pero aunque he encontrado temas parecidos, no eran exactamente como el problema que tengo.

He montado unos puertos MIDI IN y OUT en Arduino, para tocar dos sintetizadores con un solo teclado. Dependiendo de qué mitad del teclado use, el sketch de Arduino envía los datos MIDI a uno u otro sintetizador.
He tocado durante horas a lo largo de dos años y no ha fallado ni una sola vez, incluso tocando acordes y notas rápidas. Esto ha sido así con Arduino recibiendo alimentación a través del cable USB.

Ahora bien, cuando le he puesto una batería de 9V o cuatro pilas de 1,5V a través del pin Vin, al cabo de pocos minutos uno de los sintetizadores, siempre el mismo, se queda colgado, tocando siempre una misma nota aunque pulse otras teclas. Parece completamente aleatorio, a veces ocurre al cabo de pocos segundos, a veces aguanta varios minutos.
Lo he probado con Arduino Uno y con Arduino Nano, y ocurre exactamente lo mismo: perfecto con el cable USB, pero con las pilas falla tarde o temprano.

¿Alguna idea de a qué puede deberse y cómo se podría solucionar esto?

Muchísimas gracias!

Batería de 9V, apenas tiene 100mA. porque no usas una fuente o una batería mas potente?

surbyte:
Batería de 9V, apenas tiene 100mA. porque no usas una fuente o una batería mas potente?

Totalmente de acuerdo, proba con una fuente que te proporcione mas corriente.

Hiciste el calculo del consumo total del circuito?

Gracias por vuestras respuestas!

He probado con dos fuentes de alimentación (de un móvil y de una tablet) conectadas al puerto USB del Arduino nano.

Una tiene Output 5.0V 550 mA y la otra 5.3V 2.0 A

Vuelve a ocurrir lo mismo: funciona bien durante unos minutos y en algún momento se cuelga el mismo sintetizador de siempre. Luego he probado conectar el USB a otro ordenador diferente del que suelo usar y vuelve a funcionar sin problemas.
No sé hacer el cálculo del consumo total del circuito :frowning: pero parece que 2 amperios no son suficientes? Hay algún límite que deba tener en cuenta, dentro del rango 5 - 12 V, para no quemar el Arduino?

2A y 550mA son suficientes porque tu USB no entrega mas de 500mA
Asi que hay otro problema. No veo cúal por el momento.

Se me ha ocurrido una cosa, a ver si puede ir por ahí. Obviamente no sé cómo funciona un cable usb, pero como sirve de alimentación y también transmite datos, me imagino lo siguiente.

En el pin RX Arduino recibe los datos MIDI que le llegan del teclado. Si no me equivoco, el pin RX y el puerto usb reciben ambos datos en serie (de hecho, cuando cargo el sketch tengo que quitar el cable que va del teclado al pin RX, porque interfiere).
Entonces, se me ocurre que cuando estoy tocando y el puerto USB está conectado al ordenador, le llega corriente y, a la vez, se garantiza que no le lleguen datos por el puerto USB (aunque esté enchufado). En cambio, si el puerto USB lo conecto a la red, o si lo dejo libre y le pongo una pila como alimentación, se generan datos aleatorios, que se interpretan como una tecla que en realidad no he pulsado…

No sé si esto tiene sentido. Si lo tiene, habría alguna manera de cerrar el puerto USB para datos cuando no tiene nada conectado, o cuando sólo está conectado a la red?

Hola.

Al alimentar por usb, los 5V de la alimentación van directos a la placa, (pasando por un fusible).

Por el pin VIN van a un regulador de tensión, que te estabiliza la tensión de entrada y la regula a los 5V que necesita el microcontrolador, normalmente hay que alimentarlo sobre 1.5V por encima de su tension de salida, es decir, 6.5V como mínimo, con 4 pilas de 1.5V lo que suma son 6V en total.

Si el fallo se produce siempre al rato de estar funcionando, has mirado a ver si dicho regulador está muy caliente?, o si tienes a mano un comprobado de tensión, si la tensión de la placa cae de los 5V???.

Saludos.

Cuando conectas el cable usb, no lo estás conectando directamente a RX y TX del microcontrolador, entre medio hay un conversor de USB a SERIE TTL, dicho conversor está siempre “Conectado” a tu microcontrolador, el hecho de que no puedas programar cuando tienes el puerto conectado RX conectado a otro dispositivo, es porque realmente, es el otro dispositivo el que interfiere con la comunicación a la hora de reprogramar el micro.

No creo que te llegue ruido a tu puerto serie y ese sea el motivo de tus fallos, igual si subes el código que usas podamos ver si le afecta algo que no tengas programado adecuadamente.

Saludos

Hola!

efectivamente, pude solucionar el problema desde el código. Tenía habilitado uno de los pines digitales para conectarle después un pulsador que hiciera subir o bajar una octava la nota que toco. Sin embargo, todavía no tiene nada conectado, y parece que ese pin adquiere valores aleatorios que son los que me causaban las notas imprevistas. Quité esa parte del código y ahora funciona perfectamente, también con otras fuentes de alimentación.
Sin embargo, me sigue pareciendo "misterioso" que este problema, cuando lo había, nunca se presentase con la alimentación desde el PC a través del USB. Es como si ese tipo de alimentación, y sólo ese, impidiese que aquel otro pin digital adquiriese valores aleatorios.