3D Drucker selber bauen

Der DIY 3D Drucker

Inhalt:
Erster Test mit alten DVD-Laufwerken
Stiftplotter
Erste Überlegungen
Die Initialzündung
Der 3D-Drucker entsteht
Immer wieder Probleme mit der Z-Achse
Einbau der Endschalter
Der erste Druck
„Der Denker“
„Fazit“

Erster Test mit alten DVD-Laufwerken

Es gibt Projekte, da haben findige Bastler aus alten DVD-Laufwerken einen 3D Drucker gebaut. Das ist doch mal eine Herausforderung.

Gott sei Dank haben wir eine größere Anzahl alter Rechner zur Entsorgung bekommen. Von dem Elektronikschrott kann einiges verwendet werden. Die DVD-Laufwerke lassen sich sehr gut zerlegen. Auch hier gibt es im Internet eine passende Anleitung.

Also frisch ans Werk.

Erst einmal testen wie so ein Motor anzusteuern ist. Einen Schrittmotor hatte ich am Raspberry Pi ja schon getestet. Jetzt verwende ich an meinen Raspberry Pi aber eine L298N H-Brücke und habe den Schrittmotor des DVD-Laufwerks dort angeschlossen. Zum testen habe ich ein Python-Skript zusammengestellt. Ich betreibe die H-Brücke mit 5 Volt Spannung und habe den Motor 50 mal hin und her fahren lassen (Aussenschleife auf 50 einstellen). Das hat er überlebt und ist nicht nennenswert warm geworden. Gut er hat jetzt auch mehr Umgebungsluft. Im beengten DVD-Laufwerk rackert der ja auch immer vor sich hin. Dazu verwende ich das Python-Skript 3D Drucker Motortest.py. Alle verwendeten Python-Skripte findet ihr weiter unten.

Stiftplotter

Das hat ja schon mal super funktioniert. Also als nächstes probiere ich einen Stiftplotter. (Einen Extruder für den 3D Drucker habe ich zwar schon, da brauche ich aber noch den Antrieb und die Heizungssteuerung für das Filament.)

PlotterDas Grundgerüst habe ich aus drei Spanplatten gebaut. Die lagen noch im Keller, Reste eines anderen Projekts. (Der begehbare Kleiderschrank.) Eine Schiene aus einem alten Drucker und halt X-,Y- und Z-Achsen aus den DVD-Laufwerken. XYZDrei L298N H-Brücken, für jede Achse eine. Später brauche ich dann noch eine vierte für den Filament-Vorschub. Die H-Brücken habe ich in China bestellt für 2,39€ das Stück inklusive Versandkosten. Da muss man halt nur länger drauf warten, spart aber ca. 5€ pro Stück. Für die Z-Achse verwende ich auch gleich einen DVD-Rahmen, einen Stift kann man auch leicht mit einen Servomotor heben und senken. Da aber dann sowieso der Extruder in der Z-Achse angesteuert werden soll, habe ich das gleich so eingerichtet.

xyzverkabeltDann erst einmal alles verkabeln. Motoren der Achsen mit den zugehörigen H-Brücken. Dazu verwende ich ein altes Netzwerk-Kabel. Leider haben sich hier die Steckerklips verabschiedet. Für solche Projekte eignet es sich aber noch hervorragend. xyzstromDann noch die Stromversorgung anschliessen. Dazu habe ich den Anschluss einer alten Festplatte verwendet. Die Motoren brauchen 5 Volt. Leider habe ich zuerst 12 Volt angeschlossen. Der Motor der X-Achse kann scheinbar alles ab, der Motor der Y-Achse hat sich in Rauch aufgelöst. HanRaspAlso aufpassen! Zuletzt müssen die H-Brücken noch mit den Raspberry Pi verbunden werden. Dabei muss man darauf achten, welches Kabel an welchen GPIO- Anschluss kommt. Die muss man bei der Programmierung dann im Python-Skript eintragen. Das Python-Skript findet ihr weiter unten. 3D Drucker Quadrate.py.

Die Y-Achse habe ich nun schon zwei Mal überarbeitet. Zuerst nachdem der Motor abgebrannt ist, dann noch einmal weil dieses Ding einfach ab und zu spinnt. So ganz habe ich das immer noch nicht im Griff – grummel. Aber läuft erst einmal.

Und mit den Skripten von Xiang Zhai rennt das Ding sogar in die Kurve. Ich habe die Skripte zwar noch nicht ganz verstanden, konnte sie aber von Laser auf Stift „umstricken“. War aber auch nicht so schwer. Statt Laser an oder aus, Stift heben oder senken.

Python-Skripts:

3D Drucker Motortest.py

from time import sleep
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
# Anschluesse auf dem Board

A=12
B=16
C=18
D=22

# Variablen erstellen

# Pausenzeit
delay = 0.0055
# Umdrehungen
steps = 70
# Aussenschleife
loop = 4

# GPIO Pins vorbereiten
GPIO.setup(A,GPIO.OUT)
GPIO.setup(B,GPIO.OUT)
GPIO.setup(C,GPIO.OUT)
GPIO.setup(D,GPIO.OUT)
GPIO.output(A, False)
GPIO.output(B, False)
GPIO.output(C, False)
GPIO.output(D, False)

# Procedur mit vier zu uebergebenden Werten
def setStep(w1, w2, w3, w4):
GPIO.output(A, w1)
GPIO.output(B, w2)
GPIO.output(C, w3)
GPIO.output(D, w4)

# Aeussere Schleife

for x in range(0, loop):

# Innere Schleife vorwaerts

for i in range(0, steps):
setStep(1,0,1,0)
sleep(delay)
setStep(0,1,1,0)
sleep(delay)
setStep(0,1,0,1)
sleep(delay)
setStep(1,0,0,1)
sleep(delay)
print i

# Innere Schleife rueckwaerts

for i in range(0, steps):
setStep(1,0,0,1)
sleep(delay)
setStep(0,1,0,1)
sleep(delay)
setStep(0,1,1,0)
sleep(delay)
setStep(1,0,1,0)
sleep(delay)
print i

# GPIO Pins aufraeumen
GPIO.cleanup()

3D Drucker Quadrate

from time import sleep
import RPi.GPIO as GPIO

# Einstellen, dass die GPIO-Zuweisung so ist wie auf dem Bord
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)

# Variablen erstellen
# Anschluesse auf dem Board

# x-Achse
A=12
B=16
C=18
D=22
# y-Achse
E=11
F=13
G=15
H=29
# z-Achse
I=35
J=36
K=37
L=38

# Pausenzeit
delay = 0.0055
# Umdrehungen
steps = 48
stift = 10
# Aussenschleife ( Anzahl der Quadrate )
loop = 4

# GPIO Pins vorbereiten
GPIO.setup(A,GPIO.OUT)
GPIO.setup(B,GPIO.OUT)
GPIO.setup(C,GPIO.OUT)
GPIO.setup(D,GPIO.OUT)
GPIO.setup(E,GPIO.OUT)
GPIO.setup(F,GPIO.OUT)
GPIO.setup(G,GPIO.OUT)
GPIO.setup(H,GPIO.OUT)
GPIO.setup(I,GPIO.OUT)
GPIO.setup(J,GPIO.OUT)
GPIO.setup(K,GPIO.OUT)
GPIO.setup(L,GPIO.OUT)
GPIO.output(A, False)
GPIO.output(B, False)
GPIO.output(C, False)
GPIO.output(D, False)
GPIO.output(E, False)
GPIO.output(F, False)
GPIO.output(G, False)
GPIO.output(H, False)
GPIO.output(I, False)
GPIO.output(J, False)
GPIO.output(K, False)
GPIO.output(L, False)

# Proceduren mit vier zu uebergebenden Werten
def setStepx(w1, w2, w3, w4):
GPIO.output(A, w1)
GPIO.output(B, w2)
GPIO.output(C, w3)
GPIO.output(D, w4)

def setStepy(w1, w2, w3, w4):
GPIO.output(E, w1)
GPIO.output(F, w2)
GPIO.output(G, w3)
GPIO.output(H, w4)

def setStepz(w1, w2, w3, w4):
GPIO.output(I, w1)
GPIO.output(J, w2)
GPIO.output(K, w3)
GPIO.output(L, w4)

# Aeussere Schleife (Anzahl der Quadtrate )

for x in range(0, loop):

# stift senken

for i in range(0, stift):
setStepz(0,1,0,0)
sleep(delay)
setStepz(0,1,0,1)
sleep(delay)
setStepz(0,0,0,1)
sleep(delay)
setStepz(1,0,0,1)
sleep(delay)
setStepz(1,0,0,0)
sleep(delay)
setStepz(1,0,1,0)
sleep(delay)
setStepz(0,0,1,0)
sleep(delay)
setStepz(0,1,1,0)
sleep(delay)
print i

# X vorwaerts

for i in range(0, steps):
setStepx(0,1,1,0)
sleep(delay)
setStepx(0,0,1,0)
sleep(delay)
setStepx(1,0,1,0)
sleep(delay)
setStepx(1,0,0,0)
sleep(delay)
setStepx(1,0,0,1)
sleep(delay)
setStepx(0,0,0,1)
sleep(delay)
setStepx(0,1,0,1)
sleep(delay)
setStepx(0,1,0,0)
sleep(delay)
print i

# Y vorwaerts

for i in range(0, steps):
setStepy(0,1,1,0)
sleep(delay)
setStepy(0,0,1,0)
sleep(delay)
setStepy(1,0,1,0)
sleep(delay)
setStepy(1,0,0,0)
sleep(delay)
setStepy(1,0,0,1)
sleep(delay)
setStepy(0,0,0,1)
sleep(delay)
setStepy(0,1,0,1)
sleep(delay)
setStepy(0,1,0,0)
sleep(delay)
print i
# X rueckwaerts
for i in range(0, steps):
setStepx(0,1,0,0)
sleep(delay)
setStepx(0,1,0,1)
sleep(delay)
setStepx(0,0,0,1)
sleep(delay)
setStepx(1,0,0,1)
sleep(delay)
setStepx(1,0,0,0)
sleep(delay)
setStepx(1,0,1,0)
sleep(delay)
setStepx(0,0,1,0)
sleep(delay)
setStepx(0,1,1,0)
sleep(delay)
print i

# Y rueckwaerts

for i in range(0, steps):
setStepy(0,1,0,0)
sleep(delay)
setStepy(0,1,0,1)
sleep(delay)
setStepy(0,0,0,1)
sleep(delay)
setStepy(1,0,0,1)
sleep(delay)
setStepy(1,0,0,0)
sleep(delay)
setStepy(1,0,1,0)
sleep(delay)
setStepy(0,0,1,0)
sleep(delay)
setStepy(0,1,1,0)
sleep(delay)
print i

# Stift heben
for i in range(0, stift):
setStepz(0,1,1,0)
sleep(delay)
setStepz(0,0,1,0)
sleep(delay)
setStepz(1,0,1,0)
sleep(delay)
setStepz(1,0,0,0)
sleep(delay)
setStepz(1,0,0,1)
sleep(delay)
setStepz(0,0,0,1)
sleep(delay)
setStepz(0,1,0,1)
print i

# 4 vor X
for i in range(0, 4):
setStepx(0,1,1,0)
sleep(delay)
setStepx(0,0,1,0)
sleep(delay)
setStepx(1,0,1,0)
sleep(delay)
setStepx(1,0,0,0)
sleep(delay)
setStepx(1,0,0,1)
sleep(delay)
setStepx(0,0,0,1)
sleep(delay)
setStepx(0,1,0,1)
sleep(delay)
setStepx(0,1,0,0)
sleep(delay)
print i

# 4 vor Y
for i in range(0, 4):
setStepy(0,1,1,0)
sleep(delay)
setStepy(0,0,1,0)
sleep(delay)
setStepy(1,0,1,0)
sleep(delay)
setStepy(1,0,0,0)
sleep(delay)
setStepy(1,0,0,1)
sleep(delay)
setStepy(0,0,0,1)
sleep(delay)
setStepy(0,1,0,1)
sleep(delay)
setStepy(0,1,0,0)
sleep(delay)
print i

# Quadrat um 8 Umdrehungen verkleinern
steps = steps-8

# GPIO Pins aufraeumen
GPIO.cleanup()

Dann muss ich mich jetzt wohl an die Extruder-Steuerung machen. Das kann jetzt noch ein wenig dauern.

Erste Überlegungen (und Verirrungen)

Nema17StepperAlles über den Haufen geworfen – think different oder think big – Auf dem MNU-Tag, am 16.09.2015, in der Goetheschule Hannover habe ich mir einen „richtigen“ 3D Drucker bei der Arbeit angeschaut. Nun habe ich erst einmal „richtige“ Schrittmotoren bestellt. Fünf Nema 17 Stepper-Motoren von eBay. Ich werde jetzt etwas größer bauen. So 1200 mm x 500 mm x 600 mm, das ist etwas besser als diese 40 mm x 40 mm x 38 mm, die man mit alten DVD-Innenleben erreichen kann.

MotorenDa sind sie! Schrittmotoren für Männer – HoHoHo. (Binford 2000 sind es nicht) Am Wochenende werde ich die erst einmal zum steppen bringen.

26.9.2015

RahmenIch habe erst einmal einen Rahmen für den 3D Drucker gebaut.

27.9.2015

1KupplungErster Versuch einer Kupplung.

Nicht so schön geworden. Ich habe das Gewinde wohl ein wenig schief geschnitten. Asche – wackelt wie ein Lämmerschwanz.

Rahmen17.10.2015 Neue Rahmenlösung aus ALU. Zu druckende Fläche jetzt 750 mm x 750 mm x 750 mm.

Zur Zeit laufen auch noch ein paar Bestellungen auf eBay.

14 mm V2A Stangen als Führungen für die CoreXY Druckkopfsteuerung, 14 mm Handreibahle für die Führungen, 20 mm ALU-Platte für die Verbindungen und Druckkopfhalterung.

25.10.2015

Die 20 mm ALU-Platte (258 mm x 112 mm x 20 mm) in sieben Teile für CoreXY gesägt. Erst mit einer Handsäge, das ist aber ein Job für jemanden der Vater und Mutter erschlagen hat. Die Dekupiersäge schafft das leider nicht. Säbelsäge war dann die Lösung. Man sieht jetzt schon was es mal werden soll. Reibahle ist noch nicht da, also Baustopp.


CoreXYCoreXYTeile

 

Demnächst geht es hier weiter……

Nach längerer Zeit geht es mit diesem Projekt voran.

Ich habe jetzt erst einmal einen Arduino UNO R3 mit CNC V3 Shield und A4988 Treibermodule bestellt. Sobald die Lieferung eingetroffen ist geht es weiter.

Wer lesen kann ist klar im Vorteil. Das war ein Fehlkauf. Gut, 14,38€ ist jetzt nicht der Riesenverlust. Arduino Uno ist ja auch dabei. Den kann man ja für andere Projekte gebrauchen.

Jetzt noch einmal eine neue Bestellung. 3D Drucker Kit RAMPS 1.4+ Mega2560+ A4988+ 12864 LCD Controller Für Arduino B (21,18€)

Aber dann geht es weiter.

Die Initialzündung

Auf einer Veranstaltung in Oldenburg war auf dem Stand nebenan der „Bildungsdrucker„. Dort wurde in 9 Stunden eine Figur gedruckt. Das hat mich noch einmal über die Größe meines Druckers nachdenken lassen.

Der 3D-Drucker entsteht

So ein Raummeter ist ja nicht schlecht. Der druckt dann aber mindestens einen Monat. Also, neue Bauform. Wieder alles über den Haufen geworfen.

23.03.2017

Die neue Schrittmotor-Steuerung ist eingetroffen. Der mitgelieferte Arduino Mega ist leider defekt. Mein MacBook macht beim anschließen gleich eine Kernel Panic. Gut, dass man von den Dingern welche im Haus hat. Mit einem anderen funktioniert es tadellos. Ich verwende die 3D Druckersoftware Marlin. Eine sehr gute Installationsanleitung bekommt man hier.

Der Lieferant aus China hat mir gleich einen neuen Arduino Mega geschickt. Das ist echt der Hammer. Toller Service. Habe ich gleich mal gut bewertet, normalerweise schreibe ich da nichts zu, die verkaufen und verschicken, die leben davon, also…. Aber wenn man etwas positives dabei erlebt, muss man das berichten.

Mittlerweile gibt es bei eBay 3D Drucker für 140,-€. Aber kaufen kann ja jeder. Also weiter im Projekt. Und wieder Bestellungen auf eBay. Linearkugellager, Führungsstangen, ein fertiger Druckkopf, Zahnriemen und Zahnräder und ein Heizbett.

Bis die Bestellungen eintreffen kann ich erst einmal die Z-Achse aufbauen.

Läuft noch etwas wackelig. Wenn man genau hinschaut, macht das Ding immer eine kleine Pause weil die Gewindestangen immer noch wackeln wie ein Lämmerschwanz. Der Schrittmotor drückt sich nach oben, dadurch entsteht dann diese kleine Pause. Drehbank müßte man haben. Ich werde an den Schrittmotoren eine Kunststoff-Kupplung einbauen.

Gewindewelle 10 mm hinter der Hutmutter durchtrennt und mit einem Kunststoffstück wieder verbunden. Schon läuft es gleichmäßiger.

Heizbett, 8mm Stangen und Linearkugellager sind eingetroffen. Dadurch konnte ich jetzt erst einmal an der Y-Achse weiterarbeiten. Die X-Achse muß auch noch einmal geändert werden. Die läuft noch etwas schwer. Hier werde ich jetzt auch 8mm Stangen und Linearkugellager verwenden. Das läuft dann sehr leichtgängig. Das Heizbett habe ich mit einer Glasplatte versehen. Es liegt da aber nur zur Deko. Ich habe noch keinen NTC. Den Wärmewiderstand gab es bei Conrad leider nicht. Sollte dort 2,50 € kosten und ich wollte gleich drei mitnehmen. Jetzt kommen 50 Stück für 3,30 € (6,6Ct/Stk) aus China. Wer dann also einen braucht…… einfach melden.

Wieder einen Schritt weiter. X-Achse noch einmal überarbeitet. 14 mm Achse durch zwei 8mm Achsen mit Linearkugellagern ersetzt. Y-Achse mechanisch fertiggestellt. Das Heizbett ist auch schon montiert aber noch nicht angeschlossen.

Die Zahnriemen und Zahnräder sind eingetroffen. Jetzt konnte ich die Y-Achse fertigstellen, verkabeln und testen. Zur Verkabelung verwende ich immer noch alte Netzwerkkabel. Kabel mit abgebrochenem Klipp fallen immer wieder an. Steckhülsen anlöten und mit Schrumpfschlauch isolieren. Am Ende verwende ich dann zweireihige Stiftleisten. An einer Seite wird der Motor angeschlossen und an der anderen die Endstopp-Schalter.

Heute ist auch der Extruder angekommen. Den habe ich gleich montiert und angeschlossen. Jetzt fehlt nur noch der Antrieb der X-Achse und die letzten Handgriffe am Heizbett. Ich erwarte immer noch auf die „50Stück MF58 100K Ohm 3950B Temperatursensor Glas Gekapselte NTC Thermistoren“. Kann aber nicht mehr lange dauern.

Immer wieder Probleme mit der Z-Achse

Thermistoren sind eingetroffen. Nun habe ich das Heizbett installiert. Beim kalibrieren der Achsen fing die Z-Achse wieder an zu spinnen. Die beiden Motoren gaben nur noch einen pfeifenden Ton ab. Ich habe dann die ganze Mechanik der Z-Achse noch einmal geändert, bis ich auf die Idee kam, die Motoren mal ganz ohne angeschraubtem Gewindestab laufen zu lassen. Wieder nur das Pfeifkonzert. Der eine Motortreiber schafft einfach keine zwei Motoren. Immer wenn ich am Leistungspoti drehe, egal ob mit Messgerät oder nach Gehör, verabschiedet sich der Motortreiber. Also habe ich, mal wieder, meine Freundin Frau Google befragt. Das Problem haben aber wohl mehrere Bastler. Die Lösung ist eigentlich recht einfach. Falls man keinen zweiten Extruder verwendet, kann man den Motortreiber als zweiten Treiber für die Z-Achse verwenden. Dazu muss man ein wenig die „configuration_adv.h“ anpassen und gegebenenfalls noch in der „pins.h“ die Eins anpassen. Jetzt rennt die Z-Achse nach oben ohne zu mucken. Falls ich mal einen zweiten Extruder anschliessen will muss ich mir wieder Gedanken machen. Jetzt gibt es erst einmal andere Baustellen, die Endschalter.

Endschalter befestigt.

Der Einbau der Endschalter war recht einfach. Nur dann bewegte sich die Y-Achse nicht mehr zurück. Wenn man dann auch noch dran denkt, dass das mit den Endschaltern zusammenhängen könnte, kann es ganz schnell gehen. Die X-Achse lief aber in beide Richtungen, deshalb habe ich den Zusammenhang erst später erkannt. Als die X-Achse am Poller weiterlaufen wollte habe ich bemerkt, dass das nicht funktionierte. Man kann die Funktion der Endschalter in der Software invertieren. Dann funktioniert das aber hervorragend. Man kann auch schon auf Home-Position fahren. Bewegt sich schon wie ein richtiger 3D-Drucker. (Rechts steht übrigens der Stiftplotter aus den ersten Versuchen)

Erster Druck mit dem selbstgebautem 3D Drucker.

Lange hat es gedauert. Jetzt konnte ich den ersten Ausdruck starten. „First Light“ sozusagen. Gut, schön sieht das erste Ergebnis nicht aus, dafür dass das ein Würfel mit 20mm Kantenlänge sein soll, eher etwas mickrig. Das sind aber wohl nur Kleinigkeiten und Einstellungen in der Druckersoftware. Es gibt da ja, gefühlt, eine Million Möglichkeiten etwas falsch einzustellen. Die richtige Einstellung muss jetzt erst einmal gefunden werden. Auf jeden Fall sieht es schon wie ein richtiger 3D Drucker aus.

Nach einigen Testdrucken ist das Ergebnis auch recht ansehnlich. Von rechts nach links wurden die Ausdrucke immer besser. Der linke Quader ist sogar hohl. Am Ende wurden drei Deckschichten einfach in die Luft gedruckt. Und es war wieder die Z-Achse. An der rechten Seite hatte sich die Gewindestange vom Motor gelöst. Ich habe jetzt noch einmal in die Motorwelle eine Einkerbung geschliffen, damit die Befestigungsschraube bessern Halt hat. Die Schrauben habe ich auch von Schlitz-Schraube auf Innensechskant-Schraube getauscht. Mit einem Inbus-Schlüssel kann man mehr Kraft anwenden. Jetzt ist auch erst einmal Ruhe.

Nun habe ich das Problem, was alle 3D-Drucker Betreiber am Anfang haben, der Mist will einfach nicht auf der Glasplatte haften. Wenn man danach „googelt“, verwenden die einen Haarspray, die anderen Zuckerwasser oder aufgelöstes ABS. Ich verwende jetzt eine Kombination. Ich tupfe Zuckerwasser auf die vorgewärmte Glasplatte und spachtele dann aufgelöstes ABS drauf. Das klebt wie Sch… am Schuh. Jetzt löst sich nichts mehr ab. Heizbett 95 Grad, Extruder 245 Grad, das scheint zu passen. Leider habe ich bei der ersten Materialbestellung auch gleich ABS bestellt. Mit ABS zu drucken ist wohl nicht ganz sooo einfach. Gut, wenn man hier jetzt Erfahrungen sammelt, kann es mit PLA nicht mehr ganz so schwierig sein. PLA ist bestellt, sollte in den nächsten Tagen eintreffen.

Der Denker (Ausdruck über 6 Stunden)

Ich habe mir als erstes größeres Projekt den Denker ausgewählt weil ich auch so manches Mal in dieser Position vor Problemen gesessen habe. Gut ich war nicht nackig und die Körperform ist auch anders. Aber einerlei, Manche Aufgaben haben schon etwas Gehirnschmalz in den roten Bereich getrieben. Jetzt ist aber alles gut. Man ist schon etwas Stolz wenn ein Projekt zu Ende geht und man das selbst gebaute Objekt auch noch gebrauchen kann und alles super funktioniert. Gott sei Dank habe ich noch einige andere offenen Baustellen und im Hinterkopf bildet sich eine Blase mit einer selbst gebauten im 3D Drucker gedruckten Drohne.

Fazit

Ein 3D Drucker ist nicht so einfach zu bedienen wie ein Papierdrucker, ob selbst gebaut oder fertig gekauft. Man muss mal hier etwas verstellen oder da mal etwas anpassen. Der „Bildungsdrucker“ mit didaktischer Lösung und seinem gigantischen Preis wird da wohl keine Ausnahme machen. Also braucht es schon einen ambitionierten Lehrer, der das Projekt am laufen hält. Außerdem, wenn 25 Schüler etwas konstruieren, wie lange dauert es bis alle ihre Werke gedruckt haben? Einerlei.
Was würde ich anders machen? Erst einmal im Vorfeld mehr lesen und dann die richtigen Dinge bestellen. Der Anfang war aber sehr lehrreich. Auf jeden Fall würde ich die Z-Achse anders bauen. Motoren nach unten. Die meisten 3D Drucker haben die Motoren der Z-Achse unten, ich weiss jetzt warum.
Das habe ich alles verbaut:

Bestelltes TeilPreis
3D Drucker Kit RAMPS 1.4+ Mega2560+ A4988+ 12864 LCD Controller Für Arduino B21,18 €
3D Printer Head MK8 Extruder 1.75 Filament Extra Nozzle Extruder19,01 €
3x LM393 Speed Mess Sensor Lichtschranke Infrarot zählen Sensor DC 5V5,27 €
4 NEMA 17 Schrittmoteren44,80 €
5M GT2 Zahnriemen + 8 GT2 16 Zahnrad 5mm Pulley für RepRap Prusa 3D Drucker8,99 €
5Pcs A4988 Stepper Motor Schrittmotor Treiber Driver 3D Drucker RepRap7,98 €
12PCS LM8UU Ball Linear Kugellager Linearlager Rollenlagerung Innen 8mm DE TE2499,99 €
MF58 100K Ohm 3950B Temperatursensor Glas Gekapselt 50Stück3,30 €
Mini-Kugellager Metallabdeckungen 624ZZ 4x13x5mm für 3D-Drucker Reprap2,79 €
MK2B Heizbett Heat Bed schwarz für RepRap 3D-Drucker9,95 €
V2A Edelstahl Rundstahl Rundmaterial VA Edelstahlstange geschliffen Korn 24011,60 €

Ich hoffe, ich habe nichts kriegsentscheidendes vergessen. Alu-Rahmen und Alu-Platten sind Fundstücke. Viele Teile sind aus alten Macs ausgeschlachtet. Alu-Platte der X-Achse ist eine Tür vom Mac Pro. Display und Elektronikhalter ist ein Fuss vom iMac. Die Rändelschrauben der Endstopps sind noch vom xServe.
Die „Falschbestellungen“ verbuche ich mal unter Lehrgeld.

Und weil es so schön ist

Baue ich noch einen 3D Drucker in zweiter Version