Search  
Tuesday, January 06, 2009 ..:: Forum ::.. Register  Login
 HomePage Minimize

 Print   

 Products Minimize

 Print   

 MSRS Minimize

 Print   

      
 RoboticsConnection Forum Minimize
SearchForum Home
  Discussions  Serializer Robot Controller  Meaning of &quo...
 Meaning of "speed" for Differential Motor Controller?
 
 10/9/2007 1:58:29 PM
rpg
35 posts


Meaning of "speed" for Differential Motor Controller?
Hello,

I am controlling two Banebots DC motors using the onboard H-bridges on the Serializer.  In my C# program, I am using the Serializer DifferentialMotorController object to control the motors.  My question is: what is the range of the Speed property as in RightMotorSpeed?  I was assuming that the max value would be 100 as with the PWMDCMotorController, but my motors were running quite slow at that value so I tried a value greater than 100 and the speed increased.  The Serializer MSDN documentation doesn't seem to indicate what the range of the Speed property is so I'd be grateful if someone could post the answer.

Thanks!
patrick

 10/9/2007 2:27:33 PM
jywilson
35 posts


Re: Meaning of "speed" for Differential Motor Controller?

Yes I noticed the same thing with my robot.  The speed at 100 or below is significantly lower than what is possible for my DC motors.  I generally run with a value of 128, but I have heard from RoboticsConnection (RC) that the specified maximum is a value of 100, and that the command should really return an error when using a value of 128.

Perhaps RC can comment on why values higher than 100 are not supported, and why the motor speed is not maxed when using a value of 100 as intended.


James Y. Wilson
http://www.learningce.com
Fortudine Vincimus!

 10/9/2007 2:42:38 PM
jason
158 posts
5th


Re: Meaning of "speed" for Differential Motor Controller?

Hey Patrick, Jim,

The DifferentialMotorController class uses the same underlying 'pwm' command to control the DC motors as does the PWMDCMotorController class, it's just that it sends a command for both motors at the same time to the Serializer (so they start at the same time).   Thus, the 'pwm' command in the Serializer firmware is supposed to only support speeds from 0 to 100.  However, as you both have pointed out, you can obtain an increase in motor speed using values higher than 100.

This is not "as designed", and we'll look into this.  Ringo might have an idea why this is the case.

Nontheless, the bug isn't in the Serializer .NET lib, but rather in the firmware.   Of course, once we figure this out, I will still add some range checking to both the firmware and Serializer .NET lib in the next release. :)

We'll let you know later this afternoon what we find. :)

Thanks!


Jason Summerour
President,
Summerour Robotics Corp
Microsoft MVP
www.roboticsconnection.com
 10/9/2007 2:53:26 PM
jason
158 posts
5th


Re: Meaning of "speed" for Differential Motor Controller?

Yep, there's definitely a bug in the firmware for 'pwm'.   Depending on the timing of the onboard interrupts, etc. the max value of pwm can change.  At some point, we changed some timing parameters somewhere, and basically introduced this bug.    We will fix it tonight, and post a new firmware release on the Serializer Page, and I'll post a link in a new topic in this forum.

If you can wait until tonight for the fix, I'm pretty sure you'll be able to go up to 127/128 for max pwm values, and get the results you desire for max motor speeds.

Good catch guys! :)


Jason Summerour
President,
Summerour Robotics Corp
Microsoft MVP
www.roboticsconnection.com
 10/9/2007 2:54:17 PM
ringo
36 posts


Re: Meaning of "speed" for Differential Motor Controller?

There is definitely a scaler missing. I'll figure it out tonight and get it fixed and  can post a new FW version on the Website.

Ringo

 


Ringo Davis, Hardware Technical Lead RoboticsConnection.com
  Discussions  Serializer Robot Controller  Meaning of &quo...

SearchSearch  Forum HomeForum Home    Print   

Copyright 2004-2007 Summerour Robotics Corp   Terms Of Use  Privacy Statement
DotNetNuke® is copyright 2002-2009 by DotNetNuke Corporation