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

Getting Started

Discussion in 'DIY Motion Simulator Building Q&A / FAQ' started by StebanJigs, Sep 5, 2013.

  1. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,622Coins
    Ratings:
    +1,835 / 32 / -1
    I forgot to mention that you must send at least two commands to initialize the kangaroo. I believe that was also stated earlier in this thread. You must send a start command and a units command because the units setting is lost when the kangaroo is powered down. You can then use a home command if you wish to center the platform at start-up. So I think the simtools initializing USO string should be 1,start<10>1,units65535=5000<10>2,start<10>2,units65535=5000<10> then If you wish also send 1,home<10>2,home<10>. The units command doesn’t need the word positions or millivolts but it can be used for clarity if you wish. Again, adjust the 5000 in the units commands to the maximum millivolts that your pots produce. You should set the dipswitches on the kangaroo as follows: 1-on 2-off 3-on 4-on. At least that’s what the documentation says LOL.
  2. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,622Coins
    Ratings:
    +1,835 / 32 / -1
    While simtools is outputting 16 bits resolution to the kangaroo, I believe the actual resolution will be around 12 bits when using a pot for feedback. If your pots min to max voltage spread is 4096 millivolts then you will have exactly 12 bits resolution. Thats still quite an improvement over 8 bits though:thumbs! It could possibly be less or more however. I suppose resolution will be limited by the resolution of the ADC that the pots connect to on the kangaroo. If its accurate to +/- 1 millivolts then we're nearing 12 bits resolution.
  3. StebanJigs

    StebanJigs Member

    Joined:
    Sep 4, 2013
    Messages:
    59
    Occupation:
    electrician
    Location:
    Edmonton, Alberta, Canada
    Balance:
    430Coins
    Ratings:
    +3 / 0 / -0
    Hey guys, thx for this info BlazinH, I will have to see how it works tonight. When checking in DEScribe software the mV feedback is stable within +or- 1mV (surprised me) yea this should be fairly accurate.

    I'll report back with my findings.

    Edit: @BlazinH with the unit conversion done in the text string does that mean the "units" field in the DEScribe software should be left @ 1=1 since it gets lost at power down like you said?
    Last edited: Oct 19, 2013
  4. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,622Coins
    Ratings:
    +1,835 / 32 / -1
    Hi StebanJigs, Please keep in mind that this is all theory at this point based on documentation because I have not done any testing of the kangaroo or the describe software. I have the describe software installed due to the fact I had to to get the Delink2 drivers out that were bundled in it. I needed another USB to ttl converter anyway, so since I'm not using it with my kangaroo yet, I use it on another controller I have. I don't really need the describe software to use a controller without the kangaroo, I do that with all my own code. I have looked at it though just to try to get a handle on it!

    To answer your question, I don't think it matters whats is in the describe software units section because when you issue the "Units" command from simtools, it will install that value into the kangaroo. I don't know if issuing a "Units" command to the kangaroo from simtools will automatically change the values in the describe software or not. My guess is that the units section in the software is only needed when you are initiating the kangaroo from the describe software itself since that value is not already saved on the kangaroo. Once you use the describe software to set up your kangaroo, I pretty sure those values are then stored in the kangaroos memory (other than units for some reason). After that you no longer should need the describe software unless you want to use it to tweak you settings every now and then. I looking forward to hearing your results!!

    You must have a pretty accurate pots to stay in that tolerance. I afraid noise on the feedback lines may be more of a detriment to the overall resolution than the resolution of the DAC on the kangaroo. When the pots are moving, you will inevitably pick up more noise.
  5. telfel

    telfel Active Member

    Joined:
    Feb 16, 2011
    Messages:
    170
    Balance:
    4,736Coins
    Ratings:
    +118 / 3 / -0
    I thought the kangaroo maintained its settings, after an auto tune the roo has to have a re-boot.
  6. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,622Coins
    Ratings:
    +1,835 / 32 / -1
    That's what I said, "Once you use the describe software to set up your kangaroo, I'm pretty sure those values are then stored in the kangaroos memory"! The kangaroo documentation states that the units information is not saved however. Therefore, each time you re-power the kangaroo, you must issue a start command and then an unit command. After that, if your kangaroo has been tuned, you should be good to go!
  7. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,622Coins
    Ratings:
    +1,835 / 32 / -1
    StebanJigs, Considering what I just said in the post above, to tune your kangaroo from the describe software, under the units tab, you must also put 65535 in Channel 1,2 and 5000 (or your pots mV's) where it says "line". You can put position or some other descriptive word in the "units" box if you wish but it's not needed.
  8. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,622Coins
    Ratings:
    +1,835 / 32 / -1
    Now I think I want to go back to what I said first, the units settings in the describe software doesn't matter. I've thought about it and now I think it has nothing to do with tuning, that's probably why units are not under the positioning tab. The units settings simply sets up a ratio that associates a particular called input with its corresponding voltage on the feedback pots, i.e. 65535/5000 = 13.107, or a ratio of 13.107:1. Every time a called position value increases or decreases by 13.107 from simtools, the called error increases or decreases by 1mV. I think the only reason a units tab is in the describe software is if you want to use the live test or custom test functions. Sorry about the confusion and I hope this is correct.
  9. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,622Coins
    Ratings:
    +1,835 / 32 / -1
    One more important change I thought of. Instead of replacing the value of 5000 in the formulas with the maximum voltage of your pots, you should replace 5000 with the voltage spread you get between your pots min and max settings to get an accurate center point and the most accurate resolution. i.e. If your min is 1v and your max is 4v then the spread is 3v or 3000mV. So in that case you would replace 5000 with 3000.
  10. StebanJigs

    StebanJigs Member

    Joined:
    Sep 4, 2013
    Messages:
    59
    Occupation:
    electrician
    Location:
    Edmonton, Alberta, Canada
    Balance:
    430Coins
    Ratings:
    +3 / 0 / -0
    @BlazinH this is what I was thinking as well, although I haven't been able to get any meaningful movement yet with all of the suggestions so far. What I have right now with the pot setup I have and the way I placed the limit switches I have 1V of travel, I know this will have to be better later on in the final build but for now it will suffice. The high low of this is at 3v and 2v so 1000mv of travel. Also units are 1=1 in DEScribe.

    As for what I have been using in the different simtools fields are as follows,
    Startup: 1,start<10>1,units65535=1000<10>1,home<10>2,start<10>2,units65535=1000<10>2,home<10> [5ms delay]
    Interface: 1,p<Axis1><10>2,p<Axis2><10> [10ms delay]
    Shutdown: 1,home<10>1,powerdown<10>2,home<10>2,powerdown [5ms delay]

    I also have the output at 16bit as suggested and binary. Now the only time I ever saw movement was when I by accident I had "units65535=65535" and upon startup of the axis testing both motors moved to their full down position and seemed like they had gotten stopped by the software limits and didn't move again.

    Right now the kangaroo seems confused as to how the units or interface code are working.
    Last edited: Oct 20, 2013
  11. telfel

    telfel Active Member

    Joined:
    Feb 16, 2011
    Messages:
    170
    Balance:
    4,736Coins
    Ratings:
    +118 / 3 / -0
    With pots do you need the home command?, perhaps I'm reading the manual wrong, "when using a encoder or crash limit tune"
    that suggests no feedback pot.
  12. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,622Coins
    Ratings:
    +1,835 / 32 / -1

    I think I confused you when I was talking about how to control dimension engineering's motor controllers. The kangaroo uses completely different simple serial commands. You will need decimal output for it. The code above looks correct to me according to what I have stated and what eaorobbie has told you about the <10>. But I'm taking his word for it since I can't test it. I have almost never got code to work right the first few go arounds though! It usually takes diligence! Their are several different methods and data types used to transfer information via serial. So I'm not sure if the code above is sending it the way it needs to be received by the kangaroo. Doesn't sound like it though! I'm not sure but some <13>'s may need to be in there somewhere. I know just enough to get by so I don't know for sure but, do this. Try changing to decimal output and then test that first. If it's still a no go try replacing the <10> at the end of each string with a <13>. If still no the try changing them all to <13>. I have used the chr$(13) many times in the past in programing but almost never chr$(10). I assume that the <10> format in simtools is the same as chr$(10). Give it a go and lets all keep our fingers crossed:think. Don't keep me waiting, I need to know!! LOL

    ps Are you sure you system is tuned correctly so it can act on the data?
    Last edited: Oct 20, 2013
  13. StebanJigs

    StebanJigs Member

    Joined:
    Sep 4, 2013
    Messages:
    59
    Occupation:
    electrician
    Location:
    Edmonton, Alberta, Canada
    Balance:
    430Coins
    Ratings:
    +3 / 0 / -0
    I'll try that out, and yes it it tuned good as far as I can tell and even worked with in game feedback with another sim program.
  14. StebanJigs

    StebanJigs Member

    Joined:
    Sep 4, 2013
    Messages:
    59
    Occupation:
    electrician
    Location:
    Edmonton, Alberta, Canada
    Balance:
    430Coins
    Ratings:
    +3 / 0 / -0
    Unfortunately nothing, however just for kicks in the startup line I took out the whole unit= segment and when I startup axis testing the motors move and stay locked in the other direction now, but sadly no response.
  15. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,622Coins
    Ratings:
    +1,835 / 32 / -1
    Hi telfel. You are referring to homing which is required for encoders. That is not the same as the home command. Once your system is tuned and its running, you use the home command to move your sim to its center position if its not already there. The home command can be used with pot (analog) feedback! Hope this helps you.
  16. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,622Coins
    Ratings:
    +1,835 / 32 / -1
    Did you do this?

    "DIP switches 1 and 3 can be changed without redoing the tune. If switches 2 and 4 are different from the setting recorded during the tune, the kangaroo will not operate the motors until the switch is changed back or the system is tuned again"
  17. telfel

    telfel Active Member

    Joined:
    Feb 16, 2011
    Messages:
    170
    Balance:
    4,736Coins
    Ratings:
    +118 / 3 / -0
    If sim tools outputs a value from 0 -255 and your pot is giving a feedback of 1000 millivolts
    then should the units be 1,units 255 = 1000 milivolts
  18. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,622Coins
    Ratings:
    +1,835 / 32 / -1
    From my understanding of the command, yes.
  19. telfel

    telfel Active Member

    Joined:
    Feb 16, 2011
    Messages:
    170
    Balance:
    4,736Coins
    Ratings:
    +118 / 3 / -0
    With feedback pots you have an absolute value from the pot for position, looking at the manual the home command appears drive the motor to a limit switch first. so does the home command only work if you dont have pots? you can home the motor with a p127 mid position with a pot connected

    I am testing this setup with the other "shish" software, and the motors with pots dont home on start up
  20. BlazinH

    BlazinH Well-Known Member

    Joined:
    Oct 19, 2013
    Messages:
    2,145
    Location:
    Oklahoma City, USA
    Balance:
    16,622Coins
    Ratings:
    +1,835 / 32 / -1
    It will only drive it to a limit switch first if you are using encoder feedback. Quadrature encoders don't retain their position after power down so they have to first drive to a limit switch. It knows what the positions of the limits switches are so now it knows where it is again. Pot's don't loose their position value at power down so the kangaroo already knows where it is when it restarts.