January 11, 2009

DC Motor driver

Filed under: Uncategorized — chelmi @ 7:11 pm

Finally! I receive the last shipment with all the electronic stuff.

The first task was to install batteries and build the regulated power supply. After a few trial, I decided to change the layout a little bit. I switch the direction of motors / gear box to make more room under the chassis and installed the 6 AA battery pack under the board, between the motors and the ball caster. See the drawing below for the updated layout.

The result is a much more stable robot. The center of gravity is lower and in the middle of the contact points. I am not an expert in mechanics, but I think this is the ideal situation ;)

I also inverted the front and rear of my bot. The front side is the one the top of the above picture.Why? This way, the longest part of the bot will be in front of him and it won’t bump on something unexpectedly when the bot is turning. This is an advice taken from the forum of Society Of Robot. Makes sense to me!

The battery pack delivers 7.2V, way too much for the low voltage motors of the Tamiya gear box. I used a LM7805 to stabilize the output at 5V. A little bit over the maximum voltage accepted by the motors (4.5), but I will use PWM to reduce it. See the schematic for the details.

The next step was to build the the motor driver, based on the SN754410 chip by TI. The schematic shows all the details. D7 between the Arduino board and the driver prevents the current from flowing back to the driver when the Arduino is plugged to the USB. Here is a picture of the implementation on breadoard:

Implementation of the motor driver

Implementation of the motor driver

I also added a general purpose swicth (with pull-down) and a reset switch (easier to use than the on on the Arduino board). Below is a picture of the bot in its current state:

The bot on Jan. 11th

The bot on Jan. 11th

Next post will be about the software to drive the motors.

December 16, 2008

Chassis

Filed under: Robot — chelmi @ 11:34 pm

I received the shipment from Robotshop which contains the motor gear box, wheels, the ball caster, the servo and the IR range finder. The second shipment with most of the electronic parts will probably arrive after the holiday :( . In the mean time I designed the chassis since I have everything needed.

I choose to use polystyrene food tray used to pack fresh fish or raw meat. There are many advantages: it is free, lightweight, easy to cut ant I have a virtually unlimited suply. I will not be angry at myself if I screw something up ;) My only concern is electrostatic discharge (ESD). But some people recommend it (like this site) so it is probably not an issue. It seems sturdy enough to support everything.

Here is a drawing of the chassis and the layout of components:

The dimensions are roughly 125mm by 175mm. Batteries will be installed on the rear end to keep the ball caster on the ground. You can download the original SVG file here

Now a few picture of the actual chassis:

I should probably use washers between the board and the bolts. Sounds like a trip to Home Depot or Canadian Tire ;)

That’s it for now! The next step is to play with the servo, the IR range finder and the Arduino and see what kind of precision I can get.

December 9, 2008

Parts are ordered

Filed under: Robot — chelmi @ 12:48 am

First post!

I just placed two orders for the robot’s parts. I will not go into order details but here is a short list of the main parts I bought:

  • a Tamiya dual motor gearbox like this one:

  • A pair of wheels, about 6cm diameter
  • A ball caster as third contact point
  • A SN754410 dual H-Bridge.
  • A Hitec HS311 servo
  • A Sharp IR range sensor
  • Microswitches for bump sensors
  • Tons of misc parts like connectors, LEDs, resistors, capacitors, …

Now, there is something missing from this list … the brain!

I already own an Arduino Duemilanove board with a ATMEGA168. This should be more than enough to control everything. And I am sure I will have enough room left to plug one or two blinking LEDs ;)

Withs this list, you should get a pretty good idea of the kind of bot I am trying to build here. It is a very classic differential wheeled bot, with IR range finder and bumper sensors. Something I would like to add is to use a PS2 mouse mechanism to measure distance and perform precise movements. I already have a prototype working of the arduino reading values from an optical PS2 mouse. I will probably write a short article about it in the following week. Stay tuned !