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 Compact AC Servo 6DOF Rotary Stewart platform

Discussion in 'DIY Motion Simulator Projects' started by knaufinator, May 26, 2020.

  1. knaufinator

    knaufinator Active Member

    Joined:
    Nov 16, 2017
    Messages:
    198
    Occupation:
    Simulation Engineer
    Location:
    akron,ohio
    Balance:
    1,736Coins
    Ratings:
    +226 / 1 / -0
    My Motion Simulator:
    AC motor, 6DOF
    I did an early load test with a current meter attached to the main line.
    A viewer watched the meter closely and calculated the max load it encountered at- 4.6kW
    ... idle is..... very little. ~300W?
    of course if static weight was higher than mine,... current requirements would likely go up.

    • Useful Useful x 1
    Last edited: Jan 30, 2023
  2. Bastler

    Bastler New Member

    Joined:
    May 30, 2019
    Messages:
    9
    Balance:
    70Coins
    Ratings:
    +1 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    Wow that's a lot stuff at full load^^
    I need a nuklear generator for that energy.
    But anyway thanks for the good info.
    Btw awesome work.
    Nice stuff :cheers
    • Like Like x 1
  3. eat5hams

    eat5hams New Member

    Joined:
    Feb 6, 2023
    Messages:
    7
    Balance:
    72Coins
    Ratings:
    +1 / 0 / -0
    Hi Knauf, just finished reading this thread and I've watched many of your videos and looked at the GitHub, first off thanks so much for sharing!

    I'm interested in doing a similar build in Canada and I really like your compact design that still has high amounts of travel. I'm still trying to wrap my head around the design and the flow of the software side of things and have a couple of questions...

    1) what are the pros and cons of using rotary gearboxes with arms vs linear actuators? Your approach seems much simpler mechanically, especially considering that many people seem to build their own actuators... Seems like a lot of work? Rotary also seems much more compact. Are there many negative trade-offs to using rotary? Seems like maybe there is slightly more risk of catastrophic failure if a motor went berserk? Tho with a 50:1 reduction that is less than if it was a direct drive system...

    2) other than cost, what are the advantages of using your controller/PCB and software over something like motion4sim or Thanos? Or am I totally confused and they serve different purposes? I've got a brother who is very experienced with electronics and Arduino but if I could just buy something and get most of the same functionality without the 'make my own pcb' part of the project I might do that....

    Thanks again!
    Eric
  4. knaufinator

    knaufinator Active Member

    Joined:
    Nov 16, 2017
    Messages:
    198
    Occupation:
    Simulation Engineer
    Location:
    akron,ohio
    Balance:
    1,736Coins
    Ratings:
    +226 / 1 / -0
    My Motion Simulator:
    AC motor, 6DOF

    1) Cost and simplicity was the #1/#2 reason, it being completely silent was a nice #3 benefit as well. I have had beserker motors twice,..... with the chassis on,.. while it was early in development,. though it was controlled in the sense it was finding the top limit and moving slow... i.e. using the hall sensor to see where 12 o'clock position was. ... the chassis ends up on the ground basically in a spectacular fashion... (dont try to catch it!!,... you will lose...) bent a few arms,.. I just bent them back... I have not had that since,.. but if I was to have my welder near the rig again... I would put a solid stop in place,.. so that it could not move all the way around,. and just smack up against a hard limit....

    2) My Controller is FULLY open source,.. I dont know of any other controllers out there that publish the source code,... so if you are interested in expanding/tinkering,.. this will allow it,... for me I am an engineer and I wanted to create it myself for experience and looked fun,... as well.. at the time .. I don't believe there was any controllers available when I started building my rig. As for the Thanos and Motion4Sim,... I have never used them,.. but both options look good and well rounded in a plug and play scenario... for this type of sim, as well other configurations.
    • Like Like x 1
  5. eat5hams

    eat5hams New Member

    Joined:
    Feb 6, 2023
    Messages:
    7
    Balance:
    72Coins
    Ratings:
    +1 / 0 / -0

    Hey thanks so much for taking the time to answer, I really appreciate it. Your reasons all make sense! Putting hard limits does seem like a good idea and something I will incorporate if I do this project! And that makes sense and the controller. Looks like what you made works fantastic and I am a big fan of the open source concept, to I'm not a programmer so the plug and play nature of the other options is appealing. Having said that, if I didn't want to Tinker and expand too much on what you've done it looks pretty well documented so I could probably get yours going also if I'm brave enough to solder a PCB (and then sit in something that is controlled by my soldering ha)...

    Your build is so awesome, thanks again for showing how capable a small-footprint machine can be, and for sharing all your info/parts/specs. Will be a huge help!

    Cheers
    • Friendly Friendly x 1
  6. knaufinator

    knaufinator Active Member

    Joined:
    Nov 16, 2017
    Messages:
    198
    Occupation:
    Simulation Engineer
    Location:
    akron,ohio
    Balance:
    1,736Coins
    Ratings:
    +226 / 1 / -0
    My Motion Simulator:
    AC motor, 6DOF
    Great question my dude,

    1) Have goal (build sim/be awesome)
    2) Split said goal into many tiny goals that need to be done to get to main goal(i.e. learn to weld, learn to PCB, gather money, gather steel / gears/motors misc. parts and so on)
    3) Order these tiny goals in a list so that you complete each, building off of the previous tiny goal (learn pcb, build pcb, buy motor, attach motor to pcb.... so on..)
    4) Complete each tiny goal (this took me 2 years)
    5) Post your success online so people can think you to are cool/awesome (xsimulator.net/youtube)
    6) Sit back and just be awesome (so awesome)
    • Funny Funny x 2
    • Like Like x 1
    • Winner Winner x 1
  7. FargusFaustmeister

    FargusFaustmeister Member

    Joined:
    Mar 3, 2018
    Messages:
    46
    Occupation:
    Engineering Technologist
    Balance:
    69Coins
    Ratings:
    +26 / 0 / -0
    Words to live by, I usually start with #5 and then stop! XD
    • Like Like x 2
  8. Hinterberxi

    Hinterberxi New Member

    Joined:
    Jun 17, 2023
    Messages:
    2
    Balance:
    25Coins
    Ratings:
    +1 / 0 / -0
    My Motion Simulator:
    6DOF
    Hello I hope youre still active on here but i would like to ask you something. For some background, I would like to build a sim rig based of of your design for a school project.

    In your design, you have a round base plate. I would like to use a hexagonal shaped one with the motor controllers next to each motor. I was wondering if the motors have to be aligned in a circle with the same center for programming or if this doesnt matter. I have designed a prototype and added a photo of it. Would that kind of design work and does it affect programming the whole thing??

    Thank you for youre time!

    Attached Files:

  9. knaufinator

    knaufinator Active Member

    Joined:
    Nov 16, 2017
    Messages:
    198
    Occupation:
    Simulation Engineer
    Location:
    akron,ohio
    Balance:
    1,736Coins
    Ratings:
    +226 / 1 / -0
    My Motion Simulator:
    AC motor, 6DOF
    I respond as I can, I have not used the sim for over a year up until today.. (wrote a red dead redemption 2 plugin... horse back riding here i come.....)

    the base /motor orientation is dynamic in the sense you can change it, though you need to modify the algorithm parameters when you do so. the inverse kinematic algorithm is based on an excel file i found and then converted it to c++ and scaled to the motors/gears in the ESP32 microcontroller - the file is - https://github.com/knaufinator/6DOF...aster/Technical/StewartPlatformSimulator.xlsm
    you need actual MS Excel to make it work correct, as it uses Macros. if you study this, you should be able to understand my controller. .. any orientation you can get this file to properly calculate, my algorithm/ controller should be able to handle.

    the layout you have in your picture though I do not know if it is possible with the algorithm,... at least I had not seen that layout in the iterations that I had tried. nor have I seen this layout before in general,... I went for symmetrical and as compact as I could. I am not saying its impossible,.. just never seen it before...

    the parameters that define motor layout, and frame connecting endpoints are in the helpers.h file.... there is a 1-1 for these parameters in the excel file

    ----- located in helpers.h---------
    //variables for platform positions
    static float theta_r = 10;
    static float theta_s[6]={150,-90,30, 150,-90,30};
    static float theta_p = 30;
    static float RD = 15.75;//radius of the base/motors connecting points
    static float PD = 16; // radius of the platform connecting points
    static float ServoArmLengthL1 = 7.25;
    static float ConnectingArmLengthL2 = 28.5;
    static float platformHeight = 25.5170749; //this was tuned to zero out the midpoint in the algorithm,..

    "theta_s" is the parameter that deals with all 6 motor orientations, and you may be able to bend this parameter to what you need,.. but it has been ALONG time since I tried anything else than what I landed on.
    • Like Like x 1
    • Informative Informative x 1
    Last edited: Jun 18, 2023
  10. zhai1987

    zhai1987 Member

    Joined:
    Sep 7, 2021
    Messages:
    96
    Balance:
    320Coins
    Ratings:
    +11 / 0 / -0
    My Motion Simulator:
    2DOF, 3DOF, AC motor
  11. knaufinator

    knaufinator Active Member

    Joined:
    Nov 16, 2017
    Messages:
    198
    Occupation:
    Simulation Engineer
    Location:
    akron,ohio
    Balance:
    1,736Coins
    Ratings:
    +226 / 1 / -0
    My Motion Simulator:
    AC motor, 6DOF

    yes, you would tune in the helper.h file... adjust the "servoPulseMultiplierPerRadian" scaling multiplier, pull out a angle compass and adjust this value and have the motor sweep min-middle-max, until it moves from -60 deg -> home/mid point -> +60 degree

    //how many pulses per radian of arm movement this value is calibrated to my setup
    static float servoPulseMultiplierPerRadian = 800/(pi/4);

    //controller.ino has the min max deg set at -+60 degree
    const float servo_min=radians(-60),servo_max=radians(60);

    you can also tune the ac servo driver to do more/less movements per step, as that may be useful as well, i.e. mine is setup to move 80 steps each commanded step sent from the esp32 microcontroller
    • pn098 - Gear - "80"
    • Useful Useful x 1
    Last edited: Jun 19, 2023
  12. Hinterberxi

    Hinterberxi New Member

    Joined:
    Jun 17, 2023
    Messages:
    2
    Balance:
    25Coins
    Ratings:
    +1 / 0 / -0
    My Motion Simulator:
    6DOF
    Thanks for answering this fast and detailed.
    I might scrap my own design and go with yours, because I still havent wraped my head around the programming part of the project yet and its already complicated engough haha.
    • Like Like x 1
  13. GettinBetter

    GettinBetter Magna Merchant Gold Contributor

    Joined:
    Jul 22, 2023
    Messages:
    18
    Occupation:
    CAD Engineer
    Location:
    Kent, UK
    Balance:
    119Coins
    Ratings:
    +19 / 0 / -0
    My Motion Simulator:
    6DOF
    Hi Chris, A bit late to the game here, but I went on a real Helo Trial Lesson for the second time last month. Decided at my time in life a helo pilots licence wasn't a viable prospect, so decided to embark on the next best thing.

    Saw your Github listing, and as a lifelong mechnical engineer/machinist with an electronics degree, I thought you'd given enough info for me to make one as well.

    So.... Motors and drives, turned up as did the circuit boards (the sensor array wasn't accepted by the manufacturer for some reason, but I just KiCADed another one) so all the boards are now soldered. Just awaiting on a ribbon cable male plug and I'm ready to start testing.

    I thought I'd clamp all the motors to the workbench, and get them moving in what appears to be a logical movement before doing any steelwork, as that pretty much a done deal, but the electronics (BLE) is something I've not played with, as is the XBox controller.

    I have a question or two, but have only read up to page 6, so I'll read the rest before pestering you.

    Can't thank you enough for sharing your endeavours, and the failures are equally as interesting as well.

    I hope you share the horses venture :D

    Regards
    GB
    • Like Like x 1
  14. GettinBetter

    GettinBetter Magna Merchant Gold Contributor

    Joined:
    Jul 22, 2023
    Messages:
    18
    Occupation:
    CAD Engineer
    Location:
    Kent, UK
    Balance:
    119Coins
    Ratings:
    +19 / 0 / -0
    My Motion Simulator:
    6DOF
    Quick questions:

    1. What is the definition of "// static float platformHeight"?
    2. Could run through XBox360 (XBC) usage concept?

    XBC connects to PC wirelessly, and I assume it is using Simtools to connect to the ESP32 ?

    Regards
    GB
  15. knaufinator

    knaufinator Active Member

    Joined:
    Nov 16, 2017
    Messages:
    198
    Occupation:
    Simulation Engineer
    Location:
    akron,ohio
    Balance:
    1,736Coins
    Ratings:
    +226 / 1 / -0
    My Motion Simulator:
    AC motor, 6DOF

    "platform height" is the height from the servo swing connecting arm plane (where the long arm is connected to the swing arm) -> to the chassis connecting points plane

    the xbox control could be used with the test .net app in the github project, this is a app that sends raw position coordinates to the platform to test movement. its an old controller these days so your results may vary in getting it to work, but the code is strait forward and should be easily modifiable to accept any controller using .net,.. certainly chatgpt would be able to do it :) ,..
  16. GettinBetter

    GettinBetter Magna Merchant Gold Contributor

    Joined:
    Jul 22, 2023
    Messages:
    18
    Occupation:
    CAD Engineer
    Location:
    Kent, UK
    Balance:
    119Coins
    Ratings:
    +19 / 0 / -0
    My Motion Simulator:
    6DOF
    Wow!! I can't believe you answered so quickly :Gobsmacked:
    You are a diamond, sir.

    Regards
    GB
    • Like Like x 1
  17. GettinBetter

    GettinBetter Magna Merchant Gold Contributor

    Joined:
    Jul 22, 2023
    Messages:
    18
    Occupation:
    CAD Engineer
    Location:
    Kent, UK
    Balance:
    119Coins
    Ratings:
    +19 / 0 / -0
    My Motion Simulator:
    6DOF
    Ha ha, chat GPT not doing so well, ...will give it a few more trys then if that doesn't work, will have a go myself. I managed to compile Arduino file (with your machine settings for now), and the VSC# (Form1) prog for testing.

    How exactly is Form1 used? I'm thinking it connects via BLE to the ESP32
    Set Position - Sends the 2047 (theorectically the mid position in this case) to the servos, is that correct?
    Form1.png
    Therefore, before connecting the rods, I can send send each motor various settings for testing?

    XUgh, real life chores getting in the way... just gotta add a bit of power to the servos and we're ready to play :D

    So_Far_23-07-26.jpg
    Regards
    GB
  18. knaufinator

    knaufinator Active Member

    Joined:
    Nov 16, 2017
    Messages:
    198
    Occupation:
    Simulation Engineer
    Location:
    akron,ohio
    Balance:
    1,736Coins
    Ratings:
    +226 / 1 / -0
    My Motion Simulator:
    AC motor, 6DOF
    there is a timer object that sends over serial at a small interval, the coordinates that are in the 6 textboxes. you can manually update the boxes with coordinates with 2047 as the MID point/home position of the platform, 0-4094 is the full range of each text box. best textbox to play with at first is the 4rth one i believe, this one corresponds to the heave DOF, i.e.... 0 as heave would indicate each motor going to the lowest position, and 4094 being the highest for each, when the joystick /controller is coded in, each stick/button would adjust a single parameter /textbox, and then be relayed out over serial to the ESP32, to be a bit more fun to test. I used this and ensured it worked before ever attaching it to simtools.
    • Like Like x 1
  19. GettinBetter

    GettinBetter Magna Merchant Gold Contributor

    Joined:
    Jul 22, 2023
    Messages:
    18
    Occupation:
    CAD Engineer
    Location:
    Kent, UK
    Balance:
    119Coins
    Ratings:
    +19 / 0 / -0
    My Motion Simulator:
    6DOF
    Cheers Dude, Thats where I'm heading.
    Made a temp bracket for the sensor.. (Pointer started as a disc but was too big for my tiny printer, so unnecessary bits had to go)

    23-07-30_Sensor_Test_Bkts.jpg

    ... and just need to upload the controller.ino sketch.
    I may need to get yet another ESP dev board, as the Arduino IDE is giving space errors
    Code:
    sketch uses 1365069 bytes (104%) of program storage space. Maximum is 1310720 bytes.
    Global variables use 44612 bytes (13%) of dynamic memory, leaving 283068 bytes for local variables. Maximum is 327680 bytes.
    Any comments?
  20. knaufinator

    knaufinator Active Member

    Joined:
    Nov 16, 2017
    Messages:
    198
    Occupation:
    Simulation Engineer
    Location:
    akron,ohio
    Balance:
    1,736Coins
    Ratings:
    +226 / 1 / -0
    My Motion Simulator:
    AC motor, 6DOF
    it has been many years since I last compiled the controller, I suspect that one or several of the libraries now take up more space than they use to. Best course of action would be to remove some unused code ,.. should not take much to get 4% back. I dont have an arduino environment up and running right now, I have since moved to using only VS code, but I can see about installing it, testing it out, and then removing parts that are not used ... I.e. bluetooth, and the filtering code I would kill first.
    • Informative Informative x 1