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

DIY D-Box style for VR 3-dof

Discussion in 'DIY Motion Simulator Projects' started by Michael Hensen, Jan 17, 2018.

  1. Michael Hensen

    Michael Hensen Active Member

    Joined:
    Mar 25, 2014
    Messages:
    166
    Occupation:
    C# Software Engineer
    Location:
    Almere, Netherlands
    Balance:
    748Coins
    Ratings:
    +186 / 0 / -0
    My Motion Simulator:
    3DOF, AC motor, Arduino, Motion platform
    Recently I departed from my 6dof simulator as I didn't get the right feel while using it with VR.
    This despite having a stabilizer on the oculus cam I still had some weird behavior in the goggles..

    But the biggest thing is that some motions is not felt..
    This could be a problem with the sim itself as not being quick enough, although it moved fast in all directions.. But in the end I missed the tiny details that makes the sim a sim.. now it was more a moving platform ..

    So I scratched all and start all over again.. New everything. No reuse.. scratch..
    I already had a thread in the Q&A (SCN6 alike actuators) and here, with help of members of the community, I came to a plan..

    Before diving in full fledge I decided to start with a single small actuator..
    This is build based on a 8nm stepper servo and a 1610 leads..

    The idea is to have a raspberry pi 3 communicating over I2C with an Arduino. So Simtools communicates over IP with the raspberry and this will do the calculations and send the results to the Arduino for moving the corresponding motor to the right position.

    Why I want the raspberry is because I then have a nice display where I can put on some information and do the configuration in a graphical way.. (with touch).. More gimmick perhaps then actual use, but this keeps me busy while waiting for the parts to arrive.

    So why D-Box style? Because I think I can have more smaller movements with a direct driven actuator then I can have with a gearbox/lever solution.. I feel that the smaller details will enhance the VR notion..

    I will try and document all the steps I make and provide all the details from drawings to code..
    As I am just some guy with no real specialties or mechanical engineering qualifications please don't hasitate if you think I am heading in a wrong direction.. I know this is supposed to be a build thread, but a good bases with hints and tips would make this build probably a better one..

    This is becoming a real challenge as I 'moved' from the Netherlands to the south of Spain.. And things work differently then I am used to :) I have internet but going from a 1000Mbit fiber connection to a connection that ranges from 0.7 up to 5mbit/s is sometimes a pain.. Also addresses are a pain here.. I tried a shipment of a cheap gadget, just to check if I could receive packages failed.. Now it is in a postoffice 10km from here :) But what the heck.. I will build me a hell of a machine someway or another.

    Now start looking for a 'house' with a garage so I can make some noise and dust..
    But first I will do the programming of the Raspberry and the Arduino..
    • Like Like x 6
  2. Michael Hensen

    Michael Hensen Active Member

    Joined:
    Mar 25, 2014
    Messages:
    166
    Occupation:
    C# Software Engineer
    Location:
    Almere, Netherlands
    Balance:
    748Coins
    Ratings:
    +186 / 0 / -0
    My Motion Simulator:
    3DOF, AC motor, Arduino, Motion platform
    So the first parts are slowly coming in.. I have my 8Nm Nema3 motor and some sliders, but waiting for a few essentials parts.. Hefty, heavy little beast.

    But I need some Torodial Transformers.. It seems that the specs of the motor are 60 V AC with a Max of 8A.. Looking to attach 2 motors per transformer so a max of 16a would be needed.. Andybody with knowledge of these things can point me to the best available options in Europe?
    This is the part that I don't know any thing about!!! So advice is needed in this area.. I see 200/400/1000VA but then I am already lost :) Thanks in advance !!!

    But besides that I have start working on the Raspberry PI side of the Motionsim.. Yep.. I figured that using the PI for the calculations and settings, having them communicating to the Arduino to set the motorpositions would take load of the Arduino. So it only has to do the Pulse Generation needed for driving the motors..

    Somehow I wasn't able to run it in my debugging window but it runs fine on the PI itself so I made a short, boring video of it.. But it shows what my idea's are..



    Next step is the I2C connection and program the Raspberry to send the data..
    Create a Sketch for the Arduino to collect the data and set the motors.
    The Pi will send info as of which motor and position, based on the available length of travel and precalculated.
    The app on the PI will be prioritized at startup.. so the performance or missing steps shouldn't be a real threat!
    Settings as how long the pulse should be is done by sending this from configuration buttons in the raspberry app.. this will be store on the raspberry itself and is then available in next sessions.
    • Like Like x 2
  3. Michael Hensen

    Michael Hensen Active Member

    Joined:
    Mar 25, 2014
    Messages:
    166
    Occupation:
    C# Software Engineer
    Location:
    Almere, Netherlands
    Balance:
    748Coins
    Ratings:
    +186 / 0 / -0
    My Motion Simulator:
    3DOF, AC motor, Arduino, Motion platform
    Would this transformator (Ringkerntransformator 1000VA 2x30V RK-EC/1000 ) be enough ??
    And I think I need some additional wiring with a fuse or something? any idea's are welcome ..
    I never used AC power, was told it ain't hard, but don't want to fry stuff :)
    • Like Like x 1
  4. Michael Hensen

    Michael Hensen Active Member

    Joined:
    Mar 25, 2014
    Messages:
    166
    Occupation:
    C# Software Engineer
    Location:
    Almere, Netherlands
    Balance:
    748Coins
    Ratings:
    +186 / 0 / -0
    My Motion Simulator:
    3DOF, AC motor, Arduino, Motion platform
    I bought the 1000VA 2x30V so I should have 16.6A to divide over the 2 servo steppers which happen to have max of 8A.. so I should be pretty save running motors on a single transformer..
    Just need to figure out on how I can 'hide' and connect the transformer as it is really big and heavy.. But on the other hand .. All is big and heavy in the parts..

    Almost all the parts are in .. Just the ball screw 1610 is missing..

    On the software side I have ran in a few issues.. Not on the software side but more on the connection side.. I2C connection was a failure as my touchscreen was suddenly a non touch screen so I guess some conflict on the way..
    Then SPI.. Couldn't get it to work .. or not able to connect the 2 things.. so I bought me a small level converter and do a RX/TX connection between the .. (I haven't tried it yet, but in theory that is my final option) .. otherwise I will do with a small app in the windows traybar that calculates and submits the serial data.. but still I like the touchscreen of the PI tooo much.. I will try it this week ..

    In the meanwhile my new PC arrived.. With the oculus rift and i7 8700/ 1080Ti. So I should have enough power to run all the games I want..
    then ordered the base frame for the simulator at rseat.. and settled for the Formula V2 in Blue .. I hope this will be delivered somewhere next week (it is on transport since today) .. It still is a big challenge to have my parts shipped to my temporary location in Spain..
    Internet is a real bummer .. Had to download all my steam games while I was in the Netherlands for my work.. downloaded 160gb during the night while in the Hotel. (left my laptop running in the bathroom :))
    So all in all a big spending but I am nearly there to make me my first actuator .. Still convinced that I will make me cool looking actuators with a way better performance, larger range and way cheaper then D-Box.

    As soon as I have all the parts I will rethink my design and see if it still feasible, although I think it is..

    actuator v10_actuator v1003.png
    actuator v10_actuator v10 2.png

    I will change the base with the foot to have it on a half sphere, with a rubbery texture.. so that I have less friction while it is operating.. because all 4 corners will be firmly connected to a base frame and that means that the actuators will be able to swivel left and right..

    The design of the frame will be based on the base frame I have bought from RSeat.. So I will measure and design as soon as the rig has arrived at my doorstep and is set up ..

    If all parts are in I will shoot the pictures and name the parts so that everybody is able to follow and in case it all works, as I hope it will, you can make your own! I hope to keep it really, really simple with a minimum of custom parts.. (or easy to create parts)

    Ok.. enough for now, signing off, till the next time..
    • Like Like x 3
    • Winner Winner x 1
  5. Michael Hensen

    Michael Hensen Active Member

    Joined:
    Mar 25, 2014
    Messages:
    166
    Occupation:
    C# Software Engineer
    Location:
    Almere, Netherlands
    Balance:
    748Coins
    Ratings:
    +186 / 0 / -0
    My Motion Simulator:
    3DOF, AC motor, Arduino, Motion platform
    Being on a Arduino Mega right now I am starting to doubt that the mega would be fast enough to run 4 stepper servo motors..
    Based on my idea it should run .. 1 motor = 400spr (steps per rotation.. for 300mm/s I need 30 revolutions/s =30*400=12000 times high and 12000 times low..

    so 24000 commands for 1 motor .. and just the motion.. no control on where we are..
    For 4 motors it would be 96000 commands a second..
    I could daisy chain 4 arduino's on RX/TX but I think a single teensy would be a better options.. would like to have some headroom for control routines.
    • Like Like x 1
  6. Bord-Ing.

    Bord-Ing. New Member Gold Contributor

    Joined:
    Sep 17, 2016
    Messages:
    26
    Location:
    South Germany
    Balance:
    370Coins
    Ratings:
    +18 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    Ok, where to start...

    As a rule of thumb, take the half of the current that is printed on the stepper for your transformator. Example: 8A stepper -> 4A PSU

    A stepper always needs a stepper driver. I never saw types with 60 V AC. Normally they are up to 40 V, 80V, 130V, but allways DC. But there are some types which run on a normal AC line (230 V).

    The typical stepper has 200 full steps per rev. But you won't drive steppers in full step mode, believe me. Modern drivers can divide this full steps into up to tenthousands micro steps. Drawback: More micro steps need higher step frequency. Higher frequency needs sophisticated hardware (my CNC runs at 200 kHz from an FPGA card from MESA). So choose a good compromise, e.g. 1/8th step.

    As a good start to step generation, you can have a look at the grbl project. This is a 3 axe CNC controller with step generation up to 30 kHz with acceleration ramps running on an Arduino Uno. The new version has a jogging interface, which can be used for positioning your actuator. As you are a software engineer, maybe it'a good start for a own spcialized version for stepper driven sim actuators.
    • Winner Winner x 1
  7. Michael Hensen

    Michael Hensen Active Member

    Joined:
    Mar 25, 2014
    Messages:
    166
    Occupation:
    C# Software Engineer
    Location:
    Almere, Netherlands
    Balance:
    748Coins
    Ratings:
    +186 / 0 / -0
    My Motion Simulator:
    3DOF, AC motor, Arduino, Motion platform
    Back on the software side of the actuators..
    Although parts are slowly getting in .. I am missing a teensy ( I wanted a bit more overhead so I can do all kinds off stuff in software, if I need to) and forgot to order me a softstarter for my 1000VA toroidal transformer.. ( i guess if I would try and hook it up without the softstarter the fuse will trip)
    Ordered me the U profile .. but here in Spain it is not all in stock .. so days are passing. The delivery of the RSeat is going wrong in all possible ways, so I need to sort that out too ..


    But back to the software..
    I am going through with the route of Simtools -> raspberry for config and visual display -> Teensy for driving the servo's based on the calculations of the raspberry.

    Another route I am thinking of is as follow.
    Schema.png

    Here the config is set by the raspberry and the code in the teensy should calculate based on the variable values created by the Raspberry.
    this would give me the ability to have a visual output on the raspberry LCD.. But this is not in concrete but an idea if I want to have the display on with a visual representation of the motion..
    As all the variable values are also stored in the EEPROM of the Arduino that way I can use the Arduino standalone and only connect the raspberry if I need to retune or recalibrate..
    But with a button on the teensy I can also enable the calibration routine..

    Communication between the Raspberry and Arduino as a bit of a problem.. Using SPI and I2C were giving me a headache.. But now with an inverter for 5-3.3V I am able communicate over the
    RX/TX ports.. So between the raspberry and Arduino the communication is plain Serial data..

    The reason for the second route is that I can remove the raspberry all and only need it for configuring the variables .. like length of the actuator, speed of rotation, steps, calibration init..

    Against this second route is that I can make the motion more variable and have the raspberry calculate the distance and speed.. with this I can play around by having short vibrating moves moving faster while having long hard moves smooth out a bit by reducing speed.. making it a bit more comfortable in large hard moves like moves from 127 to 255 being on a different frequency then moves between 100 -150 which would be on a slightly higher frequency..

    But perhaps that is something simtools already has in it's filtering options..
    Last edited: Feb 6, 2018
  8. Michael Hensen

    Michael Hensen Active Member

    Joined:
    Mar 25, 2014
    Messages:
    166
    Occupation:
    C# Software Engineer
    Location:
    Almere, Netherlands
    Balance:
    748Coins
    Ratings:
    +186 / 0 / -0
    My Motion Simulator:
    3DOF, AC motor, Arduino, Motion platform
    I have a driver rated from 30 to 80v AC.. but I will run it on 60V AC .. I will be using a Closed Loop Servo Stepper.. It can run up to 80V but I've read that undervolting is better then being on the edge.. and the torque charts shows that I am not needed the additional 20V..
    I am already on the route of Raspberry PI and Arduino/teensy.. thus far I am pretty satisfied and I can run all 4 actuators on a Teensy.. so thanks for the suggestion but will go by this route first.. if it might fail, which I don't believe, you gave me an option to explore..
    • Like Like x 1
  9. Bord-Ing.

    Bord-Ing. New Member Gold Contributor

    Joined:
    Sep 17, 2016
    Messages:
    26
    Location:
    South Germany
    Balance:
    370Coins
    Ratings:
    +18 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    What interface do this drivers have? Step/dir or something more sophisticated?
  10. Michael Hensen

    Michael Hensen Active Member

    Joined:
    Mar 25, 2014
    Messages:
    166
    Occupation:
    C# Software Engineer
    Location:
    Almere, Netherlands
    Balance:
    748Coins
    Ratings:
    +186 / 0 / -0
    My Motion Simulator:
    3DOF, AC motor, Arduino, Motion platform
    No nothing sophisticated.. just step/dir..
    The minimum I can run the motor on is 400 steps per rotation ..
  11. Bord-Ing.

    Bord-Ing. New Member Gold Contributor

    Joined:
    Sep 17, 2016
    Messages:
    26
    Location:
    South Germany
    Balance:
    370Coins
    Ratings:
    +18 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    Ah, ok. Do you care about acceleration ramps in your software or do leave that to the closed loop controller of the driver?
  12. Michael Hensen

    Michael Hensen Active Member

    Joined:
    Mar 25, 2014
    Messages:
    166
    Occupation:
    C# Software Engineer
    Location:
    Almere, Netherlands
    Balance:
    748Coins
    Ratings:
    +186 / 0 / -0
    My Motion Simulator:
    3DOF, AC motor, Arduino, Motion platform
    I for sure will use acceleration.. but done by the software.. but I have to tune that all in.. the problem is that I don't have all the parts available as of yet..
    Spain is a pain if you need something..
  13. Michael Hensen

    Michael Hensen Active Member

    Joined:
    Mar 25, 2014
    Messages:
    166
    Occupation:
    C# Software Engineer
    Location:
    Almere, Netherlands
    Balance:
    748Coins
    Ratings:
    +186 / 0 / -0
    My Motion Simulator:
    3DOF, AC motor, Arduino, Motion platform
    I have the 1610 ball screw assembly but what is the best way to rotate the ballscrew on the lead.. I am a bit afraid that the balls will fall out and I am in a big mess..

    So I need to take the ballscrew off and rotate 180 degrees.. as it is now I would have all the eight on the screws.. instead of the weight on the vertical part of the ballscrew part..

    Any suggestions is welcome!!!!
  14. SeatTime

    SeatTime Well-Known Member

    Joined:
    Dec 27, 2013
    Messages:
    2,573
    Occupation:
    Retired
    Location:
    Brisbane Australia
    Balance:
    28,370Coins
    Ratings:
    +2,844 / 39 / -0
    My Motion Simulator:
    AC motor, Motion platform
    You don't need anything exotic, a simple tube of the right size is OK

    • Like Like x 2
    • Informative Informative x 2
  15. misoswan

    misoswan Active Member

    Joined:
    Jun 27, 2014
    Messages:
    291
    Balance:
    1,032Coins
    Ratings:
    +76 / 1 / -0
    My Motion Simulator:
    3DOF, Arduino, JRK
    https://www.xsimulator.net/communit...for-flight-sim-in-vr.10666/page-3#post-145455
    https://www.xsimulator.net/community/threads/ball-nut-removal-tool-for-1610.11433/
    • Winner Winner x 1
    • Informative Informative x 1
  16. Michael Hensen

    Michael Hensen Active Member

    Joined:
    Mar 25, 2014
    Messages:
    166
    Occupation:
    C# Software Engineer
    Location:
    Almere, Netherlands
    Balance:
    748Coins
    Ratings:
    +186 / 0 / -0
    My Motion Simulator:
    3DOF, AC motor, Arduino, Motion platform
  17. Michael Hensen

    Michael Hensen Active Member

    Joined:
    Mar 25, 2014
    Messages:
    166
    Occupation:
    C# Software Engineer
    Location:
    Almere, Netherlands
    Balance:
    748Coins
    Ratings:
    +186 / 0 / -0
    My Motion Simulator:
    3DOF, AC motor, Arduino, Motion platform
    It indeed was very easy to have it rotated with this little tool...
    Perfect for now.. at least no not all the load is on the bolts..
    • Like Like x 1
  18. misoswan

    misoswan Active Member

    Joined:
    Jun 27, 2014
    Messages:
    291
    Balance:
    1,032Coins
    Ratings:
    +76 / 1 / -0
    My Motion Simulator:
    3DOF, Arduino, JRK
    hello any news from you project :)
  19. Michael Hensen

    Michael Hensen Active Member

    Joined:
    Mar 25, 2014
    Messages:
    166
    Occupation:
    C# Software Engineer
    Location:
    Almere, Netherlands
    Balance:
    748Coins
    Ratings:
    +186 / 0 / -0
    My Motion Simulator:
    3DOF, AC motor, Arduino, Motion platform
    Parts are in .. I will build a trial version next weekend.. Although swamped with work I hope I can test one actuator.. Will update as soon as I have some concrete things to show.. That should probably be Saturday!
    • Like Like x 4
  20. Michael Hensen

    Michael Hensen Active Member

    Joined:
    Mar 25, 2014
    Messages:
    166
    Occupation:
    C# Software Engineer
    Location:
    Almere, Netherlands
    Balance:
    748Coins
    Ratings:
    +186 / 0 / -0
    My Motion Simulator:
    3DOF, AC motor, Arduino, Motion platform
    Just in time to send my update.
    As said I am building one actuator first to test..

    And Yes I've ordered the wrong length parts.. I now have a 600mm ballscrew rod.. is should have been 250.. But anyway I build it with what I have.. but eventually the actuators will be half the length of what it is now..

    So I started with the controller software.. And here I fail at the moment.. As I need to do 400steps per rotation and 200mm is 20 rotations = 8000 steps to cover the distance..
    I cannot do this with the tradition digitalWrite(x,HIGH), delayMicroseconds(x), digitalWrite(x,Low), delayMicroSeconds(x). So I need some library to run it on a interrupt as now it takes to long to move while it receives data..

    So if there is anybody that has Arduino code that has this already covered please leave me a message..
    I have also tried the teensy but I made a mistake as the PWM output is 3.3v instead of 5V needed for the driver as input.. I have ordered a couple of voltage boosters and try and see it that will help me..
    otherwise I will probably need 4 arduino's to run the actuators as I think 1 will not be up to the yob..



    I tried to pull on a simple luggage scale that goes up t0 35kg but at 35kg the hooks of the scale bended away an the scale went flying through the room.. so 35kg at least but now I need to figure out how to do proper load testing..
    I need at least 50 kg..
    Worst case it is 35 kg.. but then I always can go to 1605 which would theoretically give me 70kg already.. *4 = 280kg total..




    The images included are a bit dark but it is late in the evening here.. and yep .. the floortiling is typically Spanish :)
    2.jpg
    The power lead.. 16A fuse used as switch to a softstarter.. to the toroidal transformer..powering the driver and motor
    1.jpg
    As you can see it is way too big.. but for testing it will do.. will use 250mm ballscrew instead of the current 600mm

    But as you can see... the aluminium U bar can accommodate all the hardware and fixed with nuts and bolts.. all black parts are printed with PETG and the red ball you see at the end is printed cover of ninjaflex.. Just an outer shell the is placed over the rounded head..

    3.jpg
    The actual rig it will be attached to. The frame will rest on a H frame (like ||--|| ) with the actuators on the corner with the seating as Center of gravity..

    Apologies for the sideways pictures ..
    • Like Like x 9