1. Do not share user accounts! Any account that is shared by another person will be blocked and closed. This means: we will close not only the account that is shared, but also the main account of the user who uses another person's account. We have the ability to detect account sharing, so please do not try to cheat the system. This action will take place on 04/18/2023. Read all forum rules.
    Dismiss Notice
  2. For downloading SimTools plugins you need a Download Package. Get it with virtual coins that you receive for forum activity or Buy Download Package - We have a zero Spam tolerance so read our forum rules first.

    Buy Now a Download Plan!
  3. Do not try to cheat our system and do not post an unnecessary amount of useless posts only to earn credits here. We have a zero spam tolerance policy and this will cause a ban of your user account. Otherwise we wish you a pleasant stay here! Read the forum rules
  4. We have a few rules which you need to read and accept before posting anything here! Following these rules will keep the forum clean and your stay pleasant. Do not follow these rules can lead to permanent exclusion from this website: Read the forum rules.
    Are you a company? Read our company rules

Roboclaw motor controller investigation

Discussion in 'Motor actuators and drivers' started by Nick Moxley, Mar 4, 2014.

  1. RacingMat

    RacingMat Well-Known Member Gold Contributor

    Joined:
    Feb 22, 2013
    Messages:
    2,236
    Location:
    Marseille - FRANCE
    Balance:
    20,963Coins
    Ratings:
    +2,089 / 21 / -2
    My Motion Simulator:
    2DOF, DC motor, Arduino
    @eaorobbie
    +1
    No, the specs indicate "Dual feedback inputs for PID closed-loop control: Position control with analog encoders or potentiometers"
    @BlazinH : the feedback is as simple as usual with pots!

    @RufusDufus : do you think that Roboclaw could interface to Simtools via USB just like JRK?
  2. RacingMat

    RacingMat Well-Known Member Gold Contributor

    Joined:
    Feb 22, 2013
    Messages:
    2,236
    Location:
    Marseille - FRANCE
    Balance:
    20,963Coins
    Ratings:
    +2,089 / 21 / -2
    My Motion Simulator:
    2DOF, DC motor, Arduino
    I compared prices and specs (V and A) for a 2 DOF... interesting :)
    but I'm not used to these motor controllers:
    so I'm not sure about interfaces, could you please correct it if needed?

    Présentation Interface Motor Driver.png

    Nota : Roboclaw cannot use Hall pot
    __________________________________________________________
    For the record, I have found this: SDC2130 for voltage up to 30V (175$ for 2 motors)
    http://www.roboteq.com/index.php/ro...s/brushed-dc-motor-controllers/sdc2130-detail
    • Closed loop position control with analog or pulse/frequency feedback
    • control loop = 1 ms
    • PID control loop with separate gains for each channel
    • USB, RS232, 0-5V Analog, or Pulse (RC radio) command modes
    • 30V 10A x2 motors continuous
    • and 20A peak
    ___________________________________________________
    Another "Closed loop position control" board: Motion Mind 3
    • Like Like x 2
    Last edited: Jun 13, 2014
  3. eaorobbie

    eaorobbie Well-Known Member SimTools Developer Gold Contributor

    Joined:
    May 26, 2009
    Messages:
    2,574
    Occupation:
    CAD Detailer
    Location:
    Ellenbrook, Western Australia
    Balance:
    20,431Coins
    Ratings:
    +1,684 / 23 / -2
    My Motion Simulator:
    2DOF, DC motor, JRK, SimforceGT, 6DOF
    Adding in peak current too could help people making a decision.
    Ah Kangaroo needs a DLink2 to convert serial to dual rc signal , that's what mine came with from dimension.
    http://www.dimensionengineering.com/products/delink warning picture shows the older card.
    Better comparison if all produce the same constant amps levels too, a truer comparison.

    Well done , do like.
  4. RacingMat

    RacingMat Well-Known Member Gold Contributor

    Joined:
    Feb 22, 2013
    Messages:
    2,236
    Location:
    Marseille - FRANCE
    Balance:
    20,963Coins
    Ratings:
    +2,089 / 21 / -2
    My Motion Simulator:
    2DOF, DC motor, Arduino
    Thanks
    Amps are the closest as possible... sadly no exact matching indeed!
    I'll add peak values ;)

    About Kangaroo, I haven't seen the Dlink mentionned in the @BlazinH's tutorial...
    @eaorobbie Are you sure it's mandatory?
    Maybe only if the Kanagaroo is setup as RC interface...

    How many people succeeded in using Kangaroo?
    I have seen also Abdul's post here
  5. telfel

    telfel Active Member

    Joined:
    Feb 16, 2011
    Messages:
    170
    Balance:
    4,736Coins
    Ratings:
    +118 / 3 / -0
    hi @RacingMat

    The Dlink or a usb to ttl converter is required to connect the kangaroo to pc via usb,

    The new Sabertooth 2x32 has built in usb to connect to the pc, then connect the signal lines from the sabertooth to the kagaroo, so then the usb/ttl converter for the kangaroo is not required. (from the 2x32 manual)
    regards Terry
    • Useful Useful x 1
  6. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,613Coins
    Ratings:
    +1,835 / 32 / -1
    Hi Everyone! Thanks for your input. I have deduced a conclusion based on the current information we have available at the moment.

    First, there appears to be contradictory information in the documentation supplied from Orion. One is on potentiometer usage. One place it says pots can be used in analog and rc mode and in another it says you can’t. Also in one place it states that you shouldn’t use this controller with fast direction changes and in another it says you can. This may have something to do with different versions of the RoboClaw family however.

    But lets assume that the document is correct that says you can use position mode with serial, analog, and rc modes. Well, while they say position mode will work with analog and rc modes, they must not expect anyone to do it because all the doc tells you is how to set the RoboClaw to position mode, not how to use it with them! But if we don’t want to use an arduino with this since it defeats the purpose; unless simtools can output a voltage or servo pulse (it can’t), then that leaves analog and rc mode out of the picture anyway. That just leaves serial mode then. In serial mode we do have a little information on how to use position mode with it. It is what I posted in a previous post from Orions pdf and appears to be the only command for position mode along with #66 for motor M2.

    All you have to do is read this and it is appears clear that this will not work with motion simulators! As with most all of these controllers, they were designed to drive robots and wheeled vehicles; and not with motion simulators in mind. It appears the pid settings are for speed and holding purposes only. Velocity pid settings for moving, and position pid settings to hold in current position.

    My assumption is that positioning works similar in analog and rc modes as well! However, if you were able to substitute a voltage or servo pulse as an absolute position instead, then with an arduino, this still might be a viable option if the pid control would work as a servo controller.

    Also I noticed that the jrk is referred to as “ a closed loop servo system”, not merely “closed loop position control”! Any controller stated to be a servo controller should work for simulatiors, but not necessarily one that is for position control.

    As per usual, I reserve the right to be incorrect though! :D


    Ps There is nothing special about the DELink2 over any other usb to ttl converter that can both transmit and receive except that you get to pay $20 plus shipping for the name on it!
    • Informative Informative x 1
    Last edited: May 22, 2014
  7. RacingMat

    RacingMat Well-Known Member Gold Contributor

    Joined:
    Feb 22, 2013
    Messages:
    2,236
    Location:
    Marseille - FRANCE
    Balance:
    20,963Coins
    Ratings:
    +2,089 / 21 / -2
    My Motion Simulator:
    2DOF, DC motor, Arduino
    @RufusDufus : i'm rather excited :grin by the beginning of your answer : Roboclaw is similar to Sabertooth and can handle high current DC supply. So could you please explain why you think it's not appropriate? :confused:

    @BlazinH : what a long post! thks :cool:
    As a simplistic vision : Simtools refresh the position so frequently that I suppose the motor movment is the one which limitates the system. So a "speed and holding position PID" may not be a problem as the positions are changing continuously... no?
  8. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,613Coins
    Ratings:
    +1,835 / 32 / -1
    Yea @RacingMat , I don’t want to be accused of spamming! :grin

    The problem appears to me that the pid does not set the speed, only maintains the speed the user sets. So if you want a wheeled vehicle to go from point A to point B at 5kmh for example, if it has to go up and down hills, from sand to pavement, etc., then the pid will keep it at 5kmh in all conditions to get to point B in the correct amount of time.

    It appears position means that you can tell the vehicle to go 10000 encoder counts for example, which represents the distance between point A and B. But what if the position changes before it can get to point B, C, D, E, etc.? Will it add and subtract encoder counts to calculate the actual new position called? If so, then this may work for simulators in a way but only with the use of an arduino or other microcontroller. You would need code to calculate a position error and use that to calculate and send the correct speed and position value to the RoboClaws pid to maintain. So it would work more like a Sabertooth, but one with PID control that maintains the set speed under differing load conditions.

    Again, if the analog and rc modes allow for absolute positions to be called, it may work too but it really doesn’t seem worth it to do anything at this point without further information to the contrary.

    But honestly, I’m not really sure of the exact reason why there is the need to set two different pids on it.
    :confused: Knowing why may make a difference!
  9. RufusDufus

    RufusDufus Well-Known Member

    Joined:
    Jul 21, 2013
    Messages:
    681
    Location:
    Adelaide Australia
    Balance:
    15,901Coins
    Ratings:
    +1,016 / 10 / -1
    Well what I was really trying to say is the “control interface” does not seem to be “ideally suited” for motion sims. I think there is a bit of work required to get them going which could end up costing more than other solutions.

    If you want to use as a H-Bridge together with your own Arduino (or similar) PID controller I would say the easiest way is to put it in the simple serial mode. You would change your Auduino code to simply output a serial byte instead of a PWM duty cycle and dir pin – the software serial library should be fine for this. Basically translate the -255 to +255 PWM output value to a 1 to 127 value for motor 1 and to a value of 128 to 255 for motor 2. So the resolution is much less but because it has its own speed control built in maybe isn’t an issue. Also I’m not sure how responsive the internal speed control PID algorithm is so again this may have a side effect.

    If you wanted more resolution you could do the same with the packet serial.

    The built in motor position modes (using packet serial) appear to work by counting the encoder pulses to determine motor position. While this is a valid solution and used in many control systems the disadvantage is that you have to somehow set the start center position at startup, I couldn’t find any info on this – In robot applications it would simply be the position you are in at startup so not a big deal in that type of application I suspect.

    If you can get the packet serial mode and position encoders working then you could look at using the USB and communicate from Simtools – It would appear to be basically just a serial port like an Arduino when the windows driver is installed. The challenges you will have here are again getting the start position set, but also the packet serial mode needs a checksum on the data packets so Simtools would need to be modified to do this – as far as I know this is not currently possible in the interface output string.

    Given there doesn’t seem to be any real world examples supplied it really comes down to testing and seeing what you get… may be fine.
  10. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,613Coins
    Ratings:
    +1,835 / 32 / -1
    Well there you go @RacingMat . It appears that both RufusDufus and I came to more or less the same conclusions; and posted them almost at the same time too! It seems the biggest difference is RufusDufus says if you have the time and money, give it a go and see what happens; and I say, I don’t think its worth the money and effort to even try without more definitive information first. But to each there own! Since there seems to be no further information available, testing would be the only way to know for sure I suppose!
  11. eaorobbie

    eaorobbie Well-Known Member SimTools Developer Gold Contributor

    Joined:
    May 26, 2009
    Messages:
    2,574
    Occupation:
    CAD Detailer
    Location:
    Ellenbrook, Western Australia
    Balance:
    20,431Coins
    Ratings:
    +1,684 / 23 / -2
    My Motion Simulator:
    2DOF, DC motor, JRK, SimforceGT, 6DOF
    This sounds like when I first introduced the Jrks in 2009 to the forum, I was told "Never Work, too small", lol 5 years later they are all over the place, and still one of the easiest to setup and use.
    • Winner Winner x 1
    • Informative Informative x 1
  12. bsft

    bsft

    Balance:
    Coins
    Ratings:
    +0 / 0 / -0
    Maybe you guys can shift this conversation to a new thread as not to confuse new people, or even existing members (me)
    • Agree Agree x 1
  13. eaorobbie

    eaorobbie Well-Known Member SimTools Developer Gold Contributor

    Joined:
    May 26, 2009
    Messages:
    2,574
    Occupation:
    CAD Detailer
    Location:
    Ellenbrook, Western Australia
    Balance:
    20,431Coins
    Ratings:
    +1,684 / 23 / -2
    My Motion Simulator:
    2DOF, DC motor, JRK, SimforceGT, 6DOF
    Please start a new thread @RacingMat and lets look into this driver further and all together.
  14. RacingMat

    RacingMat Well-Known Member Gold Contributor

    Joined:
    Feb 22, 2013
    Messages:
    2,236
    Location:
    Marseille - FRANCE
    Balance:
    20,963Coins
    Ratings:
    +2,089 / 21 / -2
    My Motion Simulator:
    2DOF, DC motor, Arduino
    Yes guys!
    @Historiker : Could please split this thread from #19 into a new thread "Roboclaw motor controller investigation"?
    Thanks
  15. DigitalCrypto

    DigitalCrypto New Member

    Joined:
    May 10, 2014
    Messages:
    8
    Location:
    Houston, Texas
    Balance:
    343Coins
    Ratings:
    +2 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, JRK
    Sorry guys, I got a little busy this week and missed the memo. I wasn't able to get the JRK 12v12's as they are all out of stock at the moment. I do have a request for parts if/when they go back into production.
  16. bsft

    bsft

    Balance:
    Coins
    Ratings:
    +0 / 0 / -0
    pololu list 141 in stock?
  17. Historiker

    Historiker Dramamine Adict Gold Contributor

    Joined:
    Dec 16, 2010
    Messages:
    2,160
    Occupation:
    Retired
    Location:
    Michigan USA
    Balance:
    9,195Coins
    Ratings:
    +2,161 / 19 / -1
    My Motion Simulator:
    3DOF, DC motor, Arduino, Motion platform, 6DOF
    I split this into two threads, the original is still in the MarketPlace but this discussion has evolved in a different direction. Let me know if this works out for you all.

    David
    • Like Like x 1
  18. RacingMat

    RacingMat Well-Known Member Gold Contributor

    Joined:
    Feb 22, 2013
    Messages:
    2,236
    Location:
    Marseille - FRANCE
    Balance:
    20,963Coins
    Ratings:
    +2,089 / 21 / -2
    My Motion Simulator:
    2DOF, DC motor, Arduino
    Still digging ;-)

    The requirements are clearer : "closed loop position control" and not "closed loop speed control"

    For the record, I have found this: SDC2130 for voltage up to 30V (175$ for 2 motors)
    http://www.roboteq.com/index.php/ro...s/brushed-dc-motor-controllers/sdc2130-detail
    • Closed loop position control with analog or pulse/frequency feedback
    • control loop = 1 ms
    • PID control loop with separate gains for each channel
    • USB, RS232, 0-5V Analog, or Pulse (RC radio) command modes
    • 30V 10A x2 motors continuous
    • and 20A peak
  19. Pit

    Pit - - - - - - - - - - - - - - - - Gold Contributor

    Joined:
    Oct 2, 2013
    Messages:
    3,012
    Location:
    Switzerland
    Balance:
    30,439Coins
    Ratings:
    +3,089 / 31 / -0
    My Motion Simulator:
    DC motor, Arduino, 6DOF
    Hi folks I don't want to frustrate you but since the Monster Moto can be used (definitely and confirmed) as a single h-bridge (dual mode) why not to use them in combination with an Arduino? Worth the money and easy to use (code exists already p.ex. by @RufusDufus, @RacingMat, @prilad and can be optimized), IMO ~28A continuous for each motor/winches should be largely enough.
  20. eaorobbie

    eaorobbie Well-Known Member SimTools Developer Gold Contributor

    Joined:
    May 26, 2009
    Messages:
    2,574
    Occupation:
    CAD Detailer
    Location:
    Ellenbrook, Western Australia
    Balance:
    20,431Coins
    Ratings:
    +1,684 / 23 / -2
    My Motion Simulator:
    2DOF, DC motor, JRK, SimforceGT, 6DOF
    @Pit No frustration mate, we are always looking at new things to use, plus the Ard c/w MonsterMoto is not comparable to the Jrk in motion big diff. A lot of videos show that, but that's not the point of this.

    The idea is this might be another driver like the Jrk ,where no code is needed to be written, nice app provided by maker (who does all the support work) to set it up and once set becomes a plug n play device like the Jrks is once setup and wired.
    Writing and reading code is not everyone's cupcake, I use Jrks for the simplicity and reliability.
    • Agree Agree x 3