El puerto COM se cae inesperadamente, pero Arduino Leonardo sigue ejecutándose

2

Estoy observando un comportamiento extraño con mi tablero Leonardo.

Utilizo un adaptador de 9V CA / CC para alimentarlo. El tablero de extensión de relés está conectado a los pines digitales y los relés se utilizan para controlar varias válvulas y motores.

He dejado solo un pequeño motor de CA de 220V 0.2A para pruebas. Está conectado al mismo enchufe de pared que el adaptador de 9V. Arduino se conecta al portátil con un cable USB corto equipado con anillo de ferrita.

Este es mi problema: al usar la conexión en serie, enciendo y apago el relé unas cuantas veces y la conexión del puerto COM muere antes o después. La ventana de PuTTY muestra un error, el puerto COM permanece en la lista en el Administrador de dispositivos de Windows, pero no puedo restablecer la conexión a menos que conecte y desconecte el cable USB. Sorprendentemente, Leonardo sigue funcionando. Estoy seguro de que no se reinicia. He agregado un pitido de timbre a la configuración () para escuchar cuando lo hace.

Podría ser el ruido causado por las bobinas del motor lo que se mete con el adaptador de CC; no tengo condensadores. (Y no es el tablero de relés, tiene diodos para la bobina de cada relé). Mi pregunta es diferente:

No estaría tan aturdido si fuera Arduino UNO. Pero Leonardo tiene un solo chip para comunicaciones USB y trabajo, por lo que si uno falla, el segundo también debería hacerlo, ¿no?

¿Cómo podría estar pasando?

    
pregunta Alexander

2 respuestas

0

Lo he solucionado (tipo de).

Probablemente, el problema estaba relacionado de alguna manera con el módulo de reloj RTC DS1307 defectuoso y / o con la cantidad de memoria SRAM que usaba mi esquema. He estado experimentando problemas con el hecho de que Leonardo no sincronizó su temporizador con RTC en 50% de los casos, eliminé esta funcionalidad de mi código, liberé aproximadamente 1 KB de SRAM, y ahora funciona perfectamente.

Probablemente, si estuviera usando UNO, habría tenido reinicios, pero dado que Leonardo es diferente, estaba "medio congelado".

    
respondido por el Alexander
0

Aunque son un mismo chip, los circuitos USB y MCU pueden funcionar de manera independiente. Por ejemplo, la parte USB se puede usar para restablecer la parte MCU.

    
respondido por el geometrikal

Lea otras preguntas en las etiquetas