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

F1 like 3DOF Simulator with heave

Discussion in 'DIY Motion Simulator Projects' started by _cOdaC_, Jun 25, 2024.

  1. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    43
    Balance:
    245Coins
    Ratings:
    +4 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    Perfect, that was my idea as well, have them ready to be used. Especially on the parts that have to deal with movement I use self-locking nuts and loctite for the screws that go into threads.
    • Like Like x 1
  2. Sebastian2

    Sebastian2 Member Gold Contributor

    Joined:
    Dec 17, 2023
    Messages:
    84
    Balance:
    308Coins
    Ratings:
    +52 / 1 / -0
    @_cOdaC_
    I might have gotten lost in translation, too, so please forgive me if I misunderstood something. To me it looks like you have not held on of those ball joints in your hand and you don't really know that the "inner" part (the "ball") of the ball joint can freely rotate around the axis if the hole. Please see the attached pictures.

    -----

    No lubricant is needed here. The screw doesn't turn inside the lever or inside of the "ball" part of the ball joint. Instead, the ball turns inside the joint. See section above and attached pics.

    -----

    Correct. I'm a little confused about the "only", though. What else could be done to secure a screw, besides tightening a nut? Are you talking about counter-nuts, self-locking nuts, loctite etc. or is this about something else?

    ------

    This shouldn't be much of an issue. You could use a threaded rod to connect the ball joint to the brackets (like I did) and use firmly tightened nuts to hold everything in place. The friction from the nuts should easily be strong enough to keep the rod in place, even though the hole is not circular.

    -----

    You correctly assumed that my screenshots were from using Simtools v2. If you want you can use that version too. As far as I know, the Simtools license allows you to use any version of simtools.

    Lately I made the switch to Simtools v3. As I had some experience with v2 I had almost no trouble in dealing with the slightly different UI. But I understand that those small differences can turn into struggles if you are new to the topic.

    I could provide screenshots of my settings for general aviation or combat flying games if that would help.

    -----

    Yes, I'm glad I could help!

    Attached Files:

  3. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    43
    Balance:
    245Coins
    Ratings:
    +4 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    Thank you for clarifying that (the screw rotation bit) @Sebastian2, Yes I havent had a ball joint in my hands yet, but now I do. I‘ve built a lot of other DIY lrojects but nothing compared to that, so I‘m a total novice.

    By the way the „only“ was meant to be a „there is missing this and that“ it was more like a: „I would not habe thought that these bits are going to hold such a movement“, like being positively suprised.

    I‘ve ordered the nuts with oval holes now.

    Regarding the SimTools settings, I think I have some ressources now to test everything and come
    up with questions later.

    I was reading this tutorial the other day. They say it‘s optima to set the motors in a Y form with 120 degrees to each other. Should have read this before (although you mentioned it before as well @Sebastian2 ).
    My idea so far was: The lower frame has the exact same size as the one above, which is 1200x500mm.
    So I thought putting one motor on the back and sideways 500mm profile and the other two motors like one on the left 1200mm and one on the right 1200mm profile along the drivers view, watching from the driver seat, would be fine.
    All with having CoG and CoM in mind.
    But if the top and the bottom of the Y thing is all ball joints, the top mount would just flip forward or back, right, as the motors are all facing into the same direction, nothing would keep the ball joints from
    moving even when the motors are switched off. To prevent that I could turn the left and right motor by a 90 degrees so that they are not following the drivers view but sideways.
    Then, I thought about that Y-Form profiles that I would need to add to the lower frame and the 120 degrees between them. Unfortunately there is not many connectors for 120 degrees and then I saw @Sebastian2 rig, that uses 2 x 135 and 1x 90 degrees between the profiles with the motors mounted on top of them.
    There are many 135 and 90 degree connectors available making the build much easier.
    Anyhow, is the difference between mounting the motors on a square frame vs. 135/90 degree angle vs. 120 degree angles so different?
  4. Sebastian2

    Sebastian2 Member Gold Contributor

    Joined:
    Dec 17, 2023
    Messages:
    84
    Balance:
    308Coins
    Ratings:
    +52 / 1 / -0
    Correct, with concepts like the one in the tutorial you've mentioned or mine, it's imperative that not all 3 motor axis are parallel to each other. Otherwise the whole top platform will fall over. Thats the reason why most 3DOFs with heave are built that way. The exception are concepts with a central pillar, but those come with their own challenges.

    To simplify things, I made a isosceles triangle using 45 and 90 degree corner brackets. I think a equilateral triangle would provide a little more stiffness around the vertical axis, but that would require 120 and/or 60 degree corner brackets. I have not seen those anywhere.
    With the experience I have today, I would consider making those 120 (or 60) degree brackets myself. All those 90 degree L or T shaped brackets are simply aluminum sheets of 6 mm thickness with a couple of 8 mm holes in the right places. Aluminium is trivial to drill holes into with a electric drill and cutting with a electric hand saw is also very easy. Shouldn't be much more than an hour's work to make a handful of 120 or 60 degree brackets.
    However, I don't regret the route I've went regarding the angles of my triangle. The stiffness around my vertical axis and against lateral and longitudinal movement is good enough.

    In that case the kinematics will work out in principle. However, I'm not sure if the stiffness in lateral direction, preventing left/right movement, will be good enough. In your case, any sideways movement will have to be prevented by the axis bearings of one single motor. The resulting movement might be too big. Have you seen rigs built like this?

    This will result in the maximum pitch angle being much smaller than the maximum roll angle. Are you aware of that?

    ---

    I'm a little worried about hearing that your bottom platform will be only 50 cm wide. Can you estimate how high up from the ground the surface of your seat will be? The top platform will throw you around quite a bit - aren't you worried that you and your whole rig are going to fall over sideways? Or will you bolt it to the ground or use heavy weights to keep it there?
    While deciding on the width of my bottom platform, I took a look at my office chair. I noticed that the surface of the seat was about as high up from the ground as the bottom part (the star shaped structure with the wheels) is wide.
    While constructing my rig in CAD I measured that the seat surface will be about 1m from the ground. That's why I made my bottom platform 1 m wide.

    Have you seen other 3DOFs or 2DOFs with a similar angular travel that you are going for, that are only 50 cm in width? As far as I've understood you are aiming for the +/-20 degree ballpark which is much more than a lot of racing rigs do. So they might not be well suited to compare yourself to.
  5. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    43
    Balance:
    245Coins
    Ratings:
    +4 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    I haven't written anything for a while, sorry for that, Ex-wifes, children and work are costing quite some time... expecially ex-wifes :p

    Anyways, I have worked as much on the project as I could and happy to give an update.

    I have marked the Center of Gravity following the FAQ which is the "1" marking on the first photo.
    Underneath the upper rig you can see 40x80 profiles that are connected in the center with 120° connectors. The center of the three profiles connecting to each other is right underneath the CoG. As the connectors are M6, I simply drilled them up to M8. On the "2" marking you can see where the upper rig meets the lower frame. I take this marking to better assume where the motors are going to be placed and to guess where to cut the profiles as they are 120cm long and standing out too far. From the "2" marking, currently I think I'll take another 20cm to the end and cut them. The rest of the frame (the leftovers) I'm gonna take to attach it at the ends of the the Y-Frame as a cross-connection to make it more stable.

    image0.jpeg

    Further more I have build the control plate. It's not all finally wired up, but if you take a look at the wiring diagram you might get the idea behind it.
    On the right hand side you see a 2000W PSU (the black one) going over a 40A fuse (yes its not 60A as I followed @Sebastian2 recommendation), going into the right hand side sabertooth. This Sabertooth is meant to control two motors, which is why I have attached 2 x 2 6,8 Ohm/100W resistors. I'm going out of the Sabertooth with two 20A fuses and from there I'm going to connect the motors.
    On the left hand side you see basicly the same thing, just set up for one motor. the only difference is the PSU which is 1000W and the fuse right behind the PSU which is a 20A fuse.
    the lower black boxes with the green and black wire are two Arduino Unos controlling the Sabertooths. Later on I'm gonna connect the potentiometers to the Arduinos.

    image1.jpeg

    Happy to get your feedback.
    • Like Like x 1
  6. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    43
    Balance:
    245Coins
    Ratings:
    +4 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    I have finally everything wired together and run the first test with all components in place.
    Currently I have a problem that needs to get solved.

    But first things first.
    I have connected each of the two 2x32 Sabertooths to my PC and used Describe in order to install the most current Firmware, set the Baud rate to 115200 and the Serial Timeout to 0.01s.

    After that I have uploaded the arduino Sketch for the use of multiple 2x32 Sabertooths and Arduinos.
    I've uploaded the SPS 8.2 Softstart Sketch from here.

    I followed each step of this tutorial.

    The Arduino Nr1 is connected to the 2x32 Sabertooth Nr1 like this:

    Sabertooth 0V to Arduino GND
    Sabertooth S1 to Arduino PIN 13
    This Sabertooth is connected to two motors.

    The Arduino Nr1 is connected to the two POTs (I have changed them to 180 POTs instead of the former 360)
    POT1 GND to Arduino GND
    POT1 5V to Arduino 5V
    POT1 VOUT to Arduino A0

    POT2 GND to Arduino GND
    POT2 5V to Arduino 5V
    POT2 VOUT to Arduino A1

    The Arduino Nr2 is connected to the 2x32 Sabertooth Nr2 like this:

    Sabertooth 0V to Arduino GND
    Sabertooth S1 to Arduino PIN 13
    This Sabertooth is connected to only one motor.

    The Arduino Nr2 is connected to one POT (I have changed it to a 180 POT instead of the former 360)
    POT3 GND to Arduino GND
    POT3 5V to Arduino 5V
    POT3 VOUT to Arduino A0

    Now, The first Motor on Arduino Nr 1 and 2x32 Sabertooth Nr 1 and POT1 works fine.
    The second Motor on Arduino Nr 1 and 2x32 Sabertooth Nr 1 and POT2 has the same problem like the third Motor on Arduino Nr 1 and 2x32 Sabertooth Nr 2 and POT3.
    In both cases, using SMC3 (v. 0.80), when increasing PWMmax, the PWM 8yellow line) goes up. The green line (Feedback) stays where it is unchanged. It seems like the POTs (2 and 3) are not giving any Feedback, but POT1 does.

    Is there anything I need to set as a parameter in the Arduino code?
    Is there any way how to check if the cable connection is working (especially the VOUT Signals)?

    Any help is appreciated.
  7. Sebastian2

    Sebastian2 Member Gold Contributor

    Joined:
    Dec 17, 2023
    Messages:
    84
    Balance:
    308Coins
    Ratings:
    +52 / 1 / -0
    As far as I understood, the green POT value displayed in SMC3Util does not change, when you physically turn POT2 and POT3?

    Are you aware that you have to switch between the motors to see the different pots in SMC3Util? Look at the buttons in the upper right corner of SMC3Util.

    Also, are you sure your SMC3Util is connecting to the Arduino thats connected to POT2 and POT3?
    You can check by only connecting the POT2/3 Arduino to your PC.
    There is some ini file in the SMC3Util folder where you configure the COM port SMC3Util should use.
    I recommend having a sepearte copy of the SMC3Util folder for each arduino. Each folder can have it's own config file with a different COM port.

    If the issue persists, i recommend checking the pot with a multimeter in voltage mode. Connect it to GND and the cable you would put into the arduino. Then pyhsically turn the pot. The voltage displayed by the multimeter should change from about about 0 to about 5 V.
  8. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    43
    Balance:
    245Coins
    Ratings:
    +4 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    Hey Sebastian, correctly understood. And yes I am aware, that I need to change the Motors in the upper right.
    The weird thing is: POT1 and POT2 are connected to the same Arduino. POT1 works, POT2 doesnt.
    POT3, which is connected to another Arduino, doesnt work as well.
    And yes I have changed the COM port to the correct Arduino(s). I am sure about that because all three motors rotated (separately) when I increased the PWMmax.

    Thank you for the hint with the multimeter. Thats the next thing I'm going to test.
  9. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    43
    Balance:
    245Coins
    Ratings:
    +4 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    Oh Jesus, I'm getting old.
    Thank you @Sebastian2, while I measured the Volts, I recognized that the 3D printed gear that I put on the Pots were too lose and didn't turn the Pot. I'm finalizing the 3D prints now and fix them onto the Pots or Motors so that everything sits tight.
    Last edited: Mar 7, 2025 at 15:10
  10. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    43
    Balance:
    245Coins
    Ratings:
    +4 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    Ok, everything is fixed now and SM3 for both Sabertooth Drivers work as it is supposed to.
    Now, I'm working my way through SIMTools and Testing wont get the motors moving.

    I have installed the PC Game Plugins for ASsetto Corsa Competizione, Assetto Corsa Evo and F1 2023.
    I have installed the Axis Plugin "Generic 2D Standard".
    I have installed the Interface Plugin "Serial".

    Here are my settings:
    Screenshot 2025-03-07 151456.png
    Screenshot 2025-03-07 151512.png

    I have connected the two Arduinos via USB to the PC.

    When going to the Test Settings and changing the Axis1a, Axis2a or Axis3a values, nothing happens.
    Screenshot 2025-03-07 151603.png
  11. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    21,395
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    150,025Coins
    Ratings:
    +10,993 / 54 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    What are your Axis Assignment settings?

    Your Interface settings are configured for 6 axis.

    Do check out the Quickstart guide: https://simtools.us/wp-content/uploads/2024/02/QuickStart-Guide-for-SimTools3.pdf

    And SimTools manual: https://simtools.us/wp-content/uploads/2024/02/SimTools-v3.pdf
  12. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    43
    Balance:
    245Coins
    Ratings:
    +4 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    Thank you @noorbeast for the docs. After reading them all, watching numerours Youtube Videos, the best to my knowledge I could come up with is this (screenshots). But still the motors are not moving with SimTools v3.0 Beta. It all works in SMC3 Utils though.

    Screenshot 2025-03-10 155518.png Screenshot 2025-03-10 155529.png Screenshot 2025-03-10 155546.png Screenshot 2025-03-10 155603.png Screenshot 2025-03-10 155610.png Screenshot 2025-03-10 155628.png Screenshot 2025-03-10 155641.png Screenshot 2025-03-10 160106.png

    I've tried it with BitsPerSec 115200 and 500000, as well as [A<Axis1a>][B<Axis2a>) (Interface 1) and [C<Axis3a>] (Interface 2) or <Axis1a><Axis2a> and <Axis3a>.

    I've tried the Test-Settings in Motion Setup (Interface Setup) and Test Settings in the Game Plugins.
    I even disbaled the firewall and antivirus.

    I just don't get why the motors are not moving in Simtools with SPS 8.2 softstart.
  13. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    21,395
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    150,025Coins
    Ratings:
    +10,993 / 54 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    The settings should be:
    BitsPerSec - 500000
    Interface Output - [A<Axis1a>][B<Axis2a>]
  14. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    43
    Balance:
    245Coins
    Ratings:
    +4 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    I've tried it already, but took your settings again and I just cant get the motors moving at all (besides SMC3).
    I have disabled Windows Defender, Disabled the Firewall, reinstalled Simtools on my Windows 11 PC, nothing seems to work. The Arduinos are Clones.

    Screenshot 2025-03-11 212235.png Screenshot 2025-03-11 212228.png

    What else can I check?
  15. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    21,395
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    150,025Coins
    Ratings:
    +10,993 / 54 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    You seem to be messing with lots of settings before first establishing motion, so return everything to defaults, Load Defaults, set up the interface and test, then dive into the settings adjustments. For example why have you set axis limiting:

    [​IMG]