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

Tutorial SMC3 Arduino 3DOF Motor Driver and Windows Utilities

Discussion in 'SimTools compatible interfaces' started by RufusDufus, Dec 1, 2013.

  1. Talesgc

    Talesgc New Member

    Joined:
    Jul 15, 2025
    Messages:
    4
    Balance:
    38Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    Motion platform
    Not working here too: upload_2025-7-31_21-57-27.png
  2. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    21,669
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    151,668Coins
    Ratings:
    +11,045 / 56 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    SMC3 is written for the Arduino Uno R3.
    • Like Like x 1
  3. Mistake

    Mistake New Member

    Joined:
    Aug 3, 2025
    Messages:
    2
    Balance:
    12Coins
    Ratings:
    +1 / 0 / -0
    My Motion Simulator:
    2DOF, 3DOF, Arduino, 4DOF
    Good afternoon everyone, I have a question, if I build 2 2dof circuits separately from each other, will they work in SimTools and in the game as 4dof? I want to try to build a 4dof in this way.
  4. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    21,669
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    151,668Coins
    Ratings:
    +11,045 / 56 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    Yes SimTools can handle 2 Arduinos.
    • Like Like x 1
  5. Mistake

    Mistake New Member

    Joined:
    Aug 3, 2025
    Messages:
    2
    Balance:
    12Coins
    Ratings:
    +1 / 0 / -0
    My Motion Simulator:
    2DOF, 3DOF, Arduino, 4DOF
    Thank you very much for the reply, as soon as I get the parts I will start assembling, I will also share my experience on assembly
    • Like Like x 1
  6. Michail

    Michail Member Gold Contributor

    Joined:
    Jan 5, 2022
    Messages:
    167
    Location:
    Germany
    Balance:
    733Coins
    Ratings:
    +28 / 1 / -0
    Is there a list where all compatible smc3 controller are?
    Only know, ibt2, vnhsp30, cytron md13s, sabatooth.
    I installed yesterday a rc filter = 1k ohm resistor with 1μF capacitor on each analog input. And after switch in on motor does not move. In smc3 the hall sensor reacts, but the motor does not move. So I suggest, that the ibt2 again broken. so is there another alternative for mode2, that I don’t have to change the wiring and smc3 script but is way more durable?

    Another question is, that why when I increase the Ki value the motor is jumping up and down like hell? On real pump with inverter does not reacts so in my PLC life.. I can increase ki to 90s and leave usually kp below 10. This behavior I mentioned above overshoot and return is only when add Kd. And with only KP the actual value usually will never reach the set point. It has to be an PI controller at least. So I am a bit confused.
  7. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    21,669
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    151,668Coins
    Ratings:
    +11,045 / 56 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    The SMC3 variants for various hardware are listed in the FAQs:
    https://www.xsimulator.net/community/faq/arduino-code-for-use-with-various-hardware-and-simtools.31/

    Many members have reported quality issues with IBT2s, some have suggested reducing the voltage may help.

    With respect to SMC3 settings please post a picture of those running the Sine test.
  8. Michail

    Michail Member Gold Contributor

    Joined:
    Jan 5, 2022
    Messages:
    167
    Location:
    Germany
    Balance:
    733Coins
    Ratings:
    +28 / 1 / -0
    I not new in the game. The smc3 was very well targeted tracked with with kp400, ki 0, kd 80 and Ks 3, fPWM 15 KHz. But I have had jittering and strange movements in idle mode. So I installed the rc filter for the analog inputs of the arduino. Pam max is set to 200 and voltage 21,5V.

    I will look into the smc3 faq. Thank you
    Last edited: Aug 12, 2025 at 09:55
  9. Joe Cortexian

    Joe Cortexian Active Member Gold Contributor

    Joined:
    Sep 8, 2021
    Messages:
    181
    Balance:
    1,081Coins
    Ratings:
    +40 / 0 / -0
    My Motion Simulator:
    3DOF
    SMC is a scaled integer solution. At the end of the calculation there is an “arbitrary” shift (divide) to get the output into -255 +255 range so it isn’t always clipping. So the values of say kp will not necessarily scale to numbers in other algorithms. I think that number was actually chosen carefully.

    Late in the faq there is a modification noted which is a fix for the PID algorithm. You should consider that update. It’s actually discussed in detail in this thread just back up a page or two to see it. The D term is just wrong. I don’t think that’s a direct effect on I but even though D is the derivative term you can think of it as the Damper term.