
rgordon
Here is a gadget that may help some that are using motors instead of servos for motion control. Looks interesting.
Here is a copy of the Product Description:
"Kangaroo x2 adds self-tuning feedback motion control to your Sabertooth or SyRen motor driver. It can be used with quadrature encoders or potentiometers to provide position or speed control. It supports one or two feedback channels.
Feedback control has always been highly desirable for mechanical systems. Being able to tell your device to move an exact amount, at a specific speed or to a certain position, and have it reliably and repeatably do so, regardless of the load or disturbances, has obvious benefits. However, PID and other controllers have to be carefully tuned to get acceptable results. Feedback tuning is difficult, time consuming and requires advanced math and physics knowledge.
Kangaroo x2 is the first self-tuning controller in its class. Instead of requiring you to measure, model and calculate the system, the controller itself will figure everything out after a few switch settings and button presses. In the time it takes to get a tasty snack, you can come back to a perfectly tuned system ready to accept your commands.
Instead of requiring you to use a microcontroller to do closed loop control, Kangaroo x2 works from analog and radio control sources as well as microcontrollers and computers. You can, for example, use it to build that two horsepower R/C servo you've always needed as the final piece of your doomsday device. Just remember who helped when the vaporizing starts.
During operation, you can command speeds, positions or combined commands like "move to 37 inches at a speed of 4 inches per second." You can also have the Kangaroo x2 report back speeds and positions while it is running. A mixed mode allows for unstoppable mobile robots with differential drive or tank style steering.
If you need to get your product under control, Kangaroo x2 is the best way to do it. "
I looked at it awhile back but you need quadrature encoders or potentiometers for speed control, if that's what you need it for.
Lumpy uses one of those. There were some problems with the SendSerial commands a while back, have a read of this.
:)
Maybe Lumpy has had some progress. I hope he chimes in with good news because I would benefit from using some of these. Seems to me this gadget would do what I have seen discussed before about allowing you to control a dc motor like a servo.
The manual they have on the website is pretty informative. I too hope to hear from Lumpy on this one.
If it's anything like some of the serial devices I've been looking at recently the commands often need to be sent in sections for it to work as desired, for instance the manual says the command is;
So for EZ-Script it would likely need to be;
I'm not entirely sure how EZ-Script takes that comma in the command, it may need to be changed to the Ascii hex code 0x2C which would mean breaking the command in to sections. Generally this works OK in my experiences with the TellyMate and LCD displays. So the code in this case would need to be;
Or in just the ascii hex for the command;
There are a few different possibilities, combining hex, dec and strings for example may work.
I'd love to have one to mess around with and see what works but funds are pretty much non existent right now but if anyone does get one, or if Lumpy still hasn't figured it out I'm more than happy to shoot over a few scripts to test and see if they work.
In Lumpy's topic, the comma was missed. We never heard if it worked or not but if it didn't this may very well be why.
Hey,
Yes I did get it to work. There were a couple of commands that were only mentioned once in the manual that I had missed.
"All commands consist of a channel number, the command, followed by a comma, and a newline (Enter key)"
Here is the command line that I use to control my R2's dome.
Dome Center - SendSerial(D0, 9600, "1,p2450 s800", 0x0d, 0x0a) Dome Left - SendSerial(D0, 9600, "1,p3675 s800", 0x0d, 0x0a) Dome Right - SendSerial(D0, 9600, "1,p1225 s800", 0x0d, 0x0a)
D0=EZ Robot Port 9600=Baud 1=Motor Channel Pxxxx=Position sxxx=Speed 0x0d=Return Key * 0x0a=New Line*
*These two items are what caused me grief for about a week. Once I added them to the command line everything began to work.
KanagrooX2 module works great. It is precise and very easy to use once configured.
Any questions just ask away.
I use Hotpot/Softpot potentiometer(s) to provide feedback input for my application.
SoftPot HotPot
I also have a new dome drive motor with built in encoder, just haven't had time to try it out.
Thanks for the replies, Lumpy.
We appreciate you relating your experience with it.