¿Cómo generar 5V desde 3.3V MCU?

0

Imagen general: quiero controlar un LUXdrive 3023 BuckPuck LED driver (3023-DE-1000 ) de un Fotón de partículas (esencialmente un microcontrolador ARM Cortex M3). El MCU funciona a 3.3V. He intentado algunas cosas pero no logro que funcione.

Esto me parece un problema muy trivial, pero incluso aquí mi conocimiento básico de EE parece insuficiente.

El controlador LED tiene un pin de control donde se puede aplicar un voltaje de 0-5V para ajustar la corriente constante que proporciona el controlador. A 0V, genera 1A y a 5V no genera nada. El 5V puede tomarse del propio pin de referencia del conductor o suministrarse externamente, en cuyo caso se debe establecer una conexión a tierra común entre esa fuente externa y el pin de tierra del LED del controlador. Según los documentos, el pin de control dibuja menos de 5 mA.

En el lado del microcontrolador tengo una salida PWM de 3.3V a 500 Hz. La idea es atenuar los LEDs llevando la señal PWM al pin de control del conductor y esencialmente alternar muy rápidamente entre la salida actual y la no actual; También podría atenuar los LED utilizando el DAC del microcontrolador para variar el voltaje en el pin de control del conductor, lo que haría que la corriente varíe. Pero he leído en alguna parte que los LED están más contentos con que se ejecuten con su clasificación de corriente diseñada y que, en su lugar, se enciendan / apaguen para la atenuación.

De todos modos, la pregunta es cómo pasar de la señal PWM de 3.3V de la MCU a la 5V necesaria para el pin de control del conductor.

Lo que he intentado hasta ahora:

Cambie la conexión del pin de control / referencia del conductor con un FET Utilizando un FET 2N7000 donde el pin de salida PWM de la MCU está conectado al pin de la puerta, el pin de referencia de 5V del conductor al pin de drenaje, y el pin de control del conductor al pin de la fuente.

simular este circuito : esquema creado usando CircuitLab

Sin embargo, nada estaba siendo cambiado. No estoy seguro de si no pude abrir la compuerta 2N7000 con 3.3V o si hay un problema conceptual aquí.

Lleve la señal de 3.3V PWM a 5V con un amplificador operacional Intenté aumentar la señal de 3.3V a 5V con un amplificador operacional LM358 que tenía alrededor. Establecí la ganancia a 1.5 con un par de resistencias de 330k Ohm y 220k Ohm (dando la relación 330k / 220k = 1.5).

Mientras esto atenuaba los LEDs, no pude apagarlos completamente, es decir, proporcionar 5V completos en el pin de control del conductor.

¿Algún consejo o recomendación?

    
pregunta Jonas

2 respuestas

1

Parece que el FET puede haber sido del tipo incorrecto (NMOS vs. PMOS) o el valor relativamente alto de $ 2 de VN {GS (th)} / $ 2 (a qué diferencia de voltaje entre G y S hace "turno ") Realmente necesitaríamos un esquema de cómo estaba conectado para determinar exactamente por qué no estaba funcionando. Pero la hoja de datos 2N7000 indica esto como 2.1v normalmente, por lo que debe haber una diferencia potencial de al menos esta mucho antes de que incluso comience la conducción desde la fuente hasta el drenaje. (Incluso entonces, no es una relación lineal ... los FET pueden ser bastante "divertidos" para trabajar de la forma que esperas).

La idea del amplificador operacional fue una buena idea, que debería haber funcionado, sin embargo, el LM358 no es un tipo de salida riel a riel , lo que significa que la salida nunca irá exactamente a cada riel eléctrico (ni 5v ni 0v exactamente). Puede ir a 4.65v o algo así, pero no 5v, lo que mantiene el resto del circuito "encendido" ligeramente. Puede que haya habido algún problema con los valores de resistencia elegidos también (valores tan grandes pueden tener otras influencias no intencionadas en la operación). Si fuera posible aumentar ligeramente su voltaje de alimentación, por ejemplo, 5.5v, esto podría "corregir" el comportamiento , pero esto sería técnicamente un hack.

Otra forma de evitar esto es utilizar una puerta lógica primitiva, como una 7400 puerta de la serie, como "intermediario" entre la lógica 3.3v y la señal 5v. Si estudias estos dispositivos, para algo como un 74LS04 verás que tienen una entrada alto voltaje de transición lógico (\ $ V_ {IH} \ $) de alrededor de 2.0v. Lo que significa que, si tuviera que alimentar esto desde 5v, y alimentarlo con la salida digital de 3.3v, aceptará con gusto esto (hace las transiciones más allá de 2.0v) y la salida de 0v y 5v respetuosamente. TENGA EN CUENTA que todas las demás entradas en un IC de la serie 74 deben estar vinculadas a Vdd o Vss (+ 5v o tierra) o, de lo contrario, probablemente se destruirán. (Las entradas nunca deben dejarse "flotando").

Eso es genial para una salida digital, pero si deseaba que el PWM se presentara como un voltaje analógico al LUXDrive, entonces la solución no es difícil, solo use un RC simple filtro de paso bajo después de esta puerta lógica. El filtro de paso bajo debe tener una "rodilla" de muy baja frecuencia, idealmente cuanto más baja mejor, para que bloquee la mayor parte posible de la señal de 500Hz. La salida de esto debería ser una señal principalmente de CC, linealmente proporcional al PWM que ingresa.

Para algo como esto, me gustaría jugar con LTspice para simular el filtro de paso bajo y "ver "cómo se verá realmente la salida. Alguna experimentación está en orden. Luego prototipo, y vea lo que hace el LUXDrive. Solo asegúrese de que todos los voltajes estén dentro de los límites para cada dispositivo, y siempre verifique nuevamente todo el cableado antes de conectar la alimentación.

    
respondido por el rdtsc
1

Tienes la idea básica correcta, pero tu cableado está apagado.

simular este circuito : esquema creado usando CircuitLab

En este caso, cuando D1 está encendido / alto / 3.3V, se presiona Ctrl a través del transistor o Mosfet. Cuando D1 está desactivado / bajo / 0V, se presiona Ctrl hacia arriba a través de R1. Como Ctrl tiene lógica invertida, donde 0V = On, 5V = Off, ni siquiera tienes que invertir tu lógica en código.

El transistor puede ser cualquier pequeña señal común NPN o Mosfet de canal N. El 2N7000 funciona, pero un 2N3904 NPN podría ser mejor en mi experiencia. Es más suave y, como dispositivo de corriente controlada y no de voltaje, funciona mejor con una fuente de 3.3V. El 2N7000 debe abrirse a 3.3V como mínimo (máximo). Umbral de puerta a una corriente el sorteo de 1 mA es de 3 voltios, pero eso lo está cerrando.

R1 puede ser más pequeño, dependiendo de tus necesidades. 1K a 10K. R2 debe dejarse como 1K solo para proteger al N-Fet / NPN y al pin de la MCU del consumo excesivo de corriente.

    
respondido por el Passerby

Lea otras preguntas en las etiquetas