DC Motor Drive Robot 

11/13/2023


Looking through my collection of parts I found I had accumulated a good number of DC motors. Mostly salvaged from old inkjet printers.

I decided I needed to build something with them so finding a pair of matching motors I

started planning a wheeled robot very much like my STM32 based Stepper Motor Bot.


I actually was able to borrow quite a few parts from that project. (same CPU board, Base and rear wheel)

I printed up a bunch of new parts and after a preliminary test of the drive wheels

 I realized that this bot would go MUCH faster than the pokey old stepper motor bot.


And so I continued printing parts and wiring up a motor driver and wheel encoder sensors.


Finally it was time to add some code and check the performance.

Much to my disappointment, I found that this particular design was pretty much a complete failure 


I could tell the wheels were not perfectly round, either because of 3D printing discrepancies 

or variations in the rubber ‘O’ rings I used for tires. The pressure of the wheels against the motor drive shaft varied from a point where the motor was nearly stalled to a point where the wheel almost lost contact with the motor. I thought I might be able to correct for this with software but sadly I could not. Eventually I came up with a way to “round-out” each wheel.

(see photos below) I chucked each wheel up in my drill press and clamped a chisel to the 

drill plate. Then I shaved down the high spots. This had the added benefit of flattening the bottom of the ‘O’ ring tires giving them better contact with the floor.


Still, the thing was unable to drive in a straight line. 

(see the video shared below where the robot is programmed to drive forward 120 steps turn and drive back 120 steps)


After watching it for a bit I came to the conclusion that the wheels were slipping on the floor quite a bit.

I hadn’t noticed this with the stepper motor bot but that robot had 2 heavy stepper 

motors mounted directly over the wheels (the motor shaft was actually the axle).

In this new design the (much lighter) DC motors were located quite a bit behind the center of the wheels and the battery was back there too. 

I doubt a re-design that placed those motors above the wheels and relocated the battery up to the front would solve the problem.

There’s simply not enough weight to keep the tires from slipping.

Wider wheels and softer tires might help but I’m thinking I’ll just retire this project and move on to something more promising.  

Getting more traction on the “Tank Style” track on my ESP32 based “Tank” Style Robot may be a better way to invest my time.


Here’s a few photos and a copy of the code for those that are interested.


Description of major components

my box of motors

front view

another front view

wheel & encoder closeup

roundness fix

MVI_1932.MOV

video of failed project

Description of download links:
STM32F103_DCMotorBot2.zip DC Motor Bot eclipse project
DCMotorBot.pdf      Robot Schematic