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

Question Newbie has some silly questions concerning Arduino + Sabertooth + Hall Sensor

Discussion in 'DIY Motion Simulator Building Q&A / FAQ' started by steamtrac, Dec 4, 2017.

  1. steamtrac

    steamtrac New Member Gold Contributor

    Joined:
    Sep 2, 2016
    Messages:
    20
    Location:
    Germany
    Balance:
    136Coins
    Ratings:
    +1 / 0 / -0
    All,

    I am starting my 3DOF build now, and I already have a good idea how the mechanics will look like. I will use the 400W Simukit as basis, as it provides a complete package at reasonable costs.

    https://simukit.com/3-dof/40-kit-2-dof-400w.html

    But there is a design “feature” which I don’t like, and this is the usage of the potentiometer, driven by a pair of gears off the crankshaft. I think the resolution is not very good, and in addition to that, there is a lot of slack between the drive element (the DC motor), and the output shaft (the crank). The two gears add slack, the worm drive adds slack, and this results in a significant hysteresis of the whole setup. You can see it easily in this comparison with the Frex Hyperaxis setup:



    So my idea is, to read the position of the crank at motor shaft. All the slack would be excluded. The mechanical adaptation is no problem for me, I have milling and turning capabilities available at home.

    But, I have no idea about the electrical integration. The Simukit includes an Adruino + Sabertooth. Now, without the ordinary Potentiometer, the Arduino will no longer get an analog signal. When a hall sensor on the motor shaft will be used, it will get a pulse information, eg 4 triggers per revelution. In addition to that, the signal will not provide an absolute position (like the poti), it will only provide a trigger. This means, that the seat neets to go to a reference position during initialization / start up.

    And here I am lost. I have NO experience at all when it comes to electronics and programming. So here my questions:

    • Is the Ardiuno capable of doing what I have described? Counting triggers and processing them into a position?
    • Is the Arduino capable of making a reference actuation at the start / initialization?
    • Or can all this be done by SimTools instead of the Arduino?

    Sorry if this is boring for you, but I am really completely unexperienced when it comes to electronics.

    Every comment is appreciated.
  2. llluis

    llluis Active Member Gold Contributor

    Joined:
    Mar 30, 2017
    Messages:
    164
    Location:
    Quebec
    Balance:
    1,630Coins
    Ratings:
    +103 / 1 / -0
    My Motion Simulator:
    6DOF
    Yes, the arduino is capable of doing this. It's pretty basic arduino programing.
    You'll need an startup sequence called homing. This is executed every time the system is booted up. You will have to program your platform to move to the minimum position and tell the arduino that this is your zero position.
    You must also need to program what the maximum travel is (measure 1 time and save this in your program).
    This cannot be done in SimTools.

    Have a look at this topic: https://www.xsimulator.net/communit...ry-encoder-in-place-of-a-potentiometer.10173/