I am planning lessons for a primary school (ages 9-12) code club around Scratch and the Explorer HAT Pro, and have some questions about how it deals with power draw levels and protection against overloading it. As I am planning to unleash inquiring young minds on these, I wanted to understand how this HAT handles potential overloading? The specs say the 4 x 5V outputs can supply 500mA overall between them, and that the motor controllers can supply 200mA (per motor?). Does the board limit this load safely? Most motors have a stall current over 200mA and I don’t want to see the controllers burning out. I planned to start with the STS Pi kit (motors included) but these are quoted as having a stall current of 900mA (at 6V), so likely to be well over 200mA at 5V when driven from this HAT.
Also, are the 5V outputs protected from overload if a child shorted them to ground for example? I am planning to use 3A power supplies (the Official ones) which should provide enough current to run everything (Pi3, Explorer HAT Pro, 2 motors plus some LEDs and a buzzer). Is there anything I need to be wary of that could cause damage to the hardware? I plan to mask off the 3.3V connections on the HAT with tape to avoid them being used.
Finally, I have seen projects mention driving servors from these HATs too. So we might be trying that at some point.
The IO of the Pi is protected, as long as you don’t wire 5v to any of the 3.3v connections along the side, but there is no over-current protection on the board itself, so bridging things like 5v to GND, or 5v to an Output that’s turned on will brown out the Pi pretty quickly.
I’d recommend keeping a few SD cards spare, just in case they get corrupted during a brownout, but aside from that the Pi should suffer no other ill effects.
The motor driver has both thermal and over-current shutdown, it will be pretty difficult to damage.
The most important thing to watch for is miswired components releasing magic smoke, often accompanied with alarming amounts of heat, and burning little fingers. Certain components, when wired backwards, can get a little… hurty. I speak from experience. If you stick to motors, LEDs and a buzzer you should be fine!
Explorer HAT wont help you much with servos, and may potentially make them trickier to work with. Bear in mind that its Outputs are inverting, so if you’re attempting to drive a servo with a 20ms duty cycle and a high pulse of 1-2ms you’ll instead end up with a high pulse of 18-19ms which will, at best, just slam the servos into one end of their range where they’ll probably just jitter away. To make them work you would need a pull-up resistor between 5v and the Output you’re using. Depending on how advanced you want to get, you could use this as an opportunity to explain inverting/non-inverting and why the servo goes ape when you try and use it through an output.
A stepper motor would probably be a better fit- you can drive one through the four Outputs and have fun trying to crack which step pattern actually makes it turn :D
Thank you for that comprehensive reply. :)
I’ve not got to the bottom of how to drive servos or stepper motors yet (so much to learn about!). My only experiments with servos so far have been via the Pi-Borg HAT which has Python libraries to set the servo positions. So was super easy, but I did not learn how they work under the hood.