X-Y unit almost for free

X-Y unit almost for free

thingiverse

No costly NEMA14 stepper motors or expensive linear bearings. Instead, a printed rail and a mini geared stepper motor that comes at an unbeatable price are used. The pulleys cost less than one dollar each and should have a bore of 5mm. All parts (except for the rollers) print in one run. An ATtiny is ideal for controlling one axis. However, if you want to combine two linear systems into an X-Y plotter, it's better to use an Arduino board combined with two ULN2003 ICs. The motor and Arduino boards function very well at 4.5 volts (three AA or AAA batteries). Don't expect the highest grade of accuracy, much depends on the clearance between the rolls and the rail. Clean up the rolls by sanding them. If needed, increase the diameter with tape. Combining two systems is easy if you use the cross to couple them. Before combining two units with the cross, remove the rolls for easy access and reinstall them when finished. Use some PTFE spray or grease to minimize friction. The speed is excellent for laser engraving. You can watch a demonstration of this system in action on YouTube at https://youtu.be/KBsERsjMnhU and https://youtu.be/fH1miyz9LqY. This sketch can be adapted by changing the number of steps. //Nano Full-step mode //512 >> 360 degrees, 1.4 step/degree int M1A = 2; int M1B = 3; int M1C = 4; int M1D = 5; int M2A = 9; int M2B = 10; int M2C = 11; int M2D = 12; int t=3; void setup() { pinMode(M1A, OUTPUT); pinMode(M1B, OUTPUT); pinMode(M1C, OUTPUT); pinMode(M1D, OUTPUT); pinMode(M2A, OUTPUT); pinMode(M2B, OUTPUT); pinMode(M2C, OUTPUT); pinMode(M2D, OUTPUT); } void loop() { //Motor 1 for (int x=0; x<20;x++){ digitalWrite(M1A, HIGH); digitalWrite(M1B, HIGH); digitalWrite(M1C, LOW); digitalWrite(M1D, LOW); delay(t); digitalWrite(M1A, LOW); digitalWrite(M1B, HIGH); digitalWrite(M1C, HIGH); digitalWrite(M1D, LOW); delay(t); digitalWrite(M1A, LOW); digitalWrite(M1B, LOW); digitalWrite(M1C, HIGH); digitalWrite(M1D, HIGH); delay(t); digitalWrite(M1A, HIGH); digitalWrite(M1B, LOW); digitalWrite(M1C, LOW); digitalWrite(M1D, HIGH); delay(t);} for (int x=0; x<30;x++){ digitalWrite(M1A, HIGH); digitalWrite(M1B, LOW); digitalWrite(M1C, LOW); digitalWrite(M1D, HIGH); delay(t); digitalWrite(M1A, LOW); digitalWrite(M1B, LOW); digitalWrite(M1C, HIGH); digitalWrite(M1D, HIGH); delay(t); digitalWrite(M1A, LOW); digitalWrite(M1B, HIGH); digitalWrite(M1C, HIGH); digitalWrite(M1D, LOW); delay(t); digitalWrite(M1A, HIGH); digitalWrite(M1B, HIGH); digitalWrite(M1C, LOW); digitalWrite(M1D, LOW); delay(t);} } //Motor 2 for (int x=0; x<20;x++){ digitalWrite(M2A, HIGH); digitalWrite(M2B, LOW); digitalWrite(M2C, LOW); digitalWrite(M2D, HIGH); delay(t); digitalWrite(M2A, HIGH); digitalWrite(M2B, HIGH); digitalWrite(M2C, LOW); digitalWrite(M2D, LOW); delay(t); digitalWrite(M2A, LOW); digitalWrite(M2B, HIGH); digitalWrite(M2C, HIGH); digitalWrite(M2D, LOW); delay(t); digitalWrite(M2A, LOW); digitalWrite(M2B, LOW); digitalWrite(M2C, HIGH); digitalWrite(M2D, HIGH); delay(t);} for (int x=0; x<30;x++){ digitalWrite(M2A, LOW); digitalWrite(M2B, LOW); digitalWrite(M2C, HIGH); digitalWrite(M2D, HIGH); delay(t); digitalWrite(M2A, LOW); digitalWrite(M2B, HIGH); digitalWrite(M2C, HIGH); digitalWrite(M2D, LOW); delay(t); digitalWrite(M2A, HIGH); digitalWrite(M2B, HIGH); digitalWrite(M2C, LOW); digitalWrite(M2D, LOW); delay(t); digitalWrite(M2A, HIGH); digitalWrite(M2B, LOW); digitalWrite(M2C, LOW); digitalWrite(M2D, HIGH); delay(t);} }

Download Model from thingiverse

With this file you will be able to print X-Y unit almost for free 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 X-Y unit almost for free.