Yesterday, I finalized PCB layout for the new Power module that is successor of the
Power board used in the EEZ H24005 power supply. The working name of this module is EEZ DIB DCP505 and its design files is now available on the
GitHub (the BOM section is still missing). Its PCB form factor (160 x 95 mm) is modified in line with new EEZ DIB chassis that I'll announce soon, and comes with few new features. The major and most interesting new feature is 3-range current auto-ranging circuit. It is proposed by my friend Macola after I struggling for some time with another approach that require presettable up/down counter and require more digital I/O lines for both set and read selected range.
This one require a little bit more parts but from other side it offer simple and elegant way how to set max. output current (I_SET) and read actual current (I_MON) both with information about active range (CURR_50MA, CURR_500MA, CURR_5A outputs).
The auto-ranger is designed to cover current from 0 to 5 A with automatic switching between measurement current sense resistors to achieve max. reading resolution that will be in our case 15-bit for
each range, that is theoretically 0.152 mA for 5A, 15.2 uA for 500 mA and 1.52 uA for 50 mA range. That give us enough room to provide resolution of 1 mA, 100 uA and 10 uA respectively.The simulation files are attached.
Setting output current is simple: on the I_SET input one has to apply control voltage from 0-2.5 V. The control voltage range is divided in three equal parts i.e. 0-0.833 V, 0.833-1.666 V and 1.666-2.5 V. In our case with 16-bit DAC that give us possibility to define max. current for the selected range in 21845 steps (2^16 / 3) that is approx. 0.228 mA for 5 A (5 / 2^15), 2.28 uA for 500 mA and 2.28 uA for 50 mA range.
The schematic and LTspice simulation is shown below. Simulation tested the circuit with output current (I
load) that rise over the whole range (0-5 A) and with output current set with 1.5 V that put it somewhere in the middle range (500 mA) that can be seen on the latest graph (I
ctrl) when error amplifier change its output state. As output current rise range indication outputs state are sequentially changed from 50 mA over 500 mA to 5 A.
The interesting detail is using of the D1 Schottky diode that is connected in parallel with range switching MOSFETs (M1, M2, M3). Thanks to that diode we have more freedom to choose MOSFETs with extra low R
ds,on (i.e. below 5 mOhm) that is much cheaper and comes in much smaller package for V
ds,max that shouldn't be larger then 1 V
. A prerequirement that everything works fine is that voltage over D1 never exceed ~200 mV when it starts conducting and influence measurement. That shouldn't be a problem since selected current sense resistors value gives max. 50 mV of voltage drop for the full range (e.g. 5A * 0.01R = 50 mV).
The current measurement op-amp (for ADC) in this circuit is U5, that together with U6 inverter should be precise, low-offset and wired with precise resistor to achieve high precision. I'm going to use
OPA4197 for testing. A small offset (above zero) is intentionally introduced to U5 scale using R47 for calibration purposes, i.e. that DAC don't need to deliver negative output for 0 A value. Also the selected gain of U5 give us full-range value below 2.5 V, again that is intentionally done for the calibration purposes that DAC don't need to deliver "overflow" value above 2.5 V for calibrated output.
Another important op-amp that should be precise is U3 that provide measure current value to U2 and U10 that are in charge to switch between ranges.
The simulation files are attached. Please note that parts used in the simulation differs to some degree with one that I'm going to use and test on the prototype PCB.