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:
    50
    Balance:
    267Coins
    Ratings:
    +5 / 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 Active Member

    Joined:
    Dec 17, 2023
    Messages:
    101
    Balance:
    407Coins
    Ratings:
    +57 / 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:
    50
    Balance:
    267Coins
    Ratings:
    +5 / 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 Active Member

    Joined:
    Dec 17, 2023
    Messages:
    101
    Balance:
    407Coins
    Ratings:
    +57 / 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:
    50
    Balance:
    267Coins
    Ratings:
    +5 / 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:
    50
    Balance:
    267Coins
    Ratings:
    +5 / 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 Active Member

    Joined:
    Dec 17, 2023
    Messages:
    101
    Balance:
    407Coins
    Ratings:
    +57 / 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:
    50
    Balance:
    267Coins
    Ratings:
    +5 / 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:
    50
    Balance:
    267Coins
    Ratings:
    +5 / 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
  10. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    50
    Balance:
    267Coins
    Ratings:
    +5 / 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.
    ==============PLEASE FIND THE SOLUTION HERE ==============
    Screenshot 2025-03-07 151603.png
    Last edited: Jul 9, 2025 at 15:20
  11. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    21,592
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    151,215Coins
    Ratings:
    +11,031 / 56 / -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:
    50
    Balance:
    267Coins
    Ratings:
    +5 / 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,592
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    151,215Coins
    Ratings:
    +11,031 / 56 / -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:
    50
    Balance:
    267Coins
    Ratings:
    +5 / 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?
    ==============PLEASE FIND THE SOLUTION HERE ==============
    Last edited: Jul 9, 2025 at 15:21
  15. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    21,592
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    151,215Coins
    Ratings:
    +11,031 / 56 / -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]
  16. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    50
    Balance:
    267Coins
    Ratings:
    +5 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    ==============BEST IS YOU IGNORE THIS POST AS I AM GOING DOWN THE COMPLETELY WRONG ROAD. FIND THE SOLUTION HERE ==============

    Hey @noorbeast, thank you for your reply... I don't know I'm really stuck with this problem. After all tests I've made I don't get why it is working with SMC3Util (seems like the wiring, hence the hardware seem to work) but as soon as I'm using SIMTools, there is absolutely no movement.

    I have the feeling that I'm missing an important step.

    But let's start from the beginning.
    I have a setup with two Sabertooth 2x32 and one Arduino Uno (Clones) at each Sabertooth.

    I'm running SPS 8.2 Softstart on both Arduinos. I have testet SMC3 v1.0 as well but the behaviour is the same.

    On one Sabertooth/Arduino I have two motors connected, on the other Sabertooth/Arduino, I have one Motor connected (3DOF).

    Using SMC3Utils all motors work as they are supposed to.

    As soon as I switch to SimTools, I just do not get the motors moving.

    I have installed and registered (PRO) Simtools on Windows 11 and installed the plugins (Game Plugins Assetto Corsa Competizione, Assetto Corsa EVO, F1 23), The Interface Plugin (Serial), the Axis Plugin (Generic 2D Standard).

    It seems that SimTools v3.0B gets a connection with the motors on COM Ports 9 and 6 (as I get no error messages in the Error Log).

    BitsperSecond = 500000
    Data Bits = 8
    Parity = None
    Stop Bits = 1
    Output Bit Range = 10
    Output Type = Binary
    Interface - Output = [A<Axis1a][B<Axis2a>] (for Com Port 9) Interface - Output = [C<Axis3a>] (for Com Port 6) Output Rate = 10ms


    When entering Test Mode and I move the axis, no motor is moving.

    I've read the manual, FAQs, watched several hours of Youtube videos, but I just can't find the root cause, why the motors are not moving.

    I debugged today so hard to find the root cause. I dont know, but maybe I found something?!

    I have created a virtual COM-Port so that on the same PC, I can use SimTools using Port 9 and Putty using virtual Com Port 13. So I am able to use SimTools sending Data and Putty to read the sent data of the same Port (both Ports are paired). Otherwise Port 9 would be blocked by SimTools and I would not be able to read the traffic with Putty.

    I mean, I know that SimTools uses Binary Output but the Output I get looks really weird, which I think is the reason, that the SPS 8.2 softstart Sketch cant interprete the values and so nothing moves.

    The Output of SimTools I can read via Putty is:

    ▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A~][A|][A{][Ay][Aw][Au][Au][As][Aq][Ao][Am][Ak][Ai][Ag][Ag][Ae][Ac][Ab][A`][A^][A\][AZ][AZ][AX][AV][AT][AR][AP][AN][AL][AK][AK][AI][AG][AE][AC][AA][A?][A=][A;][A;][A9][A7][A5][A3][A2][A0][A.][A,][A*][A*][A(][A&][A$][A"][A ][A][A][A][A

    ][A ][A][A][A][A][A][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][A▒][][A}][A{][Ay][Aw][Au][As][Ar][Ap][An][Al][Aj][Ah][Af][Ad][Ab][A`][A`][A^][A\][A[][AY][AW][AU][AS][AQ][AO][AM][AK][AI][AG][AE][AC][AB][A@][A>][A<][A:][A8][A6][A4][A4][A2][A0][A.][A,][A+][A)][A'][A%][A#][A!][A][A][A][][A][A][A][A][A▒][A▒][A▒]


    You can see that in the lower middle the [A with many spaces was when I moved the Axis1a to the right. After that I stopped (X-Button) the movement and the Test.

    Furthermore I have double and triple checked tha the DIPs on the Sabertooth are ON/ON/OFF/OFF/OFF/OFF.
    The Config says 8-N-1. I have testet everything on 9600, 115200 and 500000 Baud, no change in behaviour.
    I have checked that Arduino 13 is correctly connected to Saberooth S1 and Arduino GND to Sabertooth 0V.
    I have testet Port 12 instead of 13. And many more.

    Another thing I found was, using some Debugging Code that Serial.available() > 0 is true and the void loop () runs once and after that the code seems to be stuck.
    I am SO lost.
    Last edited: Jul 9, 2025 at 15:23
  17. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    21,592
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    151,215Coins
    Ratings:
    +11,031 / 56 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    Can you please post a picture of your SMC3 settings, running the Sine Test.
  18. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    50
    Balance:
    267Coins
    Ratings:
    +5 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    Yes of course.

    Motor 1:
    Sine_Test_Motor_1.png

    Motor 2:
    Sine_Test_Motor_2.png

    Motor 3:
    Sine_Test_Motor_3.png
  19. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    50
    Balance:
    267Coins
    Ratings:
    +5 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    I might have found the solution in this post of @Miszor for why the motors are not moving in SimTools. It's gonna be the next thing I test out as soon as I have the time for it.

    I did the same thing and turned PWMmax to zero after each test in SMC3Utils.
    So PWMmax for SimTools is set to zero, hence no motor movement.

    You can see the solution quite well in this video at 49:47 when DMAX closes SMC3Utils, after switching to Manual mode and closing the App, he keeps the settings (PWMmax 200, etc). After that he openes SimTools:



    Another next step is PID tuning.
    It's hard for me as a novice to understand how the step by step procedure works.
    In this FAQ, the mentioned video is private now, so no possibility to watch it.
    In this tutorial, the terms are explained, but not how to find the right settings for your individual rig.

    Any suggestions on where to start and how to end the PID tuning?
    Last edited: Apr 15, 2025
  20. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    50
    Balance:
    267Coins
    Ratings:
    +5 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    Another update to this post.
    First of all: My assumption was correct. The fact that I set the PWMmax parameter to zero in SMC3Utils after each motion test and then started SimTools resulted in no movement in SimTools.
    Therefore, it makes sense to first perform PID tuning and determine the optimal values and save them in SMC3Utils.

    PID Tuning:
    I'll be honest: It was almost impossible for me to understand or deduce from the posts or tutorials in this community how to best perform PID tuning for my motors. For this reason, I used ChatGPT for support. I aligned the levers horizontally and ensured that the green feedback line was positioned as precisely as possible on the blue target line in SMC3Utils.
    Next, I started "Motion" mode and waited until the lines had horizontally passed through the SMC3Utils window once. I then took a screenshot of it and put it with the parameters from SMC3Utils into the ChatGPT prompt, requesting PID tuning. I also shared the feedback, as my motor, for example, was stuttering heavily at the beginning.
    In the end, I ended up with settings that worked well.
    Please note that these settings are specific to each motor manufacturer and type. Please do not copy/paste them to your motor setup.

    My values are (These values are still for testing purposes only and not the final settings):

    PWMfreq: 25kHz
    Kp: 235
    Ki: 2
    Kd: 9
    Ks: 6
    PWMmin: 0
    PWMmax: 115
    PWMrev: 0
    Limit: 255
    Clip: 255
    Deadzone: 4

    I saved these values in SMC3Utils, so you can see that PWMmax is not zero and SimTools should work fine now.
    I then opened SimTools and performed the first tests, and lo and behold: The motors were moving.

    But let's move on to the further development of the rig.
    I added an emergency stop switch to the wiring diagram (pls see below).
    Here, too, I had a lot of trouble figuring out how to implement this solution from the posts and tutorials in this community.
    I bought a Schneider Electric XB4BS8442 Emergency Stop. When purchasing, make sure you buy suitable products for AC or DC, depending on your needs.
    The product should also be rated for 24V in this setup. However, emergency stops in a lower price segment have a lower amperage rating. In my case, it's 10 amps. That's significantly too little for my setup. So I can't simply install the emergency stop in my wiring.
    The solution is the Albright SW80-65 Contactor, which is rated for 24V and a maximum of 125 amps (significantly more than necessary). However, the switching mechanism only has a coil power dissipation of 11.08 watts and 0.46 amps. For safety, I installed a 2 amp fuse in front of it (you could also use a 1 amp fuse also). Since this mechanism only uses 0.46 amps, it works perfectly with the Emergency Stop.

    I had another challenge, though. I have two PSUs. When I connected both PSUs in parallel and thus only plugged in one Schuko plug for the socket, there was an inrush current peak that tripped the 16 amp house fuse. Increasing the house fuse to prevent the fuse from tripping is not an option. The cables and DIN standards in Germany are designed for 16 amps.
    So I now have two Schuko plugs (one per PSU) and plug them into sockets with two different power phases.

    This led to another problem with the Emergency Stop. Because I didn't want to activate two emergency stops to interrupt both circuits, but only one.
    The wiring diagram shows the solution: how I use one emergency stop to trigger both Albright contactors and thus interrupt the power supply between the PSUs and the Sabertooth 2x32.

    Diagram_1.jpg
    Diagram_2.jpg

    Another challenge was that I wanted to adjust the lever's mobility.
    At first, my gears (small on the POT; large on the lever) had a ratio of 1:3. Then I realized that this caused the angle of the lever's movement to be too small.
    This means: I had the lever, as described above, in a horizontal starting position. I could only move the lever about 5-10% in both directions. The ratio was too poor. Even software compensation via SimTools to slightly adjust the values wasn't sufficient.
    So I made improvements and added a gear of the same size to the POT as to my lever to ensure a 1:1 transmission.
    My goal was to be able to ensure a full 90 degrees (45 degrees up and 45 degrees down) until I read here in the forum that 40 degrees in both directions is optimal.
    Here I am now trying to do further fine-tuning between SMC3Utils and SimTools in order to exploit the full movement potential.

    Attached Files:

    Last edited: Jul 11, 2025 at 12:50