Shop OBEX P1 Docs P2 Docs Learn Events
Rover 5 Projects and Information - Page 3 — Parallax Forums

Rover 5 Projects and Information



  • rwgast_logicdesignrwgast_logicdesign Posts: 1,464
    edited 2013-03-05 13:16
    I did a lot of testing with PWM at different frequency's last week, after some one else had referred me to the thread Erco just posted. I have come to a few conclusions, and I think both camps, the hi and the low frequency crowd are right, but I also think the best frequency is very subjective according to the task at hand and the H-Bridge used. I believe the best solution is to dynamically change the frequency according to the situation at hand.

    First of all one of the biggest problems I see with hi frequency PWM is that you need to have an H-Bridge that can handle it. I think Duane said at 20Khz he needed to use at least a 50% duty cycle to get the rover moving, after reading this I took a look at the l298 data sheet, and it just doesn't switch fast enough. The other problem with hi frequency PWM is heat, since the pulses are shorter the H-Bridge tends to spend much more time on than it would with a medium range PWM carrier, I've also noticed my H-Bridge heats up at extremely low frequency's like 30Hz.

    So I use the STM l6205 H-Bridge, the same chip that was on the discontinued Parallax Robotics Board, it is a pretty nice chip a lot of extra features and it can switch up to 100Khz (actually it can do more like 120Khz, but that is out of spec). Now with a chip that can switch that fast I have found that the higher frequency's i.e 30Khz - 50Khz run very very smooth, and the motor/gear train sounds much nicer. At those frequency's I am limited from about 12% to 100% duty cycle, and anything under 20% definitely needs feedback to help adjust the torque. One thing I have been working on is something called an S curve ramp, vs the linear ramping commonly used, combine a hi frequency PWM and nice smooth ramping and you should get pretty darn good accuracy. Anything over 50Khz, just makes the H-Bridge run a bit hotter than I like, and doesn't seem to run any smoother, although if I were using different motors or an even faster H-Bridge this may not be the case.

    Now according to Erco lower PWM frequency's are better. Erco knows his stuff so I right away went to test out if I actually got more torque at low frequency. I found that I get much more torque around 100Hz and I can run my duty cycle all the way down to 7%. Also if the noise at 300Hz and under is not annoying what so ever. Since I am using a sting ray which has motors geared relatively low I wanted to try to take this to the extreme and see how much torque I could get, so I kept setting the frequency lower and lower, well anything under 50Hz once again heats up the H-Bridge and makes the wheels stutter. I think that for general romping around the house a low frequency works quite well, well say in the 60-300Hz range, my sweet spot seems to be 200Hz.

    I think the best idea here would be to determine what kind of situation your bot is in, do you need smooth accurate movements, or do you just want to roll over everything on the floor and then dynamically adjust your PWM Carrier according to that.

    I had a really hard time finding an PWM driver that was just a generic interface to four PWM pins and could operate at higher frequency's The best driver I found was written by Kye, but it would only work up to 8Khz, I asked him if there was any way to get a higher frequency out of his driver, and he re wrote some of it in PASM then mailed it to me. I had planned on posting it with my bots code, but if anyone is interested here it is. Ive tested it up to 200Khz, and it is suppose to do PWM at up to 1Mhz.
  • ercoerco Posts: 20,255
    edited 2013-03-06 15:58
    Another spirited and interesting thread on PWM vs PFM (pulse frequency modulation) at

    PFM is a bit of a misnomer. Basically there is a fixed-length "on" pulse, chosen as the shortest blip that "guarantees" the motor will turn a bit from a dead stop. Then you simply vary the "off" period to change speeds. Sounds reasonable to me. As you can read, I can be just as stubborn and insistent about low PWM frequencies in other forums. It ain't just you guys!
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-03-12 10:37
    Parallax now sells a Rover 5.

    They have the cool looking grey version.

    It's a two motor, two encoder version. I'm not sure how much my code would need to be modified to work on the two motor version.

    The two motor version wouldn't be useful for driving Mecanum wheels, but IMO, the treaded version looks pretty cool too.

    I know I've mentioned several times that SparkFun sells a white four motor/encoder version.

    HobbyKing has two different versions for sale. The two motors and two encoders in white and another two motor version without encoders.

    While looking for parts for my robot arm, I found my other set of Rover 5 treads. I may take erco's advice and cut the spikes off the inside of the tread and move the wheels more extremely round (as in spherical).
  • ercoerco Posts: 20,255
    edited 2013-03-13 17:10
    Duane Degn wrote: »
    Parallax now sells a Rover 5.

    Based on your not so glowing reports, that may be asking for a bloody nose...
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-03-13 20:56
    erco wrote: »
    Based on your not so glowing reports, that may be asking for a bloody nose...

    I think it's an inexpensive way of getting motors with encoders. The two motor version limits its usefulness a bit. I don't see any Mecanum wheeled grey rovers running around in the near future.

    I just finished cutting the spikes of the inside of one of my treads. I'm trying to decide if I should remove any more of the original wheel material or if I should just fill in the center groove and round out the center a bit.

    The Rover 5 has to compete with my robot arm for time now.

    I wonder if a Rover 5 could carry my Smart Arm?
  • hip36hip36 Posts: 4
    edited 2014-04-05 10:54
    Have .you tried a tension pulley like on a 10 speed derail-er?
  • hip36hip36 Posts: 4
    edited 2014-04-05 11:04
    My tripped out mind says the second motors on each side should be electronically clutched, called when needed, and even generate power when coasting or braking. No wonder I have headaches.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-04-05 12:44
    hip36 wrote: »
    Have .you tried a tension pulley like on a 10 speed derail-er?

    No. I don't see a need with this robot. I can't get the robot to throw a tread now no matter how hard I try.

    I have thought I might use some sort of tensioning device when I return to work on my robot using Vex treads.
    hip36 wrote: »
    My tripped out mind says the second motors on each side should be electronically clutched, called when needed, and even generate power when coasting or braking. No wonder I have headaches.

    I'm not sure what you mean by "electronically clutched". Diesel electric trains use DC motors as an "electronic clutch" of sorts since DC motors respond so well to changes in torque requirements. The second motor (and the first) only work as hard as is need to achieve the desired speed. There's much to much friction in the system to worry about braking or coasting.

    The Rover 5 is a relatively low cost way of getting a robot with four motors and encoders. There are lots of other ways to get into robotics besides the Rover 5. If I were new to robotics, I'd probably go with Parallax's Activity Bot as a first robot. I also like Parallax's Scribbler 2 robot. While these ready made robots/kits are nice, it's possible to build a robot for much less money than what these robots cost. I have a thread where I've tried to show how to build a low cost robot.

    One way to get rid of your headaches is to try out the zany ideas that come to it. As my friend erco often says "An ounce of testing is worth a pound of speculation."
  • hip36hip36 Posts: 4
    edited 2014-04-06 18:58
    I just started on my Dagu Rover 5. The real trick to mine is to program an 8051 to work as a motor controller. I proposed to use infrared for anti-crash, color-pal to lay out a course, a keypad to enter pre-programmed patterns, and a 4 button on-off state digital remote run back through the 8051's dac to control it remotely. (That one I am really struggling with.) This is just a baby school project on the 8051, so I don't think pre-designed kits are my best direction. This is just the first out of about 6 courses in my major that should allow me to work with this base. Right now I am struggling with setting up the ports to read the encoder, the program to respond to that signal, and most importantly biasing the circuit properly to not cook anything.
    I sure do miss the days of working 8-10 hours a day, and having the rest of my time to test my ideas, but I do hope to one day get paid for doing just that. It would make this period of days without sleep, or 2 hour naps every other night worthwhile.
    In the meantime, a sounding board to help direct my ideas, even if it is just showing me the reasons my ideas will not work is very helpful. I do hope I can slow things down soon, and find the time to test a few of my ideas, even get to know the kids around school, and what the engineers of tomorrow are interested in today.
    It is also encouraging to find a robotics pro knowledgeable about KERS. That is my true passion.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-04-15 10:00
    I realize this thread has gotten pretty long.

    I speculate a lot about how to best keep the treads from coming off the Rover 5 and I'm not sure if the final conclusions are clear. I just added the text below to post #1 of the thread.
    There's a lot of discussion about how to keep the treads from coming off in this thread. While I ended up modifying the wheels on my Rover 5, I did test the Rover 5 with unmodified wheels. With the treads at the correct tension and with the gearboxes in proper alignment, I wasn't able to throw a tread no matter how aggressively I drive the Rover 5 with either type of wheel. While I think the modified wheel looks cool and the modified wheel does work better in some conditions than the unmodified wheel, it is certainly not necessary to modify the wheels of the Rover 5 to achieve very good performance from the chassis.

    The main factors to keeping the treads from coming off were proper tension of the treads and proper alignment of the gearboxes. One does not need to modify the wheels of a Rover 5 to get very good performance from the robot platform.

    Hip36 and George Sutton's recent inquires about the Rover 5 made me concerned I might not have made my conclusions in this thread clear. I wanted to make sure people know they don't have to start cutting the rims of the wheels of a Rover 5 to get a well behaved robot.

    @hip36, I hope you're getting more sleep lately. While KERS is a very interesting field, I don't think the Rover 5 is a good research tool for the field. The treads and the gearboxes of the Rover 5 make coasting very unlikely. The friction of the system will likely drain any excess kinetic energy before if could be used to recharge the batteries.
  • As erco pointed out in this post, the treads stay on better if the wheels are a bit convex.

    I think this video from Numberphile goes a long way towards explaining why a convex wheel works better in this application.

Sign In or Register to comment.