Help: First Robot Project - Turning on Carpet Using Tracks

Have you tried turning on carpet with direct battery power? If it works, that means your motor amplifier can't supply enough current to the motors. At MAX, is there still a pulse on the output of the amplifier?

If both of these are true, the solution is to either put an inductor and capacitor tuned to the frequency of the PWM and current drain of the motor, beween the amp and the motor, or lower the frequency of the PWM because the inductance of the motor is too high for the for the period of a power pulse.

Reducing the gear ratio is "a" way of doing it, but 58:1 vs 203:1 is a huge difference and would probably be much less efficient.

Reply to
Loading thread data ...


Well I finally figured out my PIC motor module circuit problem ( had a ground pin just ONE notch over on the breadboard so the second Vss on the PIC16F876A wasn't grounded - duh! ).

Today I finally put the hardware together to test the motors speed and direction using my test program. Anyway, on a smooth surface (lino) in the kitchen it turns fine. It also runs fine in forward and reverse on carpet.

However even at max PWM it won't turn on carpet.If you hold the robot (not on ground) while the motors are running and then place it on the carpet, it will turn quite quickly for a couple of revolutions and then come to a stop before resuming the forward and reverse blocks of code OK.

The hardware drive system is based on the Tamiya twin motors ( ~3-6 V ) gearbox kit #70097. Two possible gear ratios are possible using this kit: 58:1 (high-speed ) and 203:1 ( high-torque ). It is built on the high-speed ( 58:1 ) ratio at the moment. It is driven by a TI L293DNE via a PIC16F876A using two PWM channels.

Q: Would the differential turning problem on carpet problem be successfully addressed rebuilding the gearbox using the high-torque ratio option, or is it likely to be another problem?




Reply to
Dale Stewart

Assuming a sign-magnitude PWM implementation (one line for direction control, one line for pwm):

Check first to be sure your motor has sufficent power to turn the robot on the carpet. max pwm is normally a 100% duty cycle pulse the equivalent of full-on, or 50% for locked-antiphase, but there could be a problem with your implementation. Try hooking the batteries up directly so you're certain that you are getting full power.

If you can turn with the batteries hooked up directly, then you should check the pwm output with a scope, since it may be that the actual PWM output isn't what you expect it is. Normally, "max" shold be a steady signal (again, assuming sign-magnitude).

If the pwm signal is as expected, try lowering the frequency to see if you get any improvement, although with the Tamiya this is probably not the issue, especially if if you see the problem at 100%.

If the robot won't turn at full power, then the motor output is inadequate and you should go with the higher torque option. My guess is that this is your problem, but it's hard to know without seeing the platform itself.

Hope that helps -- m

Reply to
The Artist Formerly Known as K

Don't forget that tanks turn by slip steering - very hard to control, very inefficient. Also hard to make controlled turns without an external reference point.


Reply to

Oops -- 50% for locked antiphase would be full off -- sorry bout that. Must... review... before posting...

Reply to
The Artist Formerly Known as K

Hi everyone.

OK. Thank you for everybody's kind suggestions, here is what I did so far.

( As I am only a recent student in electrotechnology, I haven't implemented some of the other more advanced solutions - I simply am not at that level yet. For me this is a KISS project : Keep It Simple Stupid ! )

I powered the Tamiya ( ~3-6V ) twin gearmotors directly ( no MCU, no L293DNE motor driver, no software ). Here are the test results for testing motor speed and direction ( turning both directions ) on carpet:

Observations & Results:


Voltage ( V ) Turning Speed ( rev/s) Remarks

--------------------- -------------------------- --------------

~ 7.2 --- Class 5 beserk robot tornado ( can't measure it! )

~ 4.8 --- Class 4 beserk robot tornado " " "

~ 2.4 1 Still pretty quick, but a lot better

  1. Robot turns easily on carpet, even when motors supplied at low voltages.



Robot will turn on carpet OK, even at low voltages. Not a mechanical cause for not turning on carpet ( turns OK on smooth surface ) when driven by MCU and L293DNE motor driver via 60 - 100% PWM.

Any more observations or suggestions please are welcome.




Reply to
Dale Stewart

You're likely either not actually getting 100% pwm, or the L293DNE isn't giving you full power out. Try hooking up the PWM output to a scope and see what you get.

You can also try applying a steady signal to the 293 to see if it really gives you full power. Check the output voltage and just try it out with the motors hooked up.

Reply to
The Artist Formerly Known as K


Class 5 beserk robot tornado ( can't measure it! )

Class 4 beserk robot tornado " " "

Still pretty quick, but a lot better

First problem is the voltage in column 1 is your problem. Though Tamiya never really specs the voltage, the RE260 motors are designed for 1.5 to

3 volt operation. IMO, the mechanics of this kit also don't allow for very high RPMs of the gearings. You're talking about two complete gearmotors for $10 total. Nice price, but don't expect mechanical miracles.

Keep the operating voltage to 3 volts. When it comes time to use a motor bridge, use a bipolar type like the LM293 (or make your own with discrete transistors), and remember the voltage drop.

As to why it's not turning on carpet, can you be more specific what that means? Are the motors stalling out, or do the treads just slip over the carpet without making any traction? Big difference there...

-- Gordon

Reply to
Gordon McComb

Hi Gordon.

Thanks for your reply ( by the way I have bought one of your books ).

Sure thing Gordon. I bought these because they were handy ( just 5 minutes ride on the bicycle ), cheap, and flexible for my first project. I am running 4.8V of juice through the motor driver, but will soon be retesting different% PWM duty cycle with the goal to lower the voltage through motors.

Affirmative, Gordon.

I have now resolved the problem. Yes I should have been more specific, the motors were stalling on carpet using either the L293DNE ( 600mA per driver channel ) or SN754410 ( 1A/driver channel ) half H-bridge drivers.

The problem was that in my test program, at the lower % duty cycle of PWM the motors stalled, causing a fault in the motor driver, then causing a flow on effect to the next block of code of my test program.

It was hypothesised ( by me ) that the current draw was too much for the motor driver chip, triggering the chip's thermal shutdown feature, causing the rest of the turning test code not to execute. My test program was to loop through 60-100% PWM duty cycle, but because of the thermal shutdown at 60% PWM duty cycle, the other code that was to execute ( 70-100% PWM duty cycle sequences ) -- didn't.

The 60% PWM duty cycle was eliminated and substituted for 90-100%. Guess what? - it worked fine and the robot turned on the carpet via either of the motor driver chips mentioned above!!! So I guess the hypothesis was true!

However, then one of the tracks kept coming off! When tightened, this cause too much tension. Result? - the motors stalled!

So I then decided to go with the HI TORQUE option gear ratio of 203:1. This meant pulling aprt the gearbox and rebuilding it, then having to take out a linkin each in the tracks. Anyway, to cut a long story short, it now turns a breeze at the higher torque, the tracks stay on, and it turns at about

0.4 rev/s ( maybe a little too fast ).

The next phase of testing the motor drive system is to see what the lowest % PWM duty cycle/voltage is with the HI TORQUE grear ratio and to see if the robot will turn at a lower % PWM/voltage to place less ' voltage stress ' on the motors.



No doubt I will be bugging you blokes once I finish testing the motor drive system and moving on to other systems!

ps Can anyone please recommend the minimum specs to look for in a digital camera to take pics of my project? It would need to take close-ups of the breadboard circuit, and eventually my own PCB. I plan to publish my project on my web site so it will benefit beginners like myself.

Also will be a beginner's perspective on programming PICmicro MCUs using CCS C as a complete project.

: -]



Reply to
Dale Stewart

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.