Template:RepRapPro commissioning/de

From RepRap
< Template:RepRapPro commissioning
Revision as of 10:46, 19 January 2013 by Fliegermichl (talk | contribs) (Created page with '=Ziel= Am Ende dieses Bauabschnittes wird Ihre Maschine für den ersten Druck bereit sein. =Werkzeuge= 'Ein Objekt mit einer gemessenen Höhe (wir verwenden ein Stück Silbers…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Ziel

Am Ende dieses Bauabschnittes wird Ihre Maschine für den ersten Druck bereit sein.

Werkzeuge

'Ein Objekt mit einer gemessenen Höhe (wir verwenden ein Stück Silberstahl mit einer Länge von 6mm - der Schaft eines Bohrers geht auch).

Schritt 1: Kommunikation

Bevor Sie damit beginnen zu versuchen mit Ihrer Maschine zu reden, benötigen Sie Python und seine Abhängigkeiten.

Windows Anwender beachten bitte, daß sie die 32 Bit Version der aller Python Programme installieren und zwar auch dann, wenn sie eine 64-bit Maschine haben. Windows und Mac Anwender bekommen hier die notwendige Installationsanleitung. Lesen Sie die Seite durch aber installieren Sie nur Python und dessen Abhängigkeiten (D.h. installieren Sie nicht die Version von Pronterface/Printrun/Skeinforge als auch die vorkompilierten Binaries von denen da die Rede ist):

https://github.com/kliment/Printrun/blob/master/README.md

Die Installation der benötigten Software ist unter Ubuntu/Debian Linux ganz einfach:

 sudo apt-get install python-serial python-wxgtk2.8 python-pyglet python-tk

USB Treiber

Wenn Sie einen Melzi Controller einsetzen, dann setzen Sie den PWR-SEL Jumper um die Stromversorgung der Logik durch den USB Anschluß zu beziehen. Die Schrittmotoren, Heizungen usw. werden dadurch erst einmal nicht gesteuert. Es ist dies der 3 Pin Jumper etwa 20mm links vom Prozessor Chip. Verbinden Sie die unteren zwei Pins um die Logikspannung vom USB Anschluß zu beziehen. Wenn Sie die beiden oberen Pins verbinden, bezieht die Logik ihre Versorgungsspannung von der Stromversorgung der Platine.

Für diesen Schritt verbinden Sie die beiden unteren. Wenn Sie später im Normalbetrieb arbeiten, dann sollten die beiden oberen Pins verbunden sein.

Windows

Verbinden Sie den Controller mit dem USB Anschluß an Ihrem Computer. Stellt Ihr Computer fest, daß er keinen Treiber für das Gerät hat?. Wenn dem so ist, dann trennen Sie die Verbindung wieder und dann installieren Sie diesen Treiber oder finden diesen auf dieser Seite.

Linux

Linux Systeme sollten den Controller ohne eine Treiberinstallation direkt erkennen. Der Controller erscheint automatisch als etwas in der Art wie /dev/ttyUSB0 wenn Sie ihn anschließen. Möglicherweise müssen Sie Ihrem Benutzer noch die Zugriffsrechte auf den USB Anschluß z.B. USB0 geben: sudo chmod 666 /dev/ttyUSB0 (wenn Sie eine Fehlermeldung der Art "Port kann nicht geöffnet werden, Zugriff verweigert"). Wenn Sie eine Ubuntu Distribution einsetzen, ist es besser, wenn Sie Ihr Benutzer Mitglied der Gruppe dialout ist. Dann sollte die Zugriffsrechte direkt passen.

Mac

Mac User sollten einen zu ihrer Maschine passenden Treiber wählen und zwar von http://www.ftdichip.com/Drivers/VCP.htm.

Im Dezember 2012 wurde der aktuelle FTDIUSBSerialDriver_10_4_10_5_10_6_10_7 genannt. Obwohl die Treiberbezeichnung vorgibt, für die Mac OS X Version zu sein, funktioniert er einwandfrei auch unter 10.8.2. Wenn auf Ihrem Mac Mountain Lion läuft, wöhlen Sie bitte diesen Treiber.

Wenn der Treiber installiert wurde und das USB Kabel angeschlossen wurde, sollte folgende Meldung an der Konsole erscheinen:

kernel[0]: FTDIUSBSerialDriver: 0 4036001 start - ok

Verbinden Sie sich mit Ihrem Drucker unter dem Gerätenamen /dev/cu.usbserial-XXXXXXXX. Wenn Sie mehr als ein usbserial an Ihren Mac angeschlossen haben, dann merken Sie sich, welches Gerät neu hinzukam als das USB Kabel angeschlossen wurde und merken sich dessen XXXXXXXX Anhang. Wenn Sie keine weiteren usbserial Geräte angeschlossen haben und dann pronterface.py starten, sehen Sie nur ein Gerät in der Portliste mit einem Namen, welcher mit cu.usbserial beginnt. Verbinden Sie sich dann mit diesem.

Beginnen Sie mit der Kommunikation

Das erste was erreicht werden muß, daß Sie mit Ihrer Maschine kommunizieren können. Dazu müssen Sie die RepRapPro Pronterface Software installieren, welche Sie in unserem github Verzeichnis hier finden. Der Button zum Download der ZIP Datei ist nahe der linken oberen Ecke (Das kleine Bild mit einer Wolke und der Bezeichnung ZIP).

Wenn Sie einen Melzi Controller haben, setzen Sie seinen Stromversorgungsjumper auf USB (siehr Melzi Einstellung weiter unten). Lassen Sie die Stromversorgung des RepRap noch aus für den Moment.

Verbinden Sie Ihren RepRap mit einem USB Anschluß an Ihrem Computer und starten dann pronterface.py.

Wenn Sie Pronterface zum ersten mal starten, dann wählen Sie das korrekte Druckerprofil indem Sie auf Settings->Slicing Settings navigieren. Dadurch wird ein neues Fenster geöffnet. In der Nähe des oberen Randes finden Sie einen Button mit der Beschriftung Profile Selection. Wählen Sie das passende Profil für das Material mit dem Sie drucken wollen. Für das PLA, welches dem Bausatz beiliegt ist dies Huxley-PLA-05-03 oder Mendel-PLA-05-03, abhängig von Ihrer RepRapPro Maschine (05 ist der Düsendurchmesser - 0,5mm; 03 ist die Schichtstärke - 0,3mm). Klicken Sie "Save all" an und schließen danach das Fenster und kehren zur Drucker Schnittstellen Software zurück.

Jetzt wählen Sie links oben den aktiven seriellen Anschluß. Wählen Sie 115200 bei der Baudrate (oder 250000 für ältere Firmware). Klicken Sie Connect an und warten einen Moment. Die Software wird bestätigen, wenn der Drucker online ist. (Wann immer die Controller Firmware neu bootet, dauert dieser Vorgang ca. 10 Sekunden bis der Controller antwortet.)

Pronterface main.png

Drücken Sie den "GET POS" Button und wenn die Maschine eine Position von X0.00 Y0.00 Z0.00 zurückliefert, funktioniert die Kommunikation korrekt.

WICHTIG. Drücken Sie als nächstes den "Get Temp" Button und prüfen Sie, daß sowohl der hot End als auch der Heizbett Temperatursensor eine Temperatur von etwa der Raumtemperatur liefern. (Die gemeldete Temperatur kann etwas von der tatsächlichen Raumtemperatur abweichen. Die Temperatursensoren sind dafür optimiert, in ihrem Arbeitstemperaturbereich akkurate Werte zu liefern.)

Wenn die gemeldete Temperatur jedoch viel zu hoch ist, liegt möglicherweise ein Kurzschluß in der zugehörigen Temperatursensorschaltung vor. Ist diese viel zu niedrig, ist möglicherwiese eine offene Verbindung zu dem Temperatursensor vorhanden. Alternativ, kann auch die Firmware eine inkorrekte Einstellung haben. Siehe den nächsten Abschnitt. In jedem Fall, finden und beheben Sie den Fehler, bevor Sie fortfahren.

Hinweis: Wenn Ihr Pronterface Fenster die Buttons (GET TEMP, GET POS, ...) anzeigt, dann haben Sie sehr wahrscheinlich eine andere Kopie von .pronsolerc oder .skeinforge in Ihrem Home Verzeichnis. Löschen Sie diese Dateien und starten die Software erneut. Sie sollten die Extra Buttons jetzt sehen.

Einstellungen bestätigen

Auf dem Melzi Controller läuft die RepRapPro Version der Marlin Firmware. Diese erlaubt, viele maschinenspezifische Einstellungen innerhalb der Pronterface Software vorzunehmen ohne die Notwendigkeit die Firmware erneut auf den Controller installieren zu müssen. Um die aktuellen Einstellungen zu prüfen, senden Sie das M503 Kommando an die Maschine. Das Logfenster sollte etwas in der Art anzeigen:

>>>m503

SENDING:M503

echo:Steps per unit:

echo: M92 X91.429 Y91.429 Z4000.000 E945.000

echo:Maximum feedrates (mm/s):

echo: M203 X500.000 Y500.000 Z3.400 E45.000

echo:Maximum Acceleration (mm/s2):

echo: M201 X2500 Y2500 Z50 E2500

echo:Acceleration: S=acceleration, T=retract acceleration

echo: M204 S2000.000 T2000.000

echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum xY jerk (mm/s), Z=maximum Z jerk (mm/s), K=advance_k

echo: M205 S0.000 T0.000 B20000 X15.000 Z0.400 E25.000

echo: M206 X0.000 Y0.000 Z-0.250

echo: M208 X150.000 Y150.000 Z97.000

echo:PID settings:

echo: M301 P10.000 I2.200 D80.000 W70

echo:Thermistor settings: M304 Hh Bb Rr Tt, H0=Bed, H1..n=nozzle, b=thermistor beta value, r=series resistor, t=thermistor resistance as 25C

echo: M304 H0 B4200 R4800 T100000 M304 H1 B3960 R4700 T100000

FPU Enabled no

Jede Einstellung wird zusammen mit einer Beschreibung angezeigt. Um eine Einstellung zu ändern, senden Sie die relevanten Kommandos mit Parametern. Zum Beispiel wird beim auslesen der Temperatursensoren deren Werte on-the-fly interpretiert, anstatt diese aus Lookup Tabellen zu holen. Dafür muß die Firmware den Beta Wert des Sensors kennen, die Serie des verwendeten Sensors und dessen Widerstand bei 25 Grad C. So muß, um für den Düsentemperatursensor einen Betawert von 3960, einen Sensor der Serie 4k7 und 100k Ohm Widerstand bei 25 Grad Celsius einzustellen folgendes Kommando gesendet werden:

M304 H1 B3960 R4700 T100000

Alle Einstellungenskommandos von pronterface werden mit sofortiger Wirkung übernommen. Aber sie werden nicht im EEPROM gepeichert (nicht flüchtiger Speicher) bis Sie das M500 Kommando senden. Nach diesem werden die Einstellungen auch dann gespeichert, wenn der Strom abgeschaltet wird.

Schritt 2: Achsen

Motor Bewegungen

MACHEN SIE NICHT WEITER OHNE DIE STROMBEGRENZUNG GEPRÜFT ZU HABEN!

Wenn die Strombegrenzungen nicht eingestellt wurdem, wird die Controllerplatine zerstört.

Melzi Einstellungen

Wenn Sie den Melzi Controller Elektronik einsetzen, sollten Sie die Strombegrenzung bereits eingestellt haben wie beschrieben unter hier für den Mendel and hier für den Huxley.

Sanguinololu Einstellungen

Die Einstellungen für den Pololu Schrittmotortreiber, welcher auf der Sanguinololu Platine zum Einsatz kommt, ist beschrieben unter hier auf der Pololu Seite. Lesen Sie den Abschnitt mit der Bezeichnung Current Limiting aber ignorieren Sie etwas die Anleitung darüber, die Spannung an einem Via (Leiterplattendurchkontaktierung) zu messen. Der einfachste Weg ist an dem Füßchen des Potis direkt zu messen.

Stellen Sie die Trimpotis auf 0,4V ein, während Sie die Spannung mit dem Multimeter beobachten.

Dann sowohl für Melzi als auch Sanguinololu

Schließen Sie die Stromversorgung an. Achten Sie auf Rauch für den Fall, daß etwas vollkommen falsch läuft. Stellen Sie außerdem sicher, daß die Motoren - und wichtiger noch - die vier Schrittmotortreiberchips - nicht heiß werden. Wenn die Stromlimitierung korrekt eingestellt ist, sollten diese bestenfalls handwarm werden. Geben Sie acht bei den Chips. Diese haben eine interne Temperaturüberwachung, welche den Strom bei erreichen von 80oC abschalten. Das ist eine Temperatur, bei der Sie sich die Finger verbrennen, wenn Sie die Chips nicht nur kurz und ohne viel Drucke berühren.

Stecken Sie das USB Kabel an und starten das Pronterface Programm. Klicken Sie "Connect" an und warten, bis Ihr RepRap online ist.

Geben Sie jetzt ein:

G1 X5 F500

in dem Feld unterhalb des Logfensters und klicken Sie auf "Send". Der X Motor sollte sich um 5mm in positive Richtung (X5) mit einer Geschwindigkeit von 500mm/s (F500) bewegen.

Geben Sie jetzt ein:

G1 X0 F500

und senden. Der X Motor sollte sich zurück an seine ursprüngliche Position bewegen (X0). Sollten Sie feststellen, daß sich Ihre Maschine nicht in die negative Richtung bewegt, sind möglicherweise Ihre Endabschalter nicht korrekt verschaltet. Lesen Sie in dem Fall unter Huxley wiring page oder Mendel Verkabelungs Seite, um Ihre Verkabelung zu überprüfen.

Wiederholen Sie den obigen Test für die anderen drei Achsen. Fpr jeden Achsentest ersetzen Sie das X in den obigen Kommandos durch den jeweiligen Achsen Buchstaben (Y/Z/E). Setzen Sie aber bei der Z Achse eine Vorschubgeschwindigkeit von 200 mm/minute ein,

G1 Z5 F200

und für E geben Sie ein:

M302

bevor Sie folgendes senden:

G1 E5 F500

Warnung: Tun Sie all dies nicht, wenn sich Filament im Extruder befindet. Das M302 Kommando erlaubt es, den Extrudermotor auch bei kalter Düse laufen zu lassen.

Wenn Sie feststellen, daß eine oder mehr Achsen ruckeln oder jammern, sich aber nicht bewegen, könnte der eingestellte Strom etwas zu niedrig sein.

Schalten Sie die Versorgungsspannung ab, dann drehen Sie das zugehörige Poti ein klein wenig, um den Strom etwas zu erhöhen. Schließen Sie die Stromversorgung wieder an und wiederholen die obigen Tests.

Die Motoren drehen falsch herum

RepRap arbeitet mit einem rechtsdrehenden kartesischen Koordinatensystem relativ zum Bett. Nicht zum Rahmen. Das bedeutet, wenn Sie von oben auf das Bett schauen, während Sie vor der Maschine stehen, dann verläuft die X Achse von links nach rechts und Y verläuft von vorn nach hinten (wie in einer Grafik). Z läuft aufwärts in Richtung Oberkante der Maschine.

Bedenken Sie, daß es die Richtung des Kopfes ist, welche zählt. Wenn Y steigt, kommt das Bett auf Sie zu.

Wenn Sie feststellen, daß eine Achse verkehrt herum läuft, dann kehren Sie die Drehrichtung des Motors um, indem Sie die Reihenfolge der Kabel umdrehen. War diese also bisher z.B. [schwarz, grün, blau, rot], dann ändern Sie sie auf [rot, blau, grün, schwarz]. Vergessen Sie nicht, die Stromversorgung abzutrennen, bevor Sie Drähte trennen oder verbinden.

Endabschalter

Die Endabschalter werden nur während des "Homelaufs" geprüft. Um diese zu testen, senden Sie ein home Kommando für die X, Y und Z Achsen. z.B.

G28 X0

Sobald Sie auf Send geklickt haben und die Achse anfängt sich zu bewegen, betätigen Sie den entsprechenden Endabschalter. Die Achse sollte sofort stehen bleiben. Bleibt die Achse jedoch nicht stehen, dann prüfen Sie Ihre Verkabelung (Huxley hier oder Mendel hier).

Homing

Sie sind nahzu bereit, Ihre Maschine zu homen (nach Hause bringen). Bevor Sie dies tun, stellen Sie sicher, daß der Z Endabschalter ist hoch genug an dem glatten Z Gestänge, daß er auslöst, bevor die Düse das Heizbett berührt.

Drücken Sie den HOME ALL Button und Ihre Maschine wird ihre Referenzposition auf allen Achsen finden und diese zu X0 Y0 Z0 machen.

(Wenn die Maschine anhält, bevor sie den Endabschalter berührt, so kann dies durch Interferenzen durch die Schrittmotorleitungen herrühren. Lesen Sie dazu falsely triggered.

Schritt 3: Ausrichten

Ausrichten der X Achse

Verwenden Sie digitale Meßschieber um die Höhe der X Gestänge über den Y Gestängen zu messen. (Schieben Sie die Schlitten zur Seite, wenn diese dabei stören). Drehen Sie die Z Motoren, bis die X Achse in Waage ist.

Ausrichten des Bettes

Wenn Sie einen Mendel haben, richten Sie das Bett aus, während die Glasplatte mit den vier Halteklipsen befestigt ist.

Wenn Sie einen Huxley haben, richten Sie die Aluminiumplatte aus.

// to be continued

One of the major differences between the standard pronterface and the eMAKER version is the way the machine is manually controlled. You have five buttons which enable you to position the head above the four corners of the bed and over the centre. The Z axis can be moved in increments of 0.1mm, 1mm and 10mm. The E axis can be moved by the amount specified in the distance spin control. The speed of manual moves can be specified in the spin controls above the manual move buttons.

To level the bed, move the head up such that you have at least the height of your measured object between the head and the bed. Then position the head in the centre and bring it down gradually until it is almost touching the object. Moving the head to each corner, adjust the three M3x30mm cap head screws by which the heatbed is mounted in order to level the bed.

Start leveling with the nuts either side of the Y-axis bearing mounts a little lose, and gradually tighten them as you near your goal. You will find that you can still adjust things with the nuts slightly tight.

When you have finished the nuts on the M3 screws need to be completely tight against the bearing mounts so the bed won't move in operation.

Mendel Levelling Cheat

Unavoidably sometimes the Mendel glass is not quite flat; it is saddle-shaped with two diagonal corners one or two tenths of a millimeter low, and the two other diagonal corners high. Of course, it is geometrically/algebraically impossible to correct for this by adjusting three screws to define a first-degree (i.e. a linear) plane - a saddle is a second- (or higher-) degree surface.

But it is easy to fold a little aluminium foil to act as a shim under the glass in one corner to make the glass planar. Then you can use the three screws to get things spot on.

Reprappro-mendel-bed-level-shim.jpg

If you find yourself tempted to use the foil trick in more than one corner - don't. Just use it in one corner then take the time to use the screws as above to correct for every other out-of-level error.

Set your Z height

With the head at Z0, the tip of the nozzle should be within a paper thickness away from the surface of the bed. To achieve this, follow the sequence:

  • HOME ALL
  • Send the following command: G1 Zz F200, where z=the height of your measured object.
  • CENTRE
  • Check that the head is within 0.3mm of your object.
  • For Huxley, adjust the height of the Z axis endstop, or for Mendel rotate the adjustment screw, and repeat until your height is set.

Step 4: Heaters

Tick the monitor check box to report the temperatures of your heatbed and nozzle. Ensure that the readings are similar to the ambient temperature of the room.

Heatbed

Command the heatbed to 45C (warm), tick the monitor checkbox and verify that the heatbed temperature reading rises and stabilises around 45C, and that the heatbed is actually warm.

Hot end

N.B. Some RepRapPro Huxley kits shipped with a Melzi controller between August 2012 and the first week of October 2012 have an error in the firmware. Please see this forum topic for a solution http://forums.reprap.org/read.php?214,123839,159857#msg-159857

Command the nozzle to 100C and watch the temperature rise, overshoot and eventually settle around 100C. Keep an eye on the nozzle during this test. If you see lots of smoke come out of the hot end, turn off the heater. Repeat the test with a target temperature of 200C. The nozzle should reach the target temperature in about 1 minute or less and settle within a couple of degrees of 200C.

The nozzle heater resistor has a lot more power than is necessary, so the the control parameters are set to limit the available power. For the nozzle to reach a target temperature quickly, with minimal overshoot and fast settling time, the integral windup must be tuned for the target temperature. By default, this is set to 80 by the firmware, but the start_PLA.gcode and start_ABS.gcode files should set the appropriate value for that material. This is achieved by the following line:

M301 Ww, where w = 0-255. A higher value means more power available to the nozzle heater.

So, if your nozzle does not reach the target temperature, gradually increase W until the desired performance is reached. W=120 is not uncommon for PLA, and W=180 for ABS.

Once you have tuned this value to your print material, enter it into the relevant start.gcode file. These files are in the directory:

skeinforge/skeinforge_application/alterations/

beneath wherever you have installed pronterface.

Step 5: Extruder

Once you have verified the nozzle behaves as expected, you can carry out a test extrusion by hand. Remove the brass bowden start piece from the extruder block and feed some PLA into the tube until it reaches the nozzle (beware of the filament snagging on the short piece of PTFE tube inside the barrel). Command the nozzle to 205C, and once it has reached and settled there, push the filament through and watch it extrude. The extrusion should be maintained with a steady but not excessive force.

Pull out the filament and reassemble the bowden tube for a test of the extruder drive mechanism. This time, click on MOTORS OFF or send an M84 command, and rotate the gears whilst manually feeding some PLA filament in through the extruder drive mechanism. Repeat the extrusion test, this time by manually rotating the large gear.

Finally, try extruding material by commanding the E axis. 200mm/min is a good speed for an 0.5mm nozzle; 80 mm/min is good for an 0.3mm nozzle.