1. 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!
  2. 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
  3. 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

Showroom Prototype DIY 3-DOF motion platform – Arduino + 3x BTS7960 + SMC3

Discussion in 'DIY Motion Simulator Projects' started by krause-a, Nov 2, 2020.

  1. krause-a

    krause-a New Member Gold Contributor

    Joined:
    Jul 23, 2009
    Messages:
    6
    Location:
    46514 Schermbeck, Germany
    Balance:
    97Coins
    Ratings:
    +9 / 0 / -0
    My Motion Simulator:
    3DOF, Arduino
    Hello together,

    I would like to present here as a new member my own DIY 3-DOF prototype.

    I already have my own self-built Raceseat, the creation of a motion-seat is the new challenge with the mechanics, electrics and software.

    I'm glad that I found your community as well. This was also very helpful so far.


    IMG_1866.JPG


    I decided to use a 3-DOF motion platform to simulate also bumps.

    I have used the following basic components:

    3 x wiper motor BOSCH 0390 257 693 CHP 24V
    3 x potentiometer Sakae FCP22E 10K
    3 x BTS 7980B DC 43AH-bridge
    1 x Arduino Uno Board

    The truck wiper motors deliver nominal 4,5Nm and max. 16Nm torque. That should be enough :)

    The potentiometers have no mechanical stop and can be turned over more than 360°. This was important to use to avoid damage to the precision mechanics in case of hardware or software malfunction.

    The 43A motor drivers BT7980B do not reach their limits, because the wiper motors have a maximum current of 16A. This is safe.

    The Arduino UNO board seems to be standard :)


    img (4).jpg img (23).jpg img (25).jpg

    Bosch CHP 0 390 257 693.png


    I had initially tried to mount the potentiometers directly axially on the axes of the wiper motors. But this turned out to be difficult due to misalignments in the coaxiality. The bearings of the potentiometers are not very stable.
    Now I mounted the potentiometers on the side and they are movable. The lever arm of the potentiometer is preloaded with a small spring (at the moment with a rubber band). Another advantage was that I could adjust the relation between the wiper motor axis and the potentiometer axis by using gears.

    There are 72 teeth on the wiper motor axis and 40 teeth on the potentiometer axis.
    Thus the measuring range of the potentiometer is used quite well. With a rotation angle of 180° at the wiper motor I use 324° at the potentiometer.

    The shafts of the wiper motors have a diameter of 10mm. On this I mounted a square steel 18x18mm made of a higher strength material C45K.
    The square steel is slotted and clamped with 2 screws M5-10.9. There are several online calculations for the slotted shaft-hub-connection in the net, for example:

    https://www.schweizer-fn.de/maschinenelemente/klemmverbindung/klemmverbindung.php

    At max. bolt pretension of the bolts the lever arm should not slip on the axle.


    Motion rig (1).jpg Motion rig (5).jpg

    Motion rig (2).jpg Motion rig (3).jpg Motion rig (4).jpg

    Motion rig (6).jpg Motion rig (7).jpg

    Motion rig (8).jpg Motion rig (9).jpg


    For a clearer cable connection of the 3 motor drivers and the 3 potentiometers with the Arduino, I have created a small circuit board that contains all cable connections. Especially the GND and 5Volt connections of the Arduino are nicely distributed to the other components.


    Verdrahtung (0).png



    Verdrahtung (1).JPG Verdrahtung (2).JPG Verdrahtung (3).JPG

    Verdrahtung (4).jpg Verdrahtung (5).jpg Verdrahtung (6).jpg

    Verdrahtung (8).png


    My first test with one axis and the program SMC3Utils went without problems. Afterwards all other axes could be tested separately.



    Then I tried it with SimTools. With a little training I could link all 3 axes (Roll, Pitch, Heave).

    But here I had the problem that after about 15 seconds the movements of the motion rig were almost completely stopped.

    By using a USB analyzer I could see that the USB interface to the Arduino was the problem.

    The data rate dropped from 10ms to over 2 seconds.



    The Arduino board tries to send data to the computer at regular intervals and tries to reserve a buffer of 4096 bytes.

    I found the reason for this in the program SMC3.ino.
    The subroutine Parsecommand contains the line
    "Serial.println(RxBuffer[0][ComPort])"
    I have commented these out.

    This fixed the problem. The motion-rig now runs permanently clean. The programs SimTools and SMC3Utils work also without these programming line.
    I have not yet figured out what this command is useful for.


    Buffer Problem.png


    SMC3_auskommentiert.png


    But it works :)


    The next step is to combine the racing seat with the wiper motors.

    Attached Files:

    • Like Like x 1
  2. Ads Master

    Ads Master

    Balance:
    Coins
    Ratings:
    +0 / 0 / -0
  3. krause-a

    krause-a New Member Gold Contributor

    Joined:
    Jul 23, 2009
    Messages:
    6
    Location:
    46514 Schermbeck, Germany
    Balance:
    97Coins
    Ratings:
    +9 / 0 / -0
    My Motion Simulator:
    3DOF, Arduino


    • Like Like x 1
  4. Arta Yasa

    Arta Yasa Member

    Joined:
    Jan 27, 2021
    Messages:
    76
    Balance:
    315Coins
    Ratings:
    +5 / 0 / -0
    My Motion Simulator:
    2DOF
    Hi sir, very nice project, me too still build 2dof with wiper motor, and i too used wiper motor bosch, like this, how to wiring this? Because the wiper motor have 3 cold(carbon brush).

    Attached Files:

  5. krause-a

    krause-a New Member Gold Contributor

    Joined:
    Jul 23, 2009
    Messages:
    6
    Location:
    46514 Schermbeck, Germany
    Balance:
    97Coins
    Ratings:
    +9 / 0 / -0
    My Motion Simulator:
    3DOF, Arduino
    Hi,

    sorry for late answer.

    Yesterday I disassembled one of my wiper motor. My wiper motors each have 2 brushes, 2 coils and 2 capacitors

    Attached Files:

    • Like Like x 1
    • Friendly Friendly x 1
  6. Arta Yasa

    Arta Yasa Member

    Joined:
    Jan 27, 2021
    Messages:
    76
    Balance:
    315Coins
    Ratings:
    +5 / 0 / -0
    My Motion Simulator:
    2DOF
    Thank you for your reply sir, but i have cahnge my motor wiper too sir. But now i used 2 deffrent motor wiper ( deffrent body and rpm). But yesterday i found motor dc 24v worm gear( ex wire drive big MIG welding) , but the worm gear cannot selft locking sir. It is posible to use sir??
    But on motor wiper on the worm gear with selft locking sir.
  7. krause-a

    krause-a New Member Gold Contributor

    Joined:
    Jul 23, 2009
    Messages:
    6
    Location:
    46514 Schermbeck, Germany
    Balance:
    97Coins
    Ratings:
    +9 / 0 / -0
    My Motion Simulator:
    3DOF, Arduino
    Hi,

    I have removed the self-locking mechanism from all my worm gears
    • Friendly Friendly x 1
  8. Arta Yasa

    Arta Yasa Member

    Joined:
    Jan 27, 2021
    Messages:
    76
    Balance:
    315Coins
    Ratings:
    +5 / 0 / -0
    My Motion Simulator:
    2DOF
    Why sir?? in my 150rpm motor without selft locking the rotation often passes which causes the motor to not work (I use smc3 arduino + bts7960) is it because of the pot, the motor sometimes goes over the limit?
  9. ikesimuladores

    ikesimuladores New Member

    Joined:
    Nov 16, 2020
    Messages:
    1
    Balance:
    68Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    What was the ino code you used?
  10. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    16,879
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    122,603Coins
    Ratings:
    +9,681 / 47 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    Please check the first post, as it states SMC3 was used.
    • Friendly Friendly x 1
  11. krause-a

    krause-a New Member Gold Contributor

    Joined:
    Jul 23, 2009
    Messages:
    6
    Location:
    46514 Schermbeck, Germany
    Balance:
    97Coins
    Ratings:
    +9 / 0 / -0
    My Motion Simulator:
    3DOF, Arduino
    Hi,

    I was meaning that I removed the mechanical selflock from the wiper motors (see pictures).
    The wiper motors usually only rotate in one direction and are secured against an external force in the opposite direction.

    You probably mean the software lock. You have to configure your motors with the SMC3 Windows Utility to prevent overturning.You have to prevent that the motors turn over the limit.
    Please look here in the forum for SMC3 Windows Utility, the instruction manual and for the setting options.

    Attached Files:

    • Like Like x 1
    • Friendly Friendly x 1
  12. Arta Yasa

    Arta Yasa Member

    Joined:
    Jan 27, 2021
    Messages:
    76
    Balance:
    315Coins
    Ratings:
    +5 / 0 / -0
    My Motion Simulator:
    2DOF
    Yes sir, my motor wiper can turn cw and ccw.
    But now i get some problem,

    sometimes the wiper motor doesn't move at all, after I checked the smc3 utility, the pwm feedback from the potentio is not detected (sometimes it happens on motor 1, sometimes motor 2, sometimes at the same time) I have to turn off the arduino, laptop, and others if I turn them back on . here I use bts7960. did the bts7960 shut down? I don't think so because pwm feedback is not readable in smc3 utility. after I carefully read your post again, I found this (see picture). maybe the problem is there??
    I have check smc code, but did't see that code to be comment sir.

    Or is it all because the potentio I use is cheap?? like in the picture, I see your potential, it's too expensive for me.
    Please help me sir

    Attached Files:

    Last edited: Jul 6, 2021
  13. krause-a

    krause-a New Member Gold Contributor

    Joined:
    Jul 23, 2009
    Messages:
    6
    Location:
    46514 Schermbeck, Germany
    Balance:
    97Coins
    Ratings:
    +9 / 0 / -0
    My Motion Simulator:
    3DOF, Arduino
    Hello,

    do the motors fail in different positions or only at the extreme positions (at a large angle)?

    I would exclude the potentiometers as a problem, they are quite simple in design.

    However, I had to reduce the PWMmax value up to 150, because I often had short dropouts at one motor.
    The power supply also shut down for a short time and then turned on again.
    I have not yet found the actual cause.
    • Friendly Friendly x 1
  14. Arta Yasa

    Arta Yasa Member

    Joined:
    Jan 27, 2021
    Messages:
    76
    Balance:
    315Coins
    Ratings:
    +5 / 0 / -0
    My Motion Simulator:
    2DOF
    Yes sir on large deggre sir. But after i read all about smc3 arduino, the program include auto shutdown when the deegre over sir, yes i think i should reduce pwm max. Because now pwm max is 255.