Error al encender, Arduino se crashea

Buenos días compañeros del foro, tengo un gran problema con arduino nano, les comentare a grandes rasgos pero como es un proyecto comercial que aun estoy en proceso de patente no puedo colocar el código, pero si una descripción del proyecto.

Estoy en proceso de realizar un simulador de paciente es decir un equipo que simula presión arterial no invasiva, señal eléctrica del corazón y saturacion de oxigeno en sangre. esto con el fin de comprobar que los equipos usados en medicina funcionan correctamente.

Para este proyecto estoy manejando comunicación i2c con pantalla 20x4, comunicación i2c con conversor análogo digital 1115, movimiento de servo, interrupción externa (botón de selección de modo) y comunicación serial. todo conectado a un [u]arduino nano[/u]

(ahora si el problema) el código en simulador y en el prototipo funciona bien, todas las funciones actúan de manera correcta según lo esperado. PERO en ocasiones cuando se enciende muestra caracteres errados en pantalla (caracteres random por toda la pantalla) el servo también se mueve de maneras randomicas en momentos donde no debe moverse, y el led de confirmación de ejecución de latido se enciende de manera randomica.

Al apagar y encender el dispositivo vuelve a continuar con el mal funcionamiento, y al subir el código de nuevo se soluciona (pero ocasionalmente vuelve al error)

la alimentación del dispositivo la realizo por medio de una fuente externa 9VDC 3A y en la tarjeta tengo 7805 x 2 (uno para la parte circuital y otro para alimentación del servo con tierras comunes) y tengo una etapa de filtrado para evitar ruido por medio de condensadores en los 7805

Como les decía es un proyecto comercial, por tanto necesito solucionar este error para poder vender el equipo pero este error es demasiado para hacerlo aun comercial, les encargo me ayuden ya que este problema muy seguramente se puede presentar a muchos aprendices de arduino

Hola

No se si te pasará lo mismo que a mi.

Alimentaba un arduino mini que controlaba 3 motores DC a través de un L298N, directamente un servo y una pantalla de 16x2.

La alimentación del sistema era con una fuente de alimentación de 12V 2,5A de la siguiente manera:

De la fuente, una parte directamente a los motores y otra a un L7805 con disipador y filtrado.

Del 7805 al arduino, pantalla y servo.

La pantalla siempre encendida, los motores y el servo nunca funcionaban a la vez (o los motores o el servo).

Pues bien, no logré que funcionase, cuando arrancaban los motores, bien, pero cuando arracaba el servo, todo el sistema se venía abajo, salian caracteres raros en la pantalla y se reiniciaba el arduino. Probé incluso una fuente de 3A, y lo mismo.

Las cuentas no me salian, ya que todo el sistema como mucho consumiría ~1,2A si todo estuviese funcionando a la vez. Incluso cambié el 7805 a por una placa transformadora (12V a 5V) de esas que se usan para breadboard (pero sólo daba 750mA, en teoría suficiente para alimentar). Si eliminaba de la alimentación los motores, todo iba perfectamente.

Al final tuve que alimentarlo por separado, la fuente de 12V directa a los motores y con USB 5V 1A al arduino, pantalla y servo (a estos directamente sin pasar por el arduino).

Seguro que alguien con más experiencia que yo en electrónica puede dar una explicación, pero no la encontraba.

A ver si te sirve de algo.

Hola Pepe, si de hecho al inicio alimentaba todo con un solo 7805, luego pase a 2 como digo en la descripción, ya que el servo pese a decir en el datasheet que solo consume 100mA recordé que un motor en arranque consume 8 veces su consumo nominal normal (800mA aprox), al realizar esto, se solucionó este inconveniente de consumo, mi problema creo que esta algo mas allá, ya que a veces ocurre de la nada, en un momento en donde esta actuando el servo, y otras veces en donde no actúa, y ya no ocurre eso que se apaga la pantalla, solo inicia a mostrar caracteres raros y a enviar señales random a todo, igualmente gracias por el aporte