I have a Sparkfun Arduino Pro Micro (an ATMega32u4 breakout board), feeding two PWM signals to a custom board I made based around a mic4606 (dual half-bridge gate driver IC)
The IC is driving 4 MOSFETS in an H-bridge configuration, which drive a Peltier device through a pair of LC filters to smooth out the ripple (which improves the efficiency of the Peltier). The PWM and ground connections are made with a couple inches each of ~22 gauge hookup wire.
If I setup my Arduino to generate a 187.5kHz signal, it occasionally "glitches out"; I'll feed the PWM signal into one side of the bridge, leaving the other one grounded, but both sides will switch (and thus no current flows through the peltier). Maybe 80% of the time it works fine though.
I reduced the PWM frequency to 93.75kHz, and now it seems to work 100% of the time. I would rather use the higher frequency to keep my filters smaller while maintaining efficient operation of the peltier, so I need to figure out what the problem is.
Is a couple inches of hookup wire enough to mess up a ~200kHz signal? Or is it likely to be an issue with my (or the Arduino's) PCB design? If it helps, this is what my PCB looks like:
(I've since redesigned it to shrink some high frequency current loops, particularly the fairly large ones in this design through the "bottom" FETs, and all the high dI/dt current loops described in the datasheet, but I haven't ordered it yet. would this help? I assume those will only help with not-important-for-a-prototype EMI issues)
UPDATE: I just recalled that attaching small (100 ohm) series resistors in the PWM linse reduced reliability even further. So perhaps the issue is my MCU's outputs aren't "strong" enough to drive the gate driver inputs? I hope I don't need a "gate driver driver" 0_o
UPDATE: here we go. I've cleaned up my schematic for display purposes: