Njay: Status point, so that we both know where things stand.
- Both bridges have only 1 N-MOSFET connected, via a 100Ohm resistor. This is the configuration that tested the longest time, so I’m sticking with it. The gate resistor on the disconnected FET is removed (there is a pull-down that keeps the FET off). However the Off FET may still be active part of the power flow, like for example during freewheeling because its intrinsic diode is still there in parallel with the FET that is actively freewheeling the current.
- The firmware should be expanded to stop PWM when it doesn’t receive commands from the main controller (RasPi) and the motor is powered. It should also shut down all the FETs if it detects a high current when the motor is not being powered (a sign that one FET probably just fused). Both states should be reported back to the RasPi via I2C.
- Add a 100nF capacitor to the reset line of the bridge microcontrollers, to make them more immune to noise-induced resets.
- Connect the temperature sensors (diodes). For the motor temp you’ve got 2 holes on the main power board, just put a diode on the motor and connect it back to the holes. For the 2 heat sink diodes, they are present on one of the add-on boards but you should ignore them because they were designed for the previous heat sinks. Remove them and solder wires that go to outside diodes glued to the new heat sinks.
- The space is narrow, but it is not impossible to put a small heat sink plate on the driver transistors.
- We should optimize the MOSFET gate resistors to a lower value, to get better switching efficiency. But this has to be done carefully to avoid burning the driver transistors. We’ll see about it later, possibly with heat sinks on the drivers.
- Doubling the microcontroller frequency from 8MHz to 16MHz would pull up the PWM frequency from the current ear-irritating ~7kHz to a possibly more friendly 15kHz.
- Find a way to reduce impact of I2C comms on PWM robustness.
- Replace the P-MOSFETs for some new better ones.