Now a little bit about extra electronic modules, that are readily available off the shelf. The modules shown in the picture and the reasons for using them is described below. There will be an update at some point showing a homemade hat to plug onto the top of the Pi, which is still having circuitry added to it and probably a Teensy Microcontroller to accurately measure the four distances from ultrasonic transducers plus the robot battery level. It might even do the PWM's aswel instead of the 16-Channel PWM board but we haven't decided on that yet.
4x Micro-Stepping motor driver modules mounted on a piece of FR2 Matrix Stripboard, for convenience of connecting to the RPi and the individual Short body Nema-17 Stepper motors. This way the motors can be controlled more accurately with direction and step pulse. These modules also provide current limiting and as stated, Micro-stepping which can provide smoother and better movement accuracy.
1x 16-channel PWM board to drive servos and probably LED’s to make the Robot a bit more flashy (Yet to be confirmed). The use of such a module is mainly because it is impossible to get a stable PWM from the Raspberry Pi. Most likely because the RPi PWM is a software generated pulse and not from a dedicated hardware counter, compounded by the Real time OS that is pulled in all manner of directions by higher priority level interrupts. It causes the PWM from the Pi OS to jitter like crazy, which in turn causes a servo to twitch rather a lot. So if you want accuracy and stability then a separate dedicated module is needed, as the RPi cannot provide either.
1x Dual H-Bridge. One of the channels is to drive the Boom’s 12V linear actuator. The second channel is spare in case we need it for some other hardware that we haven’t thought of yet.