Pico RP2040 H-Bridge Inverter - Revisited

Author Message
Solar Mike

Joined: 08/02/2015
Location: New Zealand
Posts: 1077
Posted: 01:54am 05 Feb 2023      

Continuing with the schematic, here is the analog IO part, the Pico doesn't have many ADC inputs so it's easier to implement additional ADC's by using a Mux, here I have used the HC4051 with 8 inputs and 1 out, a 10 Hz Sallen-Key low pass filter is used on the mux output to get rid of any noise prior to the CPU input.

H-Bridge Drive:
The Pico PIO outputs two SPWM modulation signals in the 35 Khz region, one for each 1/2 bridge power stage, if say the LHS HB-A is switching the other RH side HB-B has a logic 0 input, so its top H0 is off and the bottom L0 mosfet output is turned on, allowing a diagonal conduction through the transformer winding; and vice versa for the following 100 Hz half cycle.

The LM5106 drivers have plenty of capacity to drive multiple 1/2 Bridge power boards using the complementary H0-L0 channels as drive signals to the "E-Opto" inputs of each power module - which are arranged in an interlock, so cross conduction in the mosfets can never occur; they also lockout any outputs on low voltage and share a common "Enable" input signal from the CPU. The dead-time adjusters RV1\2 once set can be replaced by fixed resistors.
I have only allowed for 3 full power bridge modules on spring sockets J2,6,9, however they can be daisy-chained from a single drive socket if required.

Other IO:
The mosfet version of the common open collector ULN2003 driver is used here for low power fans or relay outputs, saves a lot of components using them.
Optional serial or I2c data connection to a 5v LCD display is provided by a TXS0104 logic translator.
A latched AC current overload input is used to shut down the inverter by the CPU at the end of the current 50 Hz mains cycle, so magnetic flux remnants are not left in the transformer core.
I'm using my 300A SSR to switch power to the inverter, so an output is provided for that.
The main on\off switch is via an opto-coupler, allowing longer leads to the switch.

DC Power PCB:
Small 50 x 100 pcb sits above the main CPU board and contains a 12v switching supply of various sorts depending on battery voltage input and analog 5v, 3.3v regulators.

AC Sense PCB:
50 x 100 PC, sits above the DC power board and has both AC current CT and voltage transformers.
The output of the 50A CT is set to approx 3v by selection of suitable burden resistor R5-6, a rail\rail single comparator detects the positive going peak of each 50 Hz AC and if its voltage input on P3 exceeds the set point RV3 on P1, the output is pulled to 0v, turning on Led3, biasing on P-Ch mosfet Q1 and further pulling the input P3 to 5V, latching the output low. A manual reset after the overload event reverses the operation.

I never intended to measure the RMS AC current and display it, so have not included any circuitry to do that, its easier to use cheap dedicated display modules that show AC volts\Current\Power\Frequency etc clipped to the inverter front panel.

However I do want to know the AC voltage with some accuracy and have used an active precision full wave rectifier followed by a continuous peak detector

Here is a block dia of the main inverter output:
The identical left and right 1/2 Bridge power modules each contain 2 parallel mosfets in each H0 - L0 half + 2 large storage electro's, groups of these pairs are daisy-chained for drive input and link to the main transformer by a small powdered iron core, conservatively allowing 50 amps current per pair, modules can be added to achieve the desired power output; that's the theory anyway

Will generate the pcb gerbers next and show the layouts.