Primero, un regulador de voltaje cuyo voltaje puede ser cambiado por un microcontrolador generalmente se denomina convertidor digital a analógico , o DAC. Puede enviar la salida de un DAC a un búfer para aumentar la corriente, pero probablemente † tenga que haber un DAC en algún lugar de su sistema.
Segundo, antes de intentar simular algo, necesitas crear un modelo. El modelo más simple para una batería es una fuente de voltaje. Ha reconocido que una fuente de voltaje perfectamente rígida es inadecuada, porque la salida de la batería disminuye con el aumento de la corriente. Una pequeña investigación indicará que la causa de esta caída con el aumento de la corriente es la resistencia de la serie interna; Pon una resistencia en tu modelo y listo. Por supuesto, siempre se puede hacer más. Echa un vistazo a este artículo para obtener modelos más detallados:
El modificador principal en este ejemplo es una resistencia en serie, por lo que, en lugar de detectar algorítmicamente la corriente y disminuir el voltaje de salida, simplemente agregue una resistencia . Una resistencia responderá instantáneamente a los cambios de voltaje y corriente, sin ningún código complicado en un microcontrolador. Si encuentra que necesita modelar comportamientos transitorios, agregue una resistencia y capacitancia transitorias.
Si necesita cambiar la resistencia ocasionalmente, use un potenciómetro. Si necesita hacerlo mientras el sistema está en ejecución, use un MOSFET en línea para construir una resistencia variable o compre un potenciómetro digital IC.
Si aún necesita medir la corriente, la forma habitual de hacerlo es agregar una resistencia en serie pequeña (insignificante) y amplificar el voltaje a través de esta resistencia. Si usa solo reguladores lineales con una corriente de reposo mínima, puede poner esta resistencia de detección en el suministro de su regulador de voltaje, aliviando los problemas que mencionó en su pregunta. El voltaje seguirá siendo pequeño y no se hará referencia a 0 V, por lo que deberá amplificarlo y acondicionarlo. La forma más sencilla de hacerlo es con un IC de monitor de detección de corriente de lado alto.
† También puede hacer esto con PWM filtrada o directamente accionando un regulador de conmutación desde su microcontrolador, pero ambos son más complicados que simplemente usar un DAC para generar un voltaje.