GPIO im Klipper Steuern

  • Hallo Zusammen,

    ich habe folgendes Problem.

    Ender3 V2 (4.2.7 Hardware 32 Bit),

    Raspberry 4 2GB,

    7" Display,

    Neuste Klipper SW installiert.

    Ich möchte, wenn der Druck zuende ist den RPi Port 17 auf Low Schalten, denn daran hängt ein Relais (230V) dran das parallel zum Netzschalter.

    So das sich alles Abschaltet.

    Also beim Start des Druckes GPIO 17 auf Hi (z.B. Startcode), dann kann man de Hauptschalter Ausschalten (da das Relais ja ein ist,

    bleibt der Drucker an) und wenn der Druck zuende ist GPIO 17 auf Low (Endcode).

    Er zieht sich also den Stuhl unter dem Hin. weg.

    Ich finde niegendwo eine vernünftige Erklärung wie man sowas machen kann. Mit PWM habe ich was gefunden, ich möchte aber nur Hi und Low.

    Es wäre schön wenn mir da jemand helfen könnte.

    Danke im Vorraus.

    Gruß Ulrich

  • Fritz

    Approved the thread.
  • Mal aus meinem VZBot Setup:

    moonraker.conf

    Code
    [power Printer]
    type: gpio
    pin: gpiochip0/gpio17
    off_when_shutdown: True
    restart_klipper_when_powered: true
    initial_state: off

    In printer.cfg:

    Code
    [gcode_macro POWER_OFF_PRINTER]
    gcode:
      {action_call_remote_method("set_device_power",
                                 device="Printer",
                                 state="off")}

    Und im GCode dann POWER_OFF_PRINTER aufrufen.


    Allerdings kannst du soweit ich weiß keinen GCode ausführen, solange Klipper nicht verbunden ist, d.h. du wirst vermutlich händisch anschalten müssen bzw. in Fluidd oder Mainsail oben rechts über das Power Icon, das man zuschalten kann.


    Du solltest außerdem eine Verzögerung einbauen. Wenn der Drucker sofort abgeschaltet wird, ist auch die Kühlung aus und der Hotendkühler heizt sich auf, da kann dir PLA drin verstopfen.

  • Guten Morgen,

    das ich nach dem Start des druckes dann von Hand Ausschalten muss ist klar, aber ok.

    Dein prog. ist klar, aber was muss man dann im Endcode vom Cura als Befehl Eintragen?

    Gruß Ulrich

  • hallo Zusammen,

    ich habe noch ein weiteres Problem mit dem Betriebssystem Klipper.

    Klipper selbst geht.

    Jetzt möchte ich gerne noch den Bewegungssensor ADXL345 Installieren, was mir bis jetzt nicht gelungen ist. Es kommt immer die Fehlermeldung Kabel oder Belegung defekt.

    Den Sensor habe ich gesondert mit einem Arduino UNO getestet und ist OK.

    Ich habe diverse Beschreibungen versucht.

    Folgende Geräte verwende ich, Ender3 V2 pro (32Bit), Raspi 4 2GB, ADXL345.

    Vielleicht kann mir jemand einen gute Tipp geben.

    Gruß Ulrich

  • Du flashst Klipper direkt als HEX Datei auf den Nano, da gibt's keine INO Datei. Bitburner für Windows funktioniert dafür, oder halt AVRDude. Die angehängte Datei sollte direkt flashbar sein auf einem Nano. Sobald geflasht ist, an den Pi hängen, USB Port rausfinden (/dev/ttyUSB1 z.B.), und in printer.cfg eintragen:


    Code
    [mcu arduino_nano_adxl]
    serial: /dev/ttyUSB1
    baud: 250000
    restart_method: command



    Alternativ, und vermutlich die schnellste und einfachste Methode, ist einen RP2040 [advertisement] o.ä. zu nehmen.


    Ich hab keine Ahnung, wo du die Anleitung her hast, aber der offizielle Klipper Weg sagt nix vom irgendwelchen Scripts, die rumkopiert werden sollen (was bei dir ja schief geht).

  • habe mal angefangen Deine Daten zu Installieren.

    Es kam dann auch ein Fehler. Siehe text-ADXL345 Datei

    Ja, da gibt's offenbar einen Bug in Bullseye Linux, wodurch das File zu groß wird. Das File, was ich angehängt habe, sollte direkt gehen, dann musst du nicht kompilieren.

  • So, ich habe den HEX-File entpackt und über USB mit dem Prog. XLoader in den Nano programmiert.

    Dann eine Karte mit Klipper fertig gemacht, die printer.cfg im Menü Maschine drauf kopiert.

    Der Klipper läuft.

    Dann den Include [include adxl.cfg] in printer.cfg eingefügt und die Datei "adxl.cfg" rein kopiert.

    Dann sagt er könne sich nicht mehr mit dem Printer verbinden.

    Die Rx LED am Nano blink, aber die Tx nicht. Es sieht also so aus als ob der Raspi den Nano Abfragt aber nich Antwortet.

    Was mache ich Falsch ???

  • Hast du nachgeschaut, ob es bei dir auch wirklich ttyUSB1 ist?

    Kann auch je nach Zahl der Geräte ttyUSB0 oder 2 sein.

    Und bitte auch das klippy.log mal anhängen, falls es damit auch nicht geht.

    Edited once, last by Arakon ().

  • Entschuldige das ich Dir vieleicht den Nerv geraubt habe.

    Wenn ich Dir sage das war ein Fall für sich.

    Ich hatte heute noch mal alles neu Programmiert, die Kabel nachgesehen, ob Schluß untereinander und und. Dann habe ich mir die Platine mal unter dem Microskop angesehen und mir ist aufgefallen das Seitlich ein wenig vom Pat des Chips raus kam. Habe dann Nachgelötet, aber ohne Erfolg. Dann habe ich den Chip mit Heißluft runter geholt. Da kam das Elend zu Tage. Bei der Produktion haben sie das Chip beschädit. Es wurde ein Pat abgerissen. Ich kenne mich so ein bischen aus, habe die Dinger mal Entwickelt. Sehe Dir mal die Bilder an. Das hat mir eine Woche Arbeit und Nerven gekostet. Es geht jetzt alles ohne Probleme. Danke noch mal für Deine Hilfe.

    Gruß Ulrich

  • Hallo Zusammen,

    ich habe noch folgendes Probem in diesem Programmabschnit wo mir Arakon schon hervorragend geholfen hat, bis ein kleines Problem. Das ist das Programm.

    #################################################

    Das muss in "moonraker.conf"

    ##

    [power Printer]

    type: gpio

    pin: gpiochip0/gpio17

    off_when_shutdown: True

    restart_klipper_when_powered: true

    initial_state: on

    #################################################

    Das muss in die "printer.cfg"

    ##

    [gcode_macro POWER_OFF_PRINTER]

    gcode:

    {action_call_remote_method("set_device_power",

    device="Printer",

    xxxxxxxxxxxxxxxxxxxxxxx Problem ??????????????????????

    state="off")}


    [gcode_macro POWER_ON_PRINTER]

    gcode:

    {action_call_remote_method("set_device_power",

    device="Printer",

    state="on")}

    #################################################

    Das muss in Cura

    ##

    "POWER_OFF_PRINTER"

    #################################################

    Geht soweit hervorragend.

    Ich möchte noch gerne eine Zeitverzögerung, befor der Drucker Ausgeschaltet wird haben.

    Dort wo die xxxxx Stehen.

    Beim Arduino in C++ kann man einfach "delay (5000);" eingeben. Geht ja hier nicht.

    Ich hatte den Befehl "time.sleep(5)" gefunden, aber der will ja ein Include "time.h() haben.


    Jetzt die Frage, was kann man da am besten machen ????


    Gruß Ulrich

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!

Unread Threads

    1. Title
    2. Replies
    3. Last Reply
    1. Das Hotend muss auch mal wieder gereinigt werden ;-) 11

      • Nobs_3D
    2. Replies
      11
      Views
      198
      11
    3. Druckt nicht

    1. Verständnis für Druckprobleme 8

      • 10 G.
    2. Replies
      8
      Views
      162
      8
    3. Achim1

    1. Sovol SV06 oder Bambu Lab A1 mini 6

      • luu
    2. Replies
      6
      Views
      91
      6
    3. luu

    1. SolidEdge - Vernähen erzeugt keinen Volumenkörper 5

      • wersy
    2. Replies
      5
      Views
      86
      5
    3. roerich_64

    1. 3D-Drucke Lackieren/Bemalen 97

      • melreth
    2. Replies
      97
      Views
      7.3k
      97
    3. Kawasaki