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

F1 like 3DOF Simulator with heave

Discussion in 'DIY Motion Simulator Projects' started by _cOdaC_, Jun 25, 2024.

  1. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    36
    Balance:
    203Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    @noorbeast , yes I'm gonna add some resistors as well.
    Do you know what cable size I need for the resistors?

    I found the solution to my issue with the motor not moving. It was the Pot (I have a 360) standing in the wrong position. The motor was shut down to that reason and Motor 1 was "OFF". After moving the pot (green line) a bit down (underneath the blue line) I could swith the Motor1 back "ON" and continue testing.
  2. Sebastian2

    Sebastian2 Member Gold Contributor

    Joined:
    Dec 17, 2023
    Messages:
    82
    Balance:
    296Coins
    Ratings:
    +48 / 1 / -0
    Depends on the lenght. My cables to the load resistors are about 10...20 cm long and I think I use 2,5 mm^2 (about AWG14).

    No need to use the same cross section as for the motors, as energy dissipation is the whole point of the load resistors. Take a look at the diameter of the resistor terminals - no need to get bigger than that, as handling thick wires can be tricky.
    • Like Like x 1
  3. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    36
    Balance:
    203Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    Coming back to your post, I'm a bit lost with the numbers.
    The calculator says:
    "Use your motor's max output current or the power output's max current, whichever is less."
    The Sabertoth manual says: "The resistor’s value should be calculated to
    provide the typical motor current or 8 amps, whichever is
    less."

    I'm using two Sabertooth 2x32, one with one motor attached, one with two motors attached.
    One motor PSU:
    1000W, 24V, 41.6A
    Two motors PSU:
    2000W, 24V, 83,3A

    Motor specs (per motor):
    500W, 24V, 20.8A

    So the motors max output current is 41,6 and 83,3 Amps.
    The mentioned 8 amps is way less...

    I guess "Max Battery Voltage" at the calculator are the 24V.
    What do I put into the max current field?
  4. Sebastian2

    Sebastian2 Member Gold Contributor

    Joined:
    Dec 17, 2023
    Messages:
    82
    Balance:
    296Coins
    Ratings:
    +48 / 1 / -0
    In your case you need to enter 8 Ampere.

    You are right about 24 V being the Voltage.
  5. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    36
    Balance:
    203Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    The result is 3 Ohms dissipates 192 Watts at 8 Amps.
    I have 6.8Ohm and 100W Resistors.

    So I would set two of them in parallel, to get 3,4Ohms and 200W, right? Do you think thats feasable?
  6. Sebastian2

    Sebastian2 Member Gold Contributor

    Joined:
    Dec 17, 2023
    Messages:
    82
    Balance:
    296Coins
    Ratings:
    +48 / 1 / -0
    Sounds good, although personally i don't have practical experience with sabertooth drivers.

    My own 3DOF with heave with similarly powered motors uses a 100 W load resistor per motor and they don't get hot, so I assume that you are on the safe side going with 200 W.
  7. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    36
    Balance:
    203Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    The project is continuing.
    I've just ordered the base parts for the rig, that will hold the rig itself, motos, sabertooths, etc.
    As far as this is assembled I will provide some photos.

    One of the next steps is to determine the placement of the motors and the form (length) of the lever.
    @Sebastian2: I have started to design my rig in Fusion 360. I fear that my skills are not sufficient enough to build the whole rig as a CAD model, but I try to continue anyways.

    I plan to build this whole thing similar to this post.
    Its two square frames, the below has a motor on each side and a single motor on the back.
    The rig is 1,2m long and 58cm (50cm + (2x4cm)) wide.
    As I have a two sided shaft, I would like to use the lever on both sides of the shaft (the way you did with yours).

    What are the aspects to be considered for the lever length and positioning of the motors?

  8. Sebastian2

    Sebastian2 Member Gold Contributor

    Joined:
    Dec 17, 2023
    Messages:
    82
    Balance:
    296Coins
    Ratings:
    +48 / 1 / -0
    Those are 2 very big questions :)

    Both motor placement and lever length strongly affect maximum travel and speed of the rig. They also interact with gear ratio and motor torque.
    The farther the motors are mounted away from the center of gravity of the top platform, the bigger is the so called "inherent design leverage".

    One approach would be to try to maximize the inherent design leverage. So you would try to place the motors as far apart as you can (within your restrictions regarding space). So just like in your picture, two motors in the corners of one short side and the other motor in the back.
    However, the result will be that the maximum roll angle will be much higher than the maximum pitch angle.

    To have about equal maximum roll and pitch angle, you could put the motors in a equilateral triangle. So in your picture you would move the two motors, that are currently shown on the right, closer to the seat on the left. Ideally, the center of gravity of the loaded top platform will be exactly above the center of gravity of the motor triangle (which is 1/3 of the height of the triangle, measured from its base). I can expand on that if this explanation was to abstract.

    So now whe have defined the motor positions and thus the inherent design leverage. Furthermore, I assume that in your case, gear ratio, motor torque, inertia of the top platform shall be considered fixed. Under these circumstances, a longer motor lever will cause longer travel as well as higher speed - as long as the motor can provide enough torque. If not, the acceleration will be less than desireable.
    Your motors seem to be relativley powerful, so I guess you could use 100 mm center to center lever length as a starting point. I also suggest having additional holes at 80 and 60 mm CTC, so you can switch to lower values if the seat acceleration is too low.
  9. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    21,140
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    148,535Coins
    Ratings:
    +10,902 / 54 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
  10. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    36
    Balance:
    203Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    Thank you for your feedback @Sebastian2 and @noorbeast, I really appreciate that.
    @Sebastian2 I think I can follow your description.
    Today I'll receive the parts for the lower frame, so I can start to take your hints and place the motors.

    Here is what SimCalc calculates with my numbers:

    I've just used SimCalc with the following values:
    CTC Length: 100mm
    Motor Torque: 150Nm
    Motor Speed: 3000 rpm
    Max Angle: 180 Deg
    Current Angle: 0 Deg

    Results:
    Linear Speed: 31416.000000 (mm/s)
    Output Force: 1500.000000 (N)
    Linear Travel: 0.000000 (mm)

    CTC Length: 80mm
    Motor Torque: 150Nm
    Motor Speed: 3000 rpm
    Max Angle: 180 Deg
    Current Angle: 0 Deg

    Results:
    Linear Speed: 25132.800000 (mm/s)
    Output Force: 1875.000000 (N)
    Linear Travel: 0.000000 (mm)


    CTC Length: 60mm
    Motor Torque: 150Nm
    Motor Speed: 3000 rpm
    Max Angle: 180 Deg
    Current Angle: 0 Deg

    Results:
    Linear Speed: 18849.600000 (mm/s)
    Output Force: 2500.000000 (N)
    Linear Travel: 0.000000 (mm)

    @Sebastian2:
    I've read that you drilled 12mm holes in your lever. So I guess you are using M12 ball joint? If so, how did you fix the screw thread of the joint to the aluminium profile, that usually has M8?
    Maybe you can provide photos?
    What screws did you use to connect the three profiles between the lever and the top frame?
    Probably one of those?
    https://www.dold-mechatronik.de/Verbinder
  11. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    36
    Balance:
    203Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    Ok, so here are some plans I've created.
    As always, I'm happy about your thoughts.


    ==============PLEASE FIND UPDATED LEVER AND WIRING DIAGRAM HERE ==============

    First of all the lever:
    lever.jpg

    As I'm planning to build a 3DOF System, it is suggested to use 2 x Sabertooth 2x32 with two Arduino Unos, so I have two wiring diagrams.


    wiring_1.jpg

    wiring_2.jpg

    Please comment.
    Last edited: Oct 8, 2024
  12. Sebastian2

    Sebastian2 Member Gold Contributor

    Joined:
    Dec 17, 2023
    Messages:
    82
    Balance:
    296Coins
    Ratings:
    +48 / 1 / -0
    I used M8 screws throughout the rig. I used them for the connecting brackets between aluminium profiles, and I used M8 ball joints and screws on both ends of the Y-thingies that connect the motor levers with the top platform. Please refer to the attached pictures.
    The ball joints, as well as the aluminium profiles that they are screwed into, have tapped holes. A M8 threaded rod is connecting both. Counter-screwed nuts fix them in place.
    A ball joint with thread (instead of tapped hole) might also work, but one nut will still be needed to fix everything in place while the ball joint is rotated the way it needs to be.
    The ball joint that connects the Y-thingy to the top platform has a M8 threaded rod going through the rotating part. To prevent the top platform from making small rotating movements I added small cylindrical metal pieces. I don't know how to describe it better - please refer to the attached pictures.

    I have not used parts, like the ones you've linked to, on my rig. I'm not even sure what they are used for .

    If you think I used M12, you mixed something up in your momory or I wrote my post in a misleading way. In this case: sorry about that.

    About your diagrams:

    My levers are 25 mm in width. You are planning on 20 mm. Thicker levers will provide better lateral stiffness, so you might want to think about beefing those up a little.

    Your levers are 60 mm high, while the motor shaft is 40 mm in diamter. So there will be 10 mm of threaded lenght for the screw that fixes the lever to the shaft. Are your levers made out of aluminium, like mine? Keep in mind that it is recommended to use twice the screw's diameter for threaded length if you screw into aluminium. If you use a shorter lenght, the maximum torque you can apply on the screw is reduced. If you want to use M8 screws, like i did, you would need at least 16 mm threaded lenght. If you keep your lever symmetrical that would mean a lever height of at least 72 mm instead of 60 you currently have.
    My first levers were also just 60 mm in height and I didn't dare to apply 25 Nm like the screw torque tables say for 8.8 class screws. I went with 10/16*25=15 Nm (because I just had 10 mm of screw lenght instead of 16). I was afraid to damage the thread in the levers if I increased the torque further. But the result was the screws and levers coming loose after some time. So I made new levers with increased height. They look a bit strange, being so beefy in an unxpected direction, but they work fine now.

    Your wiring diagrams look plausible to me. Please forgive me for not checking the documentation if you used the correct pins and DIP switch positins on the Sabertooth and arduino.
    The fuse between Sabertooth and PSU is rated quite highly in my opinion. For the single motor Sabertooth I would use 20 A and for the dual motor 40 A. I can't see why you would be fine with 60 A going into the Sabertooth and only want 20+20A going out of it (using the dual motor Sabertooth as an example here).
    On my setup I didn't use a fuse between driver and motor, just one between PSU and driver. One fuse simplifies the wiring a bit without increasing risk much. All the current coming out of the driver went through a fuse before it went into the driver, anyway. I just don't see the benefit of 2 fuses, especially as the Sabertooth and PSU (if it comes from a reputable manufacturer and source) also have over-current protection.
    As you use dual channel drivers I would ditch the fuses between Sabertooth and PSU. But if you don't mind the wiring you can leave them in.

    Attached Files:

    • Informative Informative x 1
    • Useful Useful x 1
  13. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    36
    Balance:
    203Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    And again a very useful post @Sebastian2 . I'm learning quite a lot.
    I am referring to the following quote, where you were talking about drilling 12 mm holes into the lever (as far as I understood). So I thought M8s might not be strong enough for all the physics which is why you chose stronger screws, ball joints, etc. But luckily it was all M8s, which of course makes the assembly a lot easier, instead of switching between 8 and 12. So it was just a misunderstanding from my side I guess.

    My 3 DOF with heave

    At the picutre 20241003_173245.jpg you are using those V-Shape plates with 4 holes in them. That would work for the two motors, left an right of the seat. I'm still searching for a connector for the motor in the back, that shows in the same direction as the other two motors (from back to forth) but the aluminium profile of the top is horizontal...I'm still looking into that..

    In the end I've bought a couple of those beauties, as they are really strong in addition to the V-shape 5 hole plate and an L-Shape connector plate with 5 holes (please refer to the attached pictures; I know there are screws missing in the L-Plate ;-) ) to bring even more stability into the structure.

    Ok, so I just guessed the width of your lever and I'll go with 25mm as well.
    The motor shaft is 25mm, but I'll go with a coupler attached to the shaft which is 4cm as a diameter and I'll weld the lever onto it, like the version I found in the FAQ:
    [​IMG]
    [​IMG]

    So if we go with the shaft, I have even more than double height than that, If we go with the coupler, you are right, I would need to make the lever 20mm higher.
    But as I plan to go with welding the lever to the coupler; I would not need to attach a screw with a minimum threaded length.
    The lever, like the coupler, is made of iron.
    Regarding the wiring diagram: The DIP switch is the original one from the documentation.
    The reason for the high fuses is the following idea:
    One PSU has 2000W at 24V which is a 83Amps.
    The Sabertooth 2x32 specs say the they have 64 A peak, which is why I chose 60 Amps between the PSU and the Sabertooth.
    Yes you are right, It is not mandatory to add another fuses between the Sabertooths and the motors, but I have seen other projects that used them (even more fuses between the sabertooth and the pots) and I guess the whole project costs a lot of money which is why I like the idea to add a bit of extra security (even if it makes no sense really; but makes me sleep better ;-) ). The fuses between the Sabertooth and the Motors have 20 Amps for each motor, as one motor has 20.8 Amps.

    So what is your idea behind the 20A/40A between Sabertooth and PSU? I don't understand where those numbers come from (sorry).

    Attached Files:

  14. Sebastian2

    Sebastian2 Member Gold Contributor

    Joined:
    Dec 17, 2023
    Messages:
    82
    Balance:
    296Coins
    Ratings:
    +48 / 1 / -0
    Ah, now I see where the confusion about M12 is coming from!

    Here I was talking about creating the 20 mm holes in the levers (as in "one 20 mm hole per lever" - for the motor shaft). I drilled a 12 mm hole at the beginning, then I widened it up to 16 mm. and then I widened it up again to 20 mm. I just didn't dare to drill a 20 mm hole at once as my equipment is far prom pro-grade.

    -------

    The V-shaped plates", as you called them (shown here https://www.xsimulator.net/community/attachments/20241003_173245-jpg.104705/) looked like the one in the top left corner of this picture when I ordered them: https://i.ebayimg.com/images/g/gnQAAOSweBdkJOsM/s-l1600.webp. I've just cut away the top segment.

    -------

    I don't quite get what you are talking about here:
    Could you elaborate on that?

    -------

    I didn't know that you are able to weld and that your lever is made of steel. In that case your initial width of 20 mm will be much stiffer than my aluminium lever at 25 mm. 20 mm will also make drilling the holes much somewhat easier.

    Your coupler is an interesting idea. How are you planning to transmit the torque? The coupler looks like it's meant to be used with a shaft key. Are you going that route? I'm asking because I think I can also see some screw holes. Are you planning to use screws to transmit the torque? What diameter are those screws? I'm worried that the threaded length is way to short to support the screw torque neccessary to reliably transmit the motor torque. I think those screws are only meant to prevent axial movement of the coupler.

    -------

    Lets talk about the wiring diagram of the single-motor sabertooth. You plan on using a fuse to make sure that no more than 40 A goes into the driver. You are also using another fuse to make sure that no more than 20 A comes out of the driver. Do you see the "issue" here? The 40 A fuse will never blow, no matter what goes wrong, as the 20 A fuse will always blow first. To me, a fuse that will never blow, as something else will always break first, makes no sense. So I suggest:
    1. you use 20 A fuses both before and after the driver, or
    2. you remove the fuse before the driver and just keep the 20 A fuse after the driver, or
    3. you remove the fuse after the driver and just keep a 20 A fuse before the driver
    For the dual-motor sabertooth the numbers are similar. Your wiring diagram makes sure that no more than 60 A goes into the driver. You also make sure that no more than 20+20=40 A come out of the driver. The 60 A will never blow, no matter the current drawn by the motors. The 20 A fuses will always blow first. So I suggest:
    1. you use a 40 A fuse before the driver and two 20 A fuses after the driver, or
    2. you remove the fuse before the driver and just use the two 20 A fuses after the driver, or
    3. you remove the fuses after the driver and just keep the 40 A fuse before the driver

    Personally, I would go with the second option in both cases. If you want to increase safety you could go with the first option. Your current plan will work in principle, but the fuses before the driver will never ever blow, no matter what goes wrong.

    The only scenario I could come up with, where input fuses that are higher rated than sum of the ouput fuses would make sense, is when:
    1. The drivers have a short circuit to some place that is not the motor, like PCB to frame
    2. At the same time, another point of failure makes the frame be connected to ground. Keep in mind we are talking about 24 V here. You can touch both terminals of your PSU with wet fingers and won't feel anything. Both points of failure would need very low resistances, touching them won't cause any harm.
    3. and, now it gets weird, you want the system to tolerate a certain amount of current in this short circuit.
    Even if you are worried that 1. and 2. might happen at the same time, I can't see how you could want to accept 3. If you are worried about 1. and 2., you would go the increased safety double fuse route mentioned above, where the input fuses are rated equal to the sum of the output fuses.
  15. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    36
    Balance:
    203Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    Ah ok, I get it, totally makes sense the way you describe the drilling. So it was a misunderstanding from my side for sure.

    Haha, Jesus, and I was already searching for the V-Shaped plate with 4 holes, as I think (as well) the fact that they are shorter give the Y-thingies better movement. Alright, I've added two pictures to better show where I'm still looking for a good solution regarding connecting the Y-thing with the top frame at the back.
    Using the V-Shape plates, they would block the movement, so I would need something that keeps the way for movement free.

    You are right, the shaft has a key that fits right into the coupler. That is the way I plan to go. And you are totally right again that there are holes drilled through the shaft, as when I ordered them, I was not sure which way to go yet. So I could use them, but instead I'll weld the coupler and the lever together.
    The screw holes at the end of the shaft and trough the shaft are M10 (the ones at the end are x24).
    Then there are smaller screw holes in the coupler and they are just to prevent the coupler from axial movment.

    I think I've got the misunderstanding regarding the wiring diagram. I somehow assumed (why so ever) that there are two seperate curcuits instead of the current running through all parts being one curcuit.
    This said, now I am totall able to follow your thoughts.
    As the parts are there and the assembly is continuing, I'll go with the 20 amps per motor between driver and motor and 20/40 amps between the driver and PSU, although I understand that securing one side is totally enough.

    For documentation purposes, I'll update my corrected drawings.

    Attached Files:

  16. Sebastian2

    Sebastian2 Member Gold Contributor

    Joined:
    Dec 17, 2023
    Messages:
    82
    Balance:
    296Coins
    Ratings:
    +48 / 1 / -0
    You could use 90 degree corner brackets like in the attached picture. They also fit nicely in the "M8 ecosystem".
    Only downside I see is that the brackets I have here don't feel all to robust. Mine are from aluminium die-casting, feel very light and also cheap. But they are from the cheapest seller on ebay so maybe I just got what I paid for.

    Attached Files:

  17. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    36
    Balance:
    203Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    Absolutely, and because they dont feel robust, all corner brackets I found are made from aluminium and the screw holes are oval and not round, I'm still searching for an alternative, but can't find one really...
    Anyhow, currently I'm attaching all components to a plate and wire them up. The plate is supposed to be attached on the top of the lower frame. I'm also building some 3D printed holders and cases for the components. For the PSUs, I took your PSU holder and modified it to my requirements (hope thats fine with you).

    Another topic: I've searched the community posts, youtube and so on for a documentation about how to set SimTools up probperly, to test, tune and setup the required parameters.
    Unfortunately most of what I can find, seem to be screenhots from an older version of SimTools (V2?) as in your Post @Sebastian2. I've bought V3 of SimTools and it seems that there are just a few tutorials out yet, showing how to use the new interface.
    One I found, which seems to be good (not tested it yet), is this one (unfortunately in German only).

    Another question I have regarding the ball joints is, how did you assemble the bit (screw) that goes through the lever on the Y-thing end?
    Sorry, I'm a bit lost in translation...what I mean is, the lever has two sides, on the one side I plan to weld the coupler onto the lever, but I mean the opposite side of the lever.
    When the motor moves, the lever moves up or down. During this movement, the lever basically rotates around the horizontal M8 screw that goes through the lever hole.
    Did you simply put the screw through the hole in the lever? Does the part of the screw that goes through the hole need to be lubricated? Otherwise the thread of the screw inside the screw hole would scratch the aluminum off, right? Am I thinking too complicated here?

    upload_2024-10-10_10-32-58.png
  18. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    21,140
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    148,535Coins
    Ratings:
    +10,902 / 54 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    The SimTools V3 Manual and Quick Start guide are in the FAQs: https://www.xsimulator.net/community/faq/simtools-v3.401/

    The bolt should be secured to the lever, it does not rotate, the heim joint is what rotates and nuts either side of the heim joint lock the bolt to the inner hub of the heim joint:
    upload_2024-10-10_10-32-58.png
  19. _cOdaC_

    _cOdaC_ Member

    Joined:
    Dec 20, 2023
    Messages:
    36
    Balance:
    203Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    Got it, just to confirm: The screw that goes through the lever is "only" secured by the screw nuts and washers on both sides of the lever, right?
  20. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    21,140
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    148,535Coins
    Ratings:
    +10,902 / 54 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    In the picture you posted it looks so, but of course it is important they don't come loose so it would be a good idea to use lock nuts or self-locking nuts.