Using the L298 motor driver module with FEZ Spider to drive the Dagu Rover 5 chassis (version with 2 motors+encoders), I’ve been surprised to find that even on fresh batteries (6xAA alkalines in the holder that came with it) it doesn’t seem powerful enough to get around successfully. It can limp along forwards or backwards but can’t summon up enough power to turn, just sits with the motors whining. I’m sure I’d seen others make use of this combination successfully, should this have worked for me straight out of the box, or are there any tips what I might need to adjust to get this working reliably? I’m not (yet) doing anything more complicated than setting both motors to 100, or both to -100, or one to 100 and the other to -100, etc., and it’s only carrying a Tamiya plate with components bolted to it.
@ RorschachUK - I’m also interested in hearing the answer to your question…I just picked up a Rover 5 recently, and I’m planning to get it hooked up to either my Spider or Hydra very soon.
Which Rover 5 did you get? The two motor or the four motor version? I’ve got the 4 motor, 4 encoder version. Just wondering whether the issue might have something to do with trying to run too many motors from the single battery pack.
Two motors plus encoders (which I haven’t hooked up yet - not much point if I can’t turn), assumed two would be sufficient else why sell it? I’m not trying to put too much weight on it, so if it’s no good for this, what would it be good for? Marco Minerva and Mike Dodaro have blogged about the Rover with one motor driver and two wheels. I originally meant to use the Cerbuino as a ‘driver’ with Spider maybe operating a radio base unit or telemetry receiver or something over Xbee, but Cerbuino can’t use the motor driver for now. If it’s a mechanical problem, I’m still searching for instructions on adjusting the wheels - maybe reducing the tracks tension might help. If it’s an electrical problem, I’m wondering if I can diagnose with a multimeter, maybe the H-bridges are supposed to be outputting the full voltage coming in at the inputs, or if different batteries might help. I might try bypassing the H-bridge and directly wiring the batteries to the motors with one having reverse polarity, see if it can turn on the spot that way - if so might suggest it’s a problem with the L298 module?
@ RorschachUK - I got the four motor version because I’m using it with omnidirectional wheels instead of the treads. Agree completely that if you’re using the treads 2 motors is all you need.
I’ve tested my Rover 5 by directly connecting the battery pack to each of the wheel motors individually, and the motors all seem to turn just fine with the full 9v. I don’t have the official L298 module, but I have a couple of very similar motor drivers, so I’ll try to get them hooked up and run a test today and see if I see similar results to yours.
Revisiting this - I suspect my L298 motor driver module might be faulty, the output on one side is consistently lower than the other, and I frequently see three of the four LEDs lit where I might logically expect to see only two - as if two are in opposition. If I disconnect everything from the motor driver so it’s connected to the mainboard but not to the motors or power, I still see this odd behaviour with the lights. Is this likely to be a dead diode or something? Do other L298 module owners see the same thing? Is there anything I can do to diagnose further with a multimeter?
I make a LOT of robots and I have used l298d in many of my projects.
Check if your l298d is heating up,
Test your motors directly with a power supply.
use a oscilloscope to check the out put of the l298(whether proper PWM is being generated or not)
also check the voltage on logic pin for input to the l298.
does your multimeter has a % mode (tell you about the high to low time ratio).
and post the results.
When it’s moving like that, the object detection isn’t really engaged although it’s still providing a distance reading that’s currently just being ignored, so yes more for appearance there - I’m playing about with lots of different modes though, made much easier due to using Architect’s Chucky module with the Wii Classic controller, which means plenty of different controls and buttons enabling plenty of different control configurations to try. Can also have the head follow objects autonomously as in the original “Mr General” Dagu Arduino project, the intention is for the vehicle to be following the objects too to maintain a fixed distance, but this is currently hampered by my problems with the motor driver module, because any algorithm trying to drive autonomously always hits a point where the motors just whine piteously and it sits there not knowing what to do… Other interactive modes include moving the head independently with the right thumb stick while the left controls the vehicle, or can switch to tank-style control of the two tracks with two sticks - lots to play with, I just need to get it moving and turning more reliably before it can successfully be properly autonomous. I had to switch the servos out to OutputCompare instead of proper PWM, because the two servos and two motors were too many timers (or something) resulting in their movements getting sort of entangled if I tried to move them all at once - certainly the object tracking works better on real PWM rather than OutputCompare, though. With the new SDK release including Seeed drivers for Cerbuino I will probably move the OLED off the Spider-based Rover onto the Cerbuino-based control unit to display telemetry, will also try adding a GPS tot eh vehicle for outdoors operation, should be able to register a few waypoints then traverse a circuit from one to the next - so long as it can actually turn round corners by itself of course! I currently think it’s not right for it to be displaying three out of the four LEDs lit on the L298 module simultaneously, seems like these are in two pairs for polarity where either one or the other or neither should be lit (representing forwards, backwards or off) but not both in one pair, which is what I’m seeing on one of the motors.
I’m working on a similar idea for my rover - I’m planning on using an RC truck chassis w/ two motors and (likely) 4 wheel steering, so that bit would be different, but the way point tracking should be cross-platform. Be glad to share code to get a library going if you want to collaborate.
One of the things I’ve been thinking about is how to get a “known” point for the robot to reference, but knowing that the GPS is accurate within around 10 feet, I want the robot to auto-adjust when it gets to another known waypoint. Was thinking of using RFID tags/reader to get a more accurate (through encoded calculated distances) between the two for more precise positioning.
Also, I’ve got an L298 module and haven’t had the problems you are experiencing so far. I do have the issue where the M1 and M2 connections are labeled incorrectly, but that seems to be it so far.