I just got my Rover 5 and had pulled the retaining bracket (metal L-brac with two screws inside the chassis) to pull the appendage out to set the height. I think it was an EE solution to a ME problem Unfortunately, if you have track slippage with the low profile mode, adjusting the height up will make it worse.
I have a composite eye (lots of IR) coming in next week to see how the Dagu demo will work. The DFR Romeo will be interesting in running the R5 Motor/Encoder Board (4motors/4encoders), (2) servos and (6) tactile buttons. I think there might be a 74HC595 chip and a dev board in there.
Thanks to Nick for opening this thread. I look forward to any further developments to this platform.
Hello! i have a problem, when logic power on Dagu is NOT powered from Arduino, motors rotate easily in both directions, but when i connect logic power (5V) from Arduino, motors begin to rotate harder in one particular direction. Firstly i connected logic from 5V Arduino pin which is near analog pins, then i tried to connect from ICSP pins, same result. Then I've done everything exactly like you to exclude my mistakes, but it doesn't work.
P.S. Moreover i bought two Arduinos and two Dagus, I thought i fired smth, but motors bahaves on both.
P.P.S Everything works fine with Pololu motor driver shield and Arduino - motors rotate easily in both directons.
Yes, with Pololu Shield works fine. I wondered if there was some secret may be with Dagu, but if you don't know the exact reason, it can be anything) Nevertheless thank you for the reply and for your project!
I don't see why not. The board shown does other stuff like encoder inputs and current detection. A simple driver (suitable for the motors) should be all you need.
Thank you = ) At this point the encoders are excessive -I guess- for me. I won't use them for my current project. Buying that 4 channel would be more convenient however I have've limited time and if a delay happens during shipping it won't be good for me : ) If I get stuck I'll get some help from the driver's schematic : )
I have a Rover 5 with 4 motors/encoders and use the Dagu 4 channel motor controller. I use the current sensing feature of the motor controller. Powered from a 2S Lipo at full PWM the motors draw about 1A /motor when turning left/right (when going forwards/backwards the motors draw less current). Stalled these motors draw over 3A a piece. I have used a cheap L298 board from Ebay on another robot and have taken a good look at the datasheet of the L298 chip. There are some things you need to take in to account. If you are pulling 1A from one channel of an L298 you will have a voltage drop of 1.8 - 3.2V on the output. That also means that a serious amount of heat is wasted in the L298. You need a big heatsink to dissipate that heat. The Dagu 4 channel motor controller uses fets with a very low RDSon, so there is only a tiny voltage drop. So no power is wasted and a heatsink is not necessary. The Dagu controller was especially designed for the Rover 5 and is rated for 4A stall current / channel.
Here is a photo of my Rover: http://www.bajdi.com/?attachment_id=623 It's my "development platform"
I've manage to put together a small rover based on same motor control board and Leonardo.
Only one difference I have 4WD, so I will modify it in order to handle all 4 wheels, if you don't mind.
I solve my problem with JST by just wrapping bare wire around prongs, no pretty by will work for now.
Hi Nick,
This is quite a long lasting thread. Like the rest, I've recently bought a 2-motor Dagu 5 rover and I also have the motor shield you seem to be using.
Firstly, I have a bit of a problem. Just to test out the Rover, I hooked up the rover to my Arduino Uno just like you have, also neglecting the encoders and I ran your code. When the rover drives, it favours the right rear motor (making it veer to the right). Any ideas on how to remedy this?
Secondly, my rover needs to navigate an obstacle course and hence needs to know approximately where it is. You mentioned above about using the encoders to determine the no. of revolutions of each wheel. Now, I'm what you would call a 'complete novice' when it comes to Arduino and the like and I was wondering how you would go about using the encoders for this purpose. If you had any instructions for me, or could point me in the direction for some help, I would be greatly appreciative. Cheers!
I doubt the motors all have identical performance, so it is quite likely it would veer a bit. You could try to determine what factor to increase/decrease that motor by to compensate.
You mentioned above about using the encoders to determine the no. of revolutions of each wheel.
I have a snippet (small example program actually) in the section "Reading the rotary encoders". You could incorporate that to find out whether one wheel is moving faster than the other and perhaps use that as a motor compensation.
However this will be thrown out if the track spins, which it tends to a bit, because if one spins a bit as it comes up to speed the number of counts won't reflect which way it is going.
If you are negotiating an obstacle course a proximity sensors might help keep it going straight. For example, sideways mounted IR emitters/detectors could be used to make sure it is in the middle of the current lane. I haven't tried this, it's just a suggestion.
Compensate by adjusting the PWM value of a particular motor? That's a good idea!
What kind of battery would you recommend to power the motor shield? At the moment, whilst I'm getting my bearings I'm just playing around with 6 regular Alkaline AA batteries but what I've heard is that these may provide an unreliable current/ current drops off quite quickly. I looked at LiPo but they seemed quite expensive at JayCar (~$70 for 12V 3600mAh). Is a regular 9V battery ok for supplying power to the Arduino board?