I’m making a Segway as an examination project and at the moment the only part I can’t get to work is the h-bridge. I’ve read quite a lot about them but even after much testing and many steps of redesign it just won’t function.
This is the design I’ve created:
The inputs are supplied controlled with the Arduino and all act as they should with PWM on the low side and high side MOSFETs open or closed.
The resistors on the transistor bases are 100 Ohm. The resistors on the MOSFET bases are 1k Ohm. For the high side P-MOSFETs are used and on the low side are N-MOSFETs. Specific parts listed at the end of the post.
The problem I’m seeing is that when i dial my supply current up to approximately 12V (the motors are 36V) regardless of duty cycle the motor starts shaking and stops spinning while the current goes up a little. When I attach my oscilloscope to the motor wires i see that they are both at supply voltage at given intervals:
Channel 2 (red) should be low when the PWM is active but this is not always the case as seen in the image. It should be added that this happens in both directions so one faulty component is not the case and I’ve also tested both the diodes and the MOSFETs afterwards and they all work as expected individually. All high current components are attached to a large heat sink.
The parts I’ve used:
P-MOSFET: P-Channel MOSFET 60V 27A - COM-10349 - SparkFun Electronics
Transistor: 2N3904, https://www1.elfa.se/data1/wwwroot/assets/datasheets/lz2N3904_e.pdf
Diodes: SF1608G, https://www1.elfa.se/data1/wwwroot/assets/datasheets/sf1601g-8g_eng_tds.pdf
To me it seems like both the P-MOSFETs are open as the voltage on both sides of the motor is high. Is this because of how I control the MOSFETs, is it something anyone has seen before or is it something entirely different?
Thanks in advance!