fall de cambio de nivel: BSS138 (adafruit)

0

[ACTUALIZADO con un diagrama de cableado en bruto]

Mi problema no es que no logré que funcionara el cambiador de nivel. Funcionó bien durante bastante tiempo. Entonces, muy repentinamente y sin tocar el hardware, falló de forma permanente. Mi pregunta es si hice algo que lo mató. Entonces, aquí están los detalles:

Configuración: Arduino Due (por lo tanto, cambio de nivel). Serial1 conectado a través de la palanca de cambios de nivel a la pantalla táctil Nextion (5v). Nextion tiene su propio P / S debido a su alta demanda actual de puesta en marcha, pero todo está en la misma tira de conexión y las 2 placas que estoy usando comparten un bus de tierra. También tienen topes entre el suelo y ambos vcc.

Configuración inicial (funcionó muy bien durante muchos días de piratería feliz):
* Nextion, breadboard (B) con p / s, interruptor de encendido / apagado para Nextion. Conecte a tierra el cable a otra placa de pruebas (A) al lado de Vencimiento. Tx y Rx de Nextion al lado alto de la palanca de cambios de nivel en la tabla de pruebas A.
* Debido, muy pocos pines utilizados. Una entrada analógica, par i2c, par serie. Serial1 tx / rx va a la placa de pruebas, 3.3vdc a un bus vcc en la placa de pruebas A, 5vdc va a otro bus en A. Todo excelente. 19200 comunicaciones seriales con Nextion sólidas como una roca durante más de una semana de diseño intensivo de interfaz gráfica de usuario.

Ahora, ayer decido agregar un RTC (Chronodot) a la mezcla. He trabajado con i2c breakouts anteriormente con buenos resultados, así que sé cómo usar la biblioteca de Wire, etc. Agrego Chronodot a BB B, apagados a la misma 5v que Nextion. SDA y SCL de Chronodot al lado 5v de la palanca de cambios de nivel. SDA y SCL desde Debido al lado 3.3v de la palanca de cambios de nivel.

Inicie el boceto de prueba más simple posible para Chronodot (escáner i2c). Encuéntralo en 0x68. Bueno. Siguiente boceto: hable con él a través de Raw Wire escribe / lee. DE ACUERDO. En el siguiente boceto, cargue liviano RTC lib y lea los valores de reloj formateados. Genial. Déjalo correr por minutos a la vez. Sin fallos. DE ACUERDO. Creo que tenemos un ganador.

Ahora, incorpore RTC lib en mi bosquejo más grande que habla con Nextion. Objetivo: leer el hh: mm actual de RTC y escribirlo en la interfaz de usuario en la Nextion. Entonces, ahora estamos usando i2c y Serial1 al mismo tiempo. Inicialmente, durante varios minutos de tiempo de codificación, esto funcionó bien. Tenía algunos problemas con la sintaxis de Nextion en los que estaba trabajando, la gestión de cadenas, ese tipo de cosas. Pero todos hablaban bien en ambas conexiones, serial e i2c. No repetí, no toqué ningún cable durante este período.

Luego, repentinamente, vuelvo a flashear el Vencimiento y mi primer mensaje de diagnóstico de inicio (control de tiempo básico en el Chronodot) muestra basura. ¿Qué? Intento de nuevo, todavía basura. OK, ¿ha muerto el Chronodot? Vuelva al bosquejo de E / S de Wire en bruto de Braindead, se bloquea. Vuelva al escáner i2c, no se encontraron dispositivos. Holycow. De acuerdo, pensando que RTC ha muerto (auch), elimino todo el código de RTC y vuelvo a mi boceto principal para hacer un poco más de retoques con Nextion mientras que las ideas están actualizadas, volveré al tema de RTC más adelante. Y no hay comunicación con la Nextion.

Serial1 se ha ido también. La Nextion está funcionando pero no puedo leer ni escribir en Serial1. Así que hmmm. i2c y Serial1, ambos usando el cambio de nivel y ambos han fallado repentinamente, fumando la pistola, debe el BS138 que ha fallado. ¿POR QUÉ?

Tengo repuestos. Pero, ¿mi configuración aquí de alguna manera lo destruyó, o murió de muerte al azar debido a una mala unión, una junta de soldadura defectuosa, etc.? No quiero enchufar otro y matarlo también. Así que mi pregunta para todos ustedes es, dada la descripción anterior, ¿hay algo que salte de usted como "probable que destruya la palanca de cambios de nivel"? Mi otra pregunta es, ¿por qué tardaron varios minutos en morir , trabajando bien todo el tiempo hasta la muerte repentina?

    
pregunta De Clarke

0 respuestas

Lea otras preguntas en las etiquetas