
maleche
I have a 2x32 Dimension Engineering motor controller (actually have six 2x60's, two 2x25's, two 2x10's). I have used them to control wheelchair motors for robotic projects.
I love the EZ-B application when using the servo app (mobile) joystick which is VERY smooth. However, when controlling the 2x32 using RC mode, it responds great, but when the Joystick is "autoreset" (center), the motor still runs, but very slow. Looks like the lowest position was sent to the controller, but not 90 degree (stop motor).
I had to add a "STOP" button and script SERVO(D0,90),SERVO(D1,90) to stop the motor.
I like the servo control but am thinking I should use the Serial protocol to control the 2x32.
Anyone had success with either protocol and the servo joystick?
thanks!
Doyle
Upgrade to ARC Pro
Get access to the latest features and updates with ARC Early Access edition. You'll have everything that's needed to unleash your robot's potential!
Because it doesn't sound like you are using the concept of a movement panel. Click on the words Movement Panel that are in blue, as that means links.
To find more, use the learn section. You can click on that word as well.
Alan
Great response and advice here!
I looked at the Movement Panel and used it, however, i like the servo joystick style widget to drive the bot, like a PS2 joystick.
Is there a way to code the stick?
I want to use the mobile app to drive.
I have a STEM show in 2 weeks.
Check us out!
Www.kitsapcreate.org
Thanks for the great advice!
Keep 'em coming!
Best,
Doyle
It isn't that you added speed control, it is that when speed ramping is enabled using Describe software, it behaves very much as if there is speed control. When you push the stick in any direction, it ramps up to full speed rather than jumping there. Unlike real speed control, it will still get up to max speed no matter if you push the stick a little or a lot, so if you don't want full speed you either need a custom movement panel, or need to feather the control on and off, but it has proved more reliable than R/C mode and the continuous rotation movement panel. I suspect the PWM settings are slightly off from a standard servo (as the OP pointed out, after movement, when the stick centers, the motors keep moving. Previous users have reported other more serious reliability issues (mostly not working at all, but it was some time ago, and I can't locate the threads now).
I think adding encoders and the kangaroo daughterboard can solve the reliability issues of R/C mode. Haven't tried that myself yet.
Alan
pcb assembly
I had a 13 hour flight today, so I added variable speed to the sabertooth control. I'll release it this weekend for you to test with.
Thank you DJ!
I will start posting pictures of the build soon.
the controller is set to accept legacy serial and it works. However,
I measured voltage at each motor power output and notices that they are not equal.
while the slider is a the bottom (0), one motor (left) start is slowly turning @ 1.2v while the other is off @ 0v.
using the slider at half way, I get ~5v, and the other is 2.5v.
full power (slide max up), the voltage power appears to shift. the left motor is roughly at 60% and right at 100% power.
could this be serial problem? I attempted to tune the Sabortooth 2x32 using the software application from Dimension Engineering and could not balance the motor output.
that being said, is there a way to monitor the serial command output from EZ-B ioTiny (port 0) while sending commands?
Best,
Doyle
If you wish to set the speed specific, use the setspeed() ezscript command.
Code:
this gave me a way forward.
sendserial(D1,19200,0)
sleep(200)
# sendserial(D1,9600,127)
# sendserial(D1,9600,255)
# sleep(5000) #run both channels full for 5 seconds
sendserial(D1,19200,0) #stop both channels
repeat ($v,0,127,1)
Print($v )
sendserial(D1,19200,$v)
sendserial(D1,19200,$v+128)
sleep(250)
endrepeat
sendserial(D1,19200,0) #stop both channels
both motors started at full and when $V got to about 65, the motors stopped. then increased to full again.
I thought they would stop around 90.
what am I missing?
thanks,
Doyle
Code: