Herbert The 4WD Arduino Robot

Update 12-08-09

Hi Guys,

More new video...this is Herbert's first attempt at collision avoidance. Well, it wasn't very successful, lol! I'm going to spend the next few days messin' with code and then I"ll post another attempt. Also, I want to thank all of you for the advice on motor controllers and chips...I really appreciate it! It is such a big topic I need to just sit down and read a bunch of data sheets and web sites, heh. In the mean time, just to be moving ahead, I bought two Pololu Dual DC motor controllers....these:

 

http://www.pololu.com/catalog/product/1110

 

I know it's the easy way out, but I'll still be working on getting my motor shield to work in some context. So, without further ado (or is it French Adieu or something, I don't know) here is the latest Herbert video....Herbert's Collision Avoidance Test 1...see below:

 

Annie :)

 

Update 12-07-09

Hi Guys,

After going a week with no computer (my main computer blew up, literally) I'm finally back with a quad core box a the most memory I've ever had! (6g)...Anyway, I'm back to working on Herbert. I haven't resolved my motor shield issues yet, but I've been working on the ping sensor 'eyes' and the beginnings of collision avoidance.

Watch Herbert's Eyes for the newest of what's going on...

Annie

 

Hi Guys,

Here is my first robot project, Herbert. He's named after H.G. Wells. He is going to be a long term project. I'm planning to add more and more features as I learn more. The first two videos show my progress in learning about the various parts that will make up Herbert. I have a motor controller board, but I felt it was important to understand the Arduino code and transistor circuits that make up 'basic' movement before moving on to the motor controller code and circuit.

 

In these videos the Arduino is powered by a Mintyboost....an Altoid tin battery circuit from Adafruit. I have the motors running off a 9 volt battery but that will change soon....those motors are sucking the batteries dry. I don't know what brand the motors are, they have no markings and came with the chassis which was an early Christmas present. I do know they are 6-12V motors.

 

I also document my breadboarding of Herbert's 'eyes'. He will be using a Parallax Ping sensor up top eventually, but that is after I make sure I completely understand the motor stuff. Later I will add IR sensors to help with collision detection. After that, I'll see where my learning takes me!

Thanks,

 

Annie :)


This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/herbert-the-4wd-arduino-robot

when turning do not turn 2
when turning do not turn 2 motors off but instead make them turn in reverse. Doing that, you will see, makes the robot turn more sharply. If you do not know how to make them go in reverse, just switch the forward code. So if it is high 4 low 5 then reverse is low 4 high 5 :P. Besides that very good first robot. What is the usb thingy going to the bottom of the robot?

Thanks, Patrick! But the

Thanks, Patrick!

But the way Herbert is set up at the moment, I just have the motors capable of forward movement :slight_smile: I just have 4 pins on the Arduino going to 4 Darlington transistors…the motors only go forward. But, that was just for learning purposes…I have a motor shield I am going to build tomorrow…once I get that built, I’ll write the code for forward and backwards…

 

The usb thingy is how I am powering the Arduino…it’s a USB cable to an Altoids tin. Inside is a circuit and 2 AA batteries. It’s called a Mintyboost…you can get the kit from Adafruit.com. It uses two AA batteries (3 volts) and pumps the output to 5 volts for the Arduino. All of the wires and such will be cleaned up as I go along. I’m just taking it slow so I can learn…

 

Annie :slight_smile:

Hi!

And welcome to LMR :slight_smile:

I find this Mintyboost thingie very interesting. I knew there were ways of boosting voltage but I didn’t think one could get/make a small and cheap circuit suitable for powering motors and such. Thanks for the tip. I’ll be looking into this MAX756 chip it’s seemingly based on, so thanks for the tip :wink:

UPDATE: I was just trying to read the MintBoost documentation. What a load of bla bla bla. Perhaps I may ask you Annie…You use it to charge 2 x AA batteries via a USB port and then it regulates the voltage to 5V. Correct?

Hi Aniss, From what I

Hi Aniss,

 

From what I understand, the Mintyboost was originally designed to be a charger for cell phones and Ipods…but so far it works great for Herbert! To answer your question, here is what I know about the Mintyboost…

 

It uses 2 AA batteries (I think you can use rechargeables, but I’m not)…so, those batteries give off roughly 3 volts. It took me about 10 minutes to solder together and cost about 20 bucks or so…Now, I tested this myself so I know it is accurate: the circuit gives off 5 volts at the USB port. I put my DMM on the outputs and checked it…5 volts out. So, it is definitely working to power my Arduino while I will use other batteries to power the motors. Right now I’ve been using a 9 volt for the motors but that’s not good…they are sucked dry very quickly, heh. I’ll probably end up using 12 volts made up of a bunch of AA batteries to power the motors next. But for the time being I am going to keep using the Mintyboost for the Arduino’s power…

 

Does that make sense to you?

 

Annie :slight_smile:

Pololu has voltage boosters

Pololu has voltage boosters that can power the motors, but depends on the motors, they need to be low current. Their 3pi robot uses that concept, so it is proven to work. I was thinking I can use a similar approach on my robot, to power everything from a single LiPo cell (3.7V), so there would be one booster tuned to 5V for electronics, one (or more in parallel) tuned to 6V for the servos and one tuned to 9V for the motors, since my motors draw less than an amp at stall. The servos draw more, so I need at least a couple of boosters in parallel. However, I think this is a bit extreme for my robot, perhaps using 2 cells in series (7.4V) would make more sense, but the chargers are more expensive for a dual cell battery.

Here is the link to Pololu’s booster: http://www.pololu.com/catalog/product/799

Base
That’s the DFRobot 4WD Arduino mobile platform, right? Looks quite speedy there; guess I’m trying to carry around too much weight on mine…

That Pololu board looks

That Pololu board looks cool! I’m not sure what my final setup will be as far as powering Herbert…so far I’m only planning on the 4 wheel motors and 1 servo for sweeping the ping sensor I’m going to add…I’ll study up on the various methods and types of batteries when I learn a bit more…I’m super new to robots, motors and servos, lol…

 

Annie :slight_smile:

**Yup, it’s the DF Robot :slight_smile: **

Yup, it’s the DF Robot :slight_smile: It was an early Christmas present, yay! Yes, Herbert is pretty light at the moment…so he moves okay. I wish I could find the spec sheet for the motors that came with the chassis…they don’t say anything on them and the website just mentions they are 6-12V motors…

 

Annie :slight_smile:

Looking at your first video,
Looking at your first video, I think I have different motors (see http://robots.straylight.co.uk/?p=39 for internal shot), but the supplier suggested they work best at 12V. However, since the wheel swap I’m doing ok at 7.2V . They look like solarbotics GM motors, maybe someone who uses those here can confirm that?

nice
Cool bot! Just a quick question- what gear ratio motors are those? 60:1? 100:1?

Hi Dent, I don’t know what

Hi Dent,

 

I don’t know what gear ratio they are! :frowning: I wish I did…there were absolutely no specs with the motors…no name or anything. And I’m at a loss of how to figure out the ratio on my own…lol. Sorry :frowning:

 

Annie

Thanks

Yes it makes sense thank you. I thought the USB perhaps was for charging the batteries, but as you say they are indeed for powering other devices.

Thanks…

Great Job!

Welcome to LMR! Great job on your first bot. Especially on the not so noob MintyBoost module. I looked around a bit to find any data on your motor gearbox and found nothing :frowning:

Your motor driver is it the Adafruit motor shield? I have that model and I added sockets to the L293D driver chips. Easy to remove the chips for testing another project later on. If you have this shield and go this way, get a heat sink for the (2) chips.

I will keep watching to see what you have added as you progress.

-Gary

Well

The two robots I’m currently working on (the mapbot and a 12 servo quadroped) I plan to power with 4 x NiMH AA batteries, and probably a 9V NiMH battery + regulator for the Arduino.

The 2 AA battery booster solution I had in mind for the swarmbots we were talking about recently. I’ll be getting a couple of standalone Atmega168 chips soon and I think I’ll start working on a prototype. I want these bots to be as small and cheap as possible so I was thinking about powering them with a 9V battery + regulator like fritsl’s little 8, but I don’t much like the idea of wasting 30-40% of the power on the regulation.

So it seems 2 AA batteries + booster is a better solution. I’m not gonna buy neither the Mintbooster nor the Polulo booster though. Both are way too expensive. Besides it seems fairly simple to make you own circuit based on the MAX756 chip (or similar):

1167.gif

I seems that the chip is also capable of detecting when the batteries need to be recharged, though I'm not sure?! It would be perfect if you're planning do let the swarmbots auto-dock/recharge...

UPDATE: Avnet seems to sell the chips for as little as 2.90$ :)

Hi Gary, Darn it! I just

Hi Gary,

 

Darn it! I just built the Adafruit motor shield this afternoon and debated whether to use sockets or not and decided not to. I knew I shoulda used 'em, lol…oh well, I can always un-solder later. Now that the motor shield is done, I’ll figure out the code and make a new video of Herbert running off the shield…should be a couple days at most!

 

Annie :slight_smile:

Sockets

Hey Annie you did fine. You went the factory recomended way! I asked this question on the Adafruit forum and was told the L293D chips use the board as a heat sink. OK to use chip sockets but add the heatsink as a safety feature.

Herbert will really be responsive when you can use the zero turn radius available with this shield.

Will keep watching {:slight_smile:

-Gary

Really cool to see your

Really cool to see your progress reports, helps folks see how to learn and experiment in building a robot.

About 9 volts, they are not a good battery to be used in powering motors or servos in robots. Battery capacity can be compared to battery volume, so the smaller the case, the less power they have to drive power hungry parts like motors. They can be adequate at powering a microcontroller like the Arduino, but even just adding sensors to be powered can drain them quickly. Rechargables are generally the best to have, to provide good current (due to smaller internal resistance) and be re0usable rather than just be thrown away. Your robot is driving alright at 5 volts, so maybe running an 4 or 6 pack of AA NiMh for 4.8 to 7.2 volts would provide a good runtime. I’ve run 10 on a robot before to get speed up, but that was because the motors were rated for that voltage. The specs on the DFrobot say the motors are rated at 6 volts, so I’d be careful going much higher.

Thanks To All

Hi Guys,

 

I just wanted to thank you all for the input! I really appreciate everything. The Robot Shop finally put up specs for the motors! The page was empty earlier this month, lol…Here’s what they put:

• 4WD Mobile platform Motors: 3-12V DC
• Speed: 90cm/s
• Dimensions: 200mm x 170mm x 105mm
• Weight: 660g

Motor Specifications

Green Motor

• Gear Ratio 1:120
• No-load speed(3V):100RPM
• No-load speed(6V):200RPM
• No-load current(3V):60mA
• No-load current(6V):71mA
• Stall current(3V):260mA
• Stall current(6V):470mA
• Torgue (3V): 1.2Kgcm
• Torque (6V): 1.92Kgcm
• Size: 55mm x 48.3mm x 23mm
• Weight:45g

Yellow Motor:

• Working Voltage:12V
• DC Motor: 10300 RPM
• Gear Ratio:1:48
• rpm@6V: 200 rpm
• rpm@12V: 400 rpm
• 0.55 Kgf.cm torque (6V)
• 0.95 kgf.cm torque (12v)
• No-load current = 71 mA,
• Stall current = 680 mA
• Weight:32g

 

So, hope that helps some of you…as for Herbert, I built his motor shield yesterday and I just wired it up to the chassis and 12 volts of batteries (8 AA batteries in a holder …I will be getting rechargeables later) and I just need to write some code and I’ll post video! Hopefully by tomorrow…

 

Annie

Oops, missed the green
Oops, missed the green versus yellow motor specs. Looks like it can be pretty quick, hope it goes well.