Hacked chassis' moves too fast or not at all

So I built three little bots so far. 

One with a raspberry-pi, (6V motors):  

AJ45l.jpg


One with an arduino (12V motors):  

f6NUt.jpg

And another with an arduino but a hacked remote car (7ish, volt motors):  

Rr5fH.jpg


The problem I have with all these is that the motors spin so fast the car just bumps into something in a few seconds. (I have a small house)

I tried to use PWM to control the speed, but a little less than full throttle (255) they jam up and they can’t take the weight I put on them?

Should I buy one of these chassis that slow the motor down and give it torque with a gearbox, or is there anything else I can do?

I’m in love with the wild thumper chassis but it’s so expensive it’s killing me inside! :’( Has anyone has luck with a slow (or really slow) speed on the thumper? As a decent beginner (I’m a solid programmer, newbie with electronics) will I be able to get upto speed with the wild thumper and it’s controller board?


<incorrect reply>

Questions…

Whats H-Bridge are you using for each bot? (Just curious)

What RPM motors are the center spindal motors? 

Can you post a snippet of code you use to control the motors with?

I used an L293D.The first

I used an L293D.

The first robot (in my post) has a 6V motor. Not sure about the RPM. The second has a 12V motor, 300 RPM and the third, since it’s a hacked remote car, from multimeter readings I can see the motors are taking about 6.8V.

 

Code looks like this:

//first motor

int enablePin = 11;

int in1Pin = 10;

int in2Pin = 9;

//------------- second motor

int enablePin2 = 6;

int in1Pin2 = 7;

int in2Pin2 = 8;

void setup() {

    pinMode(in1Pin, OUTPUT);

    pinMode(in2Pin, OUTPUT);

    pinMode(enablePin, OUTPUT);

 

    pinMode(in1Pin2, OUTPUT);

    pinMode(in2Pin2, OUTPUT);

    pinMode(enablePin2, OUTPUT);

}

 

//--------------------

void loop()

{

 

    int spd = 255;

    forward(spd);

    delay(4000);

    reverse(spd);

    delay(4000);

    left();

    forward(spd);

    delay(4000);

    right();

    forward(spd);

    delay(4000);

    stopMotors();

    delay(4000); 

}

 

//--------------- utility 

 

void right()

{

  setMotor1(255, false);//false==left  

}

void left()

{

  setMotor1(255, true);//false==left  

}

void setMotor1(int s, boolean reverse)

{

  analogWrite(enablePin, s);

  digitalWrite(in1Pin, ! reverse);

  digitalWrite(in2Pin, reverse);

}

 

void setMotor2(int s, boolean reverse)

{

  analogWrite(enablePin2, s);

  digitalWrite(in1Pin2, ! reverse);

  digitalWrite(in2Pin2, reverse);

}

void stopMotors()

{

  analogWrite(enablePin, 0);

  analogWrite(enablePin2, 0);

}

 

void forward(int s)

{

  setMotor2(s, false);

}

void reverse(int s)

{

  setMotor2(s, true);

}

 

The motors do not have enough torque

Get some geared motors with a high gear ratio something between 100:1 to 200:1

Yep, I’m glad you

Yep, I’m glad you concur! 

That’s why I figured I might as well just buy a robot chassis like the rover 5.

 

I would mention,

one of our members, basile or Bajdi, located an inexpensive 4 wheel drive platform on eBay for $26 shipped, I believe. Mind you it is merely a couple pieces of plastic and 4 smallish GearMotors.

EDIT: There is about $4 shipping.

Though I could be wrong.

I dropped using the L293 a while ago and it may not be fresh in my head any more.  Forgive me if that is the case.

Ignore.

Please ignore.  I was thinking about the wrong chip.

A bit off topic, but,

looking at your code forward() and reverse() only send commands to Motor2. Am I missing something?

Yep. This is for a hacked

Yep. This is for a hacked toy RC car.

There is one motor to make the thing go forward and back and this is tied to the back axel.

There is a second motor in front that move the wheels left and right (like when you move the steering wheel in a car). So one motor to turn, and another to drive forward and back.

yep. So I bought

yep. So I bought motors+gearbox with 45RPM and it’s working!!! :smiley: