Tengo que generar valores actuales entre 0mA y 110mA. ¿Puedo generar corriente automáticamente usando un microcontrolador? (Por ejemplo: 20mA, 30mA ...) Necesito mantener la corriente actual por ms en frecuencia entre 1Hz y 100Hz.
Si es así, ¿cómo?
Tengo que generar valores actuales entre 0mA y 110mA. ¿Puedo generar corriente automáticamente usando un microcontrolador? (Por ejemplo: 20mA, 30mA ...) Necesito mantener la corriente actual por ms en frecuencia entre 1Hz y 100Hz.
Si es así, ¿cómo?
Un microcontrolador puede generar una corriente constante usando retroalimentación y diseñando un sistema de control que pueda monitorear la corriente de salida y ajustar la salida en consecuencia. La mayoría de los microcontroladores no podrán generar 110 mA en ninguna de las E / S, por lo que al menos necesitaría un amplificador o elemento de conmutación (como un FET).
Una solución común sería utilizar una de las salidas PWM del microcontrolador para cambiar un NFET a alta frecuencia con la carga conectada entre la alimentación positiva y el drenaje del NFET. Se conecta una resistencia de derivación entre el terminal de origen del NFET y tierra.
El sistema de control que se ejecuta en el microcontrolador luego modularía el ciclo de trabajo de PWM basándose en la lectura actual (medida como el voltaje a través de la resistencia de derivación). El ejemplo mostrado arriba es un esquema rudimentario de este diseño. El diseño del software del sistema de control no es trivial y requerirá un poco de lectura y experimentación si no tiene experiencia previa.
Busqué un DAC de modo actual de alta potencia que pudiera hacer esto, pero no pude encontrar uno; la mayoría de los DAC verdaderos solo funcionan a unos pocos milivatios.
Editar: lo que podría ser una mejor solución que la siguiente es una Linear Tech LT3092 200mA , Fuente de corriente programable de 2 terminales. Sin embargo, tiene un límite de corriente mínimo de 0.5mA. Use una escalera R2R de las salidas de colector abierto para generar el valor de resistencia "Set", o envíe el pin "Set" 0-1v directamente.
Si el voltaje máximo objetivo es 5v y el microcontrolador (o incluso lógica discreta) es 5v, y si cada pin puede generar una corriente máxima conocida (por ejemplo, 20mA) ... entonces emita 8 o 16 bits de datos binarios, basados en un punto de ajuste que ingresa. (Por "salida" me refiero a "alto" y "tri-estado", no "bajo"). Dirija la salida binaria a través de una serie de resistencias límite, donde cada valor es dos veces el primero: (MSB 250Ω, 500Ω, 1kΩ, 2k, 4k, 8k, 16k, 32k LSB), etc. Amarre todos estos (con una tapa de cerámica de 100 nF a tierra) y alimente la carga directamente. Use diodos de protección schottky si es necesario.
Una lógica alta en cualquier pin contribuye (20mA, esa resistencia límite) de corriente. Dado que suman, la salida total es la suma binaria de cada / 2 corriente. Para un puerto de 8 bits, sería 20mA + 10 + 5 + 2.5 + 1.25 + 0.625 + 0.3125 + 0.15625mA = 39.84375mA. Utilice 4 bits de otro puerto con resistencias de 250Ω para 0-80 mA (en pasos de 20 mA) ajuste de "rumbo", luego la palabra de 8 bits para ajuste fino.
Ahora, donde esto no funcionará bien, es en una carga que cae voltaje, como un LED. El voltaje caído se manifestará como una corriente menor a la esperada. En ese caso, una resistencia de sentido actual puede ser una mejor idea que un valor de palabra establecido de forma estática, y la muestra actual y la salida binaria se ajustan (aumentan) en consecuencia. Pero ten cuidado con la oscilación.
El beneficio de este enfoque es que la salida se puede ajustar linealmente en todo el rango (resolución limitada solo por el número de bits), y hay una corriente de ondulación mucho menor en la carga. La única ondulación presente está en la transición del estado binario. Si la carga es estática, no hay ondulación. En el peor de los casos, si se alterna un LSB de 8 bits, se realiza un cambio en el orden de 5v / 32k = 156uA. Si fuera de 16 bits, ¡sería 5v / 8.192MΩ = 610nA!
La desventaja de este enfoque es que es bastante ineficiente en términos de potencia (lineal) y utiliza muchos componentes. También se asume que la lógica puede generar / disipar 110 mA de corriente, lo que sin duda supera algunos límites de microcontroladores y muchos dispositivos discretos. El PIC16F722A , por ejemplo, declara:
Total Power Disspation = 800mW
. (110mA + 15mA para el uC) * 5v = 625mW, por lo que debe acercarse al límite, pero debería estar bien para aplicaciones de 25 ° C. Use un plano de tierra u otro medio para disipar el calor. Establezca los pines no utilizados como entradas y el plano de tierra.
Maximum current sourced by all ports
es un poco más complicado, a 140 mA para Industrial
y 65mA para dispositivos Extended
. Entonces la variante Industrial
sería requerida. Intentaría extender los pines de 20 mA en un intento de equilibrar la carga térmica.
Lea otras preguntas en las etiquetas microcontroller current current-source