1. 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 Download Package Now!
  2. 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
  3. 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 here. Do not following these rules will lead to permanent exclusion from this website: Read the forum rules.

DIY Compact 2DOF No-Weld

Discussion in 'DIY Motion Simulator Projects' started by Human Dude, Feb 1, 2019.

  1. Human Dude

    Human Dude Member

    Joined:
    Aug 22, 2017
    Messages:
    33
    Location:
    Earth
    Balance:
    55Coins
    Ratings:
    +19 / 0 / -0
    Hello all,

    I'm starting up a project for my own 2DOF compact base full frame sim, with an eye on 2 goals in particular - keeping the price in the region of $500, and documenting/sharing plans and material suppliers with an eye towards the US. It was, as many projects here seem to be, inspired by @noorbeast 's Compact DX.

    The base will be primarily constructed with wood, both to keep costs down and to aid in ease of construction. All the drills and cuts are aimed to be doable with hand tools and paper templates, though I have access to a CNC router personally.

    The base footprint is 24"' x 30" to be easily cut from 2'x4' 'handy panels' available at a lot of home improvement stores, framed out with generally available 2x4 lumber with select pieces being 2x6 and the seat mounted to a 4x4 beam - all held together with wood screws. The u-joint brackets are designed to be easily 3d printed (with minimal support and no difficult overhangs) with a commonly available automotive u-joint (395, used in older Toyotas and available on eBay) and held to the base with carriage bolts through the back of a 2x4 which is in turn bolted to the main 4x4.

    The u-joint is in turn bolted to the seat assembly that uses Misumi aluminum extrusion as the structural base, with a 3/4" plywood backing plate to tie the different components together. The motors are attached to a 40mm x 40mm square extrusion on the back of the seat frame via a 1/2-20 threaded rod (eBay) fed through 3d printed end caps and (hidden) internal supports via commonly available 1/2-20 threaded heim joints (from McMaster-Carr).

    Thanks to the 3/4" plywood forming the main seat platform, I could theoretically use just about any seat, but I'm planning to use the JEGS Pro High Back II because it's commonly available, pretty inexpensive, and I don't have to fight with a u-pull junkyard during the polar vortex to get it. It will be bolted straight through to the bottom of the plywood into some slots to provide some adjustment for center of gravity tuning.

    I'll be using the PGSaw 50:1 motors, with 1/4" steel bar with a 50mm CTC for the lever arms, pinched onto the motors with more 1/2"-20 allthread rod in a very similar fashion to @armpit 's no-weld 2DOF. These will be driven by a pair of IBT_2 Dual H-Bridge drivers connected to an Arduino. Positional feedback will be via DIY hall sensors using A1308/A1309 (circuit boards with debouncing circuitry in 0805, on OshPark for a few bucks, and small magnets available from KJMagnetics, and power will be provided by a NPS-700AB power supply, which should give me some overhead on motor power demand - but if it doesn't, the base has plenty of room for a second one.

    I've ordered parts, and once they start arriving I'll start constructing. Once I'm done constructing and it actually works, I'll be posting by BOM and vendor list, and we'll see how close I came to my $500 goal.

    Attached Files:

    • Like Like x 5
    Last edited: Feb 1, 2019
  2. Human Dude

    Human Dude Member

    Joined:
    Aug 22, 2017
    Messages:
    33
    Location:
    Earth
    Balance:
    55Coins
    Ratings:
    +19 / 0 / -0
    First parts have arrived, first challenges have presented.

    I stated before that I was using 1/2"-20 threaded rod - unfortunately, when the PGSaw motors arrived I found out the center axle clearance is exactly 12mm, not 12.5mm - the latter may have fit the Imperial threaded rod, the former definitely does not. So, ordering a M12-1.25 threaded rod from eBay and some M12-1.25 hardware from BoltDepot to replace the main axle. The 1/2-20 will continue to be used for the crossbar on the platform and the rod end linkages, since I have already ordered the 1/2" hardware appropriate for those.

    On the better side, the u-joint also arrived, and fits great. I really don't foresee any issues with the 3d printed brackets - they were printed with 6 perimeters, 20% infil in PETG and are rock solid, even standing on them.
    1-uJointAsm.jpg

    I also got the ends of the 40mm square platform crossbar tapped, and the outside holes of the front end of the 80mm extrusion for the stabilization brackets for the front of the platform frame. I do have to say the 3/4 surround for the bolt holes on the 4040 is a blessing and a curse for tapping - the gap breaks and evacs the chips a lot easier, but it's way harder to keep the tap straight.
    2-tap1.jpg 3-tap2.jpg 4-tAsm.jpg
    • Like Like x 2
  3. Human Dude

    Human Dude Member

    Joined:
    Aug 22, 2017
    Messages:
    33
    Location:
    Earth
    Balance:
    55Coins
    Ratings:
    +19 / 0 / -0
    Rod ends arrived from McMaster, I got the 1/2-20 rod cut up for the rod linkages and the main crossbar, and I printed out the main crossbar bracing/ends. Everything went together smoothly, linkage rods worked out to within 0.5 mm in length after loktite and jam nuts went on - close enough for me.

    With the 3/4" ply bolted onto the extrusion T-frame, there is basically no flex that I can generate by standing on it, so I'm pretty happy about that. It was a little tricky getting all the t-nuts lined up but once all 20 were tightened down it was rock solid.

    Attached Files:

  4. Human Dude

    Human Dude Member

    Joined:
    Aug 22, 2017
    Messages:
    33
    Location:
    Earth
    Balance:
    55Coins
    Ratings:
    +19 / 0 / -0
    Well, my M12 hardware came in along with a few other odds and ends, so I started putting together the motors and base frame.

    First, some PCBs of my own design (on OshPark here, with improved silkscreen from what you see below) with A1308KUA and the recommended filter/decoupling from the datasheet and then mounted to the brackets to position them next to the motor shafts. Also, a small 3d printed cap (kind of hard to see, black on black) with a diametrically polarized field from K&J Magnetics (R424DIA). I have a bunch of these sitting around for other projects involving the same hall sensor and the field strength is just about right to give a pretty good reading range. Too much and you can saturate your sensor, too little and you may have deadzones.

    1-HallSensorPCB.jpg 2-HallBracket.jpg 3-MotorWMagnet.jpg

    I also got SMC3 loaded onto an arduino uno, hooked it up to one of the hall sensors and spun the motor shaft (un-bolted from the actual motor, since you can't hand backdrive the 50:1 PGSaw motors with no lever!). It works! Hopefully I'll get the power supply wired tomorrow or Friday, and can actually start configuring SMC3.

    I also went ahead and terminated the wires coming off of the PGSaw motors with XT60 connectors - left over from some radio control stuff, they are rated for 60A continuous so should be plenty for ~180W@12V (~15A continuous).

    4-MotorXT60.jpg

    I also have spent some time the last few days milling out the motor mounts from 2x6 pine on my CNC router. This is definitely the most complicated fabrication in the whole project... but it would be doable with chisels and time, or just simplifying the design by making the motor body clearance section just be one large setback.

    5-MotorMounts.jpg

    I also cut all the other bottom frame members, and started predrill/countersinking. I still need to do the holes in the 3/4' ply that makes up the bottom, but my arms ran out of juice for today. The whole frame with be going together with a variety of lengths of #10 wood screws.

    6-BaseRoughLayout.jpg
    • Like Like x 5
  5. Human Dude

    Human Dude Member

    Joined:
    Aug 22, 2017
    Messages:
    33
    Location:
    Earth
    Balance:
    55Coins
    Ratings:
    +19 / 0 / -0
    The seat arrived from JEGS yesterday, so I had a go at attaching it to my platform. Apparently the spec sheet was not kidding about being an approximation - the dimensions of the mounting holes were WAY off the measurements of the actual seat. Fortunately, jigsaws are a thing and I was able to modify the placement of the slots I had previously put into the seat plate and get it mounted with the 3/8-16 bolts and fender washers.

    1-SeatTop.jpg 2-SeatBottom.jpg

    While I was at my local Ace Hardware, I found some items they were calling 'prong washers' and McMaster seems to call 'Square Neck Bolt Lock Washers'. Basically they have some prongs to dig into the wood and a square hole in the center for anchoring carriage bolts. This seems way more solid than just sinking the carriage bolts into the wood directly and hoping they hold, so I grabbed a few for the seat riser.

    3-SeatRiserWashers.jpg

    I also started screwing the base frame together - and ran into a problem. Turns out that while I had initially left enough space to wedge the motors and bolts into the back of the frame, that was a couple revisions of the base ago. I ended up getting a couple spade bits to round the corners out, and cut out a chunk with the jigsaw. I also used the spade bits to run a couple access holes for the bottom two bolts on the motor mounting. That let me get them tucked into their proper spaces, and lined up properly with the hall sensors.

    4-BaseScrewed.jpg 5-MotorClearance.jpg 6-MotorClearanceCloseup.jpg 7-MotorBoltClearance.jpg 8-HallSensorCloseup.jpg
    • Like Like x 1
  6. titomaky

    titomaky Member Gold Contributor

    Joined:
    Aug 4, 2008
    Messages:
    53
    Balance:
    121Coins
    Ratings:
    +11 / 1 / -0
    My Motion Simulator:
    Motion platform
    friend I love your project, you made a very smart way of sensor all, sure it will have success. A greeting
  7. Human Dude

    Human Dude Member

    Joined:
    Aug 22, 2017
    Messages:
    33
    Location:
    Earth
    Balance:
    55Coins
    Ratings:
    +19 / 0 / -0
    Small update - got the bottom 3/4" ply panel drilled, countersunk and screwed on. Also tossed on some of the rubber feet, with some in reserve if it needs more support. Should have some time this weekend to get the motors and sensors wired up with the IBT-2 / BTS7960 drivers - but not tonight.

    1-BottomFeet.jpg
  8. Human Dude

    Human Dude Member

    Joined:
    Aug 22, 2017
    Messages:
    33
    Location:
    Earth
    Balance:
    55Coins
    Ratings:
    +19 / 0 / -0
    Got the 12V mains wired up from the PSU - cut out a bit of the bottom side of the connector to make it a lot easier to work with. Used 12 AWG silicone jacket wire, and paired it up with 2 wires per polarity in the 'gaps' between each of the 3 contacts per polarity on the NPS-700AB power supply.

    1-PSUWiredMains.jpg 2-PSUWiredMains_Cutaway.jpg

    Also got the signals connected, including the +V signal feedback wire that boosts the output to 13V just to give things a touch more oomf. Connected the ON header pins to the GND header pin via a way, way oversized switch that I had laying around - and threw the FAN LOW connection on the same switch since it was a DPDT and had the space. I will probably move these to separate switches once initial testing is done, just in case I ever need the jet turbine 'high' fan mode.

    3-PSUWiredSignals.jpg 4-PSUWiredSignalSwitch.jpg

    I printed out a bracket for the IBT-2 drivers to connect them to a couple 80mm fans in a push+pull arrangement. It basically makes a box with fans on the ends and the IBT-2 heatsinks in the center, leaving the terminals on the outside for easy connections. I plan on using crimped ferrules on all the screw terminals since there will be a lot of vibration and current in the main motor wires. I wired up the drivers with some 2-conductor 18AWG and 4 wire 22AWG wire I had laying about - the 4 conductor is commonly used for security camera wiring and I had a box of it from another project.

    IBT2
    2-Red VCC
    2-Black GND
    4-Red R_EN/L_EN
    4-Black NC
    4-Green RPWM
    4-White LPWM


    5-IBT2FanBracket.jpg 6-IBT2Wiring.jpg

    I also got the lever arms drilled out of some 1-1/4"x1/4" steel bar stock from the local big box hardware store. Since I had to swap the motor drive shaft from 1/2" to 12mm, I also had to get a new bit - 15/32", which is almost a perfect fit on the M12 threaded rod. I think it's an actual diameter of ~11.9mm, and given thread specs are usually a touch under nominal it works great.
    7-LeverArms.jpg

    Hall sensors ended up being a little bit too close to the motor shafts - I think the shaft position measurement I have for the PGSaw motors isn't quite right. I've printed some new brackets with a slightly larger offset from the shaft so that I don't have to re-cut the 2x6 motor brackets, but I'm going to get some better measurements of the PGSaw motors before I call this project done.

    8-HallSensors.jpg

    At this point, I'm waiting on the 12AWG ferrules to arrive, as well as a screw terminal shield for my Arduino Uno to make connecting all of this a bit easier. With those plus some miscellaneous brackets to fix things in place and a few more wires soldered into the XT60 connectors, the seat-shaker portion is almost done.

    I think I'm going to focus on getting things working with the seat shaker, and then add on the full frame bits after. After all, one of my design goals was to have the full frame bits optional and easy to remove for transport and storage.
    • Like Like x 2
  9. Human Dude

    Human Dude Member

    Joined:
    Aug 22, 2017
    Messages:
    33
    Location:
    Earth
    Balance:
    55Coins
    Ratings:
    +19 / 0 / -0
    Oh, also I forgot to add, the hall sensors were wired up with some Cat5E ethernet cable I had laying about. It has 24AWG internals, and 8 conductors - so I used one twisted pair to run the signal for each hall, and the two halves of other twisted pairs to run VCC and GND.

    Between the signal being on a twisted pair and leaving as much possible space between the motor power wires and the sensor signal wires, I hope to reduce interference to basically nothing.

    Hall
    Bl/BlWht R/M1Sig
    Gr/GrWht L/M2Sig
    Orange GND
    OrangeWht VCC
    Brown GND
    BrownWht VCC
  10. Human Dude

    Human Dude Member

    Joined:
    Aug 22, 2017
    Messages:
    33
    Location:
    Earth
    Balance:
    55Coins
    Ratings:
    +19 / 0 / -0
    Got everything wired up and running, with only a few false starts due to poor solder joints on a few of the signal wires!

    One thing that is pretty unclear to me, which is how to set up the limits so that my motors don't over-rotate. I think that's what the clipping/max is for in the SMC3 utility, but there are also rotational limits in SimTools?

    1-InitialSMC3Settings.PNG
  11. Human Dude

    Human Dude Member

    Joined:
    Aug 22, 2017
    Messages:
    33
    Location:
    Earth
    Balance:
    55Coins
    Ratings:
    +19 / 0 / -0
    Well, I figured it out - sorta. I still have no idea what the Clip/Max do and how to set them on the SMC3 ultity beyond the bare bones offered in the SMC3 thread. However, I set up axis limiting in SimTools (10% for my sensors apparently), and that rescales things appropriately.

    My motors are moving what appears to be properly in LFS with the demo plugin!

    Time to get the rest of the thing assembled and screwed together for a real test!
    • Like Like x 1
  12. Human Dude

    Human Dude Member

    Joined:
    Aug 22, 2017
    Messages:
    33
    Location:
    Earth
    Balance:
    55Coins
    Ratings:
    +19 / 0 / -0
    As a final followup on the electrical construction, the last part I was waiting for was a screw terminal shield for the Arduino, just to make it easier to wire. I used one from Amazon here, but they're all basically identical. For the VCC and GND bus, I had a few 4 position block terminals laying around, but this could've just as easily been soldered together straight from the wires or soldered to some scrap copper or really just about anything.

    Final wire-up was as follows:
    Motor 1 / Right
    4-Green -> RPWM -> Arduino D2
    4-Red -> R_EN/L_EN -> Arduino D3
    4-White -> LPWM -> Arduino D9
    Bl/BlWht -> Hall-1-R -> Arduino Analog 0​

    Motor 2 / Left Arduino
    4-Green -> RPWM -> Arduino D4
    4-Red -> R_EN/L_EN -> Arduino D5
    4-White -> LPWM -> Arduino D10
    Gr/GrWht -> Hall-2-L -> Arduino Analog 1​

    VCC (5V) Bus
    2-Red
    OrangeWht
    BrownWht
    GND Bus
    2-Black
    Orange
    Brown​
    • Like Like x 1
  13. Arazok

    Arazok Member

    Joined:
    Mar 26, 2018
    Messages:
    110
    Occupation:
    Computer scientist
    Location:
    Germany
    Balance:
    462Coins
    Ratings:
    +23 / 0 / -0
    My Motion Simulator:
    2DOF
    Great idea with the terminal shield/expansion board for Arduino ! I wasn´t aware that this is available ! It will help me to plug the cables tight (by using the screws and holes). Great !
  14. Human Dude

    Human Dude Member

    Joined:
    Aug 22, 2017
    Messages:
    33
    Location:
    Earth
    Balance:
    55Coins
    Ratings:
    +19 / 0 / -0
    Construction complete! For now, anyways. The printed u-joint is in no danger of breaking, but it does flex a fair amount. I'm going to have to experiment a bit with SimTools and see how much axis bleed there is.

    1-FullyAssembled.jpg 2-FullyAssembled.jpg
  15. Human Dude

    Human Dude Member

    Joined:
    Aug 22, 2017
    Messages:
    33
    Location:
    Earth
    Balance:
    55Coins
    Ratings:
    +19 / 0 / -0
    After an hour or two of laps in LFS, I'm 100% sure I know nothing about tuning a profile and I'm also 100% sure that the plastic I used for the u-joint is just too darn springysproingy. I'm grabbing a couple 2-2-329 flange yokes with a 1310 series u-joint to tie it together. I'll have to re-cut the 2x4 'seat riser' beam since the mounting hole pattern is significantly different, but 2x4s are cheap so there really shouldn't be a problem there, and I can re-use the same mounting hardware.

    The flange should also be 'close enough' to the 60mm wide slots in the HFS5-4080 main beam of the seat platform. It will drop the whole assembly about 20mm, and I may have to trim the threaded rod in the motor linkages - but honestly, neither of those things will be a problem if it takes out the twisting and 'spring' I was feeling in the main assembly.
  16. noorbeast

    noorbeast VR - The Next Generation Staff Member Moderator

    Joined:
    Jul 13, 2014
    Messages:
    12,614
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    96,486Coins
    Ratings:
    +8,106 / 40 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
  17. Human Dude

    Human Dude Member

    Joined:
    Aug 22, 2017
    Messages:
    33
    Location:
    Earth
    Balance:
    55Coins
    Ratings:
    +19 / 0 / -0
    With the generous help of @armpit and @noorbeast, I think I'm beginning to understand the motion profile business, and I think I'm reasonably happy with the motors and SMC3 PID settings as well. I'm considering ditching by DIY hall sensors though, in favor of something a little more robust. Once I get the u-joint replaced and everything isn't springy, I'm going to try to tune those a little more and post my settings.

    Also, the steel u-joint flange yokes (and associated u-joint) arrived today. Didn't take much to bang together, I just used a flat hard surface (my garage floor) and a deadblow mallet to whack the joint into the yokes.

    1-uJoint-v2.jpg

    After taking a closer look at the interface between the HFS5-8040 main seat platform beam and the printed u-joint, I think I'm going to cut an interface plate out of 3/4" ply rather than rely on the 4x M5 bolts to hold things together. This will also serve to stiffen up the wheel and pedal post, which is a touch flexier than I'd really like - especially in DiRT Rally, where I find myself really jamming on the pedals frequently. The CAD drawing shows standard hex hardware, but I think I'm going to get some prong washers and carriage bolts (3/8-16 1.5") so that it's better able to be serviced after assembly onto the seat platform.

    2-InterfacePlate.PNG
    • Like Like x 1
  18. Kranky Pantz

    Kranky Pantz Active Member

    Joined:
    Sep 9, 2018
    Messages:
    279
    Balance:
    2,022Coins
    Ratings:
    +207 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, JRK, Motion platform
    Great looking platform!!!

    I'm using one of those JEGS hollow poly seats as well, but with a form-fitting vinyl cover which they also sell.
    https://www.jegs.com/pt/Seat+Cover

    One cool thing about these seats is that because they are hollow you can use a hole saw and add a couple of small puck-style transducers on the inside kidney area in order to get some tactile feedback.

    In addition to the motion platform, they add a ton of immersion for engine vibration, roadfeel & kurbs.

    I'm looking forward to seeing the finished project. :popcorn

    Cheers! :cheers
  19. Human Dude

    Human Dude Member

    Joined:
    Aug 22, 2017
    Messages:
    33
    Location:
    Earth
    Balance:
    55Coins
    Ratings:
    +19 / 0 / -0
    Oh man. I had been thinking of transducers but didn't want to put them on the seat platform itself because I wasn't sure how much would translate into the seat itself. It's good to know that they can actually be mounted inside the seat! What transducers/amp do you use with yours? Also, how tightly does the vinyl cover actually fit the seat? The pictures look pretty baggy, which is why I didn't bother ordering it with the seat - I was just going to go to my local foam place and get some foam to glue on.
  20. Human Dude

    Human Dude Member

    Joined:
    Aug 22, 2017
    Messages:
    33
    Location:
    Earth
    Balance:
    55Coins
    Ratings:
    +19 / 0 / -0
    On a more general note - I ended up basically having zero time over the weekend to work on things, but today after work I got both the new seat booster 2x4 and new interface plate to the seat platform cut.

    The seat booster, I ended up having to countersink the carriage bolts and prong washers about a half inch into the wood - lower than I'd like, because it allows the bolts to slide all the way out of the prong washers under their own weight. However, this was neccesary because otherwise I would've needed to special order 3/8-16 x 2.25" carriage bolts - the local hardware shops only carry that size in 2" and 2.5", with the latter being too long.

    The bolt pattern for the flange yokes I bought was slightly longer in one direction than the other, so I had to make sure the correct orientation was on both the seat interface plywood and the base seat 2x4 so that the seat would be oriented correctly at the end of assembly. The seat booster 2x4 was also pre-drilled for the 1/4"x3" lag bolts.

    1-SeatBoosterTop.jpg 2-SeatBoosterBottom.jpg

    The interface plate only had the 3/8-16 x 1.5" bolts sunk into the plate about 5/16", leaving as much of the 3/4" ply as I possibly could for everything to grab onto.

    3-InterfacePlateTop.jpg 4-InterfacePlateBottom.jpg

    It's a bit too late tonight to start drilling and generally cranking on my sim, but given that bolting things together is the easy part compared to fabricating them, I should be able to get my 'final' assembly together tomorrow.
    • Like Like x 1