https://m.seeedstudio.com/productDetail/1954
Hello community. My first post. If I am violating any guidelines or etiquette then I apologise.
I have this shield and I am using it with Dfrobot 32u4 Arduino shield for Raspberry Pi (so it is a stack of three).
The first problem is blocking the 5V source in the H-bridge from trying to power the Arduino underneath - because it will also try to power the Raspberry Pi as well, and that will exceed the tiny 100mA limit. Is there a way other than bending pins? And if I must bend pins, which ones will I need to bend to achieve complete power isolation from the Arduino underneath?
The next issue (which is actually solved by the solution to the first) is that if the 7-28V power source is interrupted, the shield feeds 5V from the Arduino to the motors. Way to try and burn out the Arduino and whatever poor USB power supply is supplying it! Plus is means it will not fail hard and fast like it should. Somebody may not realise that they are running the motors off the Arduino power, especially if they are using a much power voltage than I am (mine is 20V, and even then I did not realise immediately as my motors were still strong. When I accidentally bumped the 20V source and the wires made proper contact, the motor feedback became vice-like. I could barely turn the motor by a couple of degrees with a 7.62cm diameter robot wheel attached.
The next issue is overcurrent protection. The board is advertised to monitor and limit current, but the method of specifying the limit and activating the functionality is not documented. I am using the USB PD Buddy Sink from Clayton Hobbs and a Dell 65W USB-C charger (which also happens to be a USB-PD programmable power supply). That is [email protected] and the overcurrent protection in the battery keeps tripping (part of why I chose USB-C power delivery, so that I do not burn the house down - overcurremt protection is apparently required by the USB-PD specification). Each motor can likely draw a couple of hundred watts before stalling, but in typical usage I expect that 65W should be plenty. My best guess is that the short rush of current to start the motors or from fast speed adjustments is a problem. But if the power supply approximates an ideal voltage source, then 8x 2.5V supercapacitors across the source in series will do absolutely nothing to absorb these spikes. Does anybody know how to interface with this board to limit current? Or even to read out the current in real time to the Arduino and limit PWM duty there?
My last question is why the board shipped with so many jumpers missing. The documentation shows jumpers for things like logic level / voltage conversion for 3.3V or 5V, but on the board there are small mounds of solder where I should find the jumper pins. I am not sure I need to use them (at least yet) but there is a chance I will discover that one of them would have been useful.
The last note I will make is that the pins from the library are incorrect. They use 8, 11, 12, 13 - but the board actually uses 5, 6, 7 and 8. This is highly unprofessional on the part of Seeed for not documenting the fact somewhere I would realistically discover the information. As a consequence, I spent hours debugging wondering if the board was DOA or if it was of my doing. Also, there do not appear to be proper pull-up or pull-down resistors on the pins 5-10 inclusive - such that if the Arduino is not setting the correct inputs, the motors spaz out when I put my fingers near those pins (even on the plastic) which means the gates are floating with no route to GND or VCC.
So far, I am finding it difficult to recommend either the Seeed 4A H-bridge shield or DfRobot 32u4 shield for Raspberry Pi. Neither have paid attention in design to actual usability by the end user. For a start, both should have the header pins sticking out thw sides of the boards, such that any extra shields stacked on top do not impede access. I am just thankful I can power the Raspberry Pi and Arduino through the USB-UART header on the Arduino shield, to avoid the need for a chunky MicroUSB cable sticking out the side of my robot.
Any help is greatly appreciated!
Thank you!