Orodha ya maudhui:

Endesha gari la Stepper na Microprocessor ya AVR: Hatua 8
Endesha gari la Stepper na Microprocessor ya AVR: Hatua 8

Video: Endesha gari la Stepper na Microprocessor ya AVR: Hatua 8

Video: Endesha gari la Stepper na Microprocessor ya AVR: Hatua 8
Video: Объяснение прошивки Marlin 2.0.x 2024, Julai
Anonim
Endesha gari la Stepper na Microprocessor ya AVR
Endesha gari la Stepper na Microprocessor ya AVR

Je! Umepata motors za kukanyaga kutoka kwa printa / diski za diski / nk amelala karibu?

Baadhi ya kuchunguza na ohmeter, ikifuatiwa na nambari rahisi ya dereva kwenye microprocessor yako na utakuwa ukiingia kwa mtindo.

Hatua ya 1: Jua Wanafunzi wa Kambo

Jua Wanafunzi wa Kambo
Jua Wanafunzi wa Kambo
Jua Wanafunzi wa Kambo
Jua Wanafunzi wa Kambo

Kimsingi, utahitaji kujua waya zote ndogo huenda wapi.

Hatua ya kwanza ni kugundua ikiwa ni motor unipolar au bipolar. Angalia Jones juu ya Steppers kwa msingi zaidi, halafu kwenye Tovuti ya Ian Harries kwa njia rahisi ya kujua motor isiyojulikana. Soma kidogo, kisha ungana nami katika safari ya hii gari niliyoipata kwa bei rahisi. (Zinauzwa kwa $ 0.99 hivi sasa. Ni ndogo, nyepesi, lakini hazina torque nyingi. Sijui itakuwa nzuri kwa nini bado.)

Hatua ya 2: Tafuta Sehemu ya Kawaida

Tafuta Sehemu Ya Kawaida
Tafuta Sehemu Ya Kawaida
Tafuta Sehemu Ya Kawaida
Tafuta Sehemu Ya Kawaida

Kwa hivyo una waya tano (au nne, au sita). Magari yako yatakuwa na nusu mbili, na labda unaweza hata kusema kwa kuangalia ni upande gani kila waya ni wa.

Ikiwa unatazama tu waya nne, una bahati - ni motor bipolar. Unachotakiwa kufanya ni kubaini ni waya gani wawili huenda pamoja. Ikiwa una motor unipolar, au waya zaidi ya 4, italazimika kuvunja ohmeter yako. Unachotafuta ni waya wa kawaida (ardhi) kwa kila nusu. Unaweza kujua ni ipi iliyo chini ya gari ya bipolar kwa sababu ina nusu ya upinzani kwa moja ya miti kuliko miti hiyo inavyovuka. Picha ni picha yangu kutoka kwa kuunganisha waya hadi waya na kutambua upinzani (au ikiwa wameunganishwa kabisa). Unaweza kuona kuwa Nyeupe ndio msingi wa trio ya chini b / c ina nusu ya upinzani dhidi ya Nyekundu au Bluu ambayo wanayo kila mmoja. (Gari hii ni ya ajabu na haina bomba katikati kwenye koli ya juu ya sumaku. Ni kama ni nusu-bipolar, nusu-unipolar. Labda unaweza kutumia hii kuhisi kuzunguka kwenye coil Nyekundu-Nyeupe-Bluu wakati Nyeusi-Njano coil inaendeshwa.)

Hatua ya 3: Tambua Agizo la Kukanyaga

Tambua Agizo la Kuzunguka
Tambua Agizo la Kuzunguka

Nilikuwa nitaenda kuendesha gari kama bipolar, kwa hivyo napuuza waya mweupe wa ardhi. Nina waya nne tu za kuhangaika.

Unaweza kutaka kuendesha motor yako ya unipolar kama bipolar hata hivyo, kwa sababu inatumia coil nzima katika awamu zote mbili badala ya kubadilisha kati ya nusu mbili za kila coil. Coil zaidi = wakati zaidi. Endesha sasa kupitia jozi (ukiangalia polarity uliyochagua) na kisha ukimbie sasa kupitia jozi nyingine kwa wakati mmoja. Unapounganisha jozi ya pili, angalia ambayo motor inageuka. Andika hii. Sasa rekebisha polarity kwenye jozi ya kwanza uliyochagua. Kisha unganisha jozi ya pili tena na polarity yao pia imegeuzwa. Kumbuka mwelekeo. Kutoka kwa hii unapaswa kuwa na uwezo wa kubaini mlolongo wa kuzungusha motor katika mwelekeo wowote. Katika mfano wangu, wote wawili waliishia kugeuza saa moja kwa moja, kwa hivyo kupitisha mlolongo kwa njia ile ile niliyochagua itapunguza motor CCW.

Hatua ya 4: Kuchukua Pikipiki kwa Hifadhi ya Mtihani

Kuchukua Pikipiki kwa Hifadhi ya Mtihani
Kuchukua Pikipiki kwa Hifadhi ya Mtihani

Ikiwa haujajazwa tayari kwa programu ya microprocessor, unaweza kufanya mbaya zaidi kuliko Ghetto Development Kit au yeyote wa watengenezaji wa PIC anuwai. Unganisha waya moja kwa moja hadi kwenye microproc yako na uichome na nambari ifuatayo:

/ * Inacheza na kupata motors ndogo za stepper zinazoendeshwa. * /

+ YELLOW _BV (PB3) #fafanua Kuchelewesha 200 / * milliseconds kati ya hatua * / int kuu (batili) {DDRB = 0xff; / * Wezesha pato kwenye pini zote za B * / PORTB = 0x00; / * Weka zote kwa 0v * / wakati (1) {/ * kitanzi kuu hapa * / PORTB = BLUE; _kucheleweshwa_kucheleweshwa (kucheleweshwa); PORTB = NYEUSI; _kucheleweshwa_kucheleweshwa (kucheleweshwa); PORTB = NYEKUNDU; _kucheleweshwa_kucheleweshwa (kucheleweshwa); PORTB = NJANO; _kucheleweshwa_kucheleweshwa (kucheleweshwa); }} Je! Nambari hiyo ni rahisi kiasi gani? Rahisi sana. Yote inafanya ni kufanya ufafanuzi mzuri ili nipate kurejelea waya kwa rangi badala ya majina yao ya siri, na kisha inawageuza kwa mlolongo na ucheleweshaji unaoweza kubadilishwa katikati. Kwa kuanzia, nilichagua ucheleweshaji wa nusu sekunde kati ya hatua. Tazama video fupi ya matokeo. Ikiwa uko kwenye mchezo wako kweli, hesabu idadi ya hatua kwa kila mzunguko ili kugundua azimio la angular la gari moja. (Ndio ndio. PS. Drives bila mzigo kwa 3.6v kwa urahisi. Tazama betri kwenye video.)

Hatua ya 5: Swing It Back and Forth

Kwa hivyo unayo kazi kwa saa. Kitu chochote cha kuvutia zaidi? Kusafisha nambari kidogo, na tunaweza kuiendesha na kurudi. Ninaweka mlolongo wa saa moja kwa moja ili uweze kupita kwa awamu na rahisi kwa kitanzi. Sasa unaweza kukimbia kitanzi juu au chini ili kwenda sawa na saa au kinyume cha saa.

int kuu (batili) {const uint8_t kuchelewesha = 50; const uint8_t saa moja kwa moja = {BLUE, BLACK, RED, MANJANO}; uint8_t i; DDRB = 0xff; / * Wezesha pato kwenye pini zote za B * / PORTB = 0x00; / * Weka zote kuwa 0v * / wakati (1) {/ * kitanzi kuu hapa * / kwa (i = 0; i <= 3; i ++) {/ * pitia rangi kwa saa moja kwa moja * / PORTB = saa moja kwa moja ; kuchelewa_ms (kuchelewesha); } kwa (i = 3; i> = 0; i -) {/ * pitia rangi ccw * / PORTB = saa moja kwa moja ; kuchelewa_ms (kuchelewesha); }}} Tazama video ya ujanja ya kitu cha nyuma.

Hatua ya 6: Sijawahi Nusu-hatua, kwa sababu mimi si Mpiga hatua…

Jaribu sauti kando, nusu ya gari lako iko wapi. Unapata kilele zaidi cha sasa, wakati zaidi wa papo hapo, na mara mbili azimio la angular. Kukanyaga nusu kwa kifupi: Badala ya Bluu, Nyeusi, Nyekundu, Njano, unaendesha gari na Bluu, Bluu + Nyeusi, Nyeusi, Nyeusi + Nyekundu, Nyekundu, Nyekundu + Njano, Njano, Njano + Bluu. Upeo wa juu ni kwamba kwa nusu ya muda unashirikisha sumaku zote mara moja. Na wakati wa seti zote mbili zinahusika, gari huelekeza katikati ya hizo mbili, ikipungua pembe kati ya "hatua" na kuifanya motor igeuke vizuri zaidi. Je! Unaweza kusema kutoka kwa video? Sina hakika… Sasa sehemu ya nambari inayotembea nusu inaonekana kama hii:

Utupu nusu kwa (i = 0; i <= 3; i ++) {PORTB = mwelekeo ; / * sehemu ya coil moja * / _delay_ms (kuchelewesha); PORTB | = mwelekeo [i + 1]; / * ongeza kwa nusu-hatua * / _delay_ms (kuchelewesha); }} Amri ya kwanza ya PORTB inaweka pole moja kuwa chanya na zingine zote kuwa hasi. Halafu inasubiri. Halafu amri ya pili ya PORTB inaweka pole ya pili (kwa upande mwingine) kuwa chanya, ikishirikisha vilima vyote kwa torque ya 1.4x (na 2x ya sasa). Orodha kamili ya programu imeambatanishwa hapa chini. Safu mbili sasa zimefafanuliwa (saa moja kwa moja, saa moja kwa moja) na zote zina vitu 5 kila moja kuruhusu kuingia kwa i + 1 katika kazi ya nusu ya kukanyaga.

Hatua ya 7: Ongeza Dereva wa Magari

Ongeza Dereva wa Magari
Ongeza Dereva wa Magari
Ongeza Dereva wa Magari
Ongeza Dereva wa Magari
Ongeza Dereva wa Magari
Ongeza Dereva wa Magari

Hadi sasa ni nzuri sana.

Shida tu ni kwamba motor haionekani kuwa na torque nyingi, ambayo inaweza kuwa ni kwa sababu ya kwamba microprocessor itatoa tu ~ 50mA kwa kila pini. Hatua inayofuata inayofuata itakuwa kuibana dereva wa gari ili kuipatia juisi zaidi. Lakini basi fikiria kidogo: Ninaiendesha tu na 5v, na upinzani wa upepo wa coil ni ~ 125 ohms. Ambayo inamaanisha kuwa kuchora tu 40mA ya gari kwa kila pini, na inapaswa kuendeshwa vizuri na chip ya (beefy!) AVR. Kwa hivyo kupata voltage zaidi ya kuendesha gari, niliiunganisha hadi chip ya daraja la SN754410 H. Mzunguko ni rahisi sana. Kila pini kutoka kwa AVR huenda kwa pembejeo, na pini zinazofanana za pato huenda kwa motor. Chip inahitaji 5v kwa sehemu ya mantiki, na inaweza kuchukua voltage nyingi zaidi katika sehemu ya magari. Kuiendesha kwa 11.25v (betri tatu 3.6v) ilisaidia kidogo. Wakati dhahiri zaidi kwa kidole changu, lakini bado sio nguvu. Sio mbaya kwa motor ambayo ni ndogo kuliko nikeli, ingawa. Na sasa mzunguko unakuwa dereva wa bipolar stepper motor-kusudi la jumla. Imeongezwa Novemba 29: Tembeza gari jana usiku saa 12v kwa muda na ikaanza kupata moto. Sina hakika ikiwa lilikuwa shida ya masafa ya resonant au ikiwa ilikuwa ya sasa sana kwa vilima. Kwa njia yoyote, kuwa mwangalifu ikiwa unaendesha gari hii ndogo na voltages kubwa.

Hatua ya 8: Mwisho

Kwa hivyo nilijifunza nini? Kuendesha gari ya stepper na AVR (na chip ya daraja la H) ni rahisi sana, hata katika hali ya "kupendeza" ya kupitisha nusu.

Sijui ni nini nitafanya na motors ndogo kidogo hata hivyo. Mapendekezo yoyote?

Ilipendekeza: