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:
    65
    Balance:
    337Coins
    Ratings:
    +9 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    I've tried that before, cause as soon as I put a cable from PIN8 to GND on the Arduino Uno, SMC3Utils won't beable to open up a communication "Could not establish comms with Arduino SMC3, Abort, Retry, Ignore".
    Thats weird, cause the Sabertooth is set to 115200 baud with DEScribe.
  2. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    22,103
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    Tasmania, Australia
    Balance:
    154,238Coins
    Ratings:
    +11,176 / 57 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
  3. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    65
    Balance:
    337Coins
    Ratings:
    +9 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    I'm using SPS 8.2 softstart from this tutorial.

    The code says:
    Code:
        // set the data rate for the SoftwareSerial port
    #ifdef SECOND_SERIAL
        mySerial.begin(115200);
    #endif
    #ifdef MODE3
    {
      pinMode(8, INPUT_PULLUP);
      pinMode(9, INPUT_PULLUP);
      pinMode(10, INPUT_PULLUP);
      pinMode(11, INPUT_PULLUP);
      pinMode(12, INPUT_PULLUP);
     
      if (digitalRead(8) == HIGH){
        Serial.begin(500000);
      }
    else
    {
      Serial.begin(115200);
    }
      if (digitalRead(9) == LOW){
        mySerial.begin(19200);
        ST[0].setBaudRate(115200);
        ST[1].setBaudRate(115200);
        mySerial.end();
      }
      else if (digitalRead(10) == LOW){
        mySerial.begin(38400);
        ST[0].setBaudRate(115200);
        ST[1].setBaudRate(115200);
        mySerial.end();
      }
      else
      {
        mySerial.begin(9600);
        ST[0].setBaudRate(115200);
        ST[1].setBaudRate(115200);
        mySerial.end();
      }
     
       mySerial.begin(115200);
    
    So yes, I would expect, jumpering PIN 8 and GND, the Arduino would be set to 115200 and otherwise run with 500000 Baud.
    I think I'll open up the Arduino IDE and try to see if the console using 115200/500000 baud shows something useful.
  4. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    65
    Balance:
    337Coins
    Ratings:
    +9 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    Ok, so I could prove that jumpering PIN 8 and GND leads to the Baud rate getting set to 115200.
    Testet it with a simple Outut to the Serial Monitor in Arduini IDE. 115200 was readable, 500000 not.

    The Code works, but still, SMC3Utils won't connect with a Baud rate set to 115200 but only with a Baud rate of 500000.
    Do I need to use another version of SMC3Utils? I'm using version 1.01 of the mentioned thread.
    Last edited: Jan 24, 2026
  5. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    65
    Balance:
    337Coins
    Ratings:
    +9 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    I'm really struggeling getting my motors run properly.
    During my tests, I noticed that the rear center motor is carrying significantly more load than the two front motors.

    Although I determined the Center of Gravity according to the tutorial, it's possible that it shifted backward unnoticed during the installation of the upper rig along with the lower frame.

    This, combined with the fact that I tested with incorrect/poor values using SMC3Utils, led to this motor overheating and (still to be verified) likely sustaining damage. The motor had to withstand temperatures of approximately 110 degrees Celsius for an extended period of 1 to 1.5 hours.

    I will now re-measure the Center of Gravity.

    Regardless, I'm finding it extremely difficult to correctly configure or PID tune the motors.

    My motors are vibrating excessively, and I can't find any step-by-step instructions or criteria to determine whether the set values are correct and final.

    I'm having real trouble making progress and want to prevent further damage. I would be extremely grateful if someone could guide me here or provide a tutorial.
  6. Sebastian2

    Sebastian2 Active Member

    Joined:
    Dec 17, 2023
    Messages:
    115
    Balance:
    490Coins
    Ratings:
    +66 / 1 / -0
    Ooof, sounds like you are having a really tough time there.

    I suggest starting out simple and then increase complexity step by step. Here is what I would do.

    1.: Remove the load from the motors. Don't have them mechanically connected to anything. Electrically disconnect the motors from the drivers. Mechanically disconnect the pots from your motors. You need to be able to move them by hand.
    2.: Without any parts moving, check if your pots deliver a steady signal to SMC3utils. Take a look at the diagram to see if the signal is noisy. The green feedback line should be steady.
    3.: Turn the pots by hand. Does the green line in SMC3utils behave as expected? Turn the Pots all the way you expect them to move during operation. Does the signal keep moving steadily or are there sudden jumps?
    4.: Make a very basic setup in SMC3utils like this:
    Fpid: 1 (or higher, if your driver needs that)
    Kp: 100
    Ki: 0
    Kd: 0
    Fpwm: 25 kHz (or whatever your driver needs)
    PWMmin: 0
    PWMmax: 255
    PWMrev: 0
    Max Limits: 255
    Clip Input: 255
    Dead Zone: 0
    5. Again, turn the pot by hand. When the green feedback line is at the same value as the blue target line, the yellow PWM line should be at 0. The more you move the green feedback line away from the blue target line, the higher the yellow PWM line should go.
    6.: Reconnect power to the motor. Leave the pot mechanically disconnected to the motor. Now, by turning the pot, you should be able to control the direction and speed of the motor.
    7.: mechanically connect the pot to the motor. Perform the steps described here, under the section "initial setup": https://www.xsimulator.net/communit...3dof-motor-driver-and-windows-utilities.4957/

    Please report back with how much of the described steps worked for you. This will help with further diagnosis.
    Last edited: Mar 13, 2026 at 13:56
  7. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    65
    Balance:
    337Coins
    Ratings:
    +9 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    Ok,
    1. I have removed the load from the motors, its just the levers that are still attached.
    2. Please see the attached Screenshots showing a steady unnoisy green line.
    3. Please see the movement of the pots of motor 1 and motor 2 (motor 3 follows) with motors being OFF
    4. I have set these values for all my motors.
    5. Please see the movment of the pots of motor 1 and motor 2 with motors being ON. Motor 1 runs good but at motor 2 as soon as it starts increasing the speed (softstart) the Arduino loses its connection to my pc and the graph stops. So seems like I have an issue here already somehow connected with the power that the motor increasingly consumes.
    6. For motor 1 its true, motor 2 has an issue getting faster in rotation.
    7. I will do that later, first I wanna find out what the issue with motor 2 is. Further more I'd like to swith the POT to the oposite direction of motor 2, so that it is at the same side as motor 1.

    Add: I just moved motor 3 in manual mode and the result was the same as with motor 2. so there was a peak of the yellow PWM line and the Arduino lost the USB connection to the PC.

    Attached Files: