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

Movement platform evolution (2DOF to 6DOF)

Discussion in 'DIY Motion Simulator Projects' started by Michael_miass, Jan 15, 2021.

  1. Michael_miass

    Michael_miass West

    Joined:
    Nov 16, 2019
    Messages:
    145
    Location:
    Russia, Miass
    Balance:
    723Coins
    Ratings:
    +169 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, 6DOF
    Attention!!! Important addition:grin
    I didn't like the low speed of the linear actuator. After measurements, it was only 110mm per second. At first I was a little upset, but after carefully studying everything, I found my mistake. ESP32 has logical units (high level) 3.3 volts. I thought the driver of motor would understand this signal. But it turned out, judging by the scheme, both digital and analog signals can be received on the driver pin.
    Driver connection diagram.png
    It turns out he leveled my PWM signal with a level of 3.3 volts and perceives it as an analog signal of 3.3v (5v maximum). Apparently this is done for the versatility of the driver control (it understands both digital and analog signals). At home, I did not find transistors in order to make keys. Found the PC817 optocouplers. Below is the connection diagram.
    Optocoupler connection diagram.png
    I soldered one optocoupler for the sample and it worked. The maximum speed became 320mm per second !!! plus galvanic isolation for pin ESP32. I think the torque is now okay. If you understand what I wrote here, then be careful
    IMG_20210416_215541.jpg
    • Like Like x 3
    Last edited: Apr 19, 2021
  2. pmvcda

    pmvcda aka FlyPT

    Joined:
    Nov 3, 2010
    Messages:
    1,868
    Location:
    Portugal
    Balance:
    14,213Coins
    Ratings:
    +2,181 / 16 / -0
    My Motion Simulator:
    6DOF
    Good work,

    But that vibration...
    The cause might be on the pots. They always have noise.
    In the ESP32 code you can make an average of the read value to soften them.
    Might get a bit "spongy", but you might remove most of that vibration.

    I'm using level shifters for the 3,3 to 5V.
    And added some batteries, they give a good punch, but at a cost €€. Not sure it's worth.
  3. Michael_miass

    Michael_miass West

    Joined:
    Nov 16, 2019
    Messages:
    145
    Location:
    Russia, Miass
    Balance:
    723Coins
    Ratings:
    +169 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, 6DOF
    Yes you are right. It's all about the potentiometers. At first, the wires were in the same casing as the engine wires. Now I ran the wires from the potentiometers in a separate shielded cable. Before that, the value of the readings jumped very much. The median filter in the firmware helped a little. The mean arephmetic filter could not cope with such large outliers in the readings. Now there are no such jerks! But it is still possible in the future I will switch to a hall sensor or, like yours, I will take readings from the hall sensors of the engines themselves
  4. Michael_miass

    Michael_miass West

    Joined:
    Nov 16, 2019
    Messages:
    145
    Location:
    Russia, Miass
    Balance:
    723Coins
    Ratings:
    +169 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, 6DOF
    I'm tired of these potentiometers! I delete everything and do it like on the internal Hall sensors of the motors. I redid everything in a couple of days and this is what happened. I now have two ESP32 boards that control six drives. Signals from the Hall sensors through voltage converters are converted from 5 to 3.3V and transmit information about the rotation of the motor to the ESP32. I removed the potentiometers themselves and instead soldered a voltage divider from two 10K resistors. When the maximum limit switch is triggered, a voltage of 3.3V is issued (or 4095 in a 12-bit ADC), with a minimum limit switch - 0V, and in the middle position - half of the voltage from 3.3V. All information on code and everything else from the @pmvcda project https://www.xsimulator.net/community/threads/flypt-6dof-brushless-diy-actuators.10799/. The only thing that seems to me is that the voltage divider is shown incorrectly. It didn't work right away until I redistributed the voltage divider. Делитель напряжения.png
    IMG_20210618_203150.jpg IMG_20210618_203230.jpg IMG_20210619_083356.jpg IMG_20210619_130329.jpg IMG_20210619_211810 - копия.jpg IMG_20210619_211810.jpg IMG_20210619_211832.jpg
    • Like Like x 1
  5. Michael_miass

    Michael_miass West

    Joined:
    Nov 16, 2019
    Messages:
    145
    Location:
    Russia, Miass
    Balance:
    723Coins
    Ratings:
    +169 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, 6DOF
    • Like Like x 3
    • Winner Winner x 1
  6. PeterW

    PeterW alias Wickie

    Joined:
    Oct 21, 2018
    Messages:
    199
    Occupation:
    Dipl. Ing. Mb (FH)
    Location:
    Germany
    Balance:
    1,609Coins
    Ratings:
    +361 / 3 / -0
    My Motion Simulator:
    6DOF
    Hi Michael!
    I completely missed your build.
    Congratulation! Well done and good documentation! :thumbs
    I am wondering, why you changed from the sunken-platform to an on top-platform? Did you have some interferences?
    Wickie
  7. Michael_miass

    Michael_miass West

    Joined:
    Nov 16, 2019
    Messages:
    145
    Location:
    Russia, Miass
    Balance:
    723Coins
    Ratings:
    +169 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, 6DOF
    I switched from sunken-platform to an on top-platform for the following reasons:
    1. Mounting points for linear actuators are closer to the center. This increases the load on them, but with the same stroke length gives a greater angle and speed of the platform tilt.
    2. The structure is more rigid, less connections.
    3. To tilt the platform to a certain angle, a smaller stroke of the linear actuator is needed. And that means reducing the noise from the ball screw
    • Informative Informative x 2