Swerve Drive for NEMA 17 Motors

Copyright Claim

Swerve Drive for NEMA 17 Motors

Boost
4
5
0

Print Profile(0)


No Print Profile yet. Add one to earn points.

+ Add Print Profile

Boost
4
5
0
0
3
0
Released

Description

This swerve drive is essentially a powered castor that can be used to make omnidirectional robots. Unlike Mechanum wheels or omni wheels, it doesn't suffer from the problem of tiny roller diameters, and hence, is great for navigating irregular surfaces. Designed for for NEMA 17 stepper motors, two swerve modules can conveniently be controller by a single 3D printer controller board using G-codes.

The design drives the wheel through a central motor shaft via a 4:1 bevel gear set. The wheel is then mounted on a rotating steering carriage that is driven by a second motor via a 28:80 spur gear set. The wheel and the steering carriage are supported by integral full-compliment bearings made using 6mm dia. airsoft BBs. 3/16" thick x 2.5" diameter o-rings are used for the tires.

I've also included files for a passive caster for creating a minimal robot base. Note that at least two swerve drive modules are required to build a robot, but you can use 3, 4 (or even more) drive modules with the proper controller code.

Watch it go at:

(Note: this thing is identical to a previous posting, which for some reason, Thingiverse failed to fully recognize.)

Required Parts

In addition to the 3D prnted parts, you will need the following foreach module:

1 - 3/16" thick x 2.5" O.D. o-ring

2 - NEMA 17 stepper motors

4 - M3 x 5mm panhead screws

2 - M3 x 8mm panhead screws

4 - 6-23 x 5/8" pan head screws

6 - 6-32 nuts

2 - 6-32 set screws

41 - 6mm airsoft BBs

1 - OPB606A optical sensor (for homing)

Assembly

  1. After printing all of the parts, run a small piece of sandpaper in all of the bearing races to remove any nits, strings or lumps. Also run a needle file between all of the gear teeth to remove any irregularities. Clean out the bore of the pinion gears with a 5mm reamer or drill bit.
  2. Insert a 6-32 nut in the hub of the bevel pinion gear and add a 6-32 set screw. Slide the bevel pinion onto one of the motor shafts, leaving a 0.125" gap between the bottom of the pinion hub and the boss face of the motor. Tighten the set screw. Note that you may have to adjust this gap later to eliminate any backlash, but because of limited access to the set screw, this unfortunately requires some disassembly.
  3. Start the 4 shorter M3 screws into the corner mounting holes of the motor, leaving the heads about 2mm above the face of the motor. Insert the motor into the base, with the 4 screw heads going into the 4 keyhole slots in the base. Rotate the motor body and then tighten down the 4 screws.
  4. Place the steering carriage over the inner bearing race part of the base, aligning the 2 notches where you will insert the balls. One-by-one, insert 22 balls through the notch and tease them around the diameter of the bearing as you go. When you finish, there should be about a 1 ball diameter gap between all the balls. (Note that if you need to remove the balls, just re-align the notches and push a ball so it's centered in the gap. There's an access hole in the base so that you can use a small diameter pin to poke the ball back out through the gap. Repeat for all balls.)
  5. Similarly assemble the wheel bearing to the wheel hub using 19 balls. Screw the hub to the side of the steering carriage with the four 6-32 screws. The bevel pinion gear should mesh with the wheel bevel gear without over meshing and without any backlash. If the gear fit is too tight or too loose, you will need to slide the pinion gear up or down on the motor shaft. If you've got a really new ball-end Allen wrench, you may be able reach in at an angle to loosen the setscrew to make the adjustment. If not, you'll need to remove the balls from the steering bearing to get good access to the set screw.
  6. Insert the second motor into the remaining hole in the base. The hole is slightly slotted, so slide the motor away from the steering gear. Screw the motor in place with the two exposed holes using the the longer M3 screws. Add a 6-32 nut and set screw to the pinion28 hub, slide onto the motor shaft, and tighten in place. Loosen the motor mounting screws and slide the steering motor towards the steering gear to get a good fit with no backlash between the gears.

Usage Notes

I suggest first assembling just two swerve drive modules and a castor into a bare frame to get you going with your controller code. I used an old 3D printer controller board (Printrboard) I had lying around, hooking up one module to the X and Y axes and the other to the Z and E axes. You can then just start sending G-code commands at the controller to make things move.

Also note that the steering and drive axes are somewhat coupled. As you move the steering carriage, the wheel will also rotate. If you rotate the steering carriage by one full rotation, you'll see the the wheel moves backwards by 1/4 rotation. Also note that the wheel contact point with the ground is offset from the steering axis by 0.449". This means that as you rotate the steering by one full revolution, the wheel has to drive forward by 0.359 revolutions to drive in a little circle around the steering axis. To compensate for both of these effects, for every revolution of the steering carriage, you need to turn the wheel by 0.609 revolution. You then need to add onto that any additional rotation to actually drive the wheel the required distance.

Lastly, for homing the steering axis, I added a hole in the base for a downward-looking retroreflective optical sensor (OPB606A). There is a square gap in the top surface of the steering gear that aligns with the sensor so that it is triggered once per revolution. I haven't implemented this yet, but I've used the same method with other similar designs, so it should work well.

Print Settings

Printer Brand:

MakerGear

Printer:

MakerGear M2

Rafts:

No

Supports:

No

Resolution:

0.2mm

Infill:

20%

Filament: Inland PLA

Category: Engineering

Comment & Rating (0)

Please fill in your opinion
(0/5000)

No more