Go Down

Topic: 4WD Motor/Controller Help (Read 8386 times) previous topic - next topic

wgarrido

I am back at working on how my robot turns. I have been struggling with this for awhile.


Pictures of my setup can be seen here
http://mobilewill.blogspot.com

I have this base with the included motors

http://www.dfrobot.com/index.php?route=product/product&filter_name=4wd&product_id=97
• 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

Motor controller

http://www.sparkfun.com/products/9571

Battery

http://www.adafruit.com/products/353

Step-up
DC to DC Module based on LM2587 Step-Up (Boost) Regulator
Non-Isolated Steip-Up Module

Input Voltage : DC 3-24V
Input Current : 5Amp (Max)
Output Voltage : DC 4-30v
Output Current : Rated 3A ( peak 5A)
Output Power : 30watt without Heat Sink
35watt with Heat Sink
Output ripple : 20M bandwidth (for reference only)
Operating temperature : Industrial grade (-40 to +85)
Full load temperature rise : 45
Load Regulation : ± 0.5%
Voltage regulation rate : ±0.5%
Dynamic response speed:5% 200uS



Forward and reverse is great but turning is terrible. It looks like most other project reverse the motors on one side to turn. My problem is the motors don't have enough power to turn and just freeze unless I am holding it.
I have an LCD that is attached to the same battery as the motors which dims sometimes.

The only way to really turn is to slow down one side, but this is really slow and I would never be able align the robot for docking to charge.

Each set of motors are in parallel. 

Battery > Charger > Step-up > Motor Controller > Motors Left Side
                                                                     > Motors Right Side

It seems I have enough power but maybe the motors aren't strong enough?


So I deciding to rebuild my motor system. (Or what I have should work?)

I am thinking to get a 4-channel motor controller and or better motors.

Any suggestions?

This is what I found so far.

http://robosavvy.com/store/product_info.php/products_id/1573

Looks good but can this handle less then 4.5v for the motors.
The motor shield below I am able to run off the batteries below the 4.5v, so does this mean most H-bridges can handle that?

I have this on my tank robot.

http://www.adafruit.com/products/81 (I can stack more L293's for more current)

This one seems perfect but I don't have room for more shields but I can change the pins other things are using and jumper the pins or try and raise the top platform to make room for the shield. Or I can have another Arduino just for motor control and use serial to talk to it similar to what I have now but a better motor controller and separate power. I could power the Arduino with the same power at the Mega(Main uC) and the motors directly from the 2nd battery. Right now though the main battery for the Mega/Sensors seams to be using a lot of power though.

Third I was thinking of building a motor controller from scratch (good first circuit design project and have it printed)


My goals are:
Remove need for step-up therefore running motor controller from battery (3.7v) This is how the tank robot is working.
Enough motor torque to turn in a circle
Prefer control via serial but can free up PWM pins (2-13) if needed.
Independent motor control


Would independent motor control help with power draw? The sparkfun serial motor controller says 2A per motor so I seems that is plenty. So maybe I just need better motors? I just wish that controller had separate motor power supply.

Maybe someone could help me modify the sparkfun motor controller to separate out the power for the H-bridge?

http://www.sparkfun.com/datasheets/Robotics/ROB-09571-Serial%20Controlled%20Dual%20Motor%20Driver%20-%20v11.pdf

Thanks for any help, I know its a lot but thought I would get some good input for I start buying stuff.

Chagrin

You're wading into TLDR territory.  :smiley-eek:

The motors on that robot should be <800ma stall current so your 2A controller should be ok. Your battery, however, is pretty weak. It's only 6600mah, meaning that at 3.7V it can only supply 6.6 amps for one hour -- and that's before losses in your various controllers / boost circuits.

The motor says 1.92Kg/cm torque; the wheels are 3.25cm radius according to the DFRobot site. 1.92kg/cm/3.25cm = .6kg, so if you wrapped a string around the wheel you should be able to lift a .6kg weight (1.3 pounds). That should be plenty to spin the robot in place.

The motor controller does have separate inputs for the motor power; that would be the GND and VCC pins on the top right corner of the board with a range of 5 to 16V. This is described in the user guide for the controller.

wgarrido

Lol what is TLDR?

I guess I should figure out how much my robot weighs. Thank you for the conversion to lbs now I have a better idea if how much weight I can handle. So that would be 1.3*4?

I was talking to someone else and they thought that maybe I have too much traction. On carpet the tires can't slip at all. On tile just a bit. To pivot turn I have to slip the tires.

The battery only is for the motor, LCD and motor controller. Everything else has another battery of the same type.

LCD draws 220ma at max brightness right now the backlight is off.

I looked at the motor controller schematic and isnt the vcc the same as the JST connector? Then it goes to the regulator for the logic. I want to be able to supply the motor directly from the battery and the logic separate from maybe the other battery so I can have only one step-up. Wouldn't I have to cut the trace to the regulator since it would be getting less then 5v.

If I could separate the power that would give better use of power for the motors right? More usable current?

Thanks for the help.

Chagrin

1.3*4 would be the weight it could handle if it was driving up a vertical surface. Friction between the tires and the ground is going to be much less than that. If you want to try reducing the friction you could wrap the tires in electrical tape, but still I think it's your power source that's causing you problems.

Yes, the JST connector is the same as the VCC/GND (my mistake). Still, the regulator will only regulate power for the controller - the motor will still see the original, unregulated voltage. If you analyze the schematic carefully you'll see that VCC is supplied to the L298.

wgarrido

#4
Aug 06, 2011, 08:57 pm Last Edit: Aug 06, 2011, 09:00 pm by MobileWill Reason: 1
I disconnected the LCD and it didn't seem to make a difference on motor speed. I haven't tried turning yet. Later when I get back I can.

Technically shouldn't that battery be able to put out 13.2A for 30min? Its 2C.


But then my step-up can only do 5A in and 3A out. So that could be a factor. I had a hard time finding that could even do that much.

I see what you are saying but I want to supply 3.7 to the motors only so they would have to separate from the regulator no? Then couldn't I use the 5v out as a input for 5v in regulated? I have a really good 5v regulator already for everything else. Then the battery would only power the motors and nothing else.

Edit:
Regulator I use instead of the on the Mega
http://www.pololu.com/catalog/product/2110

wgarrido

So I am back at this again with some disappointments.

I bought these thinking they had more torque.

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

I did a conversation and thought it has much more torque but I put 2 of them on the front and it doesn't feel like it at all. So I don't want to continue swapping the other two.

I am thinking the original specs on the motors that come with the kit are wrong. (Edit: Might just be the step-up thought about it while writing this)

The motors when stalled can't make the LCD dim like the original ones can. So I am thinking there isn;t enough power for the original ones.

I found this site with different specs.

http://www.robotshop.com/dfrobot-4wd-arduino-mobile-platform-4.html

I am not sure what they mean by yellow and green. My gearbox is yellow.

So I am thinking that if I modify the motor controller to have separate power and run the motor at 3.7v then it will have more current available because the step-up won't be limiting. That might be the other problem is the step-up is 5A in and 3A out. So even with less torque at 3v it still might be better.

What do you guys think?

rbtying

Using a boost converter to run motors is a really, really bad idea - it will be less efficient, and is essentially pointless. If you think it's a motor issue, however, these are far more likely to have a torque increase (with an associated power draw increase).

wgarrido

Thanks, those are the ones I was going to get except for the power requirements. Hmm I think might be time for a new motor controller and motors. Maybe time for the custom route.

Which H-bridges can support 5A+

The Sparkfun serial motor controller does 2A per channel... oh wait doesn't matter with the step-up.. I guess it can't hurt to try and mod it.


keeper63

You're wading into TLDR territory.


Heck, you haven't gotten to TL;DR territory until you read one of -my- posts; I've got entire books out there on this forum...

:D

/obviously, not this post...
I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

Xenosis

I sympathize with you on the no turning on carpet thing. I got the DFRobot treaded chassis:

and it cant turn on carpet at all... Note, my whole apartment is carpeted except the kitchen.

Not sure about yours but whether or not the wheels are plastic or rubber makes a big difference. I have a different chassis with plastic treads that can turn on carpet. I also have to significantly slow down the motors from their full speed @ 255 to 40 for the treads to not come flying off while its driving.

Going to try possibly wrapping parts of it with aluminum foil and see how that works.

chord

Hi, i boght same motor driver for use with arduino uno and can't control him. Can you say that library you using? How you changing speed of motors?May be you have any sample code.

wgarrido


Hi, i boght same motor driver for use with arduino uno and can't control him. Can you say that library you using? How you changing speed of motors?May be you have any sample code.


I wrote a library to use with the motor controller. You can find it on Github. Just download and rename folder then copy to your Arduino Library folder.

The example will show up in the menu under examples.

https://github.com/FriedCircuits/Dagu4Motor-Library

Let me know if that works for you or if you have questions.

Go Up