Indholdsfortegnelse:

Stepmotor testarmatur: 3 trin
Stepmotor testarmatur: 3 trin

Video: Stepmotor testarmatur: 3 trin

Video: Stepmotor testarmatur: 3 trin
Video: SCARED TO DEATH! But I didn’t understand A THING! 2024, Juli
Anonim
Image
Image
Ledninger
Ledninger

Jeg havde lidt eller ingen erfaring med at køre steppermotorer, så før jeg designede, udskriver, samler og programmerer det 'antikke' autokorrigerende analoge ur (https://www.instructables.com/id/Antique-Auto-Correcting-Analog-Clock/) Ved hjælp af en trinmotor besluttede jeg at designe og teste softwaren ved hjælp af et meget enklere testarmatur. Hvis du, som jeg, har ringe eller ingen erfaring med steppermotorer, så hjælper forhåbentlig denne korte Instructable med kildekode.

Testarmaturet kræver følgende komponenter:

  • Et prototypebord.
  • En Adafruit Feather ESP32 med kvindelige skæreborde.
  • Et ULN2003 baseret stepper controller board.
  • En 28BYJ-48 5vdc steppermotor.
  • Nogle trøjer fra mand til kvinde.
  • Et Adafruit 3.7vdc litiumbatteri.
  • En 3D -trykt indikatorhånd.

Stepper controller, stepper motor og jumper ledninger, jeg brugte, er inkluderet i en 5-pakning, som jeg købte som et kit online (søg efter "TIMESETL 5pcs DC 5V Stepper Motor 28BYJ-48 + 5pcs ULN2003 Driver Board + 40pcs Female Female Jumper Wire Cable ").

Batteriet er valgfrit. Bemærk batteriudgangene 3.7vdc, men stepper controller board og step er 5vdc. Testarmaturet fungerer kun på batteristrøm, selv ved den lavere spænding.

Jeg har inkluderet en video, der viser de trin, der kræves for at downloade softwaren til ESP32, koble ESP32 til trinmotorstyringen og tilslutte steppermotoren og batteriet.

Trin 1: Ledningsføring

Ledninger
Ledninger
Ledninger
Ledninger

Jeg brugte han / hun -jumpertrådene, der er inkluderet i sættet, til at koble testarmaturet. Seks ledninger er påkrævet og indsættes som følger:

  1. ESP32 pin 14 (han) til stepboard board pin IN4 (hun).
  2. ESP32 pin 32 (han) til stepboard board pin IN3 (hun).
  3. ESP32 pin 15 (han) til trinbræt pin IN2 (hun).
  4. ESP32 pin 33 (han) til trinbrætstift IN1 (hun).
  5. ESP32 pin "GND" (han) til stepboard board pin "-" (hun).
  6. ESP32 -pin "USB" (han) til USB -betjening ELLER "BAT" (han) til batteridrift, til trinbrætstappen "+" (hun).

Når ledningerne er indsat og dobbelt kontrolleret, skal du sætte trinmotorkablet i stikket til trinmotorens styrekort. Stikket er nøglet og passer kun på en måde.

Endelig, hvis du bruger et batteri, skal du sætte det i ESP32 -batteristikket.

Trin 2: Indikator

Indikator
Indikator

Til en indikator på steppermotoren har jeg designet og 3D printet en indikatorhånd "Hand.stl". Jeg printede indikatorhånden i.15 mm laghøjde, 20% fyldning uden understøtninger, og pressede den derefter på trinmotorakslen.

Som et alternativ kan tape, pap eller andet materiale bruges som indikator.

Trin 3: Software

Software
Software

Jeg skrev stepper test softwaren i Arduino 1.8.5 miljøet. Hvis du ikke allerede har gjort det, skal du downloade Arduino -miljøet og de nødvendige USB -drivere til din computer og installere dem. Besøg også Adafruit -webstedet for yderligere Adafruit ESP32 -relateret software. Jeg fandt dette link til at være meget nyttigt: Adafruit ESP32 og Arduino -miljøet.

Med et USB -kabel tilsluttet mellem din computer og ESP32 og "Stepper.ino" indlæst i Arduino -miljøet, skal du downloade "Stepper.ino" til ESP32.

Når den er downloadet, skal stepperen gå 6 grader en gang i sekundet.

Jeg skrev denne testsoftware af to grunde; for det første for at lære at køre en steppermotor, og for det andet at konvertere trinene 4096 trin pr. rotation af trinmotoren til 60 ét sekund 6 graders "flåter" for uret.

Funktionen "Step (nDirection)" driver trinmotoren. Denne funktion opretholder en lokal (statisk) heltalsvariabel "nPhase", der enten øges eller reduceres med en (hver gang funktionen kaldes) i henhold til tegnet på funktionsargumentet nDirection. Denne variabel er begrænset i området til 0 til 7, som, når den bruges sammen med kabinetafbryderen, driver motorfaserne i overensstemmelse med producentens specifikationer for hvert trin.

Funktionen "Opdater ()" bestemmer, hvornår og hvor mange trin der skal tages for hvert kryds for at jævnt fordele 60 flåter pr. 360 graders rotation. Denne funktion trinfører trinmotoren enten 68 eller 69 trin for hvert kryds. For eksempel, hvis funktionen kun brugte 68 trin pr. Kryds, ville (68 trin * 60 flåter) = 4080 trin ikke være trin nok til at fuldføre 360 graders rotation (husk, at stepperen kræver 4096 trin for 360 graders rotation). Og hvis funktionen brugte 69 trin pr. Kryds, ville (69 trin * 60 kryds) = 4140 være for mange trin. Den enkle algoritme, jeg skrev, fordeler 68 og 69 trinflåter jævnt i hele 360 graders rotation og kan bestemme hvilken rotationsretning, der er hurtigst til den ønskede anden tælling (brugt i uret).

Og det var sådan, jeg designede og testede softwaren til 'Antique' Auto Correcting Analog Clock.

Hvis du har forslag og / eller spørgsmål, er du velkommen til at kommentere, og jeg vil gøre mit bedste for at svare.

Anbefalede: