Archive for the ‘reprap’ tag
Repstrap using HP840c’s
With the StarLC10 matrix repstrap ending up as pizza plotter, a start has been made building a new 3D machine using only the parts of 3 HP deskjet 840c printers.
The printers contain many useful parts, the casing is made almost entirely out of ABS (printing material, hurray!)
Especially the sliders come in nice, rectangular frame’s which make mounting them easy. For the first tests a frame has been assembled using standard aluminum X-beams (boikon).
Using the cleaner bin (which normally brushes and seals the cartridge) a Z-axis has been made which has at least 8cm of travel:
Arduino-based control of a DC motor using incremental encoder and PID is not much more difficult than controlling a stepper motor. See the wiki for full documentation.
void setup(){
int oldposition;
Serial.begin(9600);
attachInterrupt(0, encoder, RISING);
pinMode(10,OUTPUT);
pinMode(12,OUTPUT);
setMotor(-150);
delay(50);
while(position!=oldposition) {
oldposition=position;
delay(50);
}
setMotor(0);
position=0;
}
void loop(){
if(millis()>time+1)
{
float setpoint = 1000+400*sin(n/200)+200*sin(n/50); // 1890 positions
float error = setpoint - position;
setMotor((int)(limit((Kp*error + Kd*(error-oldError) + limit((Ki*sumError),antiWindup)),255)));
oldError = error;
sumError+=error;
n++;
time=millis();
}
}
void encoder() {// encoder service routine
if (digitalRead(4)>0) position++;
else position--;
}
void setMotor(int value){ // set PWM of motor, value may range from -255 to 255
if (value>=0) {
digitalWrite(12,LOW);
analogWrite(10,value);
}
if (value<0) {
digitalWrite(12,HIGH);
analogWrite(10,value);
}
}
next up: including the extruder head, interfacing, making connections, shredding abs, making a scrap-2-3mm-wire extruder system, etc.. etc…
nylon extruder #2
After the promising results with the first nylon extruder, we (woutzweers and I) made a new nozzle following reprap extruder size (so a 3.5 mm feed hole and a 0.5 mm extrusion hole). The extruder head consist of a small piece of brass with two holes placed at 45degree angle. The soldering iron has been mounted in the clamp of a milling machine, everything in the following movie is hand-operated.
Nylon Extruder from soldering station
Of course, the machine described in the previous post was never meant to have a sole purpose of pizza printing (which it admittedly does badly) but to become a repstrap machine so I can build a sweet Mendel. Next step after a cartesian robot is the plastic extruder. Although other people have tried to use a soldering iron (with limited success) we chose that approach nevertheless. Since isolated heating wire appears to be hard to come by (except for the makerbot store) and we had a spare soldering station lying around. Our first tests seem promising:
Critical issues are the steep thermal decline you need from the guiding tube to the heated nozzle. As soon as you drop pressure in putting the nylon through, the plastic pops out on top of the heated nozzle. Next up are a guiding tube from peak (or perhaps some ceramic material) and the steppermotor drive for automatic feeding.
BTW.. the reason we use nylon, is that you can buy it in a normal DIY hardware store. It is normally used for pulling wires trough tubes or unblocking drainage. ABS wire is still pretty expensive everywhere, especially for this kind of testing you’re not going to buy 3 kg…
Pizza Plotter
Bringing personal fabrication to your kitchen: the pizza Plotter. During one of the last lectures I gave for Creative Technology about reprap’s and personal fabrication one of the pizza hungry students (Symplexity) pointed out the necessary connection between pizza and production. Thus the idea for a Pizza Printer was born.
The previous posts on the Repstrap describe a 3D carthesian robot made from dot Matrix printer parts (using ONLY parts from three StarLC10 printers). Instead of the Z-axis the nozzle of a pressure plant mister was put on the head. The tank has been filled with tomato sauce. See the results on youtube below:
OK. admittedly, the accuracy needs some work. This has more to do with pressure / extrusion control than with the 2D robot. (which is basically an ordinary ottantotto controlled plotter now). The original StarLC10 power supply has been used, along with part of the casing. A standard RC servo has been added to the plant mister nozzle, allowing for on-off control for move- and draw commands. The ottantotto controls three stepper motors directly (using four wires per motor). The original stepper driver chips (STA401A) have been salvaged and re-used. For all the motors a single STA401 has been used. The control signals of both parallel motors have been bridged.
A drawing is made using a very simple processing sketch, based on the ‘file-save’ examples.
/**
* sketchtool, based on the 'filesave' example.
* move mouse. Every time you click, a datapoint will be saved
*/
int[] x = new int[0];
int[] y = new int[0];
void setup()
{
size(512, 512);
frameRate(30);
}
void draw()
{
background(204);
stroke(0);
noFill();
beginShape();
for (int i = 0; i < x.length; i++) {
vertex(x[i], y[i]);
}
endShape();
// Show the next segment to be added
if (x.length >= 1) {
stroke(255);
line(mouseX, mouseY, x[x.length-1], y[x.length-1]);
}
}
void mousePressed() { // Click to add a line segment
x = append(x, mouseX);
y = append(y, mouseY);
}
void keyPressed() { // Press a key to save the data
String[] lines = new String[x.length];
for (int i = 0; i < x.length; i++) {
lines[i] = x[i]*4 + "t" + y[i]*4;
}
saveStrings("positions.txt", lines);
exit(); // Stop the program
}
Tomato Sauce and Pressure Vats are a match made in white-wall hell. At least until I fully understood the merits of hose-clamps. Luckily, if you are quick enough, the stains wash off well.

The printing program is equally simple (but will follow in a next post) The Ottantotto software has been made using winavr (since it involves timer interrupts, and I really love the AVRlib libraries from procryon)
Repstrap V2
It is fun to see how deprivation of material can spark creativity! By setting the boundaries for this project to use ONLY the parts of printers and computer junk, you can - will come up with solutions you otherwise wouldn’t have thought of!
After last week’s enthusiastic post, reality kicked in hard when trying to control the steppermotors. Bottom line: they were by far not strong enough to power the metal carriage (normally they only have to move a plastic printer head) Besides lack of strength, they also lacked resolution. With one step (motor 7.2 degrees) more than one milimeter is covered! This makes it hard to get enough precision for printing parts.
One other problem is synchrony between the two side-axes. The slightest difference between the two motors causes the system to jam. The only way to prevent this is to mechanically link both motors.
It came as a surprise that it is possible to do all this using only the remaining parts of the matrix printers. The gears that were previously used for driving the paper roll have been used for a reduction in the drive train. Superfluous gears normally used for spinning the ink-lint have been used as bearings.
The last two pictures show two optical detectors as end-stops for initialization purposes.
Between the two halve shafts that couple the motions from both Y axes, a temporary meccano solution has been made as flexible shaft coupling. Eventually something will have to be distilled from the printer parts, or I will cheat with an ordered flex coupling.
Repstrap V2
Some time ago I tried rep-strapping using 5-1/4” diskdrive motors and MDF wood. (see here). The motors turned out to be way too weak, the M5 thread way to slow. Perhaps a larger thread (M12) and some bigger steppermotors can save this evening of work.
In this second attempt I have been using only the parts of three old dot-matrix printers (star LC10) and other computer parts. (I cheated a little bit. So far the extra parts include a big slab of MDF wood and two M8 bolts with washers and nuts)
So far I have build a 3D cartesian robot using the three printers. For the Z-axis I have added the mechanism of a CD-ROM player. Next part will be the motor control (also using the salvaged motor control hardware from the original printers) and an extrusion head (probably not completely from printer- or discarded computer-junk parts)
Personal Fabrication
I’m really enthusiastic about the reprap project. The whole Idea of having a printer that can print functioning parts, just on your desktop is .. well.. cool. The reprap is a machine that can replicate part of its own parts. However, to build one from scratch you get a certain ‘bootstrap’ problem.. Hence you have to start out with a ‘repstrap’. Or simpler said, build a 3d extruder/printer/milling machine from scratch so you can make the parts for a reprap machine or any other design.
This is the first post on this subject, the X-axis of the machine is more-or-less finished. Parts used are:
- M5 threaded rod
- stepper motor and bearings from 5 1/4” diskdrive
- MDF and screws
- two slider-bearings from a kitchen drawer
Normal ball-srews have a larger pitch, so the cart can travel faster. This cheap solution using normal screw end is probably going to be rather slow… Oh well.. you have to start somewhere.. I made this part in one evening in the lab with the Spullenmannen, after a toko on OpenFrameworks and ComputerVision.







































