Estamos desconcertados por una falla de comunicación sorpresiva entre nuestra PCB controladora y la PCB del sensor.
Diagrama de circuito para falla de comunicación del sensor:
La comunicación falla a menos que hagamos una o más de las siguientes. Entonces funciona bien:
No podemos explicar por qué funcionan estas correcciones. Dejar el escudo (1) flotando (desconectado) significa que no proporciona un camino a tierra para el ruido. El condensador de 1 µF (2) debe proporcionar un camino a tierra para el ruido y hacer que el voltaje sea más estable. Tocar la lata del sensor solo debería cambiar su capacitancia.
Intentamos quitar la perla de ferrita (FB) en caso de que ocurriera alguna oscilación LC, pero eso no afectó el comportamiento. Los condensadores en la placa del sensor están todos conectados a un plano de tierra mediante vías.
¿Deshacerse del ruido conectando a tierra el blindaje o teniendo un condensador podría empeorar la comunicación?
¿Por qué tocar la tierra del sensor solucionaría el problema? ¿Agregar capacitancia cambia la ruta del ruido?
Editar: aquí hay una imagen o-scope de la señal de datos SDA en el lado del sensor. Es un poco lento en el tiempo de subida. Sin embargo, no puedo ver ninguna diferencia en la forma de onda cuando hago las 4 correcciones anteriores:/
Edición 2: aquí están los números de pieza y las hojas de datos.
Controlador:
Sensor:
Edición 3:
Pensé que el problema de conexión a tierra estaba provocando una falla en la comunicación. Sin embargo, al revisar el código en el controlador, descubrí que el sensor aún puede "reconocer" el byte de dirección/escritura enviado por el controlador. Simplemente no "reconoce" la dirección/byte de lectura, y luego devuelve todos los 1 en lugar de los datos del sensor. Creo que esto significa que la parte de comunicación está funcionando bien, pero de alguna manera el problema de conexión a tierra está perturbando el procesamiento interno del sensor y no puede obtener una lectura estable.
Una pregunta muy bien planteada.
Estás buscando en el lugar equivocado; el ruido no es tu problema Este es un problema de puesta a tierra. Cuando el circuito de su sensor consume corriente de alta frecuencia, como cuando transmite, la impedancia de la línea de alimentación significa que el voltaje del circuito en el extremo del sensor es apreciablemente diferente al del microcontrolador. Esto significa que sus terrenos están en diferentes niveles de voltaje. Puede disminuir este problema eliminando o reduciendo las cargas en los extremos de la línea de transmisión o mejorando la conexión a tierra, como ha demostrado.
Dado que la conexión a tierra en el extremo del microcontrolador no tiene el mismo voltaje instantáneo que la conexión a tierra en el extremo del sensor, el uso de una señal de voltaje para la comunicación con la conexión a tierra como su referencia de señal no es lo ideal. Esta es la razón por la cual muchos diseños de sensores con cables usan corriente en lugar de voltaje, o agregan pares con optoaisladores al circuito de señal de comunicación para evitar este problema. Cualquiera de los dos enfoques haría que su diseño fuera más a prueba de balas.
¡Buena suerte!
Ese pico negativo parece bastante fuerte, tal vez 1.5V o algo así. Eso está fuera del voltaje normal permitido para los pines del microcontrolador.
Es difícil saber de dónde viene, pero en mi opinión, podría intentar agregar una pequeña resistencia como 100R en serie con la señal para ralentizar un poco el borde descendente. Si el pullup es de 10k, este valor bajo no evitará que baje el voltaje cuando sea necesario.
pan vi
luminaria
pan vi
Andy alias
stevesh
luminaria
luminaria
luminaria
luminaria
luminaria
kevin blanco
bruce abbott
luminaria
luminaria
bruce abbott
luminaria