Datensammlung Snapmaker J1 für eigene Elektronik

  • So - das Pinout ist fertig - und es gibt wohl keine richtig ernsten Bremsen für einen Umbau auf eine Duet, auch wenn man an der Leiterplatte im Druckkopf ein wenig wird herumbasteln müssen.

    Aufgrund der Uhrzeit erstmal nur ein Link: https://www.mechanotronikum.de…-konfigurationsdaten.html


    Über Ostern stelle ich das dann auch hier rein.


    Für diejenigen, die an der Adapterhülse für den Hotendumbau verzweifelt sind, habe ich seit heute übrigens zwei Paar abzugeben - ich mußte mir eh welche für mein zweites Paar Hotends drehen und habe dann halt den Rest des Materials noch verschafft.


    Da ich eigene Versuche gegenüber "hinsetzen und jammern" grundsätzlich honoriere, werden diejenigen bevorzugt, die es nachweislich selber probiert haben, sich welche zu basteln - Details per PN.

  • Klasse Arbeit.


    Rein Interessehalber: Könnte man mit den Informationen auch einfach Klipper auf das vorhandene Mainboard flashen?


    Mit der Hardware ist ja eigentlich nichts falsch, ausser dass Snapmaker den Daumen drauf hat.

    Da würdest Du noch einige weitere Sachen herausfinden müssen, zum Beispiel wie Du mit Klipper die speziöse Temperaturmessung oder die Kalibrierroutinen implementieren kannst oder ob es da noch weitere Spezialitäten im Controller gibt, die Du beachten müßtest. Das ausgelesene M503 gibt ja nur die "üblichen" Konfigurationsdaten aus - an jegliche speziellen Anpassungen wie z.B. die M2000er-Kommandos zum "schnellen Wechseln der Hotends" kommt man nicht dran. (Stört mich aber wenig - bei einer Duet ist das ein simples Conditional-Gcode-Makro...)

    Und das Display würdest Du dann ebenfalls rauswerfen müssen - an dessen Code kommst Du nämlich nicht dran... außer Miq19 schafft es, die Kommunikation zum Display hin so weit auseinanderzudröseln, daß Du Dir dafür dann eine Routine oder gar ein eigenes Android basteln könntest.


    Generell verstehe ich aber eh nicht so recht, warum Snapmaker ausgerechnet Marlin für den Drucker benutzt. Mit der RepRapfirmware der Duet hätten sie es sich sparen können, dem diesbezüglich ziemlich unfähigen Marlin erst ihre Spezialbefehle beibiegen zu müssen - und mit Klipper hätten sie meines Wissens eine vernünftige Multiprozessorfähigkeit gehabt.

    Einmal editiert, zuletzt von Mechanikus ()

  • Ich schätze ein Duet-Mainboard liegt im Preis eher höher als ein neues 5" Touch Display.


    Aber wenn Du Funktionen der RepRapFirmware nutzen kannst/willst ist das wahrscheinlich weniger Aufwand.


    Zu Marlin schätze ich, dass Snapmaker damit 2016 angefangen hat und sie viel Erfahrung damit haben. Freiwillig tut man sich einen Systemwechsel nur an wenn man alle Systeme kennt und sie beurteilen kann.

    Creality verkauft die Sonic Pads ja auch nur weil Klipper gerade in Mode ist und als Fortsetzung des BLTouch. Die haben das Pad wahrscheinlich komplett zugekauft.

  • Ja gut, die Duets sind gut und stockzuverlässig, aber relativ teuer, das stimmt. Eine Mini kostet grob 150€, eine 6HC nochmal einen Hunderter mehr, wenn man nicht gerade einen Klon nimmt, und das will ich nicht. Da ist der Raspi für das Webinterface und das zusätzliche Display (wenn Du weißt, wie Du es anschließt) problemlos drin.


    Aber bei der Duet trifft auf mich dasselbe zu wie Du es beim Marlin vermutest: die kenne ich, die mag ich - beispielsweise hätte ich keine Ahnung, wie zum Teufel ich in Klipper die XY-Kalibrierroutine (und die will ich behalten!) nachbauen sollte, bei der ja zwischenzuspeichernde Variablen und Berechnungen im Spiel sind.


    Und was mein Neo in den letzten 6 Jahren durch die kostenlosen Firmwareupdates so an Zusatzfunktionen erhalten hat, rechtfertigt auch den Preis. Das hat sich der Hersteller einfach verdient.

    Einmal editiert, zuletzt von Mechanikus ()

  • Aufgrund der Uhrzeit erstmal nur ein Link: https://www.mechanotronikum.de…-konfigurationsdaten.html


    Über Ostern stelle ich das dann auch hier rein.

    So, jetzt sitze ich wieder an einem richtigen Rechner, also hier nochmal direkt das fertige Pinout des Controllers:


    Wichtige Anmerkungen zusammengefaßt, um Lesern den Umweg über meine Homepage zu ersparen:

    • Der Prozessor des Controllers entspricht dem einer Duet 3 Mini, kümmert sich aber nur um den Druckvorgang. Alles andere erledigt der Android-Rechner im Display - was dann auch die Hänger des Druckers erklärt (Beispiele für nicht abgefangene Fehler: einfach mal ein Hotend aufheizen und während das noch in der Aufwärmphase ist ein Homing der Achsen versuchen... oder ein Homing starten, während der linke Extruder ganz rechts steht und den rechten blockiert)
    • Die Filamentsensoren sind in Wirklichkeit Servopotentiometer. Optimistisch gerechnet (keine Retracts, maximale Lebensdauer eines guten Murata-Servpotis angenommen) sind die nach grob 140 1kg-Rollen durch. Da hätte ich mir beim massiven mechanischen Aufbau des J1 was mit einer längeren Lebensdauer gewünscht. Positiv: Masse und 3,3V sind direkt vorhanden - es spricht also nichts dagegen, da z.B. einen kleinen Magneten und einen Reedkontakt oder Hallsensor einzubauen.
    • Endstops und Motoren sind 1:1 kompatibel mit der Duet.
    • Die Temperatursensoren liegen leider mit auf der Digitalmasse, das mag die Duet weniger. Beim Heizbett ist das akzeptabel, beim Hotend sollte man das trennen. Dafür bietet sich die Leitung der Düsendurchmesserkennung an, die außer der netten Anzeige nichts erkennbares tut - und die Duet unterstützt das eh nicht.
    • Die Kühlerlüfter (und nur die) werden ebenfalll "falsch herum" geregelt und teilen sich die Masseleitung mit dem Temperatursignal und dem Filamentsensor. Damit kommt die Duet nicht klar, aber man kann es ebenfalls umbauen. Neue Leitungen vom Druckkopf zum Controller ziehen muß man nicht!
    • Der J1 besitzt eine kleine Wandlerelektronik für die Temperatursensoren im Hotend - die wandeln den Widerstandswert des PT100 in ein Spannungssignal um. Das muß man für einen anderen Controller ändern.

    Also etwas Bastelei, aber kein Showstopper. Der Entwickler der Duet hat mir auch schon bestätigt, daß er keine Hindernisse im Umsetzen der Kalibrierroutinen der Duet mit dem Conditional GCode der RepRapfirmware sieht.


    Duet, ich komme :love:


    Edit: laut Duet-Team kommt auch bald ein WLAN-Modul für die Duet 3 6HC raus - mit externer Antenne. Genau das hat für den J1 noch gefehlt.

  • Hier ein kleines Update zum Thema "J1 mit Duet":


    Die Anschlüsse einer Duet 3 6HC kriegt man mit den Komponenten des J1 ganz gut voll! Aber sie reicht. Wer Interesse an einer (noch unfertigen!) Config.pro hat: einfach Bescheid sagen.


    Folgende Knackpunkte sind weiterhin vorhanden:

    • Vorverstärkte Temperatursensoren im Hotend: hier könnte der Beitrag https://forum.duet3d.com/topic…des-amplification-circuit im Duet-Forum interessant sein. Dank der Marlin-Sourcen von Snapmaker sind ist auch die Kennlinie des Ausgangssignals verfügbar, und die sieht erfreulich linear aus. Das muß also sehr wahrscheinlich nicht umgebaut werden.
    • Kühlerlüfter: siehe Post über diesem, da kommt man wohl nicht drum herum.
    • Filamentsensoren: die analogen Signale der originalen Filamentsensoren des J1 sind nicht kompatibel zur Duet - die kommt nur mit digitalen Werten klar. Mögliche Lösungen:
      • Umbau der Filamentsensoren auf Magnete und Hallsensoren
      • Ersatz durch normale Anbau-Filamentsensoren
      • Verwendung z.B. eines Arduino Nano, um die Werte der Filamentsensoren in das digitale Format des Duet-Filamentmonitors umzuwandeln.
      Da ich meinen mechanischen Fähigkeiten mehr traue als meinen Programmierkenntnissen, wird es bei mir wohl Option 1 werden - wenn man 12 Magnete mit 1mm Durchmesser in das Messingrad Filamentsensors klebt und da einen digitalen unipolaren Hallsensor drunterlegt, erhält man alle 4mm Filament einen Impuls, wenn meine Simulation richtig ist.
    • LED-Streifen: kann über einen freien Lüfterausgang ebenfalls wie gehabt angesteuert werden, man benötigt jedoch einen passenden Vorwiderstand.
    • Hotenddüse als Z-Sensor: auch bei einem Kurzschluß des Hotend-Heizers gegen das Gehäuse überlebt der Controllereingang, da die Input-Pins der Duet als "30V-tolerant" spezifiziert sind. Allerdings dürfte es einen hübschen Funken geben, wenn in diesem Fall dann der Kontakt zur Massefläche auf dem Druckbett hergestellt wird, bevor es die 7,5A-Sicherung auf der Duet zerlegt. Besser ist es, die Masseleitung des Bett-Temperatursensors zu trennen und dann die Masse der Kontaktflächen mit einer zusätzlichen Strombegrenzung zu versehen.
      Achtung: Dieser Fall könnte übrigens beim originalen Controllerboard des J1 zu ernsten Problemen führen - Sicherungen sind da nämlich, wenn ich nichts übersehe, gar keine vorhanden!


    Eine FYSETC-PanelDue (ich mag die Chinesen nicht besonders, aber leider sind die originalen PanelDues zu groß) kriegt man mit nur minimaler Nacharbeit an den J1 dran - seitlich max. 1mm an den Türausschnitten für das Display wegfeilen sollte reichen. Wer das nachmachen will, hier ist schon mal ein passendes Displaygehäuse: https://www.myminifactory.com/…or-fysetc-paneldue-297651

    Einmal editiert, zuletzt von Mechanikus ()

  • Für den Filamentsensor täte es auch ein ATtiny85, denke ich. Du hast mal geschrieben, dass da ein Endlospoti drin steckt. Dann hat man je nach Drehrichtung einen steigenden oder fallenden Sägezahn. Was soll denn da digital herauskommen? "Dreht sich" oder nicht, egal, welche Drehrichtung? "Dreht sich schnell genug"? "Dreht sich vorwärts"? Welche Spannung liegt da an - 24V? Da braucht man auf jeden Fall einen Spannungsteiler vor dem Analogeingang. Linearität dürfte Wurscht sein, du willst ja nicht die exakte Feedgeschwindigkeit ermitteln.

  • Für den Filamentsensor täte es auch ein ATtiny85, denke ich. Du hast mal geschrieben, dass da ein Endlospoti drin steckt. Dann hat man je nach Drehrichtung einen steigenden oder fallenden Sägezahn. Was soll denn da digital herauskommen? "Dreht sich" oder nicht, egal, welche Drehrichtung? "Dreht sich schnell genug"? "Dreht sich vorwärts"? Welche Spannung liegt da an - 24V? Da braucht man auf jeden Fall einen Spannungsteiler vor dem Analogeingang. Linearität dürfte Wurscht sein, du willst ja nicht die exakte Feedgeschwindigkeit ermitteln.

    Richtig, die Dinger haben ein kleines Servopoti drin, das zwischen ca. 10 und 350° eine linear ansteigende Spannung liefert (d.h. ein Sägezahn pro Umdrehung). Einfach mit einem Komparator den Sägezahn in Low/High wandeln reicht also nicht, das gäbe nur alle 50mm einen Puls.


    Die Duet versteht aber nur entweder Filamentsensoren, die einen Impuls alle x mm ausgeben, oder aber die Übertragung des Duet Filament Monitors, der die analogen Eingangswerte nimmt und daraus 16-Bit-Werte nach generiert und an die Duet sendet. Details zum Protokoll stehen hier: https://docs.duet3d.com/Duet3D…g_Magnet_Filament_Monitor


    Ob man nun eine Übersetzungselektronik reinbaut oder den Sensor umbastelt, beides hat seine Vor- und Nachteile. Der Umbau auf Hall ist auch für andere Elektroniken geeignet und löst nebenher das Problem mit der doch recht begrenzten Lebensdauer des Schleifkontakts im Poti, benötigt aber eine gut ausgestattete Werkstatt, weil man 12 Bohrungen in gleichmäßigen Winkelabständen in das Sensorrad kriegen muß. Eine nachgeschaltete Übersetzungelektronik ist für einen fähigen Programmierer (also nicht mich, meinen letzten Atmel habe ich im letzten Jahrtausend programmiert ;) ) sicher einfacher umzusetzen, löst aber das Verschleißproblem nicht und man bräuchte zwei verschiedene Programme - einmal fürr die Duet und einmal eine möglichst gleichmäßige und damit durch die ca. 20° toten Winkel begrenzte Impulsausgabe.


    Snapmaker hat die Logik für diese Sensoren nebenbei auch nachträglich ins Marlin reingebastelt.

    Einmal editiert, zuletzt von Mechanikus ()

  • Hallsensor ist sicher besser, vor allem wegen des blinden Flecks des Potis. Eigentlich müssten zwei Magnete auf 0 und 120 Grad Winkel reichen, mit dem Hallsensor auf 240 Grad, oder? Dann sollte sich am Feldstärkeverlauf die Drehrichtung und Position ermitteln lassen. Natürlich nur, wenn das Ding sich auch dreht...

  • Bei der geringen Bauhöhe wären es vermutlich mindestens mal drei Magnete über 120° verteilt am Rad angebracht - feststehende Magnete, deren Feld dann nur vom Rad umgelenkt wird wie vermutlich von Dir angedacht geht hier nicht (Messing... und extra Bleche stanzen oder lasern wollte ich jetzt nicht, wenn ichs vermeiden kann ;) ). Aber meine Idee ist eher, einen Hallsensor mit Digitalausgang zu nehmen, der direkt die nötigen Impulse liefert, wenn ein Magnet drüberwandert. Das spart jegliche weitere Auswerteelektronik und paßt somit in das kleine Gehäuse des Sensors rein.

  • Das mit den vorverstärkten Temperatursensoren des Hotends klappt schon mal. Der Code dafür ist:

    Code
    M308 S[Sensornr.] P"[Pin-Name]" Y"linear-analog" A"[Sensorname]" F1 B-121.551 C549.644

    Also z.B. M308 S1 P"temp1" Y"linear-analog" A"T_Hotend1" F1 B-121.551 C549.644


    Damit liegt das Hotend unter 100°C zwar ziemlich daneben, aber im relevanten Temperaturbereich paßt es sehr gut:


    5 Mal editiert, zuletzt von Mechanikus ()

  • So langsam wächst hier was vorzeigbares, trotz ausgiebigem Störfeuer vom Rest des Lebens. Bevor mich hier noch jemand des Gackerns ohne Eier zu legen bezichtigt, hier mal ein kleiner Teaser vom aktuellen Stand. Mechanisch paßt die Sache seit heute schon mal (abzüglich der rechten Blende und einer Blindkappe für den vorderen USB-Port), auch wenn die Kabel natürlich noch nicht so ordentlich liegen wollen wir ich es gern hätte...


  • GEWONNEN!!

    Ich kann Vollzug melden: der J1 läuft seit heute mit der Duet - inklusive der Kalibrierroutinen. Endlich ein anständiges Webinterface und Zugriff auf alles :S


    Jetzt ist die Frage, ob ausreichend Interesse besteht, daß ich das hier mal zusammenfasse.

    Man muß - abgesehen von den üblichen Adapterkabeln, die eine Elektronikänderung so mit sich bringt (hier zusätzlich mit ein paar Kondensatoren, Dioden und Widerständen garniert, um Funktion und Sicherheit zu verbessern) - immerhin ein weiteres Loch in das Druckergehäuse bekommen, an den beiden Hotendplatinen eine Leitung auftrennen und umlöten und die seltsamen Filamentsensoren des J1 entweder auf Hallsensoren umbauen (Vorteil: dann halten sie wenigstens auch auf Dauer) oder sie mit z.B. einem Arduino auswerten...

  • Miq19 Dank Dir :) Jetzt steht einem künftigen weiteren Umbau (z.B. Sensoren für ein anständiges Mesh Leveling) nichts mehr im Wege - als erste kleine Optimierung neben einem auf meine bevorzugten Druckgeschwindigkeiten angepaßten Input Shaping hat er gleich mal ein Makro zum Fett-Verteilen in den Linearführungen bekommen. Weiteres folgt dann nach Bedarf - *jetzt* kann man ja an alles dran...


    Zur Doku: Ich bin eh erstmal damit beschäftigt, die Sache für mich selber festzuhalten - schließlich will ich nicht dumm aus der Wäsche gucken, wenn ich in x Jahren mal wieder grundlegend da dran will oder einen Fehler suchen muß. Das kann ich Dir auf jeden Fall problemlos geben, wenn es fertig ist.

  • Hi Mecha,


    Ich verfolge deine Beiträge seit geraumer Zeit da meine Probleme am J1 immer

    mehr werden.

    Der Umbau von Dir klingt vielversprechend und Ich warte scho auf

    sehnsüchtig auf deine Doku.


    Im voraus schon mal großen dank für deine Leistung :thumbup:

  • Alchi83 Danke für die Vorschußlorbeeren, aber nur zur Sicherheit:

    den Elektronikumbau empfehle ich nur denen, die mit der Mechanik des Druckers wie ich grundsätzlich zufrieden sind, denen aber die Einschränkungen und Fehler der Elektronik auf den Senkel gehen.


    Wenn Dein J1 also an schlecht geschmierten und dadurch defekten Linearachsen leidet oder sowas, dann nutzt Dir auch eine Duet da drin nichts - das muß klar sein, so viel bringt ein freier Zugriff auf die netten digitalen Hilfsmittelchen wie Pressure Advance und Vibration Compensation nicht.

    Wenn Du aber z.B.

    • daran verzweifelst, den Drucker mit z.B. einem Raspi mit Klipper o.ä. zu verbinden, um ihn besser übers Netz zugänglich zu machen,
    • statt Luban einen besseren und offenen Slicer damit nach Deinen Wünschen vernünftig zum Laufen kriegen und ggf. Funktionen nutzen möchtest, die dem J1 heute fehlen, wie z.B. ein firmwaregesteuertes Retract oder eine Filamentverwaltung auf dem Drucker selbst
    • die automatischen Kalibrierfunktionen nach Deinen Wünschen ändern oder problemlos manuell nachkorrigieren können willst
    • dem J1 zusätzliche oder andere Sensoren zu verpassen planst
    • oder wie ich einfach die Nase gestrichen voll davon hast, Dich einerseits mit dem hübsch designeten, aber unpraktikablen Touchdisplay des J1 herumzuärgern und andererseits für einen Druck immer mehrfach zum Drucker in die Werkstatt zu latschen (z.B. anschalten und Filament laden bzw. gucken was wo drin ist - zum PC und Teil slicen und hochladen - Fehler finden, fluchend zum Drucker dackeln und das Teil wieder löschen - zum PC und den Fehler beheben - zum Drucker dackeln und und das Bett vorheizen - zum PC latschen und das Teil hochladen - zum Drucker laufen und feststellen, daß der smuploader nicht funktioniert hat - zum PC und erneut hochladen - zum Drucker latschen und den Druck starten...),

    dann ist der Umbau zu empfehlen ;)


    Ansonsten noch als allgemeine Vorwarnung: ich nutze die Mirror- und Copyfunktion meines J1 überhaupt nicht. Man findet zwar im Duet-Forum Anleitungen, wie man das mit einer Duet problemlos umsetzen kann (zusätzliche Werkzeuge dafür definieren und die Achsen entsprechend mappen), aber das fehlt bei meiner Konfiguration und wird vermutlich auch noch länger fehlen.

    Der Rest läuft dagegen bisher bei mir mit den bisher gedruckten Testteilen (Temptower, Retract-Muster etc...) so problemlos wie mit den noch bekannten Bugs der v3.5.0rc1 der RepRapFirmware zu erwarten, sieht halt nur entsprechend der textfokussierten Ausgabe der PanelDue anders aus. Die Kalibrieranzeigen sind beispielsweise als ASCII-Art mit dem Nachrichtensystem der Duet nachgebaut und zeigen zwischendrin den gemessenen Abstand in Millimetern mit drei Nachkommastellen an.

    Was ich aber bisher spannend finde, ist um wieviel kühler die Stepper mit der Duet bleiben, obwohl ich die Stromvorgaben 1:1 aus Marlin übernommen und nur im Interesse meines armen Arbeitstisches die zulässigen Maximalbeschleunigungswerte um 10% reduziert habe. Da ist mir ehrlich nicht ganz klar, ob das zufällig an den Teilen liegt oder ob die für deutlich mehr Wumms ausgelegten Treiberbausteine der Duet da einen Unterschied machen.

Disclaimer:
*Externe Links enthalten Affiliate Daten. Wird über diese Links etwas bestellt, erhalten wir eine kleine Provision, Euch kostet es nichts Extra.
**Als Amazon-Partner verdienen wir an qualifizierten Verkäufen.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!

Ungelesene Themen

    1. Thema
    2. Antworten
    3. Letzte Antwort
    1. Was druckt ihr gerade? Zeigt Mal her! 10k

      • Relaxo
    2. Antworten
      10k
      Zugriffe
      1,2M
      10k
    3. Steffen78NRW

    1. 3D-Druck - Aluminium-CNC-Alternative? 26

      • TJF
    2. Antworten
      26
      Zugriffe
      652
      26
    3. Uwe

    1. Rutschfestes Filament 5

      • debugger
    2. Antworten
      5
      Zugriffe
      64
      5
    3. 3D-Designer

    1. Qidi Q1 Pro & Serie 3 wo bestellen? 146

      • Stephan
    2. Antworten
      146
      Zugriffe
      12k
      146
    3. 3D-Designer

    1. Filament in der Farbe Blau-Grau gesucht 2

      • Whity
    2. Antworten
      2
      Zugriffe
      32
      2
    3. Uwe