¿Cómo puedo cambiar el voltaje de salida de un codificador a un rango de voltaje aceptable para MCU?

Estoy usando un codificador en mi circuito que funciona con 5 V y el voltaje de salida máximo de mi codificador óptico es de 5 V. Estoy usando el MCU Launchpad TI CC1350 para leer la señal del codificador, pero el problema es el voltaje de entrada máximo de MCU en cualquier pin es de 4,1 V, por lo que quiero cambiar el voltaje de salida del codificador a 3,3 V para un funcionamiento seguro.

Para eso, encontré algunas soluciones:

  1. circuito divisor de voltaje
  2. CD74HC4050 CI
  3. N-FET para cambio de nivel

¿Qué solución puedo utilizar para un funcionamiento fiable y seguro? ¿O hay otra solución que pueda implementar?

¿Cuáles son los requisitos de tiempo? ¿Qué tan lento se permite que sea el cambiador de nivel?

Respuestas (4)

Si su codificador óptico tiene una resistencia pull-up en el colector del fototransistor, agregar solo una resistencia puede resolver este problema.

Cambio de nivel por una resistencia externa

Aquí, podemos calcular el R como,

R C R + R C = 3.3 5
R = 0.52 × R C

Si su dispositivo requiere un consumo de energía muy bajo, la resistencia externa consumirá algunas corrientes constantes. En este caso, CD74HC4050 es bueno, que tiene un consumo de corriente de 20 µA.

Un cambio de nivel de MOSFET de canal n también es una buena opción si no está seguro del valor de la resistencia pull-up del codificador.

Su MCU tiene diodos de protección ESD incorporados en los pines, por lo que podría usarlos para sujetar el voltaje. Dado que están diseñados para proteger el dispositivo solo durante la manipulación para el montaje, debe colocar resistencias de alto valor en serie con la línea para limitar la corriente a través de esos diodos y no sobrecargar el controlador.

El tamaño de la resistencia debe ser lo suficientemente bajo para que el tiempo RC formado con la capacitancia de entrada del diodo y el pin no sea más de 1/3 a 1/5 del tiempo de subida requerido en la señal.

O podría hacer lo mismo, pero agregue sus diodos discretos externos que serían más seguros.

esquemático

simular este circuito : esquema creado con CircuitLab

Este es un circuito de abrazadera de diodo. Cuando el voltaje de la línea excede el voltaje en el otro extremo del diodo, el diodo conduce y corta el voltaje en la línea para que nunca pueda elevarse más de una caída hacia adelante del diodo por encima del riel de alimentación. Solo necesita limitar la corriente a través del diodo, para que no se sobrecaliente (y también para no sobrecargar el controlador). Esto también funciona para sujetar la línea a tierra y los voltajes negativos también (solo asegúrese de que el diodo esté en la dirección correcta).

Se recomiendan los diodos Schottky debido a su velocidad y menor caída de voltaje que sujeta la línea más cerca del voltaje del riel de alimentación. Además, debido a que otros diodos también tendrán un voltaje directo lo suficientemente alto como para que los diodos ESD internos se enciendan primero, evitando que el diodo externo conduzca (los diodos ESD son 0.4 ~ 0.5 VI, creo que son más bajos que los 0.7 V típicos).

Este método también funciona con voltajes altos si desea hacer algo como alimentar una señal de red de CA a un comparador para detectar el cruce por cero y no desea reducir toda la señal con un divisor de voltaje que haría que la pendiente del cruce por cero sea poco profunda. y menos nítido para la detección digital. No hace falta decir que, con tales potencias, desea diodos externos y resistencias múltiples en serie para proteger contra fallas de un solo punto y otras medidas de seguridad.

¿Quizás incluya algunas restricciones de tiempo/capacitancia en su respuesta? La MCU probablemente no tolerará tiempos de conmutación superiores a 1 µs (1000 ns).
@PeterMortensen Agregó una reseña

¿Desplazar la salida del codificador al rango de voltaje de entrada de la MCU?

La hoja de datos de su codificador muestra que la salida del codificador es compatible con CMOS, por lo que estará activo pullup y pulldown.

La forma más fácil de cambiar el nivel es usar un FET N-chan, aunque debes recordar que esto invertirá tu señal. Configure la resistencia pullup de entrada de su Launchpad.

Para los dispositivos de traducción de voltaje, puede usar un 2N7000 simple

Si tiene un montón de entradas para manejar y está haciendo su propia PCB, entonces puede estar mejor con un ULN2003V12 . Esta es posiblemente la solución más barata a alrededor de $ 0,54 por 7 FET.

Me quedaría con el 74HC4050. Sencillo, sin necesidad de cálculos, bastante rápido para un codificador óptico. Al igual que con cualquier CMOS, recuerde conectar a tierra las entradas no utilizadas.