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

Tutorial Guide to setting up SimTools for use with the Kangaroo motion controller

Discussion in 'SimTools compatible interfaces' started by BlazinH, Nov 1, 2013.

  1. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,575Coins
    Ratings:
    +1,831 / 32 / -1
    This tutorial was revised on November 17, 2013. Some of the information previously provided did not work as described. The following instructions have been verified to work. Before attempting to read this however, I recommend you read the testing update found here:
    Guide to setting up SimTools for use with the Kangaroo motion controller


    The Kangaroo is the name of a motion controller made by Dimension Engineering. It is to be used in conjunction with their brand of motor controllers named the Sabertooth and the SyRen. This combination, together with the addition of one or two potentiometers on the Kangaroo for motor feedback (or other 0 to 5vdc feedback source), forms a complete closed loop motor control system. Once powered, all you must do is supply the kangaroo with position values from SimTools, and it will do the rest. Each kangaroo controller is capable of controlling two DC motors when attached with a Sabertooth because it has dual motor control capabilities (SyRen is single motor control only). However, more than one kangaroo can used at the same time if you need control of more than two motors as long as each kangaroo has it’s own independent USB to TTL level converter and motor controller.

    When the kangaroo is used with the Sabertooth 2X60 dual motor controller, you can control two motors, supply them with up to 30 vdc, and supply them with a constant current of 60 amps each if necessary. The Sabertooth 2X60 can also supply a surge current of up to 120 amps per channel for a second or two at a time. All of Dimension Engineering’s motor controllers feature over-current protection that is intended to prevent them from damage. They are guaranteed on this.

    Using this system, there are no circuit boards to assemble. There is no need to figure out how to connect a particular H-bridge to a particular control board. There is absolutely no programming that must be done. To control two motors with SimTools, all you must do is connect two potentiometers, one to each motor, wire the potentiometers to the kangaroo, connect the kangaroo to a motor controller, connect to two motors power terminals to the motor controller, connect the motor controller to its power source, hook up your USB to TTL level converter to the kangaroo, and your ready to have the kangaroo program itself with it’s built in tuning capabilities. If you need more than two motors you just repeat the process above with another kangaroo and use multiple interfaces in SimTools to access them.

    This tutorial is not intended to cover the process of tuning your kangaroo. However, there is some information you need to know. If you haven’t done an auto tune yet, the kangaroos dipswitches should be set to 1-on 2-off 3-on 4-on when using potentiometers for feedback. Set the Sabertooth’s dipswitches to 1-off 2-off 3-on 4-on 5-on 6-on. The Sabertooth comes from the factory with a baud setting of 9600. If you have previously changed it to a higher setting, it must be restored to 9600 to work with the kangaroo.

    The kangaroo needs to be tuned with the software from Dimension Engineering called DEScribe, not the tune button on the kangaroo. You will need to do what is referred to as a “Teach Tune” with the software. It is available for as a free download from their website if don’t have it.

    http://www.dimensionengineering.com/info/describe

    Before running DEScribe software make sure you have your kangaroo/sabertooth controller combo connected to your PC with a USB to TTL level converter cable and that it is all connected properly to your motors, potentiometers, and powered on. You must connect the transmit and receive wires from the cable to the kangaroo or DEScribe won’t be able to download & upload settings (tx wire from converter to S1, rx wire to S2). Now click the button to the top left named “Connect and Download Settings”. Select the COM port that your kangaroo is connected to. Make sure the baud rate is set to 9600 and the address is 128. Now click “OK”. The download will commence if DEScribe can find your kangaroo on the port selected. You need to do this download to assure that you have the correct values from your kangaroo’s tune loaded into DEScripe. If you haven’t done a tune already there won’t be any data on the kangaroo to download. But you should always do a download before using the software to make changes to assure that when you upload changes, you are also re-uploading the data you didn’t change.

    When teaching the kangaroo, 2.5 volts is always going to be center position for your potentiometers, no matter how much of your potentiometers range you use. Therefore, you must make sure that your pots are at 2.5 volts when your rig is centered. In order for the kangaroo to keep the center position at 2.5v when tuning, it is imperative that when you “teach” the kangaroo your pots minimum and maximum values, that they are equal distances from the center position. This requires use of a voltmeter. Put the negative lead of the voltmeter to ground and the positive lead to the wiper on your potentiometer. So, for example, if you use a 2v pot range, then the min teach tune voltage must be 1.5v and max teach tune voltage must be 3.5v. Therefore center stays at 2.5v. If you go over or under the maximum or minimum voltage you require when tuning by more than .2 volts, cancel the tune and start over. Once you have “taught” the kangaroo move your rig close to center position and start the auto tune. Your rig should be weighted to its normal weight to get the best tuning values.

    It should also be noted that if you don’t use your potentiometers full ranges, the Axis values in SimTools will need to be increased to larger values from what they would otherwise be. For example, if you only use half of you potentiometers range, then your rig will reach its maximum and minimum values in half the time it would using their full range. Therefore you need to double the maximum axis values in SimTools to compensate so your rig will respond the same as it would if you were using their full ranges.

    Now after your kangaroo has been tuned, and before you quit DEScribe software, you can use it to change the baud rate of the kangaroo to its fastest speed. The kangaroo can do a maximum baud rate of 115200. Again, make sure you do a new downloaded of the kangaroo first. Then Click on the Serial tab. For "Baud Rate" select 115200 for the kangaroo. Now up top click on the button named, "Upload Settings to Device". You should see a progress bar appear showing the upload. Once uploaded you can quit DEScripe software. You must power cycle the kangaroo after a baud rate change or after tuning.

    You can now run SimTools and insert the required command strings into the appropriate locations. The kangaroo requires two starting commands per channel to be sent to it before it can be used with SimTools SER output. The first command simply tells the kangaroo to start up each channel. The second command, called “units”, is used to set up a ratio between SimTools output values and your kangaroos motor potentiometers values. This allows the kangaroo to know what the corresponding potentiometer voltages should be in relationship to SimTools output so it can make motor adjustments accordingly. The kangaroo uses a 12bit ADC to read you potentiometers so we will use 12bit output from SimTools. We need to tell the kangaroo 4095 will be the maximum number output. The “units” command takes the form “1,units4095=5000” and “2,units4095=5000”. 5000 is used because, when using analog feedback, 5000 millivolts = 5 volts, the potentiometers input voltage. Therefore, in the Startup Output field in SimTools you will need to insert the following text. (note: Copy and Paste code for SimTools is at bottom of post).

    1,start<13><10>1,units4095=5000<13><10>2,start<13><10>2,units4095=5000<13><10>

    The next thing to do is to fill in SimTools Interface Output field with the required code. All the kangaroo needs issued is one command, for each channel used, to react. Insert this code into the Interface Output field.

    1,p<Axis1><13><10>2,p<Axis2><13><10>

    (Note: You can use any axis, it doesn’t have to be Axis1 or Axis2, use the axis values that you require. You must use a Capitol “A” in Axis)

    To automatically power down your kangaroo when SimTools is not outputting data put the following code in SimTools Shutdown Output field.

    1,powerdown<13><10>2,powerdown<13><10>

    Once you complete this setup, you can now use SimTools with your Kangaroo motion control system.



    Copy & Paste Code (for SimTools) - 12 bit output code. Powers down at end of motion. If necessary, change your axis values to suit your requirements. In SimTools set Output type to SER. Make sure your ComPort setting is the one connected to your kangaroo. Set the Bits per Sec rate to 115200 (if you changed it from 9600), Data Bits to 8, Parity to None, and Stop Bits to 1. Set the Output Bit range to 12 using Decimal output. You can adjust the Packet rate to best suit your requirements. Insert the following code into the proper fields.


    STARTUP:

    1,start<13><10>1,units4095=5000<13><10>2,start<13><10>2,units4095=5000<13><10>

    INTERFACE:

    1,p<Axis1><13><10>2,p<Axis2><13><10>

    SHUTDOWN:

    1,powerdown<13><10>2,powerdown<13><10>

    P.S. There is a fix available that will allow some users to adjust their reduced potentiometers ranges to full range. It will not improve the quality of motion however. It will just allow you to use SimTools without increasing the axis values which would normally be required when using reduced potentiometer ranges. Here's the link:
    Getting Started
    • Like Like x 8
    • Useful Useful x 2
    • Agree Agree x 1
    Last edited: Apr 30, 2014
  2. Historiker

    Historiker Dramamine Adict Gold Contributor

    Joined:
    Dec 16, 2010
    Messages:
    2,158
    Occupation:
    Retired
    Location:
    Michigan USA
    Balance:
    9,176Coins
    Ratings:
    +2,159 / 19 / -1
    My Motion Simulator:
    3DOF, DC motor, Arduino, Motion platform, 6DOF
  3. RaceRay

    RaceRay Administrator Staff Member SimAxe Beta Tester

    Joined:
    Nov 8, 2006
    Messages:
    4,656
    Occupation:
    Self-employed | Web and application development
    Location:
    Hamburg, Germany
    Balance:
    23,840Coins
    Ratings:
    +1,968 / 13 / -0
    My Motion Simulator:
    2DOF, DC motor, SimAxe, SimforceGT
    @BlazinH Thats a great job you have done.
    Do you let me publish some images within your post to break the grey of text a little bit? :blush

    I will make a sticky out of your post so it stays on top of the thread.
    • Creative Creative x 1
  4. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,575Coins
    Ratings:
    +1,831 / 32 / -1
    That would be terrific! Eaorobbie asked if I could add a file for SimTools also so others could download it. I am still learning how to use this site and post etc. Plus I needed to learn SimTools last night. I wanted to get the information out as fast as possible so I didn't take the time to learn how to spiff it up. Thanks for the help Rene!
  5. 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,400Coins
    Ratings:
    +1,683 / 23 / -2
    My Motion Simulator:
    2DOF, DC motor, JRK, SimforceGT, 6DOF
    Once you have it all mate possible to make this a proper doc in our DIY area for ease of newbies to find and use, again thanks for you big effort in this people will appreciate this for a long time mate.
    What makes the community as good as it is, openness in helping and sharing for all to grow.
    • Like Like x 1
  6. RaceRay

    RaceRay Administrator Staff Member SimAxe Beta Tester

    Joined:
    Nov 8, 2006
    Messages:
    4,656
    Occupation:
    Self-employed | Web and application development
    Location:
    Hamburg, Germany
    Balance:
    23,840Coins
    Ratings:
    +1,968 / 13 / -0
    My Motion Simulator:
    2DOF, DC motor, SimAxe, SimforceGT
    Posting pictures is very easy here. You can just drag and drop a image into your post when you edit it:) I I also wrote you a personal message...
    • Like Like x 1
  7. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,575Coins
    Ratings:
    +1,831 / 32 / -1
    The tutorial was edited on Nov 3, 2013 with a major revision. An error was made in the instructions to obtain your potentiometers values. The potentiometers values needed are not listed in the Analog settings as previously stated. The values required are located in the Positioning settings. Use the Maximum and Minimum values under the Nominal Travel heading instead. There is no need to multiply the result by 1000 because the values are already stated in millivolts. Just subtract the Minimum from the Maximum value. My apologizes.

    When I originally tested the code using the figures under the analog tab, it worked for me. However, this was because I had tuned my kangaroo using the potentiometers full range. Therefore my hard limit range was almost the same as the settings in the analog tab. Very sorry if you have been pulling your hair out due to this error but I did state that everything needed verification!

    @eaorobbie @RaceRay Once everything is verified to work as stated and some pictures along with an Interface preset file(s) for SimTools is added you are welcome to make a formal document out of the information if you wish. SimTools will need an update though before all the code can be fully implemented as planned.
    • Like Like x 2
    Last edited: Nov 4, 2013
  8. Niko77

    Niko77 Member

    Joined:
    Jul 8, 2011
    Messages:
    35
    Location:
    France
    Balance:
    343Coins
    Ratings:
    +1 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor
    Hello,

    i just received my Kangaroo X2. I plug it into the sabertooth (2x12) and connect the TTL serial, the pots. But when i run Describe software to learn the voltage for maximum and minimum position i have this message " an error occured while talking to Kangaroo" . ? (when i click on "Star" button)
    Do you know what's wrong?
  9. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,575Coins
    Ratings:
    +1,831 / 32 / -1
    If you have done all of the above correctly as described, the only other thing I can tell you is that dip switch 1 on the kangaroo must be switched on. The correct dip switch settings for the kangaroo are 1-on 2-off 3-on 4-on.
  10. Niko77

    Niko77 Member

    Joined:
    Jul 8, 2011
    Messages:
    35
    Location:
    France
    Balance:
    343Coins
    Ratings:
    +1 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor
    Hello,

    i'm agree with the DIP setting. Do you "auto-tune" the Kangaroo? If yes, how mode do you used (1,2,3 or 4)?

    The "connect and download settings" with Describe software run well so i think connection between PC and Kangaroo is ok.
  11. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,575Coins
    Ratings:
    +1,831 / 32 / -1
    You want to do a teach tune using Describe software. See the end of the post "Getting Started" for some additional information that I have not added to this post yet. This should help you get your kangaroo set up to work with SimTools correctly.
  12. Niko77

    Niko77 Member

    Joined:
    Jul 8, 2011
    Messages:
    35
    Location:
    France
    Balance:
    343Coins
    Ratings:
    +1 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor
    Thanks. i will re-do it.

    I not understand very well this part, if i have 2 motors and 2 pots, i need to do in the same time the max and min values of the 2 pots or one by one (2 times the auto-tune)?
  13. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,575Coins
    Ratings:
    +1,831 / 32 / -1
    If I understand your question, you need to set the min and max for both motors pots first before you start the tune. Sorry, I had a difficult time trying to explain everything.
  14. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,575Coins
    Ratings:
    +1,831 / 32 / -1
    When I find time to rewrite the tutorial on the kangaroo to include the latest information, I will try to be more specific. Some pictures would be helpful for members too I expect!
  15. telfel

    telfel Active Member

    Joined:
    Feb 16, 2011
    Messages:
    170
    Balance:
    4,735Coins
    Ratings:
    +118 / 3 / -0
    If you use the Describe SW Tool to auto tune, you have the option to tune each channel separately,
  16. Niko77

    Niko77 Member

    Joined:
    Jul 8, 2011
    Messages:
    35
    Location:
    France
    Balance:
    343Coins
    Ratings:
    +1 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor

    I can auto-tune with DEScribe software? I do it manually (autotune button).

    How it works?
  17. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,575Coins
    Ratings:
    +1,831 / 32 / -1
    Hi telfel. I have not tried this. Can you verify that if you do them individually, the tuning values of the other motor is not effected?
  18. telfel

    telfel Active Member

    Joined:
    Feb 16, 2011
    Messages:
    170
    Balance:
    4,735Coins
    Ratings:
    +118 / 3 / -0
    I only have one motor on a test bed, but I can tune say channel 1, then swap the motor, pot, limit switches to channel 2 auto tune again, I then have different readings, the reason I tried this was to see if I could copy the settings for one channel to the other, as I get different readings when I have the two motors set up I will tune each.

    regards Terry
  19. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,575Coins
    Ratings:
    +1,831 / 32 / -1
    Thanks Terry. I only have one motor on a test bed also atm. To verify it works we must do a new upload of the kangaroos values after doing the separate tune on both motors. If the values are still correct in DEScripe for both motors, then it works.
  20. Niko77

    Niko77 Member

    Joined:
    Jul 8, 2011
    Messages:
    35
    Location:
    France
    Balance:
    343Coins
    Ratings:
    +1 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor
    Do you use an external power supply for Pots? Or the 0-5 V of USB?