Sorry but "fast as possible" is not a spec.Hi, how can I add a level shifter to this circuit to switch the FETs as fast as possible?
I don't see how an Atmega signal can control that bridge with a 12V supply.Currently an ATmega328 controls all PWM inputs
I fixed the schematic. I want to level shift the 5V signals from the Arduino. The gate resistors were chosen to limit the inrush current to 20mA. The switching frequency is low but I need the FETs to have a quick turn on and turn off time for my project. I don't have a specific value but the shorter the better.Sorry but "fast as possible" is not a spec.
You don't need low ns switching speeds for a 1kHz PWM frequency.
I don't see how an Atmega signal can control that bridge with a 12V supply.
Does the micro use four outputs to drive the bridge?
Also the F9540N is a P-MOSFET, not the N-MOSFET in the schematic.
Why?I need the FETs to have a quick turn on and turn off time for my project.
Sorry but I don't design to an undefined "the shorter the better" requirement.I don't have a specific value but the shorter the better.
But the 100kΩ gate-source resistor will certainly give a MOSFET turn-off fall-time much slower that the TS's desired "as fast as possible" since that discharges the large gate-source capacitance.As far as incorporating a level shifter this transistor arrangement will work.
True but those resistors can be reduced to 10K or even 1K.But the 100kΩ gate-source resistor
This is a research project. My goal is to make the print head mechanism in the photo track my hand. I want to track the position of my hand as well as the acceleration curve. I specified as 'short as possible' so I'm not held up by an optimization when I go to code the homing mechanism.Why?
It you are trying to minimize the power dissipation than how much can you tolerate?
Sorry but I don't design to an undefined "the shorter the better" requirement.
I only design to what the project needs.


Thanks, I'll give this a try. Since you employed 8 transistors, is there a way to make them function more like a push-pull? The voltage gain for emitter followers is unity so obviously that won't work but I suspect there are other clever circuits lurking. As crutchow said, the turn off times are set by the pull resistors which even for 1k resistors may add up. Now that you know what my project is about, how might you change this?As far as incorporating a level shifter this transistor arrangement will work. Repeat both circuits for PWM2 and PWM3.
View attachment 309324
EDIT: Corrected orientation of M1 and M2
I'm building with discretes for the understanding but I do appreciate the block diagram in the datasheet.Have you looked at half bridge drivers?
https://www.infineon.com/dgdl/ir2103.pdf?fileId=5546d462533600a4015355c7b54b166f

My first attempts were using 3904/3906 BJTs. I included a photo of one bad move on my part lol. It was a loud snap and blew out a chunk. Usually they just smoke but this one was hulk angry. I upgraded to FETs which could handle about twice the power of these BJTs but that didn't work either. I'm thinking the problem is how much power is being dissipated during switching.Building it from discrete parts is a great idea.
Just a thought 'tho, while developing it, insert a 12V lamp in series with the 12V feed for protection. It will allow the motor to turn ok but if excess current is drawn, like when you turn top and bottom FETs on the same side both on together, hopefully keep the smoke in.
It would be a good idea to build in hardware prevention of this too, not just run each FET from the Arduino.
Maybe use a 74HC139?
EDIT:
View attachment 309333
You will need to check this but I think it is ok.


Hello there,Hi, how can I add a level shifter to this circuit to switch the FETs as fast as possible? Currently an ATmega328 controls all PWM inputs @ 1kHz but I'd like to design for 3.3V as well.
View attachment 309313
The reason the dedicated driver chip is the best is because it can supply a higher current than the two transistor option. It can be four times higher. The higher current is needed to charge the equivalent input capacitance. The faster you can charge that capacitance the faster the MOSFET turns on and turns off.
Hi,Also, the IR2103 has built in logic to prevent cross conduction so it cannot turn both top and bottom FETs on at the same time. That is pretty important.
Switching times will be tiny compared to the time to changing the direction of the motor, indeed the PWM period itself (1 msec) is small compared to turning around the motor.I need it to be as fast as possible because the motor will constantly switch directions which gives me more headroom in the code.
Hi,I question the need for PWM on all four mosfets as that would complicated the switching arrangement.
For motor speed control use pwm on the N channel mosfets only.