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

Showroom DIY_2DOF motion simulator

Discussion in 'DIY Motion Simulator Projects' started by Frank Li, Aug 2, 2021.

  1. Frank Li

    Frank Li New Member

    Joined:
    May 10, 2021
    Messages:
    12
    Location:
    Xinjiang, China
    Balance:
    63Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    Hello everyone!
    I have started my project to build a 2DOF motion simulator for days. I hope I can completely finish it in this year.
    As a beginner, it is the first time for me to DIY such a big project. I think it really bring me a sense of accomplishment and much more happiness than just order one.
    Thanks for Xsimulator community. There are so many members that loving motion simulation. It is a good community to everyone to study and share.

    To make my thread tidy, there will be 6 parts and I will present my project in this order.
    1.General Plan
    2.Circuital system
    3.Drive system
    4.Frame design
    5.Assembly
    6.Test & Debug
  2. Frank Li

    Frank Li New Member

    Joined:
    May 10, 2021
    Messages:
    12
    Location:
    Xinjiang, China
    Balance:
    63Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    PART 1. General plan

    I want to make one that everyone love it, so it can be played not only myself, but also my boy, my friends. So the seat must can be moved forward and backward, wheel and pedal can be adjusted too.
    Welding is not available for me, so I would like to use aluminum profile to bulid the frame, not so expensive in China. It is also easy to adjust.

    To save space, it has to be as small as it can be.

    Circuital system and drive system are my weak points, I have to copy other's project. Then thanks to Softkitty and RufusDufus, my project is based on theirs. Here is the link.
    https://www.xsimulator.net/communit...3dof-motor-driver-and-windows-utilities.4957/
    https://www.xsimulator.net/community/threads/bolt-on-2dof-project-with-12v600w-motors.13963/
  3. Frank Li

    Frank Li New Member

    Joined:
    May 10, 2021
    Messages:
    12
    Location:
    Xinjiang, China
    Balance:
    63Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    PART 2. Circuital system

    I had got my expresses a few days ago. Here is the main partlist.
    components.jpg

    2 mistakes were found after I had order the parts.
    the power supply is not enough to drive 2 motors, maybe I need a larger one. It is a big mistake. I have to try to test later;
    it got feedback from others' project that potentiometer was easily broken. Maybe I will change them to hall sensors(but quite expensive) in future.


    1. first of all, I have to find a proper box to put these components. I tried to find a shoe box but failed, then I turned to another way. I found a 8mm PVC expansion sheet(some redundant I had ordered before) and cut it into 200x120;
    2. 2 cooling fans (120x120x25) from old laptop cooler were glued with hot melt adhesive on the ends of PVC board. Now the base is almost complete, let's call it control box.
    Base_PVC expansion sheet.jpg 1.jpg 2.jpg 3.jpg

    3. attach the Arduino UNO and BTS7960 boards(back to back) to the base, using 3M double-side tape and some PVC blocks, see the pictures in detail.
    4. a small breadboard(35x47) can be just located on the 2 BTS7960, using double-side tape. then connect the 3 PCBs with jumper wires, use papertape to group the pins on the breadboard. Cut some drinking straws, as cable pipes, to make the wires tidy.
    5. connect the plugs/sockets. Some quick connectors are used to make the control box a single component, and separate from lots of wires. In this way, it looks more tidy I think.
    6. download the SMC3.ino program and test all system, everything gose well except the wrong connection of left/right potentiometer.
    7. the 2 fans are connected to 12V power supply in series, so each of them get 6V, a little larger than 5V, I hope they will not burn out.

    6.jpg 4.jpg 5.jpg 7.jpg


    After that I planed to use a paperboard to cover the control box, to make it looks like a box. But it looks not cool. Then I got an A3 card case. Tear off the transparent film, cut into (360+8x2)x200, bend it to be a cover of the PVC board, then open 2 holes for the connectors and Arduino UNO. see the pictures in detail.
    Then tear off the magnet sheet on the back of an A3 card case, cut into strips, attach to both film and fan body. Now everything inside are visible.
    finished control box.jpg quick connector.jpg
    • Like Like x 1
    • Winner Winner x 1
  4. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    20,553
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    145,136Coins
    Ratings:
    +10,779 / 52 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    It is a good idea to have the pedals and wheel adjustable, but not the seat, as that will likely change the geometry of the rig.
  5. Frank Li

    Frank Li New Member

    Joined:
    May 10, 2021
    Messages:
    12
    Location:
    Xinjiang, China
    Balance:
    63Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    Yes, it takes me a long time to decide how to make it, finally the dirve motors will be located at front. I had ordered a seat guide rail. Let me share it in subsequent update.
  6. Frank Li

    Frank Li New Member

    Joined:
    May 10, 2021
    Messages:
    12
    Location:
    Xinjiang, China
    Balance:
    63Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    PART 3. Drive system

    This part has to be associated with part 4 - frame design, otherwise you may go to a wrong direction.

    Firstly, with help of a caliper, I tried to draw a 3D model of the motor, it will be convenient in following design.
    Motor.jpg BOLT.png D1.PNG D2.PNG motor supporting plate.PNG
    Actuating arm is customized, 5mm sheet metal laser cutting. CTC is designed to 3 choices, 6cm/8cm/10cm, in case it cannot hold the weight of upper frame.
    the supporting plate is also laser cutting, to make it easily fixed to Al profile. Because I cannot find a good way to fix the motors in front, there is no enough space.
    The structure of my project is front motor, like DOFREALITY, different from rear motor structure.
    Softkitty1.PNG H2.jpg

    Assembly photos of motor
    1.jpg 2.jpg 3.jpg 4.jpg
    The bolt connecting rod is pressed into the actuating arm, interference fit;
    Because the dimension of S16 hole is about 16.8mm, much bigger than dimension 16.0mm of connectin rod, it is too loose. I finally find a good way to fill the gap, insert half of a cutter blade into each surface of hexagon.

    C1.jpg C2.jpg C3.jpg
    the potentiometer is connected with a elastic coupling φ6mm / φ10mm.
    My 3D printer had someting wrong, the bracket has to be delayed. As short term action, I just tied 2 cable clamps on the cover of potentiometer to limit it rotate together with shaft.
  7. Frank Li

    Frank Li New Member

    Joined:
    May 10, 2021
    Messages:
    12
    Location:
    Xinjiang, China
    Balance:
    63Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    PART 4. Frame design

    1. 3D drawings preparation.
    2. Self-learning of MAYCAD, it is very convenient to bulid an aluminum profile structure.
    3. Export to Solidworks for further assembly, simulation, and check.
    maycad.PNG solidworks.PNG final.PNG
    this is the main processes, and let me share some detail.

    Some preparation.
    seat (1).jpg seat (2).jpg joint.jpg rail.jpg
    a second-hand gaming chair for only 80 RMB( $13)
    a joint from Taobao, size 75x75x80, it looks really small (I hope it can hold the me and upper part, to be tested).
    Thrustmaster T300, ordered years before.
    and a seat slide rail from Taobao.
    3D drawings of actual parts will help the design process.

    2.PNG Softkitty2.PNG dofreality.jpg
    front motor can save a lot of space, it is much shorter than rear motor. Refer to Dofreality seat frame.
    It is the main reason why I choose it. Also, it uses less profile. I choose 4040 and 4080 profile, strong enough.


    chair retrofit (1).PNG chair retrofit (2).PNG chair retrofit (3).PNG
    the cheap gaming chair spent me a long time to retrofit, just for your reference.


    Joint (1).PNG Joint (2).PNG Joint (3).PNG
    Universal joint is placed as high as it can be, just under the seat. I remember the theory which had learned in university, but it is really difficult for me to explain this in English...
    T1.png T2.png
    So the key parameters are Mass_m and Distance_d.
    "m"_equal to your weight and upper structure, so lose your weight or reduce the Al profile.
    "d" _To have a better rotational inertia, we have to make parallel axis-center of mass close to universal joint. With same motors, the closer these 2 centers are, the more effective the action will be.

    Actully the universal joint is always below the center of gravity of our body , because we must sit on the chair, it is limited by the structure. If you want to make the 2 centers at same point, we must change another structure, but it can't be compact.


    support.PNG Joint (1).PNG
    I used to plan to use a 8080 profile as support, connecting lower frame and joint, but it looks not strong enough. So I enhance this support with 4x4080 profile.


    adjust.PNG
    Almost each components can be adjusted.


    simulation (1).PNG simulation (2).PNG simulation (3).PNG
    You can also check if there is any interference when simulate pitch and roll in Solidworks.
  8. Frank Li

    Frank Li New Member

    Joined:
    May 10, 2021
    Messages:
    12
    Location:
    Xinjiang, China
    Balance:
    63Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    PART 5. Assembly

    These are some photos during assembly.
    base frame (1).jpg base frame (2).jpg base frame (3).jpg
    base frame

    seat retrofit (2).jpg seat retrofit.jpg seat retrofit (4).jpg seat retrofit (3).jpg
    seat retrofit (5).jpg
    seat retrofit

    seat slide rail.jpg seat support.jpg seat support (2).jpg upper frame.jpg base frame.jpg center of mass (2).jpg
    seat support

    center of mass (2).jpg center of mass (1).jpg
    use a round bar to find the center of mass, then aline the universal joint, base frame and upper frame.

    wheel support (2).jpg wheel support.jpg
    additional support for wheel holder


    That's all before functional test.
    • Like Like x 1
  9. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    20,553
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    145,136Coins
    Ratings:
    +10,779 / 52 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    Nice work :thumbs

    Do you have a picture showing the fully assembled rig with motors?
  10. Frank Li

    Frank Li New Member

    Joined:
    May 10, 2021
    Messages:
    12
    Location:
    Xinjiang, China
    Balance:
    63Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    I am also waiting for my expresses to completely finish my rig. Corner connector of Al profile is not enough, and 4 supporting feet under the base frame are necessary.
    I hope I can finish it in this week, after a business trip.

    As you can see in my photos, I had moved all work to my basement, but no time to clean it.
    So let me share some good photos when everything is done.
  11. Frank Li

    Frank Li New Member

    Joined:
    May 10, 2021
    Messages:
    12
    Location:
    Xinjiang, China
    Balance:
    63Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    Something updated, cable channels, supporting feet, and mini-loudspeaker. This is the final shape.
    final (1).jpg final (2).jpg fully assembled rig  (1).jpg fully assembled rig  (2).jpg

    Because the 2 motors are not worm gear reducer ones, the upper frame cannot stay balance without people in seat.
    Last edited: Aug 14, 2021
  12. Frank Li

    Frank Li New Member

    Joined:
    May 10, 2021
    Messages:
    12
    Location:
    Xinjiang, China
    Balance:
    63Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino

    Hi noorbeast, are these 2 pictures OK ? Uncompressed photos.
    fully assembled rig  (1).jpg fully assembled rig  (2).jpg


    I had subumitted request of free DIY license last week, but I havn't got more feedback. I wonder that the photos of fully assembled rig are necessary for that, am I right?
  13. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    20,553
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    145,136Coins
    Ratings:
    +10,779 / 52 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    You are correct, one of the criteria for a free DIY license is that the build thread show progression of the rig to the testing phase, and all of the stated criteria must be met, so please resubmit an application.

    The photos are fine.
  14. Frank Li

    Frank Li New Member

    Joined:
    May 10, 2021
    Messages:
    12
    Location:
    Xinjiang, China
    Balance:
    63Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino

    Hello noorbeast, I started functional test this week, but I met a big problem.

    My 2 motors work quite well from SMC3 Utils, but when I turn on Output testing in Simtools, both motors directly turn about 45°/-45°, and both work nonlinear when move the scroll bar.
    I checked all wires and connections, no error. Also I searched for help in community and tried several methods. But I still can't fix it.
    Today I tried another old laptop(Win7) with same setting, it just works well in Simtools unexpectedly.

    I don't know the root cause but it seems that something wrong with my computer. Now there are 2 way I want to try.
    1. Format the entire disk and then reinstall my system, maybe I can work. But I am not sure whether my license will be affected?
    2. Do you know if there are some other settings I missed on my computer? Please your support and help. Thanks in advance!
  15. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    20,553
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    145,136Coins
    Ratings:
    +10,779 / 52 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    On the problematic computer please try setting the language to English Local: https://www.xsimulator.net/community/faq/simtools-language-setting-bug-change-to-english-local.233/