# Notes on micro-spindle iteration, late May 2021. ### Why did we do this? How will we evaluate? * Small manufacture part inventory. * Cheap. * Needs to have small runout for PCB traces. * Should be able to cut boards and face off sacrificial layers. * Reliable enough to give to novices. * Bit changing should be easy. * Quiet. Runs at low motor speed. * Motor should be cheap, easy to control, and interface with control software/hardware. ##Original sketches [here](https://gitlab.cba.mit.edu/jakeread/micro-spindle) ##Prototype that uses 3D printed bit clamp with axial thrust bearing, stepper motor for driving, and cast polyurethane driving wheel. * ###3D printed bearing mount for spindle - no shimming needed. [CAD model, Fusion 360 file](./Clamp_May21_twist_v7.f3d) [CAD model, *.step file](./Clamp_May21_twist_v7.step) <img src="g-sketch.jpg" width="30%"/> <img src="spindle.jpg" width="30%"/> <img src="board.jpg" width="30%"/> <img src="h-screenshot01.png" width="40%"/> <img src="h-screenshot02.png" width="40%"/> <img src="h-screenshot03.png" width="40%"/> Videos below show trace cutting, insertion of bit, adjustment of clamping force. <video width="320" height="240" controls> <source src="traces-comp.mp4" type="video/mp4"> </video> <video width="320" height="240" controls> <source src="insertion-comp.mp4" type="video/mp4"> </video> <video width="320" height="240" controls> <source src="adjust-clamp-comp.mp4" type="video/mp4"> </video> * #### Axial movement per revolution. Axial bias was measured by using a caliper to measure the extension of the bit it was rotated by hand in the spindle. Using clamp with built-in 0.1 mm rotation between top and bottom bearing discs, I find that when the bit is unconstrained axially, it travels 0.03mm per revolution. This corresponds to an angle of 0.003 which is very close to the ratio of the circumferential displacement of the discs to their axial separation. I found, though, that this bias is not reliable, and can change as bits are changed, and force on clamp changes. This is a problem, since at larger upward bias, friction and heating load the motor and damage the clamp. * #### Thrust bearings. * small ball was found inadaquate - heated up and softened PLA - migrated upward. * [commercial thrust bearing.](https://www.amazon.com/TORQUE-TRANSMISSION-20203-Hardened-Quantity/dp/B01IBEH4P0) <img src="thrust-plate-0.jpg" width="40%"/> <img src="thrust-plate.jpg" width="40%"/> * Large ball. <img src="thrust-big-ball.jpg" width="40%"/> * #### Board-making with this spindle. <img src="linetest.jpg" width="40%"/> * ###Cast polyurethane driver wheel. I made a single-use PLA mold and cast a polyurethane rubber around a PLA insert drive wheel. The material is [SIMPACT 85A](https://www.reynoldsam.com/product/simpact/) from Reynolds. This is a two part PU with Shore hardness 85A. Recommended for my appplication, and to match the measured hardness of a drive wheel borrowed from Zach. Better to have a silicone mold for repeated use, and perhaps better surface quality. [CAD model, Fusion 360 file](./nema11-mold_v2.f3d) [CAD model, *.step file](./nema11-mold_v2.step) <img src="pu-0.jpg" width="30%"/> <img src="mold.png" width="30%"/> <img src="cap.png" width="30%"/> <img src="insert.png" width="30%"/> * ###Driving. * #### DC brushless and brushed. I had trouble with BLDC motors - they don't like to stall. Would be worth considering these again. DC brushed motor was good for many of my prototypes because it just needed volts and current. My variable power supply displays voltage and current. The voltage was a good enough indicator of speed and the current followed the torque. * #### Driving with NEMA8 and NEMA11 motors. Speed and torque. [Datasheet for NEMA8](nema8.pdf) [Datasheet for NEMA11](nema11.pdf). Was able to drive NEMA8 at greater than 10k steps per second (~3000 RPM). When applied to the spindle, the NEMA8 motor got too hot, and softened PLA flange. The NEMA11 motor behaved better. Ran stably at 2600 RPM (9k pulses per second) to give bit 20.3kRPM for trace cutting. Slowed down for the 1/32 endmill, running at 12kRPM for cutting through the PCB. <img src="two-steppers.jpg" width="40%"/> A quick way to measure motor torque. Result: at 2680 RPM, stalls at ~ 0.030 Nm (so-called 300 g-cm). Supply current suggests that this is close to the condition under which this motor stalls when used in the spindle. Also close to datasheet value. One could use this method to plot a curve of stall torque vs step rate. <video width="320" height="240" controls> <source src="diy-dyno-comp.mp4" type="video/mp4"> </video> * #### Stepper motor board with attiny1614 I ran the stepper motors with a tiny1614 board using the A4950 double h-bridge drivers. The DAC output of the 1614 set the maximum current on the A4950. Nice. Motors needed to be ramped up to high speed. Once there, they were easy to stall. We are running near the torque limit for this particular motor. <img src="programming.jpg" width="20%"/> [eagle board file](./stepper_tiny1614.brd) [eagle schematic file](./stepper_tiny1614.sch) [program file](./step1614.txt) ### How did we do? Evaluation. * Purchased parts: See [BOM.](https://docs.google.com/spreadsheets/d/1_0T9T4AaJmTTN-K_qhajW2TvdkbGEdUUY0n60XVYC7U/edit?usp=sharing) * Cheap: See [BOM.](https://docs.google.com/spreadsheets/d/1_0T9T4AaJmTTN-K_qhajW2TvdkbGEdUUY0n60XVYC7U/edit?usp=sharing) * Runout for PCB traces: See line tests. Succeeded here. * Cutting boards and facing off sacrificial layers? Succeeded, but changing bits is not yet straightforward. * Reliable? Not yet. Concerned about lack of control of axial force as bits are changed and clamp pressure varied. * Bit changing should be easy: Not yet. Potentially OK in future iterations. * Quiet. Runs at low motor speed: Yes. This we got. * Motor: Stepper motor works, this particular one barely. Nice for integration with board hardware. Need to systematically look at other choices.