CNC Projekt 2016

Letztes Jahr habe ich angefangen eine neue CNC Fräse zu bauen. Sie wurde heute nach langer Arbeit fertig. Sie ist komplett aus Metall, mit Kugelumlaufspindeln, Linearführungen und einem Kress  Fräsmotor. Heute habe ich damit zum ersten Mal gefräst. Es hat geklappt!

Bei Gelegenheit werde ich das Projekt näher vorstellen.

Hardware Aufstellung grob: Arduino Mega, Ramps 1.4, Marlin Firmware, Toshiba TB6600 Steppertreiber, Nema 23 Stepper 76mm lang, Linearführungen, 1605 Kugelumlaufspindeln…

Advertisements

4 StepStick Stepper Treiber für 32 Euro

Auf Dealextreme gibt es vier StepStick A4988 Stepper Treiber für 32,05 Euro. Versand ist inklusive aber man muss mit einer Versanddauer von bis zu fünf Wochen rechnen (China!).

4 Stepper Driver

Vier StepStick Motor Treiber

Mehr Informationen zum StepStick Schrittmotor Treiber gibt es im RepRap Wiki.

Schrittmotoren Vergleich

Auf my3dprinter.wordpress.com werden gerade Schrittmotoren verglichen und Lösungswege aufgezeigt für gängige Probleme mit den Steppern. Alles hoch interessant, erfordert jedoch ein paar Elektronik Grundkenntnisse.

Bild von my3dprinter.wordpress.com

Untersucht wurden folgende Schrittmotoren:

Untersucht wurden neben der Erwärmung auch

  • Effizienz
  • Unterschiede zueinander
  • maximaler Motorstrom
  • Fehler-Anfälligkeit
  • maximale Geschwindigkeit
  • und natürlich das Verhalten im Drucker

Interessant liest sich jeweils auch das persönliche Fazit des versierten Testers zu den einzelnen Treibern und natürlich auch die Zusammenfassung.

* Der Gewinner?!

Neue kartesische Bewegung


Über die Featureliste der Marlin Firmware bin ich auf das CoreXY Projekt gestoßen. Es beschreibt eine X-, Y-Bewegung mit zwei Motoren.

Neue kartesische BewegungGrafik und Dokumentation von Ilan E. Moyer.

Schritt Motor reparieren

Seit dem Einbau einer neuen Gewindestange auf der Z-Achse läuft die Z-Achse nicht mehr zuverlässig. WD40 hat keine Lösung erbracht. Schon einmal habe ich den Schrittmotor aufgeschraubt, bin aber am Gehäuse nicht weiter gekommen.Schrittmotor auseinandergebaut
Erst mit Hilfe des Videos habe ich herausgefunden dass man mit etwas klopfen und sanfter Gewalt die Gehäuseteile auseinander bekommt.

Als alles offen war, habe ich das Problem auch schon gesehen: die Magnetscheiben auf der Achse waren zu stark nach unten gerutscht und streiften am Gehäuse.
Vermutlich ist dies damals passiert als ich die Kupplung für die Gewindestange mit roher Gewalt auf den Stepper geklopft hatte. Nachdem ich die Metallscheiben (im Foto türkis) wieder zurück geklopft hatte, funktioniert der Motor (bis jetzt) wieder Einwand frei.

Unser aktuelles ABS Slic3r Profil

Es ist ein Slic3r Profil für ABS und den GRRF PRotos Drucker. Wir verwenden die Slic3r Version 0.9.3:

# generated by Slic3r 0.9.3 on Wed Oct 31 17:14:28 2012
acceleration = 0
bed_size = 200,200
bed_temperature = 110
bridge_fan_speed = 100
bridge_flow_ratio = 1
bridge_speed = 70
brim_width = 0
complete_objects = 0
cooling = 1
disable_fan_first_layers = 1
duplicate = 1
duplicate_distance = 6
duplicate_grid = 1,1
end_gcode = M107\n; M104 S0 ; turn off extruder temperature\n; M140 S0 ; turn off plate\nM104 S255 ; turn off extruder temperature\nM140 S110 ; turn off plate\nG28 X0 ; home X axis\nG28 Y0 ; home Y axis\n;G1 Y+100\nM84 ; disable motors\n; M240
external_perimeter_speed = 100%
extra_perimeters = 1
extruder_clearance_height = 20
extruder_clearance_radius = 20
extruder_offset = 0x0
extrusion_axis = E
extrusion_multiplier = 3.9
extrusion_width = 0
fan_always_on = 1
fan_below_layer_time = 60
filament_diameter = 2.9
fill_angle = 90
fill_density = 0.6
fill_pattern = rectilinear
first_layer_bed_temperature = 110
first_layer_extrusion_width = 0
first_layer_height = 85%
first_layer_speed = 80%
first_layer_temperature = 255
g0 = 0
gcode_arcs = 0
gcode_comments =
gcode_flavor = reprap
infill_acceleration = 50
infill_every_layers = 1
infill_extruder = 1
infill_extrusion_width = 0
infill_speed = 70
layer_gcode = ; M240
layer_height = 0.4
max_fan_speed = 100
min_fan_speed = 100
min_print_speed = 10
notes =
nozzle_diameter = 0.45
only_retract_when_crossing_perimeters = 0
output_filename_format = [input_filename_base]_PRotos.gcode
perimeter_acceleration = 25
perimeter_extruder = 1
perimeter_extrusion_width = 0
perimeter_speed = 40
perimeters = 2
post_process =
print_center = 100,100
randomize_start = 1
retract_before_travel = 4
retract_length = 4
retract_length_toolchange = 3
retract_lift = 0.1
retract_restart_extra = 0
retract_restart_extra_toolchange = 0
retract_speed = 200
rotate = 0
scale = 1
skirt_distance = 5
skirt_height = 1
skirts = 3
slowdown_below_layer_time = 15
small_perimeter_speed = 40
solid_fill_pattern = rectilinear
solid_infill_below_area = 70
solid_infill_every_layers = 0
solid_infill_speed = 70
solid_layers = 2
start_gcode = ;PRotos Profile\nG28 ; home all axis\n;M301 P13.82 I0.84 D56.60 ;2PrintBeta Heater\nM301 P26.89 I1.42 D127.33 ;GRRF Heater\n;M301 P50.76 I4.08 D158.02
support_material =
support_material_angle = 0
support_material_extruder = 1
support_material_extrusion_width = 0
support_material_pattern = honeycomb
support_material_spacing = 2.5
support_material_threshold = 45
temperature = 255
threads = 10
top_solid_infill_speed = 50
travel_speed = 150
use_relative_e_distances = 0
z_offset = 0

Unser Profil ist eine angepasste Kopie von Thomas’s Slic3r Profil.

Neue Spur beim „Mosfet“ Problem? (Ramps Sicherung F1 wird heiß)

Der Drucker stürzt regelrecht ab wenn größere filigrane Modelle gedruckt werden. Die Motoren fangen dann an zu brummen und ruckeln ein bisschen auf der Stelle hin und her, im Pronterface geht alles weiter als wäre nichts gewesen.

Nachdem ich versucht habe das Problem zu reproduzieren um während dessen mit dem Finger die Temperatur der Pololu Treiber zu „messen“ stellte ich fest, dass die Treiber und auch die Mosfets nicht besonders heiß waren. Aber bei der Sicherung F1 (gelbes Bauteil) habe ich mir fast die Finger verbrannt. Eine Google Suche nach Ramps F1 und hot brachten mich zum diesem Foreneintrag bei GRRF: Elektronik zerschossen? von Host Weidle und dieser exzellenten Antwort die das Problem sehr genau (u.a. mit Wärmebildkamera) untersuchte! Fazit: Diese Sicherung ist für die Absicherung des Heizstromes da. Sie wird schnell überlastet wenn die Treiber nicht gut eingestellt sind. Aber eigentlich sollte sie ausreichend dimensioniert sein. Als Lösung wird u.a. empfohlen einen aktiven Kühler daran zu machen… Ich werde wohl erst einmal die Treiber wieder einmal neu einstellen und evtl einen Kühlkanal um die Boards bauen, damit alle Bauteile besser gekühlt werden und mich nach einem passivem Kühlkörpervergrößerer umsehen.

Update
Auf my3dprinter.wordpress.com wird beschrieben wie man statt der F1 und F2 andere Sicherungen verwenden kann.

Wünsche

  • 1en neuen Schrittmotor 20 Euro (ist gekauft)
  • Neue Stepper Treiber 50 Euroggf. reicht ein Pololu Black Edition für die Z-Achse
  • J-Head Hotend 60 Euro (ist bestellt)
  • Kühlkörper für die drei Mosfets 5 Euro
  • Kühlkörper für die F1 Sicherung
  • LE Display 50 Euro (ist gekauft)
  • LED Netzteil, für stabilere Leistung und mit Anschraubmöglichkeit. 20-50 Euro
  • Extra Blechplatte für Heizbett um schneller tauschen zu können.
  • Aceton (ist gekauft)
  • Stabiler Teflon Bouwden Schlauch als Zuleitung zur Filamentbox (4 Euro bei GRRF)
  • Wellenkupplungen für Z-Achse 6$ bei eBay (ist bestellt)
  • Rauchmelder

Summe ohne Versand: 205-235 Euro ohne Versand. Da muss ich wohl erst meine Frau fragen :-/

Potentiometer von Schrittmotor Treibern einstellen

Den mit einem kleinen Schraubendreher zuerst gegen den Uhrzeigersinn aufs Minimum drehen. Dann langsam im Uhrzeigersinn drehen bis der Motor keine Schrittverluste mehr produziert.

Siehe auch entsprechende Anleitung im Artikel auf RepRap.org.

Stepper Treiber

(Pololu) Stepper Treiber (auch Schrittmotor Treiber genannt) sind kleine Hardwarechips a4988 die die Steuerung der Schrittmotoren übernehmen. Sie sind die Ursache für viele Probleme mit Prusa/PRotos/Mendel Druckern.

Wenn der Strom nicht korrekt auf dem Mini-Potentiometer eingestellt wurde können folgende Fehler auftreten: zu wenig Strom: Motoren brummen nicht, Schritte werden ausgelassen. Zu viel Strom Motoren brummen stärker, die Stepper Treiber erhitzen wesentlich schneller und wenn sie zu heiß werden werden Schritte falsch (meist gar nicht) ausgeführt.

Wegen der Überhitzungsgefahr gibt es kleine Kühlkörper auf den Chips sowie die aktive Kühlung via Ventilator auf dem RAMPS Board.

Überhitzung der Stepper Treiber vermeiden:

  • Lüfter korrekt einstellen, Luftzug muss gut auf die Treiber treffen.
  • Lüfter muss einen starken Luftstrom erzeugen können.
  • Luftstrom mit einer Hülle direkt an den Treibern vorbei leiten.
  • Statt Pololu Treibern StepSticks Treiber verwenden.
  • Kühler mit Wärmeleitpaste ankleben, statt das beiliegende Klebeband zu verwenden(?)

Was sind Schrittverluste?

Schrittverluste sind Aussetzer der Schrittmotoren. Sie wirken sich wie folgt aus: wenn z.B. der Druckkopf im Modell herum streift obwohl die Schichthöhe korrekt eingestellt ist oder wenn Modelle plötzlich doppelt so hoch werden, da das herunterfahren nachdem der äußere Rand gedruckt wurde nicht mehr funktioniert. Schrittverluste auf der X- und Y-Achse können eine „Verschiebung“ auf einer Schicht des Modells zur Folge haben.

Stepper Motor Debugging

20120629-204132.jpg Nachdem ich eine Achse der Z-Achse ausgetauscht habe, weil die alte einen Schlag hatte will der Stepper Motor nicht mehr…

X-Achsen Zahnscheibe dreht durch

Fehlerbild: X-Achse bewegte sich nur manchmal, der Steppermotor machte komische Geräusche. Bei Änderungen am Poti des entsprechenden Stepper Treiber war keine entsprechende Änderung der Bewegung bzw. Bewegungsgeschwindigkeit feststellbar. Manchmal gab es einfach Aussetzer, Motor klang unterschiedlich.

Lösung: Die Zahnscheibe (auch Timing Pulley genannt) sitzt nicht mehr fest auf der Achse des Stepper Motors.

X-Achsen Zahnscheibe dreht durch

Jetzt muss ich erst einmal im Baumarkt einen 1,5 mm Inbusschlüssel (1,5 mm ist der kürzeste Durchmesser) für die 3M Madenschraube, oder auch 3M Gewindestift mit Innensechskant genannt, besorgen, da ich hier keinen entsprechenden Schlüssel habe.

RAMPS 1.4 mit SD

RAMPS 1.4 mit SD Karte versucht zum laufen zu bringen. Leider erfolglos. Aktuelle Firmware von GRRF eingespielt aber Motoren reagieren nicht.

20120504-003715.jpg

Logbuch

02.06.2012 Simon

  • Aufgeräumt
  • Boxen für Zubehör und Werkzeug gekauft

06.04.2012 Jonas

  • Update der Software auf Susanns Laptop
  • RAMPS 1.4 eingebaut (?)
  • Simon hat Software in Dropbox aktualisiert.

03.04.2012 Simon

24.02.2012 Simon

  • Marlin Firmware v1.0.0.RC1-0-gfa2e1be mit Arduino 1.0 kompiliert und auf Drucker geladen. Um Fehler bei der Kompilierung zu vermeiden muss in der Configure.h // #define PID_DEBUG auskommentiert werden. mit bisherigem Arduino kompiliert, da Arduino 1.0 debugging nicht unterstützt.
  • Bei Marlin Firmware nachgefragt wie man Debuging anschaltet.

28.01.2012-29.01.2012 Simon

  • Blech auf Heizbett geputzt.
  • Z-Achse Null Punkt justiert
  • Bei X-Achsen Stepper Treiber Platine den Widerstand so geändert, dass der Motor mehr Energie bekommt, da ich vermute dass manche X-Achsen Verschiebungen beim drucken wegen zu wenig Leistung des Motors bei hohen Geschwindigkeiten zustande kam.
  • Tüte für Ausschuss angelegt, da wir den Müll sammeln sollten für den Filabot
  • Am Drucker sowie an der Abrollkostruktion der Filament Spule zwei Ösen angebracht durch die das Filament läuft. Siehe http://www.thingiverse.com/thing:11222
  • Bug bei Slic3r eingetragen da die Slic3r Software kein Skirt (die Umrandung am Anfang des Models) zeichnen kann wenn die erste Schicht aus mehr als einem Element besteht. – Update: War wohl ein Problem im Modell.
  • Im Quellcode der Marlin Firmware überprüft ob der in der Configuration.h gewählte Widerstand (100k = Auswahl „1“) die selbe Leistungstabelle hat wie bei GRRF angegeben. Dies ist so!
  • Ramps Lüfter direkt an weiteren Anschluss des Netzteils gelegt, damit das nicht über das Ramps Board geht und ggf Leistung verbraucht. Dies könnte auch die Ursache sein weshalb nur 10 Volt am Heizelement anliegt und nicht 12.

Was noch fehlt

TODO Liste bzw. Materialliste:

  • Microfasertuch um Heizbett zu säubern
  • Pinzette um Modelle und Druckrückstände besser entfernen zu können
  • Mehrfachsteckleiste
  • Ca. 4 cm lange M4 Schraube um die Umlenkung des Keilriemens der X-Achse so legen zu können, dass der Keilriemen nicht am Extruder Motor streift. Siehe Abbildung
  • PS2 to USB Adapter für Susann
  • Reinigungsbenzin für Druckplatte

Slic3r Einstellungen für GRRF PRotos 3D Drucker

Versuche gerade die hier beschriebene Übernahme der von GRRF empfohlenen Einstellungen für Slic3r zu migrieren.

Meine aktuelle Slic3r Config.ini Datei:

bottom_layer_speed_ratio = 0.5
bridge_flow_ratio = 1
bridge_speed = 60
duplicate_distance = 6
duplicate_x = 1
duplicate_y = 1
end_gcode = M104 S0 ; turn off temperature\nG28 X0 ; home X axis\nM84 ; disable motors
extrusion_axis = E
extrusion_multiplier = 0.5
extrusion_width_ratio = 0
filament_diameter = 3
fill_angle = 45
fill_density = 0.4
fill_pattern = rectilinear
first_layer_height_ratio = 0.5
g0 = 0
gcode_arcs = 0
gcode_comments = 0
infill_every_layers = 1
infill_speed = 60
layer_height = 0.42
nozzle_diameter = 0.5
output_filename_format = [input_filename_base]-slic3r.gcode
perimeter_speed = 30
perimeters = 3
print_center = 100,100
retract_before_travel = 2
retract_length = 1
retract_lift = 0
retract_restart_extra = 0
retract_speed = 60
rotate = 0
scale = 1
skirt_distance = 6
skirt_height = 1
skirts = 1
small_perimeter_speed = 30
solid_fill_pattern = rectilinear
solid_infill_speed = 60
solid_layers = 3
start_gcode = G28 ; home all axes
temperature = 255
travel_speed = 150
use_relative_e_distances = 0
z_offset = 0

Diese Einstellungen habe ich noch nicht getestet.

Auf byteborg’s Blog habe ich einen Link zu einem Tutorial für Slic3r entdeckt. Diese werde ich mir jetzt mal ansehen…

Teste Marlin Firmware vor Ort

20120125-210457.jpgImmer noch ist der Vorschub nicht korrekt. Ich muss die empfohlene Original PRotos Einstellungen für das Pronterface vergleichen mit den Standard Einstellungen, um herauszufinden was für den PRotos besonders eingestellt werden muss. Meine Vermutung ist, dass wenn falsche (zu hohe) Werte für unseren Wade Extruder gesendet werden dieser überhaupt nicht reagiert. Auch drucken wir mit ABS was wohl schwieriger zu beherrschen ist als PLA.

Update 26.01.2012

In dem Tutorial für die Einrichtung von Slic3r wird genau beschrieben wie die Einstellung für den Vorschub kalibriert werden muss:
// X, Y, Z, E steps per unit - Metric Prusa Mendel with Wade extruder:
float axis_steps_per_unit[] = {80, 80, 3200/1.25, 700};

The number at the end (700) is the number of motor steps needed to extrude 1mm of the input feedstock plastic.
Your number could already be different and may be half of this if you are using 8x microstepping (GEN6) instead of x16 (RAMPS usually uses x16).

Unsere Motoren werden wohl mit 200 Schritte/Umdrehung (1,8° Schrittwinkel) gesteuert.

PRotos 3D Drucker Gewindestange für X-Achse hat eine Länge von 220 mm

Nathan versucht die Probleme mit den Buchsen die die Gewindestangen der X-Achse mit den Schrittmotoren verbindet durch neue Gewindestangen mit auf der Drehbank angepassten Buchsen zu beheben.

Kalibrierung der Z-Achse

20111230-163747.jpg

Da die Gewindestange die auf der Z-Achse den Extruderschlitten bewegt, einen Schlag hatte, haben wir versucht die Buchse die die Stange und den Motor verbindet neu zu verschrauben mit Schrauben die ein näheres zusammenschrauben ermöglichen. Satz Ende.

Folge mir auf Twitter