Help me to make my balance robot standup right

my_balance.txt (15464Bytes)

hello 

I made my first self-balance robot using:

-arduino uno

-TB6612FNG dual motor driver

-motor DG02S

-MPU6050

-châssis home made

-Kalman filter

-PID for PWM

-DFrobot battery 7.4v 2200 mAh

the problem is:

when pwm is under 50 the motor don't move !!

and the robot not stable in hard ground , but in Carpet is better; but not stant all time ;it move and fall !!

where is my problem in ?????

Here some photo:

 

VIDEOS

http://www.youtube.com/watch?v=afl0hwmtQik

http://www.youtube.com/watch?v=Yka94f-eEUU

http://www.youtube.com/watch?v=2h330kieIWc

https://www.youtube.com/watch?v=afl0hwmtQik

**Hi,

I have not built a**
Hi,

I have not built a balancing robot, but am working on it now, so take my advice with a grain of salt.

First, it would help us to see a picture of the robot.

Second, the motors are only 3 volts at 65 RPM.

Question: If you pick the robot off the ground and then tilt it a bit, do the wheels react properly? I believe they should rotate in the direction of the tilt to try to get the robot back to straight.

What is the power source for your motors and electronics?

balance and pwm

Almost all motors exibit similar behavior. They do nothing then seem to break free. Usually very much load dependent. Once you can characterize the response it may be possible to tune the PWM for your partcicular application. Then again, perhaps your motors are uable to respond as needed.

You also may need to match the wheels (diameter, width, hardness) to your environment.

 

** If you pick the robot off**

 If you pick the robot off the ground and then tilt it a bit, do the wheels react properly?yes but the wheels react until reach a small tilt , before that ; I hear only motor sound without running.

power from:

DFrobot battery 7.4v 2200mAh

 

I tried to change frequency

I tried to change frequency from

nothing happing

I used other wheels

MiniQ Motor Wheel Set w/ Encoder 

13000 rpm @ No Load
• 50:1 Gear Ratio
• 260 rpm @ 6V
• 40mA @ 6V
• 360mA Stall Current @ 6V
• 10 oz inches Torque @ 6V

the same problem !


 

What voltage are your motors
What voltage are your motors being run at? Where are you getting this voltage from (from the Arduino or from the battery directly)? What is the weight of the robot?

My suspicion is that the weight of the robot is too much for the motors.

Have you done the experiment I suggested? Just pick the robot up and tilt it a little. Do the wheels move properly? If the motors run while in the air, I think I’m right.

Your motors have a torque of 10 oz-in. Balancing robots can be simplified by physics into a lever that is being controlled by the wheels. So if your robot is five feet high, then a motor puts a force of 2 oz at the top of the robot. If the two wheels are going in them same direction, you’ve got a force of 4 oz. I don’t think this is enough to start the robot from a cold start.

Also most of the algorithms I’ve seen for balancing robots require knowing the speed of the wheels and I don’t see any evidence of encoders on either the wheels or the motors. You can do it without encoders, but it will probably be more jittery and it will be more difficult to keep it straight.

EDIT: rewrote a small section and changed wording to make sense.

What voltage are your motors

What voltage are your motors being run at? Where are you getting this voltage from (from the Arduino or from the battery directly)?

I changed my motor by another one 260RPM/6v/10oz=283 grams.

I’am not getting voltage from arduino; I getting voltage from ‘‘TB6612FNG dual motor driver’’  which bypass battery   voltage

directly to motor  ''battery 7V 2200mAh  ‘’

 What is the weight of the robot?  robot weight :315g wheels / weight:20 each one 

Have you done the experiment I suggested? sure ; I said when I tilt robot a little bit (may be 3 or 4 or 5 degree )nothing happen

I hear only the motors sound and the  motors do not move, but when I tilt a robot more(may be more then 5 degrees) the wheels

move properly

 

 

why the robot not stable in hard ground , but in Carpet is better ??? 

Is the land friction  our problem ??


 

 



I strongly feel that either
I strongly feel that either your motors are too small for the robot, or your motor control code isn’t working to give you the full strength of the motors. However, I think you need larger motors. If these motors are 10 oz-in, and the robot is 5 inches tall, then each motor can produce a force of 2 oz at the top of your robot. With the best case of both motor going in the same direction, you have 4 oz force at the top of the robot. This is the ideal case without friction.

If you tilt the robot about

If you tilt the robot about 5 degrees as you say do the motors rotate smoothly and slowly with some torque?

Try finding the lowest PWM value where the motors begin moving and adjust the PWM value your PID function gives to stay over this minimum. The map function may be helpful.

(I admit I haven’t looked at the code)