I have been working on a H-bridge design that controls a 12V motor to rotate forwards or backwards at an adjustable speed using PWM from an Arduino. The motion starts slow and increases to max speed for 10s then decreases back to slow. The entire motion is approximately 40s. I am using Q2 and Q4 for switching direction and applying PWM to Q1 and Q3 for speed control. This motion is initiated by inputs from two relays. The Arduino UNO Mini has a default PWM frequency of 980Hz for pin D5 and my duty cycle "flow" is: 10% -> 90% -> 10%. My previous schematic:
I updated the circuit from my previous post. Thanks to the help from this amazing community! I managed to get my power dissipation down to approx. 3.2W (100% duty) for the PMOS and 700mW (100% duty) for the NMOS. New schematic:
I figured I could go with the SUM110P06-08L and SUM40012EL since the both have low Rdson and a manageable Qg. I stuck with the TC4420EOA to drive Q1 and Q3 since I am familiar with this chip and I no longer can operate at 100% duty due to the charging/discharging gate resistors. The resistors on Q1 and Q2 were specifically selected for these MOSFETs. Q1 charges fast through the 2W resistor R4 (R9 in LTspice) and discharges slow through the 1/2W resistor R5 (R3 in LTspice). Q2s gate charges slow through the 1/2W resistor R7 (R4 in LTspice) and discharges fast through the 2W resistor R6 (R10 in LTspice). The diodes, 1N5818-TP, direct current depending on charging or discharging. I know doing this methods puts unnecessary strain on the MOSFETs which generates heat but I refuse to use a NMOS for high side-switching. The resistors R3 (R1 in LTspice), R9 (R2 in LTspice), R7 (R8 in LTspice) and R12 (R5 in LTspice) are meant to prevent latching. I also noticed R3, R9, R7 and R12 create a voltage offset on the gate if they are too small. I had to adjust these to ensure I was within spec on the gate threshold voltages for each MOS. I went with the FAN3268T since this uses TTL and I don't have to worry about adding a charge pump to hold Q2 or Q4 "ON". I will drive the FAN3268T with two inputs from the \$\mu\$C. R10 and R11 in KiCad are simply gate resistors. I added a fan circuit as well to help manage the generated heat. I plan to use heatsinks too.
I simulated this in LTspice using the MOSFETs with the closest Rdson and Qg compared to SUM110P06-08L and SUM40012EL. This circuit is shown below:
V3 and V4 are supposed to be simulating FAN3268T. Where V2 is simulating TC4420EOA The circuit characteristics are shown below for V3 and V4 being 12V (Reverse operation at 10% Duty input (90% duty load)):
The circuit characteristics are shown below for V3 and V4 being 0V (Forward operation at 10% Duty input (10% duty load)):
Questions:
Should I be worried about the voltage spike on the gate of Q1 during "power on"?
I was going to add TVS diodes across drain and source and between gate and source on each MOS but I was worried about leakage. Are TVS diodes, or any diodes, in these places necessary? I know they help with ESD but modern MOSFETs have this protection built into them now. I know the MOSFETs I chose do not have ESD protection between the gate and source, but the do have protection between drain and source.
In regards to the FAN3268T, when reviewing the block diagram, there is a gate that has 3 inputs and 1 output. Is this a NAND or AND gate? It has a very small bubble on the output.
Also if anyone sees any issues that may arise with this setup please comment! ANY feedback is much appreciated!
For future viewers, if anyone plans to use this circuit I am NOT responsible for failed designs, ANY damage, harm to self or others, etc.