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
Custom Keyboard
Youtuber baut riesige Tastatur für 13.500 Euro

Die Switches haben das 64-fache Volumen und das Gehäuse ist menschenhoch: Ein Youtuber baut eine absurd große Tastatur für absurd viel Geld.

Custom Keyboard: Youtuber baut riesige Tastatur für 13.500 Euro
Artikel
  1. Super Nintendo: Fan bringt verbessertes Zelda 3 für Windows, MacOS und Linux
    Super Nintendo
    Fan bringt verbessertes Zelda 3 für Windows, MacOS und Linux

    Aus 80.000 Zeilen C-Code besteht die per Reverse Engineering generierte Version von Zelda 3. Die bringt einige Verbesserungen und 16:9.

  2. Twitter: Der blaue Haken bringt Musk nur wenig Geld
    Twitter
    Der blaue Haken bringt Musk nur wenig Geld

    Weltweit hat Twitter angeblich schon einige Hunderttausend zahlende Nutzer. Das dürfte die Finanzprobleme aber nur wenig mildern.

  3. Linux: Alte Computer zu neuem Leben erwecken
    Linux
    Alte Computer zu neuem Leben erwecken

    Computer sind schon nach wenigen Jahren Nutzungsdauer veraltet. Doch mit den schlanken Linux-Distributionen AntiX-Linux, Q4OS oder Simply Linux erleben ältere PC-Systeme einen zweiten Frühling.
    Von Erik Bärwaldt

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 • DAMN-Deals: AMD CPUs zu Tiefstpreisen (u. a. R7 5800X3D 324€)• MindStar: Zotac RTX 4070 Ti 949€, XFX RX 6800 519€ • WSV-Finale bei MediaMarkt (u. a. Samsung 980 Pro 2 TB Heatsink 199,99€) • RAM im Preisrutsch • Powercolor RX 7900 XTX 1.195€ • PCGH Cyber Week nur noch kurze Zeit [Werbung]
    •  /