2
\$\begingroup\$

I have created a circuit for my Senior Design project at my uni. This circuit is meant to receive a signal from a contact microphone attached to a brass instrument, pre-amplify it, and analyze to find the pitch of the note played on the horn. Once the frequency is found, the board then does two things:

  1. Control an H-Bridge consisting of IRF3205s and a HIP4080AIBZ full-bridge gate driver
  2. Send frequency data over Bluetooth using a DSD HM-19 bluetooth module

When testing the circuit, we programmed the Teensy 4.0 to do a PWM signal sweep on two pins: PWM_A and PWM_B, with PWM_A being a non-inverting input for the HIP4080AIBZ and PWM_B being an inverting input.

When the board was turned on, the Teensy booted up and began driving the motor. It got maybe a half second into the sweep and then died. The motor started turning during that half second, but stopped once the teensy died.

This circuit is powered by a 3S LiPo Battery.

Here are some screenshots of the schematic and the PCB. Do you guys see any glaring issues here? What could have killed the teensy? Did >3.3v get applied to one of the output pins somehow? Could the voltage regulator have failed somehow?

NOTE: Originally, the voltage regulator used was an LM317T, but after finding that the regulator was not regulating to 5V, we changed to an LM1086IT-5.0. 2oz copper was used, and the motor is a BaneBots 550 motor.

Schematic

PCB

\$\endgroup\$
4
  • \$\begingroup\$ What was the PWM duty cycle when it broke? \$\endgroup\$ – Justme Nov 7 '20 at 23:46
  • \$\begingroup\$ @Justme Probably about 5-10%. \$\endgroup\$ – Landon Haugh Nov 7 '20 at 23:50
  • \$\begingroup\$ I see no decoupling capacitors on the supply pins for the low side drivers (?) Without those that gate driver might be creating huge spikes on the supply line at turn-off. \$\endgroup\$ – Unimportant Nov 8 '20 at 0:04
  • \$\begingroup\$ What’s your PWM frequency? Otherwise +1 on @Unimportant \$\endgroup\$ – winny Nov 8 '20 at 18:07
3
\$\begingroup\$

There are two glaring errors:-

  1. You only have 0.1 μF of 'bulk' capacitance across the battery input (C2). At low PWM ratio the battery current will be a series of short spikes. Without sufficient bulk capacitance to supply these current spikes, they will go through the battery wires - which have significant inductance that will induce large voltage spikes. The 5V regulator's ripple rejection may not be good enough to keep the output voltage stable and the Teensy is only rated for 6 V maximum.

  2. The 'BATT' trace between D1 and D2 is too thin to handle the motor current, and it introduces extra inductance that makes C2 even less effective. With high inductance between the capacitor and the 'BATT' trace going to the regulator, voltage spikes will be created at the regulator input. Also with the capacitor so far away the regulator may become unstable and oscillate at a high frequency (perhaps that is why the LM317 didn't work properly?).

You should move C2 as close as possible to the regulator, and add larger low-ESR capacitors (totaling several hundred μF) directly across the battery input and close to the FETs.

Move the BATT trace from between D1 and D2 to the right-hand side of the FETs so it takes a shorter path and can be made thicker. Give priority to it and route signal wires around it or across it on the other side of the board.

Another possible issue is that some of the FET Gate drive traces are quite long. If you can't move the FETs closer to the driver IC then add some series resistance (eg. 50 Ω) to suppress ringing.

\$\endgroup\$
9
  • \$\begingroup\$ Where is C2 anyway? I can find it on the PCB. \$\endgroup\$ – Codo Nov 8 '20 at 22:06
  • \$\begingroup\$ @Codo The leftmost of the 3 capacitors in the bottom center, as far away from the regulator as possible :) \$\endgroup\$ – Unimportant Nov 8 '20 at 22:37
  • \$\begingroup\$ Hi Bruce - thanks for the reply. For the sake of time, I have designed a new PCB that contains all of the same components, minus the H-bridge. We will be using a separate motor controller, but the battery will still route through the PCB and connect to the motor controller using wires. I have moved the two capacitors closer to the voltage regulator, but I haven't added some capacitance across the battery input. would adding a large capacitor - say 0.5 mF - across the two battery leads suffice? (we're using a screw terminal) Here's an image of the new PCB: imgur.com/a/LC5midj \$\endgroup\$ – Landon Haugh Nov 9 '20 at 5:15
  • \$\begingroup\$ Also, the linear voltage regulator datasheet suggests using 10uF capacitors (tantalum).. would it be beneficial to use some higher rated capacitors, say 50uF? \$\endgroup\$ – Landon Haugh Nov 9 '20 at 5:40
  • \$\begingroup\$ "We will be using a separate motor controller" - which controller? "the battery will still route through the PCB" - bad idea. Wire the battery to the motor controller first, then to the teensy board. That way high current doesn't flow through the ground wire from Teensy to controller (which would induce noise into the Teensy ground). 470uF would probably be enough, but several smaller caps (eg. 2 x 220uF) in parallel could have lower ESR. Use caps rated for low ESR and high ripple current. \$\endgroup\$ – Bruce Abbott Nov 9 '20 at 6:22
1
\$\begingroup\$

Landon, I'm sorry you've encountered this frustration. But if you are methodical and persistent, you can diagnose the problem, and learn a great deal in the process.

First: did you breadboard the circuit first? If that worked and the PCB doesn't, then it's a problem with your PCB layout and/or assembly. I find areas of concern in the PCB layout, where traces seem to come too close to pads or other traces.

It could also be an assembly problem -- just one open solder joint or short (the regulator feedback pin, for example) could result in an overvoltage being applied to the Teensy, which would cause it to run for a short while then die.

Here's what I'd do.

  1. If you have time, breadboard the circuit, but don't connect the major modules yet. Keep the regulator circuit, the Teensy, the motor drive all separate until you test them individually for correct voltage and operation.
  2. If you're in a hurry to create another PCB, get help doing a better layout. Again, keep the major modules separate until connected with jumpers or solder bridge points. Do unit testing on the regulator, then connect the Teensy and test that, then finally connect the motor driver, and last of all, the motor.
  3. Using this technique you can isolate the problem and then drill down to find the defect. Good luck!
\$\endgroup\$
1
  • 2
    \$\begingroup\$ I don't think breadboarding a 10ns gate-driver is wise. Unless one slows it down drastically with large gate resistors but then you're not testing the real deal. \$\endgroup\$ – Unimportant Nov 8 '20 at 17:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.