Mejora este circuito controlador de LED regulado actual

1

En este circuito de aquí, los generadores de funciones de la izquierda representan los pines de salida digital de un microcontrolador. Resulta que estoy usando un Arduino Uno para ese propósito en este momento y el componente relevante sería el ATmega328, por supuesto.

Ahora estoy teniendo algunos problemas con este circuito. Uno parece ser que los pines MCU no proporcionan el rango de voltaje de salida que esperaba. Incluso cuando se establece el ciclo de trabajo de PWM al 100%, uno de los pines solo sube a 4,1 V (medido con un multímetro), mientras que los otros van a aproximadamente 4,5-4,6 V. De manera similar, en el ciclo de trabajo de 0% de PWM no bajan completamente a 0, obtengo 0.28 V en uno de ellos. Mis cálculos se basan en que estos estén a 5 V, por lo que la corriente resultante no es precisa.

Mis indicadores de riel a riel (MCP6004) funcionan bien pero no en el rango inferior. Tengo el Vss conectado a tierra, pero cuando V + se vuelve a conectar a tierra, el Vout se mantiene a una tensión ligeramente positiva. Estoy leyendo Vout's de 0.8V, 0.2V y 0.65V de esta configuración particular. Me imagino que esto podría solucionarse si puedo proporcionar un Vss negativo, ¡pero pensé que se supone que estos opamps son de riel a riel! Entiendo que puede haber limitaciones físicas en la implementación de estos dispositivos, sin embargo, es posible que tenga que vivir con ellos.

Como resultado de todos estos factores, mis LED no se apagan cuando los pines de entrada se ponen a cero (y la MCU ni siquiera llega a cero, e incluso cuando el cableado V + es cero, Vout no lo alcanza) y La precisión del control de corriente durante la parte activa del ciclo de trabajo aún depende de la tensión de salida de la MCU, que varía.

Mi propósito original de agregar opamps al circuito fue permitirme controlar el voltaje del emisor en los transistores a través de los opamps, lo que me brinda una capacidad de regulación de corriente analógica y una eficiencia mejorada al permitirme bajar el valor de la resistencia de detección de corriente . Sin embargo, parece que ciertas limitaciones (en su mayoría provenientes del opamp) han resultado en un desempeño subóptimo.

Mi iteración de trabajo anterior de este circuito era más simple. No tenía amplificadores operacionales, y simplemente conducía la base de los transistores con el MCU fuera. Esto demostró ser funcional porque durante la parte de apagado de PWM a 0,3 V o por lo menos no fue suficiente para encender el transistor, y la corriente cero fluyó a través del diodo. Durante PWM-on, el voltaje del emisor se convirtió en Vin-Vbe (Vin = voltaje de pin de salida de MCU). La desventaja de esto es que mi resistencia de regulación actual no se pudo reducir significativamente. Supongamos que Vbe es 0.7V y tengo Vin = 1V (a través del divisor de voltaje en la salida de MCU). Entonces, V_emitter es de 0,3 V durante el ciclo y la configuración de la corriente sería difícil.

Lo que puedo hacer ahora es abandonar por completo el control de corriente analógico, y tratar de obtener lo más eficiente y pequeño (en términos de cantidad y tamaño de componentes) como sea posible. Por lo poco que sé sobre los MOSFET, parece que son el camino a seguir para hacer el cambio de potencia. No sé si necesitaré una resistencia desplegable (¿es eso incluso el término correcto?) En la Puerta o no, ya que ya no tendrá una ruta a tierra como la que proporciona la unión base-emisor. Una cosa que me pregunto es cómo puedo hacer las cosas eficientes cuando intento conducir 3 LED que tienen voltajes de avance que difieren en hasta 1.5V. Supongamos que en mi corriente objetivo, el Vf del LED rojo es 2.4V y el Vf del LED verde es 3.7V. En cualquier circuito razonablemente simple que los alimente a ambos, corriendo de un riel de alimentación de 5V, ¿casi la mitad de la energía utilizada para el LED rojo debe disiparse como calor?

Puede resultar que los controladores de LED especializados sean la opción más adecuada para una aplicación PWM. Tendré que experimentar con mis TL4242 que tengo. Son lo suficientemente pequeños como para que yo pueda hacer cosas increíbles, pero en realidad ni siquiera puedo probarlos hasta que consiga mis suministros para construir algunos PCB. Ese paquete de montaje en superficie es pequeño.

Otra cosa que puedo intentar es pasar a una fuente de alimentación de mayor voltaje y poner a tierra a la MCU a un potencial más alto para poder ofrecer un mejor alcance a mis opamps. Sin embargo, no estoy realmente seguro de cómo puedo hacer esto manteniendo una buena eficiencia. ¿Hay circuitos o circuitos integrados que puedan proporcionarme un potencial negativo con solo recibir un potencial positivo? ¿O eso violará la conservación de la carga o algo así?

A pesar de este proyecto, he llegado a apreciar lo difícil que es diseñar circuitos funcionales, pequeños y eficientes. Me gustaría agradecer en particular a los usuarios stevenvh y Olin Lathrop, ya que siempre han sido de gran ayuda para señalarme la dirección correcta.

    
pregunta Steven Lu

4 respuestas

2

Hay varios conceptos erróneos aquí.

El valor de la resistencia del emisor no tiene efecto en la eficiencia. Toda la corriente para cada LED proviene de la fuente de 5V. Cualquiera que sea la parte de ese voltaje que el LED no use, la corriente se desperdiciará como calor. Pequeñas resistencias emisoras solo más la disipación a los transistores. La disipación total es la misma.

Pensé que lo mencioné en tu otra pregunta, pero las resistencias del emisor deberían ser un valor mayor. Con 1 Ohmio, solo 1 1mV de desviación causará 1mA a través del LED, que probablemente esté oscuro pero visible. Desde su índice de divisor de voltaje y las resistencias de 1 Ohm emisor, parece que está apuntando a un poco más de 300 mA de corriente LED. ¿No hice un cálculo detallado del valor de la resistencia del emisor en su otra pregunta?

No sé qué tipo de LED son, pero lo más probable es que usted pueda pagar al menos un voltio a través de la resistencia del emisor, por lo que 3.3 Ohmios sería una mejor opción que le dará más control.

En cuanto a la salida no del todo 0 y 5 voltios, eso es probablemente algo que está haciendo el Arduino. Ten en cuenta que los arduinos son simplificados para las masas. No me sorprendería si hubiera una resistencia en serie con cada salida como protección.

Los opamps probablemente estén funcionando lo suficientemente bien. Cada opamp tiene algún error de compensación, y si estos son un poco positivos, sus salidas subirán lo suficiente como para encender un poco los transistores para hacer que la tensión de compensación aparezca a través de la resistencia del emisor. Esta es otra razón más para usar una resistencia de emisor más grande.

    
respondido por el Olin Lathrop
0
  1. Tu idea inicial es que los transistores uC- > es la mejor manera de hacerlo. No mejorarás nada con ninguna otra cosa adicional para conducir tus transistores. Cambiar a MOSFET no soluciona nada aquí.

  2. Seguramente puede obtener un voltaje negativo fuera de positivo: busque la inversión de chips convertidores DCDC.

  3. Si está pensando en la eficiencia energética: necesita tener un DCDC separado solo para los leds, que tienen un voltaje de salida = un poco sobre voltaje necesario para los LED a plena potencia con una resistencia pequeña, luego use transistores P-MOSFET con 100Ohm Resistencia de compuerta para conducir estos leds desde tu uC con PWM. De esta manera tendrás casi 0 pérdidas de energía. Como tiene 3 LED diferentes, necesitará un DCDC separado para cada uno de ellos. Eso sería realmente complicado :-)

  4. No veo qué beneficios puede obtener con los controladores LED especializados ... TL4242 es solo un regulador lineal, no veo muchos beneficios en comparación con lo que tiene ahora ...

respondido por el BarsMonster
0

Usted escribe que desea controlar varios leds de diferentes Vf y desea hacer esto de una manera eficiente en energía (¿por qué?). Estas son algunas soluciones que van desde las más eficientes desde el punto de vista energético hasta las menos y algunas de las ventajas y desventajas:

La solución más eficiente: un regulador de conmutación de CC / CC para cada tipo de LED producirá la corriente de conducción necesaria. Hay chips que hacen exactamente esto para muchos canales. Por ejemplo, el LT3492 de 3 canales. Usted aplica su PWM externo a sus tres canales. Estos chips están diseñados exactamente para este propósito, por lo que probablemente sean más baratos que tener 3 convertidores de CC / CC ordinarios separados. Lo usaría para el rango de 100 mA y superior, o algo así, ya que normalmente no se quiere disipar todo el calor residual de la regulación lineal.

Lo siguiente es lo mejor: en realidad, lo mejor que se puede hacer es PWM con los LED como lo intentaron primero, pero no puede conducirlos directamente desde el Arduino. Como escribió Barsmonster, conduzca un N-FET desde el Arduino a través de una resistencia de compuerta pequeña y coloque una resistencia de control de corriente en serie con el LED y use un VCC_LED que es simplemente superior al Vf más alto que necesitará. Dado que funcionará a una CC constante, perderá algo de energía en las resistencias correspondientes a los LED con menor Vf.

Siguiente siguiente mejor: tu circuito actual. El BJT adicional (transistor) desperdiciará más energía (en el caso de la atenuación e intenta tener un VCC_LED bien ajustado). Yo usaría este circuito si es imposible atenuar el LED mediante PWM (por ejemplo, si no puede PWM lo suficientemente rápido para su aplicación, como la transmisión de datos o las mediciones). Para los humanos, el PWM por atenuación es ciertamente suficiente. Puede ejecutarlo usted mismo como lo hizo; parece una buena implementación si puede ajustar los valores para que coincidan con el rango deseado. De lo contrario, TI tiene un rango de chips multicanal baratos que hacen exactamente esto desde un puerto serie muy simple desde el Arduino casi sin componentes externos. Considere el 120 mA de 8 canales TLC5916 por ejemplo (hay una gran serie dependiendo de Número de canales y corriente de conducción).

Para un VCC_LED bien emparejado, un FET en lugar de un BJT en este circuito es mejor debido a la caída de voltaje mucho menor cuando se enciende. Para un VCC_LED más alto, no importa ya que el FET tiene que absorber la caída de todos modos (al igual que la resistencia BJT +, como han comentado otros).

Addendum: tenga en cuenta que el Vf de los LED como se especifica en las hojas de datos tiene un margen que debe agregar al margen si coincide con el VCC.

    
respondido por el Bjorn Wesen
0

Habrá pequeños voltajes de compensación de entrada en los amplificadores operacionales que pueden hacer que la salida aumente ligeramente. Pero como la salida debe pasar a través de una base para que el diodo caiga en el transistor antes de que llegue al terminal de entrada negativa, aumenta a 0.7 V o menos y enciende el LED ligeramente. La solución a esto es usar una resistencia de alto valor de pull-up desde el terminal de entrada negativa al riel de alto voltaje. El valor de esta resistencia debe calcularse para el voltaje de compensación de entrada en el peor de los casos. Por ejemplo, si el voltaje de compensación de entrada en el peor de los casos es de 3 mV, querrá levantar el terminal de entrada negativo 4 mV. Esto hará que el LED se apague con una señal de entrada de 0V. También debe usar una resistencia limitadora de corriente base como ya se mencionó, pero esto solo no impedirá el encendido parcial.

Me sorprende que estés obteniendo voltajes tan bajos de tu micro. Usted mencionó la medición de los voltajes con un multímetro y me pregunto si estos son voltajes de CC o mientras fue PWMing. Es posible que el multímetro no sea lo suficientemente rápido para proporcionar lecturas precisas de la señal PWM. Con una carga tan grande (200 K), deberían estar más cerca del riel. Y el suelo de .28V también suena mal. Esto debería estar llegando al suelo ya que el pin no tiene que comer ninguna corriente en este circuito. Parece que algo está mal aquí o las medidas son incorrectas. El .28V puede deberse a la corriente de su dispositivo de medición, pero no esperaría ninguna señal de encendido en la señal de entrada del amplificador operacional durante la operación normal.

    
respondido por el bt2

Lea otras preguntas en las etiquetas