This update explains how my pump controller circuit card was modified to allow it to control the steering motor and the main drive motor.
The steering motor needs to be able to reverse, so the unipolar outputs needed to be altered to work as an H-bridge. This required replacing 2 N-channel FETs with P-channel FETs and tying some drains together. The FETs are individually controllable via software, so high current shoot-through can be avoided by turning off one direction before turning on the other direction.
These FETs have low thresholds to ensure the 3.3 volt port expander chip can drive them directly, but in the case of the P-channel FETs which have a 5 volt power supply, they may not turn off completely with a 3.3 volt signal. To ensure they turn off properly the supply voltage to these FETs is run through a diode which drops the supply voltage by at least half a volt.
The main drive motor is unidirectional, so each of the four driver FETs is used to produce a different speed. This is done by adding an extra diode drop for each consecutive FET.
Here is what the card looks like with the modifications, followed by a demonstration of both the steering and the main drive motor being driven under computer control:
The last modification to make is to tie one of the I2C address pins to VCC so both the pump card and the main motor controller card can coexist on the same bus.
This adaptation of the pump controller card to a different function was an interesting exercise, but it was also an unplanned diversion that chewed up precious time.
At least it is working and I can move on with the rest of the project.
GraffitiBot Project Blogs