Skip to content

chatelao/3dprinter_hacklab

Repository files navigation

image

Unser 3D Drucker im Hacklab Bern

Anleitung zum Drucken

Der 3D Drucker im Hacklab Bern (https://www.meetup.com/de-DE/Bern-Silicon-Valley-HackLab-Tech-Group), basiert auf dem CL-260 open-source Model. Er wird abwechslungsweise von Mitgliedern genutzt und verbessert.

Slicer Software für PC/Mac

Für das Erstellen der Druckbefehle aus den (.stl) 3D-Modellen wird zwingend ein Slicer Programm benötigt. Der grosse Klassiker ist Cura, die Alternativen wie Prusa-Slicer funktionieren sehr ähnlich:

Software Zweck Chocolately Paket
Cura Slicer cura-new
Prusa Slicer Slicer prusaslicer

Der Slicer muss gewisse Details des Druckers kennen, damit er ihn gut ansteuern kann. Anbei einige bewährte, wesentliche Einstellungen:

Einstellung Empfohlener Wert
Drucker Art FFF (Fused Filament Fabrication)
Druckauflösung 0.15mm
Retraction 5mm
PLA Druckkopf 210°C (erste Schicht) / 200°C
PLA Heizbett 55°C (erste Schicht) / 50°C

Software zur Fernsteuerung

Die Steuerung und Statuskontrolle des Druckers geht viel einfacher mit OctoPrint auf einem RaspberryPi. Damit lassen sich Durckdateien bequem hochladen und der Status jederzeit abfragen. Noch mehr Komfort bieten Plug-Ins wie:

Filamente

Kein Druck ohne Filamente, diese können hier bezogen werden:

Anleitung zum Warten

Bed leveling

  • Autohome
  • Z-Axes senken
  • Differenz an am Z-Stopp nachschrauen
  • Alle Vier Ecken nachprüfen

Nozzle reinigen

Wartungssoftware

Zur Wartung des Druckers hilft Pronterface, es stellt die technischeren Schnittstellen, wie das serielle Terminal zur direkten Kommunikation mit dem Drucker und bequeme Kontrolleknöpfe zum Bewegen der Achsen zur Verfügung.

image

Software Zweck Chocolately Paket
Pronterface Fernsteuerung printrun

Hardware & Werkzeug

  • Akkupunkturnadeln
  • 2.5mm Imbusschlüssel
  • 7mm Innen Sechskantschlüssel
  • Messingbürste
  • Flachzange
  • Seitenschneider
  • 1.3mm Imbusschlüssel
  • M3 Schrauben und Muttern
  • 5er Gabelschlüssel
  • Isopropanol
  • Haushaltspapier
  • Schieblehre
  • Kaptontape

Fehlersuche

Die Fehlersuche am Drucker ist mühsam, allerdings bietet Pursa ein Handbuch zum Erkennen der gängigsten Fehler:

Dazu hat auch der 3D-Andi ein hervorragendes Video mit vielen Fehlerquellen und -lösungen gedreht:

Düse montieren

Bei der Montage der Düse ist sicherzustellen, dass die Düse kalt nur 0.7mm vor dem Limit angezogen ist. In warmem Zustand kann die Düse zusätzlich nach ajustiert werden.

image

Kalibrationsmuster

Zur Prüfung der Ausrichtung des Heizbetts eignen sich dieses speziellen Quadratmuster. Es erlaubt die Prüfung der Druckhöhe und der Distanz zwischen Hotend und Heizbetts.

image

Weitere Kalibrierungsmuster: - https://www.youtube.com/watch?v=kgCjDy_IgXg

Support Forum

Aktueller Aufbau

Die Mitglieder verbessern den Aufbau des Druckers laufend. Aktuell setzt er sich aus folgenden Bestandteilen zusammen:

Funktionalität Verwendete Lösung
Firmware Marlin 2.0.x
Mikrocontroller Arduino Mega 2560
Leistungselektronik Shield RepRap-Arduino-Mega-Pololu-Shield (RAMPS) 1.4
Verstärker Schrittmotoren A4988 Datasheet
Display Platine RepRapdiscount smart controller 2004 LCD (RED)
Schrittmotoren NEMA ?
Zahnriemen 5mm breit, 2mm Zahnschritt
Antriebsstangen 8mm Stahlstangen
Lager der Antriebsstangen 8 mm (innen) / 22 mm (aussen) / 7 mmm (Dicke) Standardlager
Pulley 20 Zähne, 8mm Innendurchmesser, mit M3 Imbusfixierung
Heat Bed
Bowden Schlauch 2mm PTFE Tube
Bowden Start (Motor, M5) PC4-M5
Bowden Ende (Heizkopf, R1/8) PC4-01
Hot End Hotend: e3d v6
Nozzle 0.4mm
3D Teile Gedruckte Teile
Stromversorgung Schaltnetzteil 12V 20A ohne aktive Kühlung
Medium SD-Karte, regulärer Grösse
Datenkabel USB-Kabel mit Standard-B Stecker den Mikrocontroller

Marlin Konfiguration

Mit der Pronterface Software kann der Drucker über gCode Befehle oder das GUI mit der seriellen Schnittstelle ferngesteuert und untersucht werden:

M115 - Firmware Informations

>>> M115
SENDING:M115
FIRMWARE_NAME:Marlin 2.0.x (GitHub)
SOURCE_CODE_URL:https://github.com/MarlinFirmware/Marlin
PROTOCOL_VERSION:1.0
MACHINE_TYPE:Hacklab CL260 
EXTRUDER_COUNT:1 
UUID:b01ac89d-d7b3-43ec-8f82-dfb65c785486

Cap:SERIAL_XON_XOFF:0
Cap:BINARY_FILE_TRANSFER:0
Cap:EEPROM:0
Cap:VOLUMETRIC:1
Cap:AUTOREPORT_TEMP:1
Cap:PROGRESS:0
Cap:PRINT_JOB:1
Cap:AUTOLEVEL:0
Cap:Z_PROBE:0
Cap:LEVELING_DATA:0
Cap:BUILD_PERCENT:0
Cap:SOFTWARE_POWER:0
Cap:TOGGLE_LIGHTS:0
Cap:CASE_LIGHT_BRIGHTNESS:0
Cap:EMERGENCY_PARSER:0
Cap:PROMPT_SUPPORT:0
Cap:AUTOREPORT_SD_STATUS:0

M503 - Report Settings (Marlin 2.0.x)

+--------------------------------+----------------------------------------------------+--------------+ | Einstellung | gCode | Marlin 2.0.x | +================================+====================================================+==============+ | Units in mm (mm) | G21 | | +--------------------------------+----------------------------------------------------+--------------+ | Filament diameter | M200 | D1.75 | +--------------------------------+----------------------------------------------------+--------------+ | Steps per unit | M92 | X80.00 | | | +--------------+ | | | Y80.00 | | | +--------------+ | | | Z1600.00 | | | +--------------+ | | | E161.00 | +--------------------------------+----------------------------------------------------+--------------+ | Max. Speed (mm/s) | M203 | X300.00 | | | +--------------+ | | | Y300.00 | | | +--------------+ | | | Z5.00 | | | +--------------+ | | | E45.00 | +--------------------------------+----------------------------------------------------+--------------+ | Max. Acceleration (mm/s2) | M201 | X9000 | | | +--------------+ | | | Y9000 | | | +--------------+ | | | Z100 | | | +--------------+ | | | E10000 | +--------------------------------+----------------------------------------------------+--------------+ | S=Acceleration | M204 | | +--------------------------------+ +--------------+ | P=Print Acceleration (mm/s2) | | P3000.00 | +--------------------------------+ +--------------+ | R=Retract Acceleration (mm/s2) | | R3000.00 | +--------------------------------+ +--------------+ | T=Retract Acceleration (mm/s2) | | | +--------------------------------+ +--------------+ | T=Travel Acceleration (mm/s2) | | T3000.00 | +--------------------------------+----------------------------------------------------+--------------+ | B=minimum segment time (ms) | M205 | B20000 | +--------------------------------+ +--------------+ | S=Min feedrate (mm/s) | | S0.00 | +--------------------------------+ +--------------+ | T=Min travel feedrate (mm/s) | | T0.00 | +--------------------------------+ +--------------+ | J=Junc_dev | | J0.01 | +--------------------------------+----------------------------------------------------+--------------+ | Home offset (mm) | M206 | X0.00 | | | | Y0.00 | | | | Z0.00 | +--------------------------------+----------------------------------------------------+--------------+ | Hotend PID settings | M301 | P22.20 | | | +--------------+ | | | I1.08 | | | +--------------+ | | | D114.00 | +--------------------------------+----------------------------------------------------+--------------+

Der RepRap Shield

Das RepRap Arduino Mega Pololu Shield dient als Plattform zur Anbindung aller weiteren Eletronik am System:

  1. Dem Arduino Mega als Microkontroller
  2. Den Schrittmotoren, ihren Reglern und Endsensoren
  3. Dem Heizkopf und -bett, sowie ihren jeweiligen Messfühlern
  4. Dem LCD-Display und Drehtaster mit SD-Kartenleser
  5. Den Lüftern für den Heizkopf und das Material
  6. etc.

Die Stecker und Verkabelungen

RAMPS 1.4 wiring schematics

RAMPS 1.4 photo with pinout legend

RAMPS 1.4 pinouts schematics

Das elektronische Schema

RAMPS 1.4 electronic schematics

Der LCD-Display mit Taster & SD-Kartenlesen

RepRap-Discount SmartController frontside view

RepRap-Discount SmartController backside view

Das elektronische Schema

image

image

Geplante Verbesserungen

Erweiterungen

https://www.aliexpress.com/item/4000211772563.html

Filament runout sensor

RAMPS Ersatz mit 32-bit Prozessor

Die Kombination RAMPS1.4 und Arduino Mega ist der de-facto standard für 3D-Drucker. Aktuell besteht nur ein geringer Bedarf diese Kombination abzulösen, da nur folgende Schwächen bestehen:

  1. Die Leistung der Heizausgänge ist auf 11A beschränkt (MKS v1.3: 20A)
  2. Die Unterstützung eines TFT-Touchpanels ist mir nicht bekannt
  3. Die Rechenleistung im 8-Bit Kontroller ist geriner als im 32-bit Modell

Ein Kandidat wäre das BigTreeTech SKR V1.3 - https://www.aliexpress.com/item/32981807406.html

Induktive Abstandsensoren am Druckkopf

Das sogenannte "Bed Auto Leveling" ermöglicht es ein schiefes Druckbett zu kompensieren. Es kann den Abstand zum Druckbett laufen und an allen Stellen ausmessen.

Verbesserte Halterung - https://www.thingiverse.com/thing:2332037

Filamentreiniger

Auf den Filamenten haftet meist ein wenig Staub. Eine Reinigung vor dem Drucken reduziert die Verunreinigung am Druckkopf.

image

Besseres Anzeigemodul

Anzeige - BIGTREETECH TFT24 V1.1

Anzeige - LCD 12864

Die LCD-Anzeige dient zur Steuerung des Druckers direkt am Gerät. Der SD-Card Leser ist ebenfalls direkt in das Modul eingebaut. Dazu muss die Marlin Konfiguration korrekt eingestellt werden.

Aktuell enthält der Drucker ein einfaches, sehr funktionales LCD 20x2 Zeichen Display. Ein grösseres Display könnte die gleichen Daten etwas komfortabler darstellen. Eine Option ist ein $8 LCD 12864 Module from Aliexpress.

image

Ein dazu passendes Gehäuse fand sich auf Thingiverse, oder hier im Verzeichnis.

Durchgeführte Verbesserungen

Neue TMC2130 Treiber für Schrittmotoren

Die aktuellen Treiberchips der Schrittmotoren sind klassische Pololu A4988. Diese Trieber steuern den Drucker korrekt, aber können keine Schrittverluste erkennen oder korrigieren. Die Motoren sind bei der Ansteuerung auch relativ laut.

image

Die Alternative dazu sind die TMC2130 der Firma Trinamic. Sie erlauben es, Blockierungen und damit Schrittverluste zu erkenne.

image

Neue Firmware

Die aktuelle Firmware funktioniert wie gewünscht, ist allerdings nicht auf dem allerneusten Stand. Allfällige Verbesserungen in der Logik und Sicherheit der letzten Jahre fehlen noch und der Sourcecode ist aktuell nicht bekannt, allerdings ergibt die "M115" Abfrage ein Marlin V1.

Daher wären eine Aktualisierung in Erwägungen zu ziehen:

  1. Die bestehende Firmware durch Ausbau des Arduino Mega Boards sichern.
  2. Ein neues Arduino Mega Board ($9 Aliexpress) für die Versuche mit der neuen Firmware einbauen.
  3. Neue Firmware Marlin 2.0 oder Repetier herunterladen.
  4. Die Software für den Drucker konfigurieren (siehe HW-Konfiguration).
  5. Die Software installieren und mit Pronterface testen.

Hilfestellungen in der Fehlersuche der neuen Konfiguration:

Abfrage der Endabschalter

Mit der gCode Befehl M119 kann der aktuelle Zustand der Endabschalter ausgelesen werden. Die Abfrage zeigt bei unserer Elektronik ausgelöste Stopps im offenen Zustand. Ein anschliessend testweise ausgelöster Z-Entstopp wird als offen angezeigt, der Wert wird also fehlerfrei ausgelesen und ist nur invertiert:

Reporting endstop status
x_min: TRIGGERED
y_min: TRIGGERED
z_min: open

Zur Korrektur muss die Konfiguration angepasst werden. Die xxx_MIN_ENDSTOP_INVERTING Werte sind normalerweise "false" und müssen auf "true" umgestellt werden:

Bessere Z-Axis Distanzeinhaltung

Nur eine präzises Startdistanz zum Heizbett erlaubt präzise erste Schichten.

Verbesserte Stopp Schalter Führung

Der End-Stops soll den Schalter wiederholbar zum gleichen Zeitpunkt auslösen. Der Würfel erlaubt grössere Toleranzen zum Treffen des Schalters.

Quelle:

image