Medir el voltaje de entrada y salida, corriente y potencia para cuadrupoles

Utilizo este dispositivo de medición para diseñar y controlar los convertidores Stepup o Stepdown DC. Utiliza un INA168 para medir la corriente en la línea lateral alta, para que pueda haber una tierra común para la entrada y la salida. Con la configuración rshunt = 10mohm y rut = 50kohm para el INA168, hay un rango 0 ... 30a para la corriente.
El rango de voltaje es 0 ... 60V en la configuración mostrada.
El LM358 se selecciona para un voltaje de desplazamiento bajo, sería mejor usar OPAMP especiales de baja compensación.
Hay una salida PWM que se puede usar para controlar el convertidor Stepup. Usando esto podría medir la curva MPP de mis paneles solares:

El módulo mpptrack_xx.py contiene una clase Medido4pole que permite usar el dispositivo de medición como objeto. Esto permite el seguimiento y la medición de MPP:
# Define object with or without connected OLED:
m4p = Measure4pole ( adc , pwmgen , oled = oled )
#m4p = Measure4pole(adc, pwmgen, oled = None)
m4p . set_calibration ( k0 , k1 , k2 , k3 , offset0 , offset1 )
m4p . set_pwm ( 0.3 )
# Track MPP, set PWM accordingly in regular intervals
# Display values
i = 0
while True :
if i % 10 == 0 :
if oled :
oled . print ( "MPP tracking" )
m4p . mpp_track ()
##i1, i2, v1, v2, p1, p2, eta = m4p.measure()
m4p . measure ()
m4p . print_values ()
m4p . print_oled ()
i += 1
time . sleep ( 1 )Una breve descripción de los archivos está en Micopython/Info.txt