collecting CNC parts

More CNC parts arrived in the mail today. I bought a bunch of T-Slot metal off of ebay for my custom CNC mill/router/repstrap. Hopefully it  will work out fine. I’ve never used T-slot metal before, so in a sense it was a blind purchase. I ordered 80/20 brand S 1010 t-slot bars in 2 foot lengths. I really only have room for a 2′ X 2′ sized CNC machine. It’s not super huge, but it should (if i can get it working) provide a fairly good sized work area.

T-slot metal

One problem with ordering 80/20 t-slot for the first time is that it turns out i ordered the wrong size i intended to. We had a large scrap piece of T-Slot that my dad scavenged from the HP or Agilent dumpster. I had assumed i was ordering the same size as that. …but somewhere in my mind i guess i also knew it was 1″ x 1″, and apparently i didn’t make the connection between the measurements and the actual size i was ordering.

one on the far right is 80/20 size 1010

So yeah, the one on the left is the piece of scrap we had that is probably 1.5″ x 1.5″, and the one on the right is the ones i ordered which are 80/20 brand, Size 1010 1″ x 1″.

makerbot stepper motors are super tiny!

I also ordered some electronics and “extra” stepper motors from Makerbot Industries. The ones they shipped are NEMA 17 size stepper motors. I had also assumed that they would be the same size as the other ones i already had. Boy was i surprised. They are even smaller than the others. I still might be able to use them though. I think i will actually try to build two CNC machines. A big one (my 2′ x 2′ one) and a smaller one. The smaller one should be a McWire Cartesian Bot. I like the McWire Cartesian design for a small repstrap, and hopefully i should already have enough unused arduino and stuff lying around that hopefully i can get two machines working.

1st test of repstrap reprap stepper motor

 

 

 

 

 

 

 

 

 

 

 

I have three small (tiny really) stepper motors in my “junk box”. I eventually want to build some cool CNC machines. RepRap, CNC router, CNC mill, CNC lathe. Okay, but to get there i need to learn more about this technology. Best way for me to learn is by doing through experimentation. I have to start small, so i will be attempting to build a repstrap “starter” machine. Today i used a sparkfun easy driver to drive a stepper. It was awesome. It was similar to the first tutorial, and the 2nd video mixed together.

http://vimeo.com/3978871

here is the arduino sketch so far. (version 1)

////////////////////////////////////////////////////////
// Stepper Motor skecth for use with the EasyDriver 4.2
////////////////////////////////////////////////////////

// Original by Dan Thompson 2008
//
// Musical test version 1 by Andrew Barney
//
// Use this code at your own risk.
// For all the product details visit http://greta.dhs.org/EasyDriver/
// For the full tutorial visit http://danthompsonsblog.blogspot.com/
//

int dirpin = 3;
int steppin = 12;

void setup() {
Serial.begin(9600);

pinMode(dirpin, OUTPUT);
pinMode(steppin, OUTPUT);
}
void loop()
{

int i;

Serial.println(“>>”);
for (i = 0; i<4000; i++) // Iterate for 4000 microsteps.
{
digitalWrite(steppin, LOW); // This LOW to HIGH change is what creates the
digitalWrite(steppin, HIGH); // “Rising Edge” so the easydriver knows to when to step.
delayMicroseconds(200); // This delay time is close to top speed for this
} // particular motor. Any faster the motor stalls.

Serial.println(“<<“);
for (i = 0; i<4000; i++) // Iterate for 4000 microsteps
{
digitalWrite(steppin, LOW); // This LOW to HIGH change is what creates the
digitalWrite(steppin, HIGH); // “Rising Edge” so the easydriver knows to when to step.
delayMicroseconds(300); // This delay time is close to top speed for this
} // particular motor. Any faster the motor stalls.

Serial.println(“<<“);
for (i = 0; i<4000; i++) // Iterate for 4000 microsteps
{
digitalWrite(steppin, LOW); // This LOW to HIGH change is what creates the
digitalWrite(steppin, HIGH); // “Rising Edge” so the easydriver knows to when to step.
delayMicroseconds(400); // This delay time is close to top speed for this
} // particular motor. Any faster the motor stalls.

Serial.println(“<<“);
for (i = 0; i<4000; i++) // Iterate for 4000 microsteps
{
digitalWrite(steppin, LOW); // This LOW to HIGH change is what creates the
digitalWrite(steppin, HIGH); // “Rising Edge” so the easydriver knows to when to step.
delayMicroseconds(500); // This delay time is close to top speed for this
} // particular motor. Any faster the motor stalls.

Serial.println(“<<“);
for (i = 0; i<4000; i++) // Iterate for 4000 microsteps
{
digitalWrite(steppin, LOW); // This LOW to HIGH change is what creates the
digitalWrite(steppin, HIGH); // “Rising Edge” so the easydriver knows to when to step.
delayMicroseconds(600); // This delay time is close to top speed for this
} // particular motor. Any faster the motor stalls.

Serial.println(“<<“);
for (i = 0; i<4000; i++) // Iterate for 4000 microsteps
{
digitalWrite(steppin, LOW); // This LOW to HIGH change is what creates the
digitalWrite(steppin, HIGH); // “Rising Edge” so the easydriver knows to when to step.
delayMicroseconds(700); // This delay time is close to top speed for this
} // particular motor. Any faster the motor stalls.

Serial.println(“<<“);
for (i = 0; i<4000; i++) // Iterate for 4000 microsteps
{
digitalWrite(steppin, LOW); // This LOW to HIGH change is what creates the
digitalWrite(steppin, HIGH); // “Rising Edge” so the easydriver knows to when to step.
delayMicroseconds(800); // This delay time is close to top speed for this
} // particular motor. Any faster the motor stalls.

delay(1000);

}