Marlin Grenzen setzen

Die weiteren Anpassungen, die wir vornehmen müssen, haben eigentlich einen positiven Grund. Marlin hat eine längere Entwicklungsgeschichte hinter sich, in der auch viel Wissen um die Fehler eingeflossen ist, die beim Betrieb einer Maschine, speziell eines 3D-Druckers, auftreten können. Dementsprechend hat Marlin eine Vielzahl von Sicherheitsmechanismen eingebaut. Das ist ebenfalls einer der Gründe dafür, dass eine fertige Lösung einer Eigenprogrammierung vorzuziehen ist.

So passen wir als Nächstes die Einstellung der zulässigen Druckfläche an, beziehungsweise in unserem Fall der Zeichenfläche. Durch unsere Konstruktion bedingt, setzen wir für X_MAX_POS = 115 ein (11,5 cm) und für Y_MAX_POS = 130 (13 cm). Schicken wir später Positionierungsanweisungen an die Steuerung, die über diesen Werten liegen, wird Marlin nur bis an diese Grenzen fahren.

Eine saubere Positionierung unseres Stifts setzt voraus, dass ein definierter Nullpunkt existiert. Nun können wir den Stift jedes Mal beim Maschinenstart von Hand positionieren und Marlin anweisen, diesen Punkt als Nullpunkt anzunehmen, doch das ist mühselig. Deshalb setzen wir an unserem Plotter je einen selbst gebauten Endstopp-Taster am Anfang jeder Achse ein. Berührt der Stift einen Taster, weiß Marlin, dass der Nullpunkt auf der betreffenden Achse erreicht ist. Somit können wir das sogenannte Auto-Homing benutzen. Marlin kann damit selbstständig den Nullpunkt anfahren und ermitteln.

Unser Eigenbau bricht mit Konventionen

Die Sache hat nur einen Haken: Reguläre Endstopp-Taster liefern normalerweise ein Signal, wenn sie nicht ausgelöst werden, und kein Signal, sobald sie ausgelöst werden. Das klingt zuerst unlogisch, ist aber eine wichtige Sicherheitsfunktion. Marlin stoppt automatisch, sobald ein Endstopp ausgelöst wurde, also kein Signal mehr anliegt, unabhängig von Steueranweisungen. Tritt nun im Betrieb ein Problem mit einem Endstopp auf - wie ein loses Kabel -, interpretiert Marlin diesen Signalverlust automatisch als ausgelösten Endstopp und verhindert womögliche größere Schäden an der Maschine.

In unserem Fall ist aber die Situation genau umgekehrt. Unsere Eigenbau-Endstopps senden ein Signal bei Berührung. Deshalb müssen wir die Signalausführung umkehren, die entsprechende Konfigurationsoption ist je nach Standpunkt richtig oder irreführend benannt:

X_MIN_ENDSTOP_INVERTING = false;
Y_MIN_ENDSTOP_INVERTING = false;

Virtuelles Aufheizen

Eine weitere Sicherheitsfunktion betrifft speziell 3D-Drucker. Teil eines FDM-3D-Druckers ist der Druckkopf mit seiner Schmelzeinheit (Hotend). Ihm wird mit Hilfe eines Motors das Druckmaterial (Filament) zugeführt. Wird versucht, diesen Motor anzusteuern, solange das Hotend kalt ist, kann das zu Schäden am Drucker führen. Deshalb verhindert Marlin Motorbewegungen nicht nur, solange das Hotend zu kalt ist, sondern sogar, wenn es davon ausgeht, dass der entsprechend Wärmesensor (Thermistor) kaputt oder nicht angeschlossen ist. Nun haben wir keinen Thermistor angeschlossen, der Schutz tritt also in Aktion. Leider gibt es keinen einfachen Weg, diesen Schutz abzuschalten. Allerdings gibt es eine Debug-Einstellung, um einen Thermistor vorzugaukeln, dieser Scheinthermistor hat die Nummer 998 und liefert stets 25 °Celsius:

#define TEMP_SENSOR_0 998
#define TEMP_SENSOR_BED 998

Zu guter Letzt benutzen wir zum Heben und Senken des Stiftes einen Servo, deshalb müssen wir die Servo-Pins noch aktivieren. Die angegebene Zahl entspricht der Zahl der Servo-Anschlüsse auf dem Bam&Dice-Board:

#define NUM_SERVOS 4

Damit haben wir Marlin vorerst fertig konfiguriert. Der geänderte Quellcode wird wieder kompiliert und auf den Arduino übertragen. Jetzt können wir erste Experimente mit unserem Plotter durchführen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Ein wenig GrundschulmathematikDie Maschine kontrollieren per G-Code 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9. 8
  10. 9
  11. 10
  12. 11
  13.  


derdiedas 05. Okt 2015

Es geht darum die Leute "anzufixen". Billigste Lösung ist Estlcam + Arduino...

jochenh 02. Okt 2015

Geht bei www.rapidfacture.com. Auch Einzelteile und Sonderanfertigungen.

am (golem.de) 02. Okt 2015

Sämtliche existierenden offenen Firmware-Programm gehen davon aus, dass die Z-Achse über...

Moe479 02. Okt 2015

die technik selbst ist garnicht so ultra kompliziert, finde ich, nur als hobbybastlerei...



Aktuell auf der Startseite von Golem.de
Whistleblower
Ehemaliger US-Konteradmiral äußert sich zu Außerirdischen

Wieder hat sich in den USA ein ehemals hochrangiger Militär und Beamter über Kontakte mit Aliens geäußert.

Whistleblower: Ehemaliger US-Konteradmiral äußert sich zu Außerirdischen
Artikel
  1. Schadstoffnorm 7: Neue Grenzwerte für Abrieb gelten auch für E-Autos
    Schadstoffnorm 7
    Neue Grenzwerte für Abrieb gelten auch für E-Autos

    Die neue Euronorm 7 legt nicht nur Grenzwerte für Bremsen- und Reifenabrieb fest, sondern auch Mindestanforderungen für Akkus.

  2. Ramjet: General Electric testet Hyperschalltriebwerk
    Ramjet
    General Electric testet Hyperschalltriebwerk

    Das Triebwerk soll Flüge mit Mach 5 ermöglichen.

  3. Elektroautos: Mercedes und Stellantis übernehmen komplette Umweltprämie
    Elektroautos
    Mercedes und Stellantis übernehmen komplette Umweltprämie

    Nach dem abrupten Aus der staatlichen Förderung springen erste Hersteller von Elektroautos ein.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    • Daily Deals • Last-Minute-Angebote bei Amazon • Avatar & The Crew Motorfest bis -50% • Xbox Series X 399€ • Cherry MX Board 3.0 S 49,95€ • Crucial MX500 2 TB 110,90€ • AVM FRITZ!Box 7590 AX + FRITZ!DECT 500 219€ [Werbung]
    •  /