I have built the following h-bridge:
- VMOT1 is at logic level (3.3V)
- FWD and REV are driven by MCU (no PWM in the scope examples given)
- Q7/Q8 are DMP1045
- Q9/Q10 are BSS138
- D3/D4 are 4 x 4148
- the 2 voltmeters are the color-coded scope probes with common ground
- M2 is one of those cheap yellow Chinese DC motors
The scope measurements are representing a switch from the motor running at full speed in one direction, switching to the opposite direction. If I have understood well, this is the most likely scenario for either shoot-through or back-EMF.
When I leave the motor disconnected, the transition looks like this:
This looks fine to me, the timing between P-MOSFET and N-MOSFET is not exactly the same, but I see no concern for shoot-through (correct me if I'm wrong).
Now with the motor connected, it starts getting interesting:
What do I see here? Is the (yellow) dip below 0V the power returned to the circuit by the braking motor or is this the back-EMF? And what are the spikes showing up just before that dip? I have seen them in all samples taken.
And more practically speaking: Do I really need those freewheeling Schottky diodes or are they just not doing anything at all in this circuit?
Another question, is there any shoot-through happening here during the ±200ns transition or can that be neglected? There is an option to control all 4 MOSFETs independently and switch the P-MOSFETS's 1us later.
-- edit --
I was asked to add a .1R resistor accross GND and measure that. I didn't have one handy, so used 1R instead.
Yellow shows the logic level at FWD, and pink the voltage accross the ' current sense resistor'. First images shows one full FWD->REV->FWD cycle:
The circuit uses a switching boost converter (TPS61322) on a dual alkaline battery so that is probably causing the ripple (?). Averiging it out, the voltage is at about -125mV, so that makes a 125mA current draw at the battery terminals. But of course the 200ms period after switching direction is more interesting:
Here's there's a brief peak to 1A at the moment of switching over then 300mA without ripple for a while and then about 80ms of 1A max! I wouldn't be surprised if that is the current limit of the switch (1.8A max, inductor used Ir is 1.6A) . So I guess I have a case of shoot-through after all?
-- edit --
I compared the behaviour with a TI DRV8835 H-bridge IC, and actually it shows a very similar output. I will also make another measurement with a lab supply instead of the boost converter. Hopefully this clears things up even more.
-- edit --
This is without the boost converter, just 3.3V from the lab supply: