Steuerung für Lasertisch

Ein Discord-Member vom K40 Keller hat sich mal etwas einen Kopf gemacht und eine Steuerung für einen höhenverstellbaren Tisch für den K40 zu basteln. Ich bin sehr dankbar dass er mir erlaubt hat diese Daten für euch frei zur Verfügung zu stellen.

Hier seine Beschreibung zum Projekt:

Tischhöhenverstellung mit Arduino Nano und Schrittmotor Ansteuerung ,

Ein Projekt für die Ansteuerung des Lasertisch mit einem Arduino Nano, Rotary Encoder als Schalter für das hoch und Runterfahren, einem A4988 Schrittmotortreiber und Nema 17 Schrittmotor.

Arduino Nano Beschreibung :

By Michi

Tischsteuerung für den K40 Laser mit einen Arduino Nano und Motortreiber A4988 oder ähnliche

  • Das Programm ist für den Treiber A4988 mit folgenden Parametern ausgelegt:
  • 1/16 Mikroschritte MS 1 bis 3 gebrückt bzw. an +VCC (+3,3V oder +5V) je nach Controller. Bei einem Nema 17 Motor wären das dann 3200 Schritte pro Umdrehung –> 200 * 16 = 3200.
  • Brücke auf Sleep und Reset
  • Schrittmotor: es kann jeder beliebige Schrittmotor genommen werden. Getestet wurden das Programm und die Schaltung mit einem NEMA 17 Motor.
  • über den Rotary Encoder können drei Schrittweiten und Dauerbetrieb in jeweils hoch und runter gewählt werden.
    Die Funktion mit den Rotary Encoder ist Folgende:
  • Langsames Drehen in eine Richtung à steps_01 wird pro Klick ausgelöst, 16 Schritte.
  • Etwas schnelleres Drehen in eine Richtung à steps_02 wird  pro Klick ausgelöst, 80 Schritte
  • Schnelles Drehen in eine Richtung à steps_03 wird pro Klick ausgelöst, 160 Schritte
  • Die Schrittweiten werden im Parameter steps_01, steps_02, und steps_03 eingestellt.    Umso mehr Schritte in den Variablen eingetragen werden umso mehr Schritte macht der Motor.
  • Das Enable Signal wird bei jeder Betätigung ein und 5 Sekunden nach keiner Betätigung wieder abgeschaltet. Nicht im Dauerbetrieb.
  • Wird vom Rotary Encoder der Schalter betätigt und dann in eine Richtung gedreht (Stepperstufe 4), dreht der Motor so lange bis die Schalter wieder losgelassen wird.
  • Die Geschwindigkeit kann über die Variablen stepperspeed_1 und stepperspeed_2 eingestellt werden. Umso größer der Wert umso langsamer dreht sich der Motor. Es sollten aber nicht weniger als 10 eingetragen werden, sonst könnte es zu fehl Ansteuerung kommen.

              Zuordnung der Geschwindigkeit:

              Stepperstufe 1 & 2 & 3 –> stepperspeed_1

              Stepperstufe 4 –> stepperspeed_2 (Dauerbetrieb)

  • Endschalter oben und unten D7 + D8 vom Nano müssen auf Masse gelegt werden, wenn sie nicht benutzt werden! Werden Endschalter benutzt sind Öffner (NC) zu benutzen.
  • Fallstrike Achtung lesen:
  • Bei anderen Motortreibern z.B. TMC2208, ist die Ansteuerung des Enable Signal umgekehrt. in diesen Fall, muss aus
    „digitalWrite(ENA, LOW);“ ein „digitalWrite(ENA, HIGH);“ Treiber EIN
    „digitalWrite(ENA, HIGH);“ ein „digitalWrite(ENA, LOW);“ Treiber AUS
    gemacht werden.
  • Ebenso müssen die Mikroschritte angepasst werden.

Und hier geht es zum Download:

Tischhöhenverstellung mit Arduino Nano und Schrittmotor Ansteuerung

Das könnte dich auch interessieren …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.