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

X-Plane 11 6DOF motion platform

Discussion in 'DIY Motion Simulator Projects' started by SixDegreesOfFlight, Jul 10, 2017.

  1. SixDegreesOfFlight

    SixDegreesOfFlight Well-Known Member

    Joined:
    Jul 7, 2017
    Messages:
    250
    Occupation:
    Secondary Teacher: Systems Engineering & Computing
    Location:
    Melbourne, Australia
    Balance:
    2,222Coins
    Ratings:
    +396 / 0 / -0
    My Motion Simulator:
    AC motor, Arduino, Motion platform, 4DOF
    @Zed
    The pulse width modulation has a range of 0-255. This controls the average power available to the motor. So a value of 127 is half power or in other words a 50% duty cycle square wave. As the value increases, the actuator will have a greater opportunity to follow the input signal.

    I haven't had time yet to see where the limits, pwm settings etc are located or changed. At this stage it appears they are controlled directly by the SMC3 utility. Now whether that software writes into the Arduino firmware, I am yet to figure out. Over the next few days I will have a better chance to see how it all interacts.

    As @SeatTime said previously, anything that has the power to throw your body around must be treated with due respect. @Hoddem fully enclosed actuator would be the way to go ultimately but it remains to be seen whether a mere mortal DIYer like myself would have the skill or equipment to make one ;)
    • Informative Informative x 1
  2. SixDegreesOfFlight

    SixDegreesOfFlight Well-Known Member

    Joined:
    Jul 7, 2017
    Messages:
    250
    Occupation:
    Secondary Teacher: Systems Engineering & Computing
    Location:
    Melbourne, Australia
    Balance:
    2,222Coins
    Ratings:
    +396 / 0 / -0
    My Motion Simulator:
    AC motor, Arduino, Motion platform, 4DOF
    I wired up another actuator to test and it still squeaks a bit but not as bad as the one in the video I posted yesterday. When I started the SMC3 utility it was pretty obvious that the 'throw' of the actuator rod increases because it is related to the PWM setting. As the PWM increases the actuator is able to get closer to the desired set point faster hence it travels further (rather than trying to find what looks like an average). In addition, I don't think you can adjust either the frequency of the triangular, sine or square wave or the amplitude.

    If someone is familiar with the SMC3 utility could you comment on the yellow line (PWM) spikes in the attached image. I still don't have the battery connected to deal with the regenerative current. The spikes occur when the motor changes direction so it might be related to the regenerative current? No sure how though as the Arduino isn't monitoring the motor side of the Sabertooth.

    Edit: I think the PWM line behaviour is normal. As the PWM value is increased the yellow line moves up towards the top of the screen. When changing direction, a PWM of 0 (or PWM min) is sent to the controller before it changes direction. The spike height varies because of the sampling frequency. Anyway that is how it appears to me.

    Attached Files:

    Last edited: Sep 7, 2017
  3. SixDegreesOfFlight

    SixDegreesOfFlight Well-Known Member

    Joined:
    Jul 7, 2017
    Messages:
    250
    Occupation:
    Secondary Teacher: Systems Engineering & Computing
    Location:
    Melbourne, Australia
    Balance:
    2,222Coins
    Ratings:
    +396 / 0 / -0
    My Motion Simulator:
    AC motor, Arduino, Motion platform, 4DOF
    I have stopped further testing until the power supply modules are finished because when the pulse width modulation was increased in the SMC utility to greater than 150 the error led started flashing on the 2x60 Sabertooth and the actuator lost tracking. I am guessing this is because it needed the batteries(?). I am hoping it isn't the pots :eek:

    I had a conversation with @Grizus (thank you :thumbs) about noise on the feedback pot line so I removed the twisted cable and replaced it with shielded wire and added a 0.1uF capacitor from the Arduino analog input to ground to help with noise filtering. However, this didn't stop the problem of the error led flashing or the loss of tracking.

    Anyway, I got started on one of the power modules this morning. It took waaaay longer than I expected - probably 4 hours+. A lot of time was spent stripping wire and soldering to the crimp lugs. I wasn't happy with strength of the crimps so I removed the plastic sleeve, soldered it and finished it off with heat shrink. The 8G wire didn't fit into the crimp lugs anyway. These are the first two images.

    I mounted the power components on a 400x300mm particle board. - image 3 - it will eventually sit on top of the batteries. This is wired up according to the schematic I posted some weeks ago. The thick wire is 8G and the thinner wire is 12G. According to wiring specs I should have used 8G everywhere because 12G is only rated to 20A. The 8G is rated up to 48A. Now the motors are rated at 24A each so this will work fine but the 12G is a bit under spec. I will have to see how it goes. The red / black 8G wire running through the holes in the foreground go to the batteries.

    The 60A breaker isolates the power supplies while the red rotary switch on the lower right isolates the batteries. The relay isolates all power to the Sabertooth / motors if the panic switch is activated. Edit: I have since moved the relay to be in series with each motor - see posts a few down.

    The last two images show a closer view. The prototype board on top of the Arduino Uno will be used to anchor the shielded wire for the pots and the serial wires for the Sabertooth. The small hole near the Arduino is for the 12V supply into the input jack. If you look closely you will see the reverse bias clamp diode on the relay coil (1N4004).

    Attached Files:

    • Like Like x 1
    Last edited: Sep 12, 2017
  4. Grizus

    Grizus Member Gold Contributor

    Joined:
    May 6, 2017
    Messages:
    72
    Location:
    Warsaw PL
    Balance:
    349Coins
    Ratings:
    +98 / 2 / -0
    My Motion Simulator:
    6DOF
    Consider whether the relay is in the right place - when it disconnects the power from sabertooth in fact they will no longer be receiving electricity but sabertooth have very large capacitors that collect it. When the relay goes on, the actuator will continue moving by few centimeters - this can cause damage ! I think the better solution would be to make six relays on the line sabertooth --------------- motor.

    It's just my thoughts, please check my theory :)
    Last edited: Sep 10, 2017
  5. DEADBEEF

    DEADBEEF New Member

    Joined:
    Sep 1, 2013
    Messages:
    23
    Occupation:
    N/A
    Location:
    UK
    Balance:
    370Coins
    Ratings:
    +12 / 0 / -0
    My Motion Simulator:
    3DOF
    Is that small relay even man enough to carry that much current?
    I'd have thought an automotive starter solenoid would be more suitable, or even an industrial contactor .

    Theoretically if you went the contactor route, a three-pole contactor would be able to directly cut the power to three motors, so you'd only need two..
    Something like this, or if you're using a 24V setup some of these (which are half the price).

    ...Although I'm not sure how well an AC current rated contactor will handle DC current.
    It's relatively low voltage we're talking though, so I'd imagine arcing shouldn't be a problem.
    • Like Like x 1
  6. SixDegreesOfFlight

    SixDegreesOfFlight Well-Known Member

    Joined:
    Jul 7, 2017
    Messages:
    250
    Occupation:
    Secondary Teacher: Systems Engineering & Computing
    Location:
    Melbourne, Australia
    Balance:
    2,222Coins
    Ratings:
    +396 / 0 / -0
    My Motion Simulator:
    AC motor, Arduino, Motion platform, 4DOF
    @Grizus
    That might be a consideration as well. I have only made one at this stage so I can test it. In my original design I had the relays in series with each motor - so I did buy enough to go back to that idea. I hope to do some testing this week. At this stage the power module is a 'proof of concept'.

    @DEADBEEF
    The relays are automotive (supposedly) with the contacts rated at 100A. Time will tell if their stated rating and their real world performance correlate ;) Thank you for taking time to find those alternatives - it might well come to that.
    Last edited: Sep 11, 2017
  7. SixDegreesOfFlight

    SixDegreesOfFlight Well-Known Member

    Joined:
    Jul 7, 2017
    Messages:
    250
    Occupation:
    Secondary Teacher: Systems Engineering & Computing
    Location:
    Melbourne, Australia
    Balance:
    2,222Coins
    Ratings:
    +396 / 0 / -0
    My Motion Simulator:
    AC motor, Arduino, Motion platform, 4DOF
    The seed of doubt was sown ... so I moved the relay from powering the Sabertooth to be in series with the -ive of each motor. This will mean the panic circuit will act quicker and lower the current through the relay contacts. The motor -ive will connect to the relay contact via a shared bolt which you can see on the lower part of the image. I could have connected the motor +ive as well using a bolt but I want to minimise the number of cable breaks in favour of direct soldered connections where practical. Edit: it now matches the schematic I posted towards the beginning of the build

    Attached Files:

    Last edited: Sep 13, 2017
  8. SixDegreesOfFlight

    SixDegreesOfFlight Well-Known Member

    Joined:
    Jul 7, 2017
    Messages:
    250
    Occupation:
    Secondary Teacher: Systems Engineering & Computing
    Location:
    Melbourne, Australia
    Balance:
    2,222Coins
    Ratings:
    +396 / 0 / -0
    My Motion Simulator:
    AC motor, Arduino, Motion platform, 4DOF
    ...some progress. I have finished one of the power supply modules and connected the batteries. I also wired up the panic circuit and tested that as well.



    • Like Like x 5
  9. SixDegreesOfFlight

    SixDegreesOfFlight Well-Known Member

    Joined:
    Jul 7, 2017
    Messages:
    250
    Occupation:
    Secondary Teacher: Systems Engineering & Computing
    Location:
    Melbourne, Australia
    Balance:
    2,222Coins
    Ratings:
    +396 / 0 / -0
    My Motion Simulator:
    AC motor, Arduino, Motion platform, 4DOF
    The panic/limit circuit ended up to be quite compact. Basically, when the system is powered up, the relay remains off cutting the power to all the isolating relays on the motors. Once the 'start' button is pressed it latches the relay which holds itself on. Any break in the limit switch series circuit (which includes the emergency stop button) unlatches the relay and cuts the power to all the motors.

    Attached Files:

    • Like Like x 1
  10. OZHEAT

    OZHEAT Active Member

    Joined:
    Oct 26, 2015
    Messages:
    208
    Location:
    Australia
    Balance:
    2,458Coins
    Ratings:
    +105 / 6 / -0
    My Motion Simulator:
    3DOF, DC motor
    The way you recover from limit switch trip is dodgy as hell....
    When you reset the relay the motor powers up, real dangerous. Nothing but the relay knows you hit limits.

    Contactor would be better choice than automotive horn relay. If your in SE Melb rockby electronics in Clayton has some cheap contactors and other electronic components.
  11. SixDegreesOfFlight

    SixDegreesOfFlight Well-Known Member

    Joined:
    Jul 7, 2017
    Messages:
    250
    Occupation:
    Secondary Teacher: Systems Engineering & Computing
    Location:
    Melbourne, Australia
    Balance:
    2,222Coins
    Ratings:
    +396 / 0 / -0
    My Motion Simulator:
    AC motor, Arduino, Motion platform, 4DOF
    @OZHEAT
    My thinking was that if the limit switch was hit all the motor relays drop out. The next step I guess would be to wind the motor down by hand from whatever switch was activated then investigate what happened. At that point once the problem had been solved, the start switch would be pressed. How would you see contactors being better? Thanks for your input :thumbs
  12. mariano68

    mariano68 Active Member

    Joined:
    Nov 15, 2014
    Messages:
    577
    Occupation:
    builder contractor
    Location:
    Argentina
    Balance:
    3,338Coins
    Ratings:
    +395 / 2 / -0
    My Motion Simulator:
    2DOF, Arduino, 4DOF
    I seemed to hear in the second video, a pretty little voice from the actuator saying: ... throw more kilos ... throw me more kilos ...
  13. wannabeaflyer2

    wannabeaflyer2 Well-Known Member

    Joined:
    Jun 12, 2015
    Messages:
    724
    Location:
    london uk
    Balance:
    8,286Coins
    Ratings:
    +950 / 7 / -0
    My Motion Simulator:
    2DOF, Arduino, Motion platform, 6DOF
    Hi @SixDegreesOfFlight absolutely great work and progress you guys do neat work my rats nest needs to be revisited LOL ..Great to see your actuator doing some load testing and progress will ramp up once you feel comfortable with their performance , one Tip regarding limit switches in my setup was that with increased load comes more inertia sometimes and you may find that even though your limit switch trips where it should the Ballscrew under load may still move ( Backdrive ) in which case you may ( I say May ) damage the switch through over-travel or may and again I say may end up with the ballscrew hitting the mechanical stops :-( not really good for the ballscrews or the support frame. ) I ended up losing some actuator travel to ensure that there was enough travel after the switch was made to prevent mechanical clash and long lever arms on the switches to prevent reactivation if the switch if the overtravell took it past the trip point as it were.. your system may not have this issue but just wanted to pass on something I picked up with my system ,,, Great work and with more to come def a watched post :)
    • Informative Informative x 2
  14. SixDegreesOfFlight

    SixDegreesOfFlight Well-Known Member

    Joined:
    Jul 7, 2017
    Messages:
    250
    Occupation:
    Secondary Teacher: Systems Engineering & Computing
    Location:
    Melbourne, Australia
    Balance:
    2,222Coins
    Ratings:
    +396 / 0 / -0
    My Motion Simulator:
    AC motor, Arduino, Motion platform, 4DOF
    @wannabeaflyer2
    Thank you very much for your comments...they mean a lot to me :thumbs

    I do remember you writing about your thoughts on the limit switches in your own thread. That is the reason my ball nut printed part has an extra long contact surface. The inertia driving the ball nut up and gravity pulling it down should allow enough time for the relay to cut the power and the shorter travel distance should prevent the nut from hitting either end.

    As you say, my confidence it growing. I remember how reluctant you were to turn up the pwm at first even though @SilentChill was urging you to throw caution to the wind :D Early days yet but the project is moving forward. I started welding yesterday - my first time but the MIG is such great fun to use :grin I am hoping to finish the frame by next weekend so things from there will progress rapidly. hug:
    • Like Like x 1
  15. OZHEAT

    OZHEAT Active Member

    Joined:
    Oct 26, 2015
    Messages:
    208
    Location:
    Australia
    Balance:
    2,458Coins
    Ratings:
    +105 / 6 / -0
    My Motion Simulator:
    3DOF, DC motor
    @SixDegreesOfFlight
    Contactors or more correctly motor contactor have much heavier contacts, solenoid and springs. There is much less chance of the contacts welding together. You could even use a 3 phase motor contactor and wire each phase output to 3 separate motors or loads.
    You do need to know what kind of solenoid you want as they come in different flavors, ac or dc and multitude of voltages.

    You seem to have a lot of relays in your system, do they have a function? maybe list them and remove the redundant ones.
    Also, I guess any switches or relays that interrupt the motors is going to cause a dangerous condition as the simtools continues sending data.
    Maybe simtools needs a keystroke where you can pause data output, currently simtools only sends data and doesn't listen to com port.

    If you are looking for industrial limit switches rockby has some cheap ones especially the ones on sale @$2.50 search for bonza
  16. SeatTime

    SeatTime Well-Known Member

    Joined:
    Dec 27, 2013
    Messages:
    2,574
    Occupation:
    Retired
    Location:
    Brisbane Australia
    Balance:
    28,370Coins
    Ratings:
    +2,844 / 38 / -0
    My Motion Simulator:
    AC motor, Motion platform
    Hi @SixDegreesOfFlight - You should look at OZheat's rig to work out how to do it properly. ;).
  17. SixDegreesOfFlight

    SixDegreesOfFlight Well-Known Member

    Joined:
    Jul 7, 2017
    Messages:
    250
    Occupation:
    Secondary Teacher: Systems Engineering & Computing
    Location:
    Melbourne, Australia
    Balance:
    2,222Coins
    Ratings:
    +396 / 0 / -0
    My Motion Simulator:
    AC motor, Arduino, Motion platform, 4DOF
    @SeatTime
    Could you provide a link to @OZHEAT thread/rig please - love to learn a better way.
  18. SeatTime

    SeatTime Well-Known Member

    Joined:
    Dec 27, 2013
    Messages:
    2,574
    Occupation:
    Retired
    Location:
    Brisbane Australia
    Balance:
    28,370Coins
    Ratings:
    +2,844 / 38 / -0
    My Motion Simulator:
    AC motor, Motion platform
    That's the point, it does not exist....
    • Funny Funny x 3
  19. SixDegreesOfFlight

    SixDegreesOfFlight Well-Known Member

    Joined:
    Jul 7, 2017
    Messages:
    250
    Occupation:
    Secondary Teacher: Systems Engineering & Computing
    Location:
    Melbourne, Australia
    Balance:
    2,222Coins
    Ratings:
    +396 / 0 / -0
    My Motion Simulator:
    AC motor, Arduino, Motion platform, 4DOF
    OMG - could you hear me laugh from down here in Melbourne :p
  20. SeatTime

    SeatTime Well-Known Member

    Joined:
    Dec 27, 2013
    Messages:
    2,574
    Occupation:
    Retired
    Location:
    Brisbane Australia
    Balance:
    28,370Coins
    Ratings:
    +2,844 / 38 / -0
    My Motion Simulator:
    AC motor, Motion platform
    I have no hate against ozheat and have sat back and watched for quite some time, it just that when members give out allot of advice, it's good to know what type of experience/expertise is backing up that advice.
    • Agree Agree x 1