Kazalo:

Preskusna naprava za koračni motor: 3 koraki
Preskusna naprava za koračni motor: 3 koraki

Video: Preskusna naprava za koračni motor: 3 koraki

Video: Preskusna naprava za koračni motor: 3 koraki
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, November
Anonim
Image
Image
Ožičenje
Ožičenje

Imel sem malo ali nič izkušenj z vožnjo koračnih motorjev, zato sem pred načrtovanjem, tiskanjem, sestavljanjem in programiranjem 'starinske' samodejno popravljalne analogne ure (https://www.instructables.com/id/Antique-Auto-Correcting-Analog-Clock/) z uporabo koračnega motorja sem se odločil, da bom oblikoval in preizkusil programsko opremo z veliko enostavnejšo preskusno napravo. Če imate jaz, kot jaz, malo ali nič izkušenj s koračnimi motorji, upajmo, da vam bo v pomoč ta kratek Instructable z izvorno kodo.

Preskusna naprava zahteva naslednje komponente:

  • Plošča za izdelavo prototipov.
  • Adafruit Feather ESP32 z ženskimi glavomi.
  • Koračna krmilna plošča na osnovi ULN2003.
  • Koračni motor 28BYJ-48 5vdc.
  • Nekaj moških in ženskih mostičkov.
  • Litijeva baterija Adafruit 3,7Vdc.
  • 3D natisnjena kazalna roka.

Koračni krmilnik, koračni motor in mostične žice, ki sem jih uporabil, so vključeni v paket 5, ki sem ga kupil kot komplet na spletu (poiščite "TIMESETL 5 kosov DC 5 V koračni motor 28BYJ-48 + 5 kosov ULN2003 gonilniška plošča + 40 kosov moški ženski mostični kabel ").

Baterija je neobvezna. Upoštevajte, da so izhodi baterije 3,7 Vdc, vendar sta krmilna plošča koraka in koraka 5 V DC. Preskusna naprava bo delovala samo na baterijo, tudi pri nižji napetosti.

Vključil sem video, ki prikazuje korake, potrebne za prenos programske opreme na ESP32, priključite ESP32 na krmilnik koračnega motorja in priključite koračni motor in baterijo.

1. korak: Ožičenje

Ožičenje
Ožičenje
Ožičenje
Ožičenje

Moške / ženske mostičke, ki so vključeni v komplet, sem uporabil za ožičenje preskusne napeljave. Potrebujete šest žic in jih vstavite na naslednji način:

  1. ESP32 zatič 14 (moški) do zatiča koračne plošče IN4 (ženski).
  2. ESP32 pin 32 (moški) na pin IN3 koračne plošče (ženski).
  3. ESP32 nožica 15 (moški) na nožico koračne plošče IN2 (ženska).
  4. ESP32 pin 33 (moški) do koraka plošče IN1 (ženski).
  5. ESP32 zatič "GND" (moški) na zatič koračne plošče "-" (ženski).
  6. ESP32 pin "USB" (moški) za delovanje USB ALI "BAT" (moški) za delovanje z baterijo, na pin koračne plošče "+" (ženski).

Ko so žice vstavljene in dvakrat preverjene, priključite kabel koračnega motorja v priključek plošče krmilnika koračnega motorja. Priključek je s ključem in se prilega samo v eno smer.

Nazadnje, če uporabljate baterijo, jo priključite v priključek za baterijo ESP32.

2. korak: Kazalnik

Kazalnik
Kazalnik

Za indikator na koračnem motorju sem oblikoval in 3D natisnil kazalno roko "Hand.stl". Roko indikatorja sem natisnil na višini sloja.15 mm, 20% polnila brez opore, nato pa jo pritisnil na gred koračnega motorja.

Alternativno lahko kot indikator uporabite trak, lepenko ali drug material.

3. korak: Programska oprema

Programska oprema
Programska oprema

Programsko opremo za stepper test sem napisal v okolju Arduino 1.8.5. Če tega še niste storili, v računalnik prenesite okolje Arduino in potrebne gonilnike USB in jih namestite. Za dodatno programsko opremo, povezano z Adafruit ESP32, obiščite tudi spletno mesto Adafruit. Ta povezava mi je bila v veliko pomoč: Adafruit ESP32 in okolje Arduino.

S kablom USB, priključenim med računalnikom in ESP32, in "Stepper.ino", naloženim v okolje Arduino, prenesite "Stepper.ino" v ESP32.

Ko je steper naložen, mora stopiti za 6 stopinj enkrat na sekundo.

To testno programsko opremo sem napisal iz dveh razlogov; prvič, naučiti se voziti koračni motor, in drugič, pretvoriti 4096 korakov na vrtenje koračnega motorja v 60 sekundnih 6 -stopinjskih "klopov" za uro.

Funkcija "Step (nDirection)" poganja koračni motor. Ta funkcija vzdržuje lokalno (statično) celoštevilsko spremenljivko "nPhase", ki se poveča ali zmanjša za eno (vsakič, ko se funkcija pokliče), v skladu z znakom argumenta funkcije nDirection. Ta spremenljivka je omejena v razponu od 0 do 7, ki ob uporabi skupaj s stikalom ohišja poganja faze motorja v skladu s specifikacijami proizvajalcev za vsak korak.

Funkcija "Update ()" določa, kdaj in koliko korakov je treba narediti za vsako kljukico, da enakomerno razporedi 60 klopov na 360 stopinj vrtenja. Ta funkcija korača koračni motor 68 ali 69 korakov za vsako kljukico. Na primer, če je funkcija uporabila le 68 korakov na kljukico, potem (68 korakov * 60 kljukic) = 4080 korakov ne bi bilo dovolj za dokončanje 360 stopinj vrtenja (ne pozabite, da koračni stroj potrebuje 4096 korakov za 360 stopinj vrtenja). Če bi funkcija uporabila 69 korakov na kljukico, bi bilo (69 korakov * 60 kljukic) = 4140 preveč korakov. Preprost algoritem, ki sem ga napisal, enakomerno porazdeli 68 in 69 korakov v 360 -stopinjski rotaciji in lahko določi, katera smer vrtenja je najhitrejša do želenega drugega štetja (uporablja se v uri).

Tako sem zasnoval in preizkusil programsko opremo za 'starinsko' samodejno popravljanje analogne ure.

Če imate kakršne koli predloge in / ali vprašanja, vas prosimo, da komentirate in potrudil se bom, da vam odgovorim.

Priporočena: