Solo algunos de mis sensores inductivos funcionan con mi placa

Estoy trabajando en una placa que tiene seis sensores inductivos.

Estoy usando optoacopladores para el aislamiento entre la salida del sensor y la MCU. Cuatro de ellos funcionan bien y dos muestran un comportamiento muy poco fiable.

Cuando detecto un objeto metálico, el voltaje en el diodo Zener (3,3 V) es de 0,70 V, lo cual está bien, pero cuando conecto un pin GPIO del microcontrolador para leer el voltaje en el mismo punto (diodo Zener de 3,3 V) es de 0,254 V y, a veces, cuando no hay detección de metales, entonces el voltaje en (diodo Zener 3.3 V) es 1.154 V pero debería ser 3.3 V.

Ya planteé este problema en otro foro y la gente sugirió que podría haber un problema de diseño o un problema de soldadura en frío. Hice una nueva placa en PCB perforada pero el problema sigue siendo el mismo, incluso después de cambiarlos.

  • Voltaje de funcionamiento del sensor inductivo: (10-30V)
  • El voltaje de salida es: (23,32 V) cuando el voltaje de suministro es (24 V)
  • Optoacoplador: PC817
  • Resistencia pull-up: 4.7K

ingrese la descripción de la imagen aquí

Su diodo Zener está cortocircuitando la salida del sensor a tierra. Cuando la salida del sensor sube, su opto y LED1 tienen polarización inversa. Nunca debería funcionar. ¿El sensor es PNP o NPN? Enlace a la hoja de datos (en su pregunta), por favor.
"Cuando detecto que el voltaje del objeto metálico en el diodo zener (3,3 V) es de 0,70 V, lo cual está bien, pero cuando conecto el pin GPIO del microcontrolador para leerlos, el voltaje en el mismo punto (diodo zener de 3,3 V) es de 0,254 V". - La conexión de la MCU no debería hacer ninguna diferencia si el pin del puerto es una entrada, a menos que se active un menú desplegable. ¿Qué MCU está utilizando y a qué pines de E/S están conectados los sensores? ¿Puede mostrar el código fuente de inicialización del puerto?
@Transistor He editado la pregunta y cuando el sensor detecta metal da 0 de lo contrario 1
Eso no me dice si el sensor es PNP o NPN. ¿Por qué no incluir el enlace de la hoja de datos?
¿Y por qué la imagen está de lado? :^?
¿Los pines mcu "malos" están configurados como salida frente a entrada?
pd: 24v zener deja poco margen, pero probablemente no sea su problema aquí. también es bueno tener protección bidireccional allí.
@Transistor Adjunté el enlace de la hoja de datos en la pregunta

Respuestas (1)

... cuatro de ellos funcionan bien y dos muestran un comportamiento muy poco fiable.

Eso significa que:

  • tienes un error en dos de los tableros.
  • su diseño está al borde de no funcionar.

Cuando detecto un objeto de metal, el voltaje en el diodo Zener (3,3 V) es de 0,70 V, lo cual está bien, pero cuando conecto el pin GPIO del microcontrolador para leerlos, el voltaje en el mismo punto (diodo Zener de 3,3 V) es de 0,254 V y en algún momento no hay metal. el voltaje de detección en (diodo Zener 3,3 V) es de 1,154 V, pero debería ser de 3,3 V.

Numerar los componentes ZD1, ZD2, R1, R2, etc. facilita mucho la discusión del circuito. Sin embargo, conectar el pin MCU al Zener de 3.3 V no debería cargar el circuito a menos que el GPIO esté programado como una salida.

Comentarios generales:

  • El Zener de 24 V no debería ser necesario si está funcionando con un buen suministro de 24 V. Si obtiene una sobretensión, no hay nada que limite la corriente, por lo que probablemente se sobrecalentará y morirá. También tenga en cuenta que si es un dispositivo de ± 5%, su voltaje de ruptura podría ser < 23 V, por lo que estará encendido todo el tiempo, por lo que puede tener suerte si aún no ha visto humo. Si realmente cree que necesita protección contra sobretensiones, coloque ZD1 como se muestra en la Figura 1.

esquemático

simular este circuito : esquema creado con CircuitLab

Figura 1. D1 proporciona protección contra sobrevoltaje y polaridad inversa.

  • Conectar el LED1 en serie con el opto-LED ahorra un par de componentes y el LED1 da una indicación de que la corriente realmente fluye a través del OPTO1.
  • El diodo Zener de 3,3 V no hace nada más que causar otro posible componente caliente ya que su voltaje de ruptura es el mismo que el suministro. Su pull-up es para el riel de alimentación del microcontrolador de todos modos, por lo que si obtiene un alto voltaje del pull-up, lo más probable es que la MCU ya esté cocinada.
  • He usado diferentes símbolos de tierra para indicar que los circuitos están aislados. No está claro en su diagrama si este es el caso o no.