Žingsninio variklio bandymas: 3 žingsniai
Žingsninio variklio bandymas: 3 žingsniai
Anonim
Image
Image
Laidai
Laidai

Aš neturėjau jokios patirties vairuodamas žingsninius variklius, todėl prieš projektuodamas, spausdindamas, surenkant ir programuojant „Antikvarinį“automatinio taisymo analoginį laikrodį (https://www.instructables.com/id/Antique-Auto-Correcting-Analog-Clock/) naudodamas žingsninį variklį, nusprendžiau suprojektuoti ir išbandyti programinę įrangą naudodamas daug paprastesnį bandymo įrenginį. Jei jūs, kaip ir aš, neturite jokios patirties su žingsniniais varikliais, tikimės, kad šis trumpas instrukcijos su šaltinio kodu padės.

Bandymo įrangai reikalingi šie komponentai:

  • Prototipų lenta.
  • „Adafruit Feather ESP32“su moteriškomis antraštėmis.
  • ULN2003 pagrįsta žingsninio valdiklio plokštė.
  • 28BYJ-48 5vdc žingsninis variklis.
  • Kai kurie jungiamieji laidai nuo patelių iki moterų.
  • „Adafruit“3,7 Vdc ličio baterija.
  • 3D spausdinta indikatoriaus ranka.

Naudotas žingsninis valdiklis, žingsninis variklis ir jungiamieji laidai yra 5 pakuotėje, kurią įsigijau kaip rinkinį internete (ieškokite „TIMESETL 5 vnt DC 5V žingsninis variklis 28BYJ-48 + 5 vnt. ULN2003 vairuotojo lenta + 40 vnt. ).

Baterija pasirenkama. Atkreipkite dėmesį, kad akumuliatoriaus išėjimo galia yra 3,7 V. Bandymo įrenginys veiks tik iš akumuliatoriaus energijos, net ir esant žemesnei įtampai.

Įtraukiau vaizdo įrašą, kuriame rodomi veiksmai, kurių reikia norint atsisiųsti programinę įrangą į ESP32, prijungti ESP32 prie žingsninio variklio valdiklio ir prijungti žingsninį variklį bei akumuliatorių.

1 žingsnis: laidų prijungimas

Laidai
Laidai
Laidai
Laidai

Bandymo įtaisui prijungti naudoju vyriškus / moteriškus trumpiklius, esančius komplekte. Reikalingi šeši laidai, kurie įterpiami taip:

  1. ESP32 kaištis 14 (patinas) prie laiptelio lentos kaiščio IN4 (patelė).
  2. ESP32 kaištis 32 (patinas) prie laiptelio lentos kaiščio IN3 (patelė).
  3. ESP32 kaištis 15 (patinas) prie laiptelio lentos kaiščio IN2 (patelė).
  4. ESP32 kaištis 33 (patinas) prie laiptelio lentos kaiščio IN1 (patelė).
  5. ESP32 kaištis „GND“(patinas) prie žingsnio lentos kaiščio „-“(patelė).
  6. ESP32 kaištis „USB“(kištukas), skirtas USB veikimui ARBA „BAT“(kištukas), skirtas akumuliatoriaus veikimui, prie žingsninės plokštės kaiščio „+“(patelė).

Kai laidai įkišti ir dar kartą patikrinti, prijunkite žingsninio variklio kabelį prie žingsninio variklio valdiklio plokštės jungties. Jungtis yra raktu ir tinka tik viena kryptimi.

Galiausiai, jei naudojate akumuliatorių, prijunkite jį prie ESP32 akumuliatoriaus jungties.

2 žingsnis: indikatorius

Rodiklis
Rodiklis

Dėl žingsninio variklio indikatoriaus suprojektavau ir 3D atspausdinau indikatoriaus ranką „Hand.stl“. Aš atspausdinau indikatoriaus ranką 0,15 mm sluoksnio aukštyje, 20% užpildo be atramų, tada prispaudžiau ant žingsninio variklio veleno.

Kaip alternatyva, juosta, kartonas ar kita medžiaga gali būti naudojama kaip indikatorius.

3 žingsnis: programinė įranga

Programinė įranga
Programinė įranga

Aš parašiau žingsninio bandymo programinę įrangą „Arduino 1.8.5“aplinkoje. Jei to dar nepadarėte, atsisiųskite „Arduino“aplinką ir būtinas USB tvarkykles į savo kompiuterį ir įdiekite jas. Taip pat apsilankykite „Adafruit“svetainėje, kur rasite papildomos su „Adafruit ESP32“susijusios programinės įrangos. Man pasirodė, kad ši nuoroda yra labai naudinga: „Adafruit ESP32“ir „Arduino Environment“.

Prijungę USB kabelį tarp kompiuterio ir ESP32, o „Stepper.ino“įkeltą į „Arduino“aplinką, atsisiųskite „Stepper.ino“į ESP32.

Atsisiuntus žingsniavaisį reikia pakelti 6 laipsnius vieną kartą per sekundę.

Šią testavimo programinę įrangą parašiau dėl dviejų priežasčių; pirma, išmokti vairuoti žingsninį variklį, ir, antra, paversti 4096 žingsnius per žingsninio variklio sukimąsi į 60 sekundžių 6 laipsnių laikrodžio „varneles“.

Funkcija „Žingsnis (nDirection)“valdo žingsninį variklį. Ši funkcija palaiko vietinį (statinį) sveikųjų skaičių kintamąjį „nPhase“, kuris padidinamas arba sumažinamas vienu (kiekvieną kartą iškviečiant funkciją), atsižvelgiant į funkcijos argumento nDirection ženklą. Šis kintamasis yra ribojamas nuo 0 iki 7, kuris, kai naudojamas kartu su korpuso jungikliu, variklio fazes varo pagal kiekvieno žingsnio gamintojo specifikacijas.

Funkcija „Atnaujinti ()“nustato, kada ir kiek žingsnių reikia atlikti kiekvienai varnelei, kad tolygiai paskirstytų 60 erkių 360 laipsnių sukimosi metu. Ši funkcija nustato žingsninį variklį 68 arba 69 žingsniais kiekvienai varnelei. Pvz., Jei funkcija naudoja tik 68 žingsnius kiekvienam varneliui, tada (68 žingsniai * 60 erkių) = 4080 žingsnių nepakaktų žingsnių 360 laipsnių sukimui užbaigti (atminkite, kad žingsniui reikia 4096 žingsnių 360 laipsnių sukimui). Ir jei funkcija naudoja 69 žingsnius kiekvienam varnele, tada (69 žingsniai * 60 erkių) = 4140 būtų per daug žingsnių. Paprastas mano parašytas algoritmas tolygiai paskirsto 68 ir 69 žingsnių erkutes per 360 laipsnių sukimąsi ir gali nustatyti, kuri sukimosi kryptis greičiausia iki norimo antrojo skaičiaus (naudojamas laikrodyje).

Taip aš sukūriau ir išbandžiau „Antikinio“automatinio taisymo analoginio laikrodžio programinę įrangą.

Jei turite pasiūlymų ir (arba) klausimų, nedvejodami pakomentuokite ir aš padarysiu viską, kad atsakyčiau.

Rekomenduojamas: