2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-23 14:59
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
Bandymo įtaisui prijungti naudoju vyriškus / moteriškus trumpiklius, esančius komplekte. Reikalingi šeši laidai, kurie įterpiami taip:
- ESP32 kaištis 14 (patinas) prie laiptelio lentos kaiščio IN4 (patelė).
- ESP32 kaištis 32 (patinas) prie laiptelio lentos kaiščio IN3 (patelė).
- ESP32 kaištis 15 (patinas) prie laiptelio lentos kaiščio IN2 (patelė).
- ESP32 kaištis 33 (patinas) prie laiptelio lentos kaiščio IN1 (patelė).
- ESP32 kaištis „GND“(patinas) prie žingsnio lentos kaiščio „-“(patelė).
- 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
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
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:
Žingsninio variklio valdymas: 5 žingsniai
Žingsninio variklio valdymas: ši pamoka galioja, jei mes naudojame „Arduino“ir abu naudodami „Drivemall“lentą, esančią žemiau esančioje nuorodoje „Drivemall“kūrimui. „Drivemall“pranašumas prieš klasikinę „Arduino“plokštę yra tai, kad sumažėja jungčių sudėtingumas
„Raspberry Pi“, „Python“ir „TB6600“žingsninio variklio tvarkyklė: 9 žingsniai
„Raspberry Pi“, „Python“ir „TB6600“žingsninio variklio tvarkyklė: šioje instrukcijoje atliekami žingsniai, kurių aš ėmiausi prijungdamas „Raspberry Pi 3b“prie „TB6600“žingsninio variklio valdiklio, 24 V nuolatinės srovės maitinimo šaltinio ir 6 laidų žingsninio variklio. Aš tikriausiai kaip ir daugelis iš jūsų ir atsitiktinai turiu " griebti maišelį " likusios par
Kaip sukurti aukštą dabartinį žingsninio variklio tvarkyklę: 5 žingsniai
Kaip sukurti aukštą dabartinį žingsninio variklio tvarkyklę: čia pamatysime, kaip sukurti žingsninio variklio tvarkyklę naudojant „Toshiba“TB6560AHQ valdiklį. Tai yra pilnai valdomas valdiklis, kuriam įvesti reikia tik 2 kintamųjų ir jis atlieka visą darbą. Kadangi man reikėjo dviejų iš jų, padariau abu naudodami
28BYJ-48 žingsninio variklio kampinis padėties valdymas su „Arduino“ir analogine vairasvirte: 3 žingsniai
28BYJ-48 žingsninio variklio kampinis padėties valdymas su „Arduino“ir analogine vairasvirte: tai 28BYJ-48 žingsninio variklio valdymo schema, kurią sukūriau kaip savo paskutinių metų disertacijos projekto dalį. Aš to dar nemačiau, todėl galvojau, kad įkelsiu tai, ką atradau. Tikimės, kad tai padės kam nors kitam
„Arduino“pamoka - žingsninio variklio valdymas naudojant potenciometrą: 5 žingsniai
„Arduino“pamoka - žingsninio variklio valdymas naudojant potenciometrą: ši instrukcija yra rašytinė mano „Arduino: Kaip valdyti žingsninį variklį naudojant potenciometrą“versija. „YouTube“vaizdo įrašas, kurį neseniai įkėliau. Aš primygtinai rekomenduoju jums tai patikrinti. Mano „YouTube“kanale pirmiausia turėtumėte pamatyti