Robot Control Module BYTE
One project that I really enjoyed working on during the COVID-19 pandemic was making small robots that could be controlled over the internet so my friends could drive around my house.
I wanted to figure out a way to build lots of robot designs very quickly and cheaply, so I designed a Robot Control Module (RCM) that combines all the electronics a robot needs except for motors and batteries. Each of the old RCM boards could control up to 4 motors and 5 servos.
My friends and I made many robots using this old RCM design, and had some very fun competitions. The old boards were 5x8cm.
Recently, I started thinking about making a smaller RCM board. I was inspired when a class discussion in a project-based engineering class about building a very small but complicated robot got me thinking about whether I could miniaturize an RCM.
I wanted to find a microcontroller board that includes an esp32 chip instead of using an esp32 chip directly, in order to keep the project simpler and more likely to work – I didn’t want to have to design a circuit with an antenna. And the QT PY is about the same size as most plain esp32 modules are.
I found the Adafruit QT Py esp32 board that’s tiny and still has 13 GPIO pins.
That’s a large decrease from the 20 GPIO pins from the ESP32 boards used in the previous design. I didn’t want to reduce the number of motors and servos that can be connected.
The L293D h-bridge chips in the old design take a lot of pins, if I used a motor driver chip with a serial interface, I could save pins for controlling servos.
After looking at a few options I found the Trinamic TMC7300. https://www.analog.com/en/products/tmc7300.html
Each driver can control 2 motors, and up to 4 drivers can be controlled from just two pins from the QT Py – if I’m reading the datasheet correctly.
This means the new design can control 8 servos and 8 motors.
I got a breakout board for the TMC7300 so I can test software for controlling it, and it seems like a great chip, so far.
I followed the circuit diagram for the breakout board when adding the tmc7300 chip to the circuit diagram of my board.
TMC7300 motor drivers are only available in tiny surface mount QFN packages that I can’t solder by hand. I knew I would need to get a professionally assembled board. By using surface mount components I could shrink my design to a much smaller size than I’ve ever designed for before. Until now I’ve only used hand soldered through hole components.
The new board is almost a quarter the size (by area) compared to the older RCM boards, and yet can control twice the motors and servos. That’s the power of PCB assembly!
I shared the files for the project here: https://www.pcbway.com/project/shareproject/Robot_Control_Module_Advanced_V1_d66ca2a2.html
This page will be updated when I receive my first prototype batch of boards and can test whether my design works. I will also finish writing software for the boards once I have boards to test. For now, I can not guarantee functionality or promise any support.
Happy Roboting!
Apply for sponsorship >>- Comments(3)
- Likes(0)