Turinys:
- 1 žingsnis: susipažinkite su „Steppers“
- 2 žingsnis: raskite bendrą pagrindą
- 3 žingsnis: išsiaiškinkite žingsnių tvarką
- 4 žingsnis: variklio paėmimas bandomajam važiavimui
- 5 žingsnis: pasukite atgal ir pirmyn
- 6 žingsnis: Aš niekada nepuoliu, nes nesu pusiau žingsniuojantis…
- 7 veiksmas: pridėkite variklio tvarkyklę
- 8 žingsnis: pabaiga
Video: Važiuokite žingsniniu varikliu su AVR mikroprocesoriumi: 8 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:49
Ar guli keli nulaužti žingsniniai varikliai iš spausdintuvų/diskų įrenginių/ir tt?
Kai kurie zonduoja su ommetru, po to paprastas mikroprocesoriaus tvarkyklės kodas ir būsite stilingi.
1 žingsnis: susipažinkite su „Steppers“
Iš esmės turėsite išsiaiškinti, kur eina visi maži laidai.
Pirmasis žingsnis yra išsiaiškinti, ar tai vienpolis, ar bipolinis variklis. Pažvelkite į Jonesą „Steppers“, kad gautumėte gilesnę informaciją, tada Iano Harrieso svetainėje, kur rasite paprastą būdą išsiaiškinti nežinomą variklį. Šiek tiek paskaitykite, tada prisijunkite prie šio variklio, kurį gavau pigiai, apžvalgos. (Šiuo metu jie parduodami už 0,99 USD. Jie nedideli, palyginti lengvi, tačiau neturi didelio sukimo momento. Dar nežinau, kam tai bus naudinga.)
2 žingsnis: raskite bendrą pagrindą
Taigi jūs turite penkis (arba keturis ar šešis) laidus. Jūsų variklis turės dvi dalis, ir jūs tikriausiai netgi galite pasakyti, tik žiūrėdami, kuriai vielai priklauso.
Jei žiūrite tik į keturis laidus, jums pasisekė - tai bipolinis variklis. Viskas, ką jums reikia padaryti, tai išsiaiškinti, kurios dvi laidų poros eina kartu. Jei turite vienpolį variklį arba daugiau nei 4 laidus, turėsite išardyti savo ommetrą. Tai, ko ieškote, yra bendras (įžemintas) laidas kiekvienai pusei. Galite pasakyti, kuris yra įžemintas bipoliniame variklyje, nes jis turi pusę atsparumo bet kuriam iš polių, nei poliai. Nuotraukoje yra mano užrašai iš laidų prijungimo prie laidų ir pasipriešinimo (arba jei jie apskritai prijungti). Matote, kad balta yra apatinio trio b/c pagrindas, jis turi pusę atsparumo raudonai arba mėlynai, kaip jie turi vienas kitam. (Šis variklis yra keistas ir neturi centrinio čiaupo viršutinėje magneto ritėje. Tai tarsi pusiau bipolinis, pusiau vienpolis. Galbūt galėtumėte tai panaudoti raudonos-baltos-mėlynos spalvos ritės sukimui, kai juoda-geltona varoma ritė.)
3 žingsnis: išsiaiškinkite žingsnių tvarką
Ketinau vairuoti šį variklį kaip bipolinį, todėl nekreipiu dėmesio į baltą įžeminimo laidą. Turiu nerimauti tik dėl keturių laidų.
Vis dėlto galbūt norėsite paleisti savo vienpolį variklį kaip bipolinį, nes jis naudoja visą ritę abiem etapais, o ne pakaitomis tarp dviejų kiekvienos ritės pusių. Daugiau ritės = daugiau sukimo momento. Praleiskite srovę per porą (atkreipkite dėmesį į pasirinktą poliškumą), o tada srovę per kitą porą tuo pačiu metu. Kai prijungsite antrąją porą, stebėkite, į kurią pusę sukasi variklis. Užsirašykite tai. Dabar pakeiskite pirmosios pasirinktos poros poliškumą. Tada vėl prijunkite antrąją porą, jų poliškumas taip pat pasikeičia. Atkreipkite dėmesį į kryptį. Iš to turėtumėte sugebėti išsiaiškinti variklio sukimosi bet kuria kryptimi seką. Mano pavyzdyje abu galiausiai pasisuko prieš laikrodžio rodyklę, taigi, pereidami seką tokiu pačiu būdu, kokį pasirinkau, variklis pasuks CCW.
4 žingsnis: variklio paėmimas bandomajam važiavimui
Jei dar nesate pasirengęs mikroprocesorių programavimui, galite padaryti blogiau nei „Ghetto Development Kit“ar bet kuris kitas PIC programuotojas. Prijunkite laidus tiesiai prie savo mikroprocesoriaus ir sudeginkite naudodami šį kodą:
/* Žaidžiant su mažais žingsniniais varikliais. */
/ * Įtraukti uždelsimo funkciją */ #define F_CPU 1000000UL #include/ * PIN defs ATTiny2313 *// * tvarka pagal laikrodžio rodyklę */ #define BLUE _BV (PB0) #define BLACK _BV (PB1) #define RED _BV (PB2) #define GELTONA _BV (PB3) #define DELAY 200 / * milisekundės tarp žingsnių * / int main (void) {DDRB = 0xff; / * Įgalinti išvestį visuose B kaiščiuose */ PORTB = 0x00; / * Nustatykite juos visus į 0v */ while (1) {/ * pagrindinė kilpa čia */ PORTB = BLUE; _delay_ms (DELAY); PORTB = JUODAS; _delay_ms (DELAY); PORTB = RAUDONA; _delay_ms (DELAY); PORTB = GELTONA; _delay_ms (DELAY); }} Kaip paprastas tas kodas? Tikrai paprasta. Viskas, ką jis daro, yra keletas gražių apibrėžimų, kad galėčiau nurodyti laidus pagal spalvą, o ne jų kaiščių pavadinimus, o tada juos įjungia iš eilės su reguliuojamu vėlavimu. Pradžiai pasirinkau pusės sekundės delsą tarp žingsnių. Rezultatus žiūrėkite trumpame vaizdo įraše. Jei tikrai žaidžiate, suskaičiuokite žingsnių skaičių per ciklą, kad išsiaiškintumėte variklio vieno žingsnio kampinę skiriamąją gebą. (O taip. PS. Lengvai važiuoja be apkrovos esant 3,6 V įtampai. Akumuliatorių žiūrėkite vaizdo įraše.)
5 žingsnis: pasukite atgal ir pirmyn
Taigi jūs turite veikti pagal laikrodžio rodyklę. Kažkas įdomesnio? Šiek tiek kodo valymo ir galime jį paleisti pirmyn ir atgal. Įdėjau seką pagal laikrodžio rodyklę į masyvą, kad galėtumėte pereiti fazes naudodami paprastą ciklą. Dabar galite paleisti kilpą aukštyn arba žemyn, kad judėtumėte pagal laikrodžio rodyklę arba prieš laikrodžio rodyklę.
int main (void) {const uint8_t delay = 50; const uint8_t pagal laikrodžio rodyklę = {BLUE, BLACK, RED, YELLOW}; uint8_t i; DDRB = 0xff; / * Įgalinti išvestį visuose B kaiščiuose */ PORTB = 0x00; / * Nustatykite juos visus į 0v */ while (1) {/ * čia pagrindinė kilpa */, jei norite (i = 0; i <= 3; i ++) {/ * peržengti spalvas pagal laikrodžio rodyklę */ PORTB = pagal laikrodžio rodyklę ; _delay_ms (vėlavimas); } (i = 3; i> = 0; i-) { / * pereikite prie spalvų ccw * / PORTB = pagal laikrodžio rodyklę ; _delay_ms (vėlavimas); }}} Žiūrėkite įnirtingą vaizdo įrašą, kad sužinotumėte, kaip atsitraukti.
6 žingsnis: Aš niekada nepuoliu, nes nesu pusiau žingsniuojantis…
Ieškokite lyrikos, nuo pusės žingsnio variklis yra ten, kur jis yra. Jūs gaunate didesnę didžiausią srovę, didesnį momentinį sukimo momentą ir dvigubai didesnę kampinę skiriamąją gebą. Pusiau žingsniai trumpai: vietoj mėlynos, juodos, raudonos, geltonos spalvos variklį vairuojate mėlyna, mėlyna+juoda, juoda, juoda+raudona, raudona, raudona+geltona, geltona, geltona+mėlyna spalva. Rezultatas yra tas, kad pusę laiko jūs įtraukiate abu magnetus vienu metu. Ir tuo metu, kai abu rinkiniai yra įjungti, variklis nukreipia pusiaukelę tarp jų, sumažindamas kampą tarp „žingsnių“ir variklis sukasi sklandžiau. Ar galite pasakyti iš vaizdo įrašo? Nesu tikras … Dabar kodo dalis, atliekanti pusę žingsnio, atrodo taip:
void halfStepping (uint16_t delsa, uint8_t kryptis ) {uint8_t i; (i = 0; i <= 3; i ++) {PORTB = kryptis ; / * vienos ritės dalis */ _delay_ms (uždelsimas); PORTB | = kryptis [i+1]; / * pridėti per žingsnį */ _delay_ms (uždelsimas); }} Pirmoji PORTB komanda nustato vieną polių į teigiamą, o visi kiti - į neigiamą. Tada laukia. Tada antroji PORTB komanda nustato antrą polių (ant kitos apvijos) į teigiamą, įjungdama abi apvijas 1,4 karto sukimo momento (ir 2x srovės). Visas programų sąrašas pridedamas žemiau. Dabar yra nustatyti du masyvai (pagal laikrodžio rodyklę, prieš laikrodžio rodyklę) ir abu turi po 5 elementus, kad būtų galima įvesti „i+1“į „halfStepping“funkciją.
7 veiksmas: pridėkite variklio tvarkyklę
Kol kas viskas gerai.
Vienintelė problema yra ta, kad variklis, atrodo, neturi tiek daug sukimo momento, o tai gali būti dėl to, kad mikroprocesorius išleidžia tik ~ 50 mA per kaištį. Kitas akivaizdus žingsnis būtų prijungti jį prie variklio vairuotojo ir tiekti daugiau sulčių. Bet tada šiek tiek galvoju: važiuoju tik su 5v, o ritės apvijos varža yra ~ 125 omai. Tai reiškia, kad vienintelis variklio brėžinys yra 40 mA per kaištį, ir jis turėtų būti gerai valdomas naudojant (jautrią!) AVR mikroschemą. Taigi, norėdamas gauti daugiau įtampos, varydamas variklį, prijungiau jį prie SN754410 H tilto mikroschemos. Grandinė yra gana paprasta. Kiekvienas AVR kaištis patenka į įvestį, o atitinkami išvesties kaiščiai - į variklį. Lustui reikia 5 V loginei sekcijai, o variklio skyriuje gali būti daug daugiau įtampos. Šiek tiek padėjo jo veikimas 11,25 V (trys 3,6 V baterijos). Pastebimai didesnis sukimo momentas mano pirštui, bet tai vis tiek nėra jėgainė. Tačiau tai nėra blogai varikliui, kuris yra mažesnis už nikelį. Ir dabar grandinė tapo bendrosios paskirties bipoliniu žingsninio variklio vairuotoju. Pridėta lapkričio 29 d.: Vakar vakare kurį laiką veikė variklis 12 V įtampa ir jis pradėjo karšti. Nesu tikras, ar tai buvo rezonansinio dažnio problema, ar tiesiog per didelė apvijų srovė. Bet kuriuo atveju būkite šiek tiek atsargūs, jei vairuojate šį mažą variklį su didesne įtampa.
8 žingsnis: pabaiga
Taigi, ko aš išmokau? Vairuoti žingsninį variklį su AVR (ir H tilto mikroschema) yra gana paprasta, net esant „išgalvotam“pusės žingsnio režimui.
Vis dėlto dar nežinau, ką darysiu su mažais žingsniniais varikliais. Turite idėju?
Rekomenduojamas:
Elektrinių variklių generatorius „pasidaryk pats“, veikiantis 1,25 V ir 0,054 Ma: 4 žingsniai
Elektrinių variklių generatorius „pasidaryk pats“, maitinamas 1,25 V ir 0,054 Ma: Tikslas: sukurti nedidelį nuolatinės srovės generatorių, maitinamą vienu mini saulės kolektorių vimun sc-3012-2a (naudojimui patalpose ir lauke) 29,44 mm × 11,6 mm × 1,1 mm, kuris gali sukurkite švytėjimą, kuris užtikrina tik 1,25 VX 0,054 ma
Tricopteris su priekiniu pakreipiamuoju varikliu: 5 žingsniai (su paveikslėliais)
Tricopteris su priekiniu pakreipiamuoju varikliu: Taigi tai yra nedidelis eksperimentas, kuris, tikiuosi, nuves ant hibridinio trikopterio/girokopterio? Taigi šiame trirature nėra nieko naujo, jis iš esmės yra toks pat kaip mano įprastas triratis, kaip parodyta šioje instrukcijoje. Tačiau tai buvo ilgis
Valdykite kompiuterį žingsniniu varikliu!: 9 žingsniai (su nuotraukomis)
Valdykite kompiuterį naudodami žingsninį variklį! Šioje instrukcijoje sužinokime, kaip galime ją naudoti savo kompiuteriui valdyti. Taigi, nesivaržydami, pradėkime
Daugiau nei 4 variklių naudojimas - kelių variklių skydų sukravimas: 3 žingsniai
Daugiau nei 4 variklių naudojimas - kelių variklinių skydų sukravimas: instrukcinis vibracinių jutimų keitimo ir padidinimo įtaisas (https: //www.instructables.com/id/Vibrotactile-Sens …) parodo būdą, kaip sukurti prietaisą, kuris verčia jutimą indėlis į vibracinius dirgiklius. Tie vibraciniai dirgikliai yra
Važiuokite „Wire Go Kart“: 5 žingsniai
Važiuokite „Wire Go Kart“: ką tik gavau naują kartingo variklį, nuo 6 AG pasiekiau 10 AG. Šis naujas „Kohler“variklis, kurį aš gavau, manau, nebuvo sukurtas važiuoti kartingu, todėl man buvo sunku rasti būdą, kaip pritvirtinti dujų žiedlapį. Na, po kelių dienų, kai nieko nesupratau