Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker

geschrieben von Stephan L. 
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
07. June 2021 17:02
Hallöchen,
ich würde oben auf dem Rahmen vier oder acht kleinere Umlenkrollen befestigen und pro Achse ca. 2,4 kg billige Eisenstöckel (ca. 50ø x ca.160 = 2,46 kg) an den Außenseiten, im Alurohr unterbringen, die das Gewicht von Bett über (Brems-}Seile auffangen.
So hätten die Nema17 Motörchen weniger als ca 1 kg zu halten.
Vielleicht kommt noch diverses an Pertinax oder Glas hinzu, wobei man dann lieber ein dickeres Alurohr einplanen sollte und auch eine dickere Eisenstg als Kontergewichte nimmt.

Das zusätzliche Gewicht könnte auch einiges an Vibrationen abfangen.

Das System käme auch bei Riemen (siehe Vorschlag von Nick) und GUS Antriebe in Frage.
Mfg
Martin
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
08. June 2021 04:38
Danke für die Vorschläge. Freut mich, dass Du Dich extra angemeldet hast, um mir die Vorschläge zu machen ;-).

Das sind alles Dinge, die ich mir überlege und im Hinterkopf habe.

Derzeit hab ich die frisch gelieferten KUS verbaut (1204er, ja die billigvariante aus Fernost). Gleichzeitig habe ich das Hebesystem für Z etwas umgebaut. Ich nutze jetzt die Dreieckanordnung, sprich 2 Kugelumlaufspindeln (KUS) und 1 12mm Linearführung. Auf der anderen Seite genau anders herum. Die Linearführungen selbst habe ich dabei auch durch deutlich längere Varianten ersetzt. Es schaut jetzt alles recht massiv und irgendwie auch viel technischer aus als vorher.
Positiver Effekt - die Nema 17, und zwar jetzt nur noch 3, heben/senken das Bett total sauber und gleichmäßig. Kein Verhaken mehr. So lasse ich es erstmal. Dabei liegt schon alles, was nachher als Bett Verwendung findet, auf dem Hebemechanismus. Die Selbsthemmung reicht erwartungsgemäß nicht ganz aus, alles absolut in Position zu halten, wenn die Motoren aus sind. Aber im Großen und Ganzen passt es ganz gut und unter Last hält es sehr sauber die Höhe.

Der nächste Punkt wird erst einmal sein, ausreichend Endstopschalter anzubauen und zu verkabeln. Danach dann noch die X-Achse und den Extruder verkabelungsseitig fertig stellen und das Druckbett betriebsfertig machen.

Was mir dabei so vorschwebt ist, die 10mm Aluplatte auf 6-10 Federn zu lagern. Das ist aber noch in der Findungsphase, vlt wirds ja doch auch anders.


Ein erstes Druckprojekt habe ich auch schon, weil das leider nicht auf den i3 mega passt.... Ich bastele mir gerade eine RetroPi zusammen. Den will ich in einem Retrogehäuse unterbringen. Ich hatte da was bei Thingiverse entdeckt, was mir zusagt. Glaube es war ein Spectrum ZX Gehäusenachbau mit einer vollwertigen Minitastatur.
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
08. July 2021 02:08
Moin,

Quote
Stephan L.
Danke für die Infos. Also bzgl der ursprünglichen Trapezgewindespindeln war ja die Überlegung das diese eine ausreichend hohe Selbsthemmung haben. Bei Trapezgewinde mit 4mm Steigung geht das wohl auch gerade noch so. Aber ich überlege prinzipiell auch wegen NEMA 23 auf Z. 65ncm sind einfach recht wenig. Das Bett bei mir wiegt um die 10kg.

Ich habe bei meinem AlCore-XY ähnliche Grundmaße wie du und zwei Kugelgewindespindeln SFU1605 seitlich mittig am Bett laufen. Da reicht ein NEMA23 beliebiger Bauart, um die per Riemen angetriebenen Spindeln zu bewegen. Der Stepper sitzt dabei mittig und der geschlossene Riemen wird über Umlenkungen zu den Spindeln geführt. Mein Bett wiegt ca. 5kg und das ist schon zuviel. Du solltest das Bett deutlich abspecken.
Hier mal ein Baubericht des AlCore mit Aufbau der Z-Achse: [reprap.org]
Aber nicht wundern, das ist noch V1 mit Trapezgewindespindeln und deutlich zu schwachen Führungen. Ich hatte ebenfalls Probleme mit zickigen TGS, und habe deshalb später alle Spindeln und Wellen durch SFU1605 bzw. 16mm ersetzt und auch die Befestigungen deutlich stabiler ausgeführt.

Ich wollte damals unbedingt einen großen Drucker, da ich bestimmte Teile in einem Stück drucken wollte. Mittlerweile denke ich, dass die Probleme bei so großen Druckern (insb. das Leveln / die Planlage des Heizbetts) den Nutzen übersteigen. Gerade das Heizbett ist wirklich ein Problem, da es sich bei dieser Größe merklich verziehen wird, wenn du mit einigermaßen Power heizt. Bei 10mm Stärke, wie von dir angedacht, vielleicht nicht so das Problem. Eher die Zeit, die es braucht, um so eine Platte auf 100° zu bekommen. Und die Zeit, bis die wieder abkühlt. :-)

Beste Grüße,
Harry
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
08. July 2021 09:22
Hallo Harry,

Bin derzeit verreist, daher nur kurz mit dem Handy.

Danke erstmal für die Infos. Wie es sich nachher bei mir darstellt - bin gespannt. Ja, die relativ grosse Fläche ist sicher nicht ganz problemlos im handling. Gleichwohl gibt's ja inzwischen einige Chinakracher mit ebenfalls recht grossen Druckbetten.

Interessant ist auch, wie Firmen das so lösen. Da gibt's ja inzwischen noch viiiiel viiiiel größere Drucker (Big 1000 von Modix und dergleichen). Dort geht man ja inzwischen bis hin zu Größen, die den Direktausdruck von z.b. Stoßstangen erlauben.

Ich habe jetzt in Z 3x Nema17 im Direktantrieb und das Bett wird total sauber gehoben und gesenkt. Hatte zuletzt angefangen die Endstops zu verkabeln. Du hast übrigens Recht, interessant wird auf jeden Fall die Abkühldauer der Platte.
Vom Gewicht her scheint es bei mir unproblematisch. Die Selbsthemmung bei 4mm Steigung KUS geht gerade noch.
Bei ausgeschaltetem Drucker sinkt noch nix runter, auch wenn alles drauf liegt, inklusive allem Druckbettzubehör und Werkzeugkasten, diversen Zangen etc. Also ich bin optimistisch.

Dein Thread ist natürlich für mich interessant. Werde dort weiterhin reinsehen. Ich lerne ja überall gerne dazu.

1-mal bearbeitet. Zuletzt am 08.07.21 09:25.
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
22. October 2021 14:31
Guten Abend,

Inzwischen ist einige Zeit vergangen und ich hatte auch wieder Lust und Zeit weiter zu machen.

Das Druckbett muss noch zu Ende montiert werden, der BL Touch noch verkabelt. Dann sollte die Grundkonfiguration fertig sein.

Es laufen alle Achsen und auch die Kommunikation funktioniert inzwischen wie sie soll.
Ich habe einen SBC (Raspi pi4) montiert und lasse darüber das WLAN laufen.

Das Homing der Achsen macht mir noch etwas Kopfzerbrechen.
Prinzipiell habe ich pro Motor einen Endstop. Das kann, laut Beschreibung, die Hardware auch verarbeiten.
Gleichwohl fehlt es mir hier noch an der Idee, wie ich diese in die Config korrekt einbinde.

Auf X gibt es einen Endstop. Der funktioniert auch.
Auf Y gibt es 2 Endstops, hier habe ich mit der Standardkonfig erstmal 1 eingebunden bekommen.
Auf Z gibt es 3 Endstops, da ja auch 3 Hebemotoren. Hier ist auch bisher nur 1 Endstop in der Software.

Kann mir hier jemand nen Tip geben, wie man diese korrekt einbindet? Bei den Motoren ist es ja recht simpel. Hab ich zwar auch nicht sofort gerafft, aber letztlich doch hinbekommen.

Wichtig ist ja vor allem die Einbindung der Z Achse fürs korrekte Leveln.

Tja, sonst gibt's beim Boardneustart immer wieder die Fehlermeldung vom Canbus fürs Erweiterungsboard. Das scheint aber ein Systemproblem zu sein oder ich hab's noch net gerafft. Beim direkten Start funktioniert alles korrekt. Bearbeitet man die Config und lädt dann alles inklusive Boardneustart hoch, kommt ne Fehlermeldung vom Canbus, es funktioniert aber trotzdem. Scheint also nicht so wichtig zu sein.

Was noch angebaut werden muss ist, wie gesagt, das Druckbett an sich. Das dürfte aber so kein Problem sein. Mal sehen wann ich Zeit habe.
Das Heizbett kommt ja per elektronischem Relais dran. Es ist ein 230V Heizbett. Die Erdung muss also zu allererst sitzen. Dann kann es bald los gehen.

Tja, was gibt's noch.... Die GUI bietet die Möglichkeit, Filamente zu definieren. Wofür das gut und sinnvoll ist.... Ich glaube es ist so ne Art komfortable Filamentwechselfunktion. Wenn man den Gcode dafür fertig hat, heizt die nozzle fürs neue Filament passend vor und entlädt oder lädt dann die neue Rolle in den Extruder. Na, mal sehen.


Edit: In Hafos Beitrag bzgl seines Umbaus habe ich wohl die Lösung gefunden bzgl der Einbindung der Endstops. Cool.

2-mal bearbeitet. Zuletzt am 23.10.21 03:07.
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
24. October 2021 13:38
Das mit den Endstops ist schön, und dass Du Dein Projekt hier fortführst ist noch schöner smileys with beer.
Beim CANbus kann ich Dir leider nicht helfen, da das Duet Wifi keinen hat.

Zum Filament:
Jup, ist nur ein Makro für einen Filamentwechsel (o.Ä.). Ein Plugin wie den Filamentmanager bei Octoprint gibt es noch nicht, es ist aber mWn ein entsprechendes Plugin entweder für DWC oder DSF auf dem Weg - da warte ich auch schon begierig drauf.

Grüße,
Julien


Wer rasiert mit mir KingKong? Der wichtigste Guide - Triffid Hunter's Calibration Guide


Drucker:
HyperCube EVO (Derivat) in 2502x300 - geschlossen für ABS - Duet2WiFi - Eigenbau Wasserkühlung
Eigenbau I3 - V6-Clon- Profilrahmen - Ramps 1.4 24V - TMC2208 - Simplify3D - Octoprint - Marlin 1.1.8
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
25. October 2021 03:43
Danke für die Info,

ich habe noch ein anderes Problem, vlt hat da noch jemand eine Idee.

ich hänge mal die config.g an. Vlt findet da jemand etwas.

Ich beschreibe mal, was ich derzeit nicht hinbekomme:

1. Wenn ich die Achsen referenzieren, also homen möchte, funktioniert dies nicht ganz so, we gedacht. Mit der hier geposteten Einstellung fährt die Y Achse zwar auf den in 0,0,0 befindlichen Microschalter und homed sich dort. Das funktioniert mit Y1 und Y2. Hoffe ich habe das prinzipiell richtig gemacht. Das Problem hierbei ist eigentlich nur, dass die 0,0,0 Position nicht als 0,0,0 erkannt wird, sondern als Y in Max, bei mir 350mm. Wenn ich nun die Achse umdrehe, also S1 und S0 bei der Fahrtrichtung der Y Achse vertausche (2 Stepper) dann fährt er erwartungsgeäß natürlich in die andere Richtung. Die Software nimmt nun an, dass der Nullpunkt der Y Achse auf der anderen Seite liegt und will die Achse dort nullen. Wie kann man das Softwaremäßig drehen? Oder muß ich vlt was umpinnen? Ich habe die Stepper alle gemäß Schema dran, also A+,A-,B+,B-

2. Wenn ich die Endstops (alle activ high, 3,3V auf in, beim Auslösen gegen In auf GND) als solche mit m574 definiere, wie unten gemacht, funktioniert dies bei x, klar, ist ja nur 1 Schalter. Bei Y, wenn er den Wagen in die gewünschte Richtung fährt, dies aber, wie oben erwähnt als y-max erkennt, fährt er in beide Endstops und referenziert sich zwar als falsche Seite, aber immerhin werden die Endstops beide erkannt und genutzt. Es klickt also 2 mal.
Auf der Z-Achse habe ich 3 Endstops (und 3 Stepper) für den oberen Anschlag. Diese habe ich versucht, als M574 Z1 Z2 und Z3 einzubinden. Wenn ich die Endstops per Hand drücke und M119 abfrage, sagt er mir bei jedem der Schalter, dass der Endstop ausgelöst sei. Gleichwohl, beim Referenzieren funktioniert es so, dass er einen Schalter auslöst und dann anhält. Es werden die beiden anderen Endstops also nicht mehr angefahren. Wie kann man das beheben? Das Bett muss ja nachher irgendwie grade werden.

Danke für eure Zeit.



; Configuration file for Duet 3 (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.2.3 on Thu May 13 2021 21:33:21 GMT+0200 (Mitteleuropäische Sommerzeit)

; General preferences
M575 P1 S1 B57600 ; enable support for PanelDue
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"duet3" ; set printer name

; Network
;M540 P192.168.0.220 ; set custom MAC address
;M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet

;Achsen duerfen sich vor homing bewegen
M564 S0 H0

; Drives
M569 P1.0 S1 ; physical drive 1.0 goes forwards das ist
M569 P0.0 S0 ; physical drive 0.0 goes forwards Y_rechts
M569 P0.1 S1 ;y links
M569 P0.2 S1 ; physical drive 0.2 goes forwards Z-rechts
M569 P0.3 S0 ;X Achse
M569 P0.4 S1 ;z hinten
M569 P0.5 S1 ;z links
M569 P1.1 S1 ; physical drive 1.1 goes forwards
M584 X0.3 Y0.0:0.1 Z0.2:0.4:0.5 E1.1 ; set drive mapping
M350 Z16 I1 ;Z Achse
M350 X16 Y16 E16 I1 ; configure microstepping with interpolation
M92 X160.00 Y80.00 Z800.00 E409.00 ; set steps per mm
M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X12000.00 Y12000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z40.00 E250.00 ; set accelerations (mm/s^2)
M906 X600 Y1300 Z1300 E800 I50 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout

; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X350 Y350 Z300 S0 ; set axis maxima

; Endstops
M574 X1 S1 P"!io6.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io6.in
M574 Y1 S1 P"!io1.in"
M574 Y2 S1 p"!io2.in" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin io1.in
M574 Z1 S1 P"!io3.in" ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin io3.in
M574 Z2 S1 p"!io4.in"
M574 Z3 S1 p"!io5.in"

; Z-Probe
M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
M557 X15:340 Y15:340 S20 ; define mesh grid

; Heaters
M308 S0 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp1
M950 H0 C"out3" T0 ; create bed heater output on out3 and map it to sensor 0
M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
M308 S1 P"temp0" Y"thermistor" T147100 B4138 ; configure sensor 1 as thermistor on pin temp0
M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S280 ; set temperature limit for heater 1 to 280C


; Fans
M950 F0 C"out7" Q500 ; create fan 0 on pin out7 and set its frequency
M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"out9" Q500 ; create fan 1 on pin out9 and set its frequency
M106 P1 S0 H-1 ; set fan 1 value. Thermostatic control is turned off

; Tools
M563 P0 D0 H1 F0 ; define tool 0
G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
25. October 2021 04:12
Hier noch ein paar Fotos.


Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
25. October 2021 13:44
Hallo, Stephan
Dein Drucker sieht sieht ja schon verdammt gut aus. Kannst du noch die Homing Files hochladen? Am besten nur die homeall.g, die anderen solltest du dann selbst anpassen können. Ich habe allerdings nur 2 Z Achsen. Keine Ahnung ob das auch so mit 3 funktioniert.
Du hast den M574 Befehl falsch eingestellt, schau bitte einmal das Beispiel vom Wiki an.

1-mal bearbeitet. Zuletzt am 25.10.21 13:59.


Gruass us dr Schwiiz
Hansjürg
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
25. October 2021 14:28
Hafo,

Danke für den Denkanstoss. Und ich freu mich, dass Dir mein Konstrukt gefällt. Ich hatte mich nach dem Script von Dir orientiert, aber lediglich das addieren der io. übernommen. Es muss vorher noch in m584 definiert sein, wieviele Motoren jeweils da sind. Das wird der Fehler sein. Ich schaue mir das morgen nochmal in Ruhe an. Hab die Woche ja viiiiel Zeit...

Klar, die homeing Files lade ich gerne mit hoch. Steht ja fast nix drin. Also nur das was dort vom rrs Programm rein kam.

Edit: in den Drive mappings oben steht der m584 ja schon mal drinnen. Wenn ich den hier jetzt nochmal davor setze, ähnlich wie da im Script beschrieben, führt das dann zu Problemen?

3-mal bearbeitet. Zuletzt am 25.10.21 14:32.
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
25. October 2021 14:46
Ich weiss nicht ob du mich richtig verstanden hast. Im Wiki steht
M574 Z1 S1 P"io2.in+io3.in"

Bei dir steht
M574 Z1 S1 P"!io3.in" ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin io3.in
M574 Z2 S1 p"!io4.in"
M574 Z3 S1 p"!io5.in"

Das kann nicht funktionieren.
M574 Z0 = kein Endstop
M574 Z1 = Endstop bei min
M574 Z2 = Endstop bei max
M574 Z3 = von dir erfunden, führt nur zu Problemen

Richtig wäre wahrscheinlich
M574 Z2 S1 P"io3.in+io4.in+io5.in"


Gruass us dr Schwiiz
Hansjürg
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
25. October 2021 15:28
Japp, das hatte ich verstanden. Ich hatte es ja auch bei Dir gesehen. Das mit dem Z1 Z2 Z3 war einer meiner Versuche, ob er dann alle Endstops nimmt. Wie gesagt, ich schau es mir morgen vormittag nochmal in Ruhe an. In der Beschreibung da im Wiki steht, zusätzlich zu der Definition per io1.in+io2.in(Beispiel) auch noch vorher ein m584 in der erst definiert ist, wieviele Endstops es pro Achse gibt, bzw wieviele Motoren.

Laut Beschreibung auf der für Homepage ist pro Stepper 1 Endstop möglich.

Das Ausrufezeichen kommt aufgrund der Einstufung als Activ High. Pullup bekäme z.b. den Pfeil nach oben davor. Hab ich im rff gesehen. Anders nimmt er den Endstop bei mir in keinem Versuch, sondern sagt dann, nicht vorhanden oder ausgelöst, je nachdem (bei nicht ausgelöstem Endstop). Geklemmt ist es so, dass 3.3V auf Io in liegen und wenn der endstop schaltet, Io in auf gnd geschaltet wird.

Das mit dem Z3 hat natürlich gar nicht funktioniert. Aber auch bei Addition von z.b. io1.in+io2.in für Y fährt er dann nur den ersten ausgelösten Endstop auf Y an, nicht alle beide zwecks gerade ziehen der Achse. Auf Z war es genau so. Daher eben diese Überlegungen mit Z1 Z2 Z3, die aber auch falsch sind. Ich schau es mir morgen nochmal an. Vlt muss ich auf Y ja die Stepper A- A+ mit b- b+ vertauschen, wobei ich mir das nicht vorstellen kann bei dem Duet3d.

2-mal bearbeitet. Zuletzt am 25.10.21 15:50.
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
25. October 2021 15:48
Um nochmal das mit dem m584 kurz zu erwähnen, laut Duet3d Wiki wird auf der von Dir verlinkten Wikiseite ganz unten erklärt, dass mit dem m584 die Endstops pro Achse definiert werden oder die Motoren. Das muss ich mir nochmal ansehen.

To use two Z motors using independent homing switches, declare two Z motors in M584, then declare two pins for Z endstops in a single M574 command. Example

M584 X0 Y1 Z2:3 E4
M574 Z1 S1 P"io2.in+io3.in" ; Z axis with two motors, individual min endstops, active high

The order of endstop switch pin names in M574 must match the order of Z motor driver numbers in M584. When homing Z, RRF3 homes the motors of the axis at the same time, independently to their defined endstops.

Wie gesagt, was mir hier nich ganz eingeht ist, dass m584 oben in der drivemap schon anders definiert ist, bzgl dessen, welcher Motor auf welchem Mainboardausgang sitzt. Und wenn ich den dann nochmal als Definition nutzen müsste, um festzulegen, wieviele Endstops es pro Achse gibt, mhm.

Das Script bzgl der Addition der Eingänge... Da gibt's irgendwo noch nen Trick. Wie gesagt, ich teste morgen und meld mich dann.

1-mal bearbeitet. Zuletzt am 25.10.21 15:49.
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
26. October 2021 01:16
Ich stehe gerade etwas auf dem Schlauch was du meinst.
Mit dem M584 werden die Motoreingänge definiert, und mit M574 die Endstops.falls die Motoren falsch herum drehen, kannst du das mit M569 ändern, oder die Stecker drehen.
Pro Achse gibt es bei M584 und M574 eine Zeile. (Du hast bei Y zwei, und bei Z drei Zeilen) Die Endstops musst du dann in derselben Reienfolge dort hinschreiben, wie vorher die Motoren damit die Zuweisung klappt.
Das mit den! Musst du natürlich beibehalten wenn es so funktioniert.

1-mal bearbeitet. Zuletzt am 26.10.21 01:24.


Gruass us dr Schwiiz
Hansjürg
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
26. October 2021 02:43
Moin,

Ich vermute in dem von mir da kopierten Beispiel von der Duet3d Homepage wurde der m584 Befehl nur noch einmal beispielhaft mit dazu gesetzt.

Ich habe gerade noch ne andere Überlegung bezüglich der y Achse. Dort arbeiten ja 2 Motoren jeweils anders herum. Also einer dreht linksläufig, einer dreht rechtsläufig. Dementsprechend ist es in der Drivermap eingestellt. Ich glaube hieraus resultiert mein Problem mit Y. Lasse ich die Motoren in der einen Richtung losspurten also mit S0/S1, erkennt die software, ah, er will von min nach max, fährt aber genau den falschen Weg. Drehe ich es um, erkennt er wieder, das die Wagen fahren, denkt aber sie fahren von max nach min, obwohl es genau anders herum ist. Jedenfalls fährt er die Endstops nur dann korrekt an, wenn das Fahrschema falsch herum ist. Daher resultiert dann vermutlich der Fehler der Endposition von +350mm anstatt 0mm in Y.

Wenn ich stumpf das Anschlussschema auf dem Board bei einem der Driver drehe, also A+ auf B- und so weiter, dann könnte das vlt ne Lösung sein. Dann könnte er softwaremäßig mit einer Einstellung arbeiten und müsste sich nicht jedes mal überlegen, welcher der Driver die Referenz für die Annahme von y min sei.

Ergibt das Sinn?

Alternativ, vermutlich wird der erste Driver in Y (bei Driveranschluss 0 und 1 also vermutlich der 0)als Referenz genutzt. Wenn ich die jetzt stumpf umstecke, könnte dass ja auch das Problem lösen.

Mal z aussen vor.

Jedenfalls könnte das so auch erklären, warum er in y mit Z1 und Z2 funktioniert, sprich der eine Endstop in min, der andere in max.

3-mal bearbeitet. Zuletzt am 26.10.21 02:48.
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
26. October 2021 02:58
Ich glaube nicht dass das der richtige Weg ist. Mach es bitte einmal so wie es im Wiki steht, poste die config und beschreibe was dann schief läuft.
Du schreibst ja selbst dass pro Motor nur 1 Endstop zugelassen ist, und mit deiner config definierst du einen min und einen max endstop.


Gruass us dr Schwiiz
Hansjürg
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
26. October 2021 04:37
Hallo,

also ich habe es jetzt mit der Addition nochmal probiert, da fährt er in die Endstops rein. Lasse ich die Invertierung weg ("!"), fährt er in die Endstops rein.

ich habe es jetzt so gemacht:
; Endstops
M574 X1 S1 P"!io6.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io6.in
M574 Y1 S1 P"!io1.in"
M574 Y1 S1 P"!io2.in" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin io1.in
M574 Z1 S1 P"!io3.in" ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin io3.in
M574 Z1 S1 P"!io4.in"
M574 Z1 S1 P"!io5.in"

Damit funktioniert das Nullen jetzt prinzipiell. Aber, sobald der erste der Motoren den Endstop auslöst, steht die Achse. Also die Motoren fahren nicht jeder einzeln bis zum Auslösen.
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
26. October 2021 04:38
; homeall.g
; called to home all axes
;
; generated by RepRapFirmware Configuration Tool v3.2.3 on Thu May 13 2021 21:33:21 GMT+0200 (Mitteleuropäische Sommerzeit)
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G1 H1 X-355 Y-355 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
G1 H2 X5 Y5 F6000 ; go back a few mm
G1 H1 X-355 Y-355 F360 ; move slowly to X and Y axis endstops once more (second pass)
G1 H1 Z-355 F360 ; move Z down stopping at the endstop
G90 ; absolute positioning
G92 Z0 ; set Z position to axis minimum (you may want to adjust this)

; Uncomment the following lines to lift Z after probing
;G91 ; relative positioning
;G1 Z5 F100 ; lift Z relative to current position
;G90 ; absolute positioning


Das wäre das Script von Homeall
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
26. October 2021 04:42
Wenn ich jetzt nach dem gehe, was dort im Wiki steht, würde die Notwendigkeit der Invertierung mittels "!" darauf hindeuten, dass meine Endstops "activ low" wären. Das kann aber nicht sein. Der Drucker gibt permanent die 3,3V auf den io.in des jeweiligen Anschlusses und schaltet bei Betätigung auf GND.



Zu dem anderen vorhin:
Beispiel aus dem Wiki

To use two Z motors using independent homing switches, declare two Z motors in M584, then declare two pins for Z endstops in a single M574 command. Example

M584 X0 Y1 Z2:3 E4
M574 Z1 S1 P"io2.in+io3.in" ; Z axis with two motors, individual min endstops, active high

Darum war ja auch meine Frage, ob man da den m584 nochmals nutzen soll, was ja quatsch wäre, denke ich - es steht dort wohl nur as zusammengefasstes Beispiel.
Dort sind in Z 2 Motoren mit eigenen Endstops. Dort steht ja auch, so wie du sagst, dass man es zusammen fassen soll. Wie gesagt, mache ich das, fährt der Drucker stumpf in die Endstops rein. Das verwirrt mich doch iwie.

1-mal bearbeitet. Zuletzt am 26.10.21 04:47.
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
26. October 2021 04:57
zum Thema Verkabelung der Endstops, hier ne Skizze, nicht das da ein Fehler liegt.



2-mal bearbeitet. Zuletzt am 26.10.21 06:37.
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
26. October 2021 06:51
So ist er aber aktiv auf low.
Hast du schon die Zustände mit M119 ausgelesen? Du kannst ja mal jeden Endstop von Hand betätigen und dann auslesen was passiert. So siehst du schnell wenn etwas nicht stimmt.
Falls du einen Multimeter hast, kannst du den einmal an die 3.3V hängen. Bei mir ist diese manchmal zusammengebrochen, ich benutze dort nun einen eigenen Stepdown.
Ich bin dann bis am Abend weg.

1-mal bearbeitet. Zuletzt am 26.10.21 06:56.


Gruass us dr Schwiiz
Hansjürg
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
26. October 2021 07:17
Ah ja, Danke Hafo


Mich hat es damals etwas verwirrt. Also das ist activ low. OK. Das erklärt Notwendigkeit dier Invertierung.

Bei den von mir genutzten Endstopschaltern ist mir dann aber unklar, wie man die auf aktiv high klemmen könnte ohne einen Kurzschluss zu bauen. Ein Durchgang ist ja immer geschaltet. Die Schalter sind übrigens als NO/NC deklariert, je nach Anschlussschema.

Klar hab ich ein Multimeter. Jeder Haushalt sollte mindestens 1 haben. Finde ich zumindest.
Also die 3,3V liegen stabil auf. Laut duet3dwiki soll oder darf die Spannung ja um 0,3V abfallen. Ich vermute, das hat mit der Widersandschaltung zu tun? Vermutlich ist mein Digitalmultimeter hier etwas langsam. Ich hab da jedenfalls nix grossartoge bemerkt beim Messen. Ein analoges Messgerät wäre hier vermutlich von Vorteil.

M119 nutze ich immer bevor ich die Motoren gegen die Endstops fahren lasse und taste vorher testweise händisch.
In der aktuellen config werden sie richtig erkannt und ausgewertet, aber bloss immer der jeweils erstauslösende als Stop für alle Stepper der Achse genutzt.

In dem anderen Varianten, ich hab vorhin mal verschiedene Verkabelungen probiert bzw in der config dann auch umgestellt, kam nichts sinnvolles zustande. Entweder hieß es, Schalter geschlossen oder erst gar kein Schalter vorhanden.

Jetzt nochmal kurz zum Thema Endstop. Activ high wird ja empfohlen, weil bei einer Kabelunterbrechung der Schalter als ausgelöst ausgewertet wird. Soweit richtig? Ich versteh nur nicht wie das funktionieren soll, wenn ja nur beim Tasten eine Spannung auf den Messeingang (Io) kommt. Normalerweise wäre es für mich logisch verständlich, dass so wie es jetzt ist ja ein Signal auf dem Io dauerhaft aufliegt und bei einem Kabelbruch dieses dann nicht mehr da wäre.
Wo ist hier mein Verständnisfehler?


Edit: wenn ich gemäß der Skizze 3,3V und gnd vertauschen würde, dann wäre activ high gegeben, richtig?
Nur wie erkennt die Maschine dann, wenn da ein Kabelbruch besteht? 0V - Kabelbruch bleibt doch 0V

5-mal bearbeitet. Zuletzt am 26.10.21 08:18.
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
26. October 2021 08:30
Hab eben nochmal drüber nachgedacht und erkenne jetzt den Fehler in der letzten Config.sys Durch das Aneinanderreihen der Endstops, z.B. bei Y meckert die Software zwar nicht, aber nur der letzte jeweils genannte Endstop wird als auslösender Schalter genutzt. Die anderen sind in dem Moment tot. Es muss also auf jeden Fall irgendwie in eine Zeile. Und vermutlich geht das tatsächlich alles nur, wenn ich die Belegung der Schalter ändere.

Erkenntnisprozesse sind etwas tolles....

Ich teste weiter.
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
26. October 2021 10:35
Soooooooo,

also Erfolg des heutigen Tages:

- Die Endstops sind jetzt wirklich activ high geklemmt, wie von Hafo erklärt. Danke.
- Die Endstops werden jetzt auch erkannt, wenn sie ausgelöst werden und das homen funktioniert auf x und y.
auf Y musste ich in der config.g die beiden io anders rum eintragen, damit es funktioniert.
M574 X1 S1 P"io1.in"
M574 Y1 S1 P"io4.in+io3.in"

In der Reihenfolge io3.in+io4.in fährt er mit dem "3"er weiter in den Endstop rein und hört nicht von allein auf, obwohl beide Endstops erkannt wurden als ausgelöst oder nicht ausgelöst(M119).

- auf z werden alle Endstops als Endstops erkannt, ABER die zuordnung zu den Drivern haut noch nicht hin. Hier komme ich auch gerade nicht weiter. Das dürfte den gleichen hintergrund wie bei Y haben. Woher weis das System, welcher Endstop zu welchem Motor gehört?
Logisch dann nicht verwunderlich, wenn die Motoren nicht aufhören, weil der Drucker ja nicht weis, welcher aufhören muss. Jetzt hatte ich überlegt, wenn man die IO Eingänge parallel zu den Driverausgängen belegt, ob das dann die Zuordnung bringt, also gemäß der Festlegung im M584. Aber das geht ja so schon nicht, weil ich ja den Monitor dran habe und der ist auf IO_0 und geht auch nur dort.

Was ich meine ist aber: M584 X0.3 Y0.0:0.1 Z0.2:0.4:0.5 E1.1

Z ist auf Driver_02, 04 und 05
Wenn ich jetzt die IO so belegen würde dass zu dem jeweiligen Driversteckplatz der zahlenmäßig passende IO gesteckt wäre, müste es dann klappen? Also in dem Beispiel IO2.in, IO4.in und IO5.in? Selbiges bei Y?
oder ist das Quatsch? Wie kann man die jeweiligen Driver sonst fest den Endstop IO zuordnen?


Also wenn dem so ist, müsste man wohl einfach die Achsen mit mehreren Motoren festen Plätzen zuordnen. Also z.B. Z auf driver_1:2:3 und dazu passend die IO1.in+IO2.in+IO3.in
Da das dann nur für 5 Motoren nötig wäre (Y und Z), bei X jedoch nicht, wäre es von der Zahl der Steckplätze her mit dem Mainboard möglich ohne auf das Erweiterungsboard umstecken zu müssen. Na mal sehen.

2-mal bearbeitet. Zuletzt am 26.10.21 11:20.
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
26. October 2021 12:33
Sehr gut wenn nun die Y Achse richtig läuft, zu den 3 Motoren bei Z sollte es ja keinen grossen Unterschied geben.

Quote
Stephan L.
Jetzt nochmal kurz zum Thema Endstop. Activ high wird ja empfohlen, weil bei einer Kabelunterbrechung der Schalter als ausgelöst ausgewertet wird. Soweit richtig? Ich versteh nur nicht wie das funktionieren soll, wenn ja nur beim Tasten eine Spannung auf den Messeingang (Io) kommt. Normalerweise wäre es für mich logisch verständlich, dass so wie es jetzt ist ja ein Signal auf dem Io dauerhaft aufliegt und bei einem Kabelbruch dieses dann nicht mehr da wäre.
Wo ist hier mein Verständnisfehler?


Edit: wenn ich gemäß der Skizze 3,3V und gnd vertauschen würde, dann wäre activ high gegeben, richtig?
Nur wie erkennt die Maschine dann, wenn da ein Kabelbruch besteht? 0V - Kabelbruch bleibt doch 0V
Das sollte ein Elektroniker beantworten, ich kann da nur raten.

Ich würde nicht das ganze Board umstecken. Kannst du nicht die Wellen von den Motoren abhängen und dann während dem homen die Endstops einzeln betätigen? So siehst du welcher Motor bei welchem Endstop stehen bleibt.


Gruass us dr Schwiiz
Hansjürg
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
26. October 2021 12:44
Ach ja klar, das wäre noch eine Idee. Probier ich morgen mal

Ich finde Foren generell toll. Zum einen gibts hier Denkanstöße oder richtig gute Hinweise wie von Dir, zum Anderen kann man einfach mal so vor sich hin schreiben und hat dabei den einen oder anderen Gedanken, der manchmal vlt nicht ganz verkehrt ist. Darum mag ich Foren. Und wenn dann noch jemand mitliest und das ein oder andere bestätigt oder verneint kommt man immer wieder weiter.
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
26. October 2021 17:23
Zum Thema Endschalter verdrahten:

Was Du möchtest, ist active LOW - das bedeutet, dass im Ruhezustand 3V3 auf dem IO-Pin anliegen und nur, wenn der Endschalter triggert ein LOW (also 0V bzw. GND) anliegen.
Wenn jetzt ein Kabelbruch o.Ä. eintritt, wird dies fälschlicherweise als gewolltes Schalten erkannt und die Achse gestoppt, das ist auch so gewünscht und kann einen Maschinenschaden verhindern.
Deine Skizze zeigt also korrekt active LOW und so sollte es auch verdrahtet sein.

/Julien


Wer rasiert mit mir KingKong? Der wichtigste Guide - Triffid Hunter's Calibration Guide


Drucker:
HyperCube EVO (Derivat) in 2502x300 - geschlossen für ABS - Duet2WiFi - Eigenbau Wasserkühlung
Eigenbau I3 - V6-Clon- Profilrahmen - Ramps 1.4 24V - TMC2208 - Simplify3D - Octoprint - Marlin 1.1.8
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
27. October 2021 02:43
Hallo,

danke für die Info. :-).
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
27. October 2021 06:51
Bezüglich der Endstops, ich habe das jetzt über Hafos Tip mit dem Abhängen der Achsen gelöst und dann einfach die Endstopstecker durchgetauscht, bis es gepasst hat. Super. Wieder einen Schritt weiter. Homen geht also auf allen Achsen jetzt korrekt.

Hier nochmal der aktuelle Endstand der Config.g

; Configuration file for Duet 3 (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.2.3 on Thu May 13 2021 21:33:21 GMT+0200 (Mitteleuropäische Sommerzeit)

; General preferences
M575 P1 S1 B57600 ; enable support for PanelDue
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"duet3" ; set printer name

; Network
;M540 P192.168.0.220 ; set custom MAC address
;M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet

;Achsen duerfen sich vor homing bewegen
;M564 S0 H0

; Drives
M569 P1.0 S1 ; physical drive 1.0 goes forwards das ist
M569 P0.0 S0 ; physical drive 0.0 goes forwards Y_rechts
M569 P0.1 S1 ;y links
M569 P0.2 S1 ; physical drive 0.2 goes forwards Z-rechts
M569 P0.3 S0 ;X Achse
M569 P0.4 S1 ;z hinten
M569 P0.5 S1 ;z links
M569 P1.1 S1 ; physical drive 1.1 goes forwards
M584 X0.3 Y0.0:0.1 Z0.2:0.4:0.5 E1.1 ; set drive mapping
M350 Z16 I1 ;Z Achse
M350 X16 Y16 E16 I1 ; configure microstepping with interpolation
M92 X160.00 Y80.00 Z800.00 E409.00 ; set steps per mm
M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X12000.00 Y12000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z40.00 E250.00 ; set accelerations (mm/s^2)
M906 X600 Y1300 Z1300 E800 I50 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout

; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X350 Y350 Z300 S0 ; set axis maxima

; Endstops
M574 X1 S1 P"io1.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io6.in
M574 Y1 S1 P"io4.in+io3.in" ;Y rechts io4 und Y links io3
M574 Z1 S1 P"io5.in+io6.in+io2.in" ;io5 ist z2, io6 ist z3, io 2 ist z1

; Z-Probe
M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
M557 X15:340 Y15:340 S20 ; define mesh grid

; Heaters
M308 S0 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp1
M950 H0 C"out3" T0 ; create bed heater output on out3 and map it to sensor 0
M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
M308 S1 P"temp0" Y"thermistor" T147100 B4138 ; configure sensor 1 as thermistor on pin temp0
M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S280 ; set temperature limit for heater 1 to 280C


; Fans
M950 F0 C"out7" Q500 ; create fan 0 on pin out7 and set its frequency
M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"out9" Q500 ; create fan 1 on pin out9 and set its frequency
M106 P1 S0 H-1 ; set fan 1 value. Thermostatic control is turned off

; Tools
M563 P0 D0 H1 F0 ; define tool 0
G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C



Ich denke als nächstes kümmere ich mich ums Druckbett und die Bettheizung. Danach dann um die Z-Probe.

2-mal bearbeitet. Zuletzt am 27.10.21 06:54.
Re: Projekt One - Mein erster selbst konstruierter und gebauter 3D Drucker
27. October 2021 14:02
Gratuliere, die Heizung sollte kein Problem geben. Vor der Z Probe würde ich aber etwas drucken und mir überlegen ob es nicht ohne geht. Ich habe es auch eingebaut und viel Zeit damit verschwendet, aber ausser dass das leveln des Betts etwas schneller geht sehe ich keinen Vorteil, und so häufig muss man das nicht machen. Je nachdem welche Oberfläche du bedrucken möchtest, empfehle ich eher die abschleifmethode.


Gruass us dr Schwiiz
Hansjürg
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen