
M-45 multipurpose pneumatic stepper motor
prusaprinters
The M-45 motor is a versatile pneumatic stepper motor with up to 0.5 Nm torque, size 45 mm x 40 mm and thickness only 15 mm. It is constructed as a rotational two-cylinder pneumatic stepper motor with Lego Technic-compatible shaft. An internal pinion (10 teeth) attached to the motor gear (9, 13, 17 or 21 teeth, see Fig. 1) can drive a linear rack to convert it to operate as a linear stepper motor. I also made versions for curved racks of different radii of curvature, and different locations/orientations of the pneumatic tubes.Figure 1. Left to right: 9, 13, 17 and 21 teeth. White: PLA. Black: PC (polycarbonate).The compound gear consists of a large motor gear and a smaller 10-tooth pinion gear. The motor gear teeth count is related to the step size which equals 360/(4*teeth) degrees. Also a higher teeth count in theory has higher torque at the same pressure level, but is also more difficult to print properly and has lower structural strength. If printed using a 0.4 mm nozzle then 17 teeth is the practical limit.For maximum strength the gear and pistons should be printed in a high-strength material such as polycarbonate (PC) or PETG. These materials also have lower friction than PLA and thus higher output torque (up to 0.4 - 0.5 Nm). 17-teeth PLA gears work fine up to 2 bar (max 0.25 Nm) but may wear out and eventually break down after prolonged use. 13-teeth gears in any material are much more robust: 13-teeth polycarbonate gears can handle up to 0.55 Nm at 5 bar.Figure 2. White: housing, top cover (2 parts) and tube fixer. Black: axle, gear and pistons. Blue: seal cutter. Beige: silicone rubber.The housing is best printed in PLA. Use 0.15 mm layer thickness, also for the first layer. 100% infill is recommended to minimize leaks. Important: enable ironing on all top surfaces! Some post-processing may be necessary to clean up ironing and other 3D printing artifacts so that the housing parts fit well together. Grind the flat surfaces of the pistons so that these fit in the housing parts and do not rub each other. Enlarge the axle hole in the houding to 4.8 or 4.9 mm if necessary.The gears+pistons are placed in one STL file, same for the housing parts. If you prefer to print the individual separately then you can use “Split into parts” in PrusaSlicer. In Ultimaker Cura you first have to install the “Mesh Tools” extension which allows the “Split model into parts” action.Pneumatic tubes with outside diameter 3 mm are used. E.g. Festo PUN-H-3X0,5-NT. Locate the four holes in the housing and enlarge these to 3 mm if necessary using a drill (make sure that all drilling debris is removed). Enlarge the tube fixer holes to 3.1 mm so that it can slide over the four tubes.Figure 3. Tube fixation procedure. a. Starting position. b. After applying glue to tubes. c. Tube fixer pressed to housing.Arrange housing, tubes and tube fixer as in Fig. 3a. Apply glue (e.g. cyanoacrylate, preferably in conjunction with an activator for polyurethane tubes such as Loctite 770) around the tubes near the housing (Fig. 3b) and then press the tube fixer all way to the housing (Fig. 3c). This should result in a good bond so that the tubes cannot accidentally be pulled out by force.Figure 4. Seal after cutting with 12.15 x 10.20 sized seal cutter.Silicone rubber seals are nominally sized 12 x 10 mm² with thickness 1 mm and can be manually cut using the customizable seal cutter tool. You can download and open the scad file in OpenSCAD (recommended) or use the online customizer and set the width and depth to 12.15 and 10.20, respectively. Check that the seal is properly rectangular and the dimensions are consistent. If the seal is too loose or too tight then you may need to adjust the dimensions slightly.Figure 5. Validation of seal dimensions.Note that the seal edges are slanted so the orientation of the seal in the housing matters.Figure 6. Initial motor assembly.Insert the two pistons, make sure that these can slide smoothly. Grind the sides if necessary. Insert a Lego Technic axle through the gear and into the housing. Insert the four seals such that the larger face is adjacent to the cylinder chambers and the smaller face is adjacent to the pistons.Figure 7. Initial assembly and test. Two 3/2-way valves (type PV5211-24VDC-1/8) controlled by an Arduino drive the pneumatic stepper motor.Assemble the top covers on the housing, tighten using the six screws and test the motor for a dry run. You need two 5/2-way valves and some controller and electronics to control these. The PneumaticStepper library may be useful to calculate the cylinder waveforms based on setpoint position and stepping frequency.The non-glued motor may leak a lot of air, but it should work. Otherwise check for jammed parts etc. If the rack gets stuck then identify the exact location, measure, remove some material and repeat until the parts move relatively easily.Figure 8. Gluing the housingThe most risky part is gluing the caps on the housing, as you have only one chance to do this step right. (You can skip this step if you printed the Housing_AllScrews version.) First it is recommend to apply some petroleum jelly ("vaseline") or other lubricant around the seal and pistons to reduce the risk of jamming due to glue entering the cylinders, but take care that the lubricant stays away from the ridges and notches which need to be glued together and therefore free of fat and other debris. Apply glue (e.g. cyanoacrylate) around the ridges as shown in Fig. 8a, and for the smaller part also inside the groove. Put the part on the housing, tighten using screws and apply pressure using clamps. Operate the motor for a short time at low pressure to avoid jamming in case some glue entered the cylinder. Repeat for the other cover.Figure 9: Assembled motor with some Lego Technic parts.If all goes well then the motor works as intended, delivering up to 0.5 Nm of torque (depending on material and gear teeth count). It is possible that the motor still leaks a bit of air, this is inevitable due to the 3D printing process but it can be mitigated by proper seal dimensioning and careful assembly.The LegoMountBlock can be attached to the motor housing and provides some options to connect to other Lego Technic parts.Enjoy your motor!
With this file you will be able to print M-45 multipurpose pneumatic stepper motor with your 3D printer. Click on the button and save the file on your computer to work, edit or customize your design. You can also find more 3D designs for printers on M-45 multipurpose pneumatic stepper motor.