Forum >4WD platform problem
4WD platform problem

Hello,
I have bought the robot kit ''4WD Mobile Platform (Arduino Controller)'' with a Romeo All-in-one controller. I assembled it using the video tutorial linked on your website and programmed it and everything was working fine.
Recently, the motors were barely working, so I thought it was just that the batteries needed to be changed, but when I put new batteries in, it was still barely working. The motors work so slow that when i put the vehicle on the floor, it cant even move because of its own weight.
I unplugged the motors from the Romeo board and plugged them to an outside voltage source and as I turned up the voltage, the motors were responding great. I'm wondering if my problem might be the input voltage I use to power the Romeo board and the motors. As per the video tutorial, I used the included 5 x AA battery holder connected to the switch and then to the Romeo board motor power input, being careful to connect the ground to ''GND'' and positive wire to ''Vin''. Then I connected the motors by pairs on the motor terminals A and B, again like the tutorial said. Is that the proper way to connect it? What could be my problem? Did I somehow ''fried'' a chip or damaged the Romeo board? How can I test to know what the problem is? And also, how can I avoid this from happenning.
I should mention that in my code, when I set the speed of the motors, using the PWM that are located on pins 5 and 6, i used a value of 200. On the sample code, there's a value of 100, but at that intensity the vehicle was going much slower than the 90cm/s it's rated for... but what is the limit value we can use with the PWM without driving too much current through the Motor terminals?
Thanks a lot,
Samuel Lassonde
I have bought the robot kit ''4WD Mobile Platform (Arduino Controller)'' with a Romeo All-in-one controller. I assembled it using the video tutorial linked on your website and programmed it and everything was working fine.
Recently, the motors were barely working, so I thought it was just that the batteries needed to be changed, but when I put new batteries in, it was still barely working. The motors work so slow that when i put the vehicle on the floor, it cant even move because of its own weight.
I unplugged the motors from the Romeo board and plugged them to an outside voltage source and as I turned up the voltage, the motors were responding great. I'm wondering if my problem might be the input voltage I use to power the Romeo board and the motors. As per the video tutorial, I used the included 5 x AA battery holder connected to the switch and then to the Romeo board motor power input, being careful to connect the ground to ''GND'' and positive wire to ''Vin''. Then I connected the motors by pairs on the motor terminals A and B, again like the tutorial said. Is that the proper way to connect it? What could be my problem? Did I somehow ''fried'' a chip or damaged the Romeo board? How can I test to know what the problem is? And also, how can I avoid this from happenning.
I should mention that in my code, when I set the speed of the motors, using the PWM that are located on pins 5 and 6, i used a value of 200. On the sample code, there's a value of 100, but at that intensity the vehicle was going much slower than the 90cm/s it's rated for... but what is the limit value we can use with the PWM without driving too much current through the Motor terminals?
Thanks a lot,
Samuel Lassonde
2011-01-18 21:41:57 Did you get this working? I ordered the kit and hope I don't run into something like this. I am going to use a lithpoly 6Ah battery from sparkrun and a step-up to power it.
mobilewill

2010-12-16 22:11:02 int E1 = 5;
int E2 = 6;
int M1 = 4;
int M2 = 7;
void advance(char a,char b)
{
analogWrite(E1,a);
digitalWrite(M1,HIGH);
analogWrite(E2,b);
digitalWrite(M2,HIGH);
}
void setup()
{
for(int i=4;i<=7;i++)
pinMode(i, OUTPUT);
}
void loop()
{
int value = 150;
advance(value,value);
delay(500);
if(value <= 240) value += 10;
else value = 150;
}
Try the code and observe the responding of motor.
Maybe your problem is not caused by the connection and the wiring of hardware.
If the input power is 6 volts , the PWM value is about 120 at least to drive the motors working slowly. So the input power for the sample code maybe higher.
And you could use a value of 255, then using a voltmeter to measure the volt between motor terminals A and B to find out whether the problem is caused by Romeo or motor.
output = value/255 * input
input: input power
value: the PWM value
output: output power
Lauren
Lauren
int E2 = 6;
int M1 = 4;
int M2 = 7;
void advance(char a,char b)
{
analogWrite(E1,a);
digitalWrite(M1,HIGH);
analogWrite(E2,b);
digitalWrite(M2,HIGH);
}
void setup()
{
for(int i=4;i<=7;i++)
pinMode(i, OUTPUT);
}
void loop()
{
int value = 150;
advance(value,value);
delay(500);
if(value <= 240) value += 10;
else value = 150;
}
Try the code and observe the responding of motor.
Maybe your problem is not caused by the connection and the wiring of hardware.
If the input power is 6 volts , the PWM value is about 120 at least to drive the motors working slowly. So the input power for the sample code maybe higher.
And you could use a value of 255, then using a voltmeter to measure the volt between motor terminals A and B to find out whether the problem is caused by Romeo or motor.
output = value/255 * input
input: input power
value: the PWM value
output: output power
Lauren
