Jeden z Najpopulárnejším krokovým motorom je 28BYJ-48. Po článku, ktorý bol uverejnený v tomto blogu, by ste už mali vedieť všetko, čo potrebujete o tomto type motora s akou presnosťou môžete ovládať odbočku tak, aby postupovala pomaly alebo aby zostala statická v požadovanej polohe. To im umožňuje mať množstvo aplikácií, od priemyselných, cez robotiku, cez mnoho ďalších, na ktoré si spomeniete.
28BYJ-48 je malý krokový motor unipolárneho typu, a je ľahko integrovateľný s Arduino, pretože má obvykle nainštalovaný modul ovládača / radiča model ULN2003A. Všetko za veľmi lacnú cenu a pomerne kompaktnú veľkosť. Vďaka týmto vlastnostiam je tiež ideálne začať cvičiť s týmito zariadeniami.
28 Funkcie BYBY-48
Motor 28BYJ-498 Jedná sa o krokový motor, ktorý má nasledujúce vlastnosti:
- Typ: krokový motor alebo unipolárny krokový motor
- fázy: 4 (celý krok), pretože vo vnútri sú 4 cievky.
- Odpor: 50 Ω.
- Krútiaci moment motora: 34 N / m, to znamená, že ak sa Newtonov na meter prenesie na Kg, bola by to sila ekvivalentná uvedeniu približne 0.34 Kg na cm na jeho os. Dosť na to, aby ste sa zdvihli s kladkou niečo cez štvrť kila.
- spotreba: 55 mA
- Kroky na kolo: 8 typu polstupňa (každý 45 °)
- Integrovaná prevodovka: áno, 1/64, takže pre väčšiu presnosť rozdelí každý krok na 64 menších, a preto dosiahne 512 krokov, každý s veľkosťou 0.7 °. Alebo to možno považovať aj za 256 celých krokov na kolo (celý krok).
Celé alebo pol kroky alebo celé a pol kroky sú režimy, v ktorých môžete pracovať. Ak si pamätáte, v článku o krokových motoroch som uviedol, že príklad kódu pre Arduino IDE fungoval na plný krútiaci moment.
Pre viac informácií môžete stiahnite si údajový listAko napríklad toto. Pokiaľ ide o pinout, nemusíte sa príliš trápiť, aj keď informácie nájdete aj v údajovom liste zakúpeného modelu. Ale tento betón má spojenie, ktoré vám umožní pripojiť všetky káble naraz, bez obáv z polarizácie alebo toho, kam každý z nich smeruje, stačí vložiť do ovládača a voila ...
Pokiaľ ide o ovládač alebo ovládač motora, ktorý je súčasťou tohto motora 28BYJ-48, máte ULN2003A, jeden z najpopulárnejších a ktoré môžete s Arduino veľmi ľahko použiť. Má rad Darlingtonových tranzistorov, ktoré podporujú až 500 mA a má pripojovacie kolíky na prepojenie 4 cievok s kolíkmi dosky Arduino očíslovanými od IN1 do IN4, ako ste videli v článku o krokovom motore, ktorý som spomínal vyššie. Od Arduina môžete mať vodiče od pinov 5v a GND k dvom pinom na doske modulu vodiča označené - + (5-12v) na napájanie dosky a krokového motora.
Mimochodom, s Darlingtonove tranzistory je dovolené používať dvojicu bipolárnych tranzistorov umiestnených spolu a pôsobiacich ako jeden tranzistor. To výrazne zvyšuje zisk signálu vo výslednom jednom „tranzistore“ a tiež umožňuje prenos vyšších prúdov a napätí.
El Darlingtonský pár, pretože je známy jediný „tranzistor“ tvorený kombináciou dvoch bipolárnych tranzistorov. Vznikol v laboratóriách Bell Labs v roku 1952 a jeho meno je Sidney Darlington. Tieto tranzistory sú spojené takým spôsobom, že jeden NPN má svoj kolektor pripojený k kolektoru druhého tranzistora NPN. Zatiaľ čo emitent prvého ide na základňu druhého. To znamená, že výsledný tranzistor alebo pár má tri pripojenia ako jeden tranzistor. Základňa prvého tranzistora a kolektor / emitor druhého tranzistora ...
Kde kúpiť motor
undefined nájdete v mnohých obchodoch špecializuje sa na elektroniku a tiež online ako Amazon. Môžete ich napríklad kúpiť na adrese:
- Za približne 6 € môžete mať a Nenašli sa žiadne produkty..
- Nenašli sa žiadne produkty. a káble na jeho pripojenie, v prípade, že potrebujete viac ako jeden motor pre robota alebo projekt, ktorý robíte ...
Programovanie 28BYJ-48 s Arduino
Najskôr by ste mali mať jasno v koncepciách krokového motora, tak ti odporúčam prečítajte si článok Hwlibre o týchto položkách. Tieto motory nie sú navrhnuté tak, aby boli napájané nepretržite, ale aby ich polarizovali v rôznych fázach tak, aby postupovali iba o také stupne, aké chceme. Aby ste excitovali fázy a kontrolovali otáčanie hriadeľa, budete musieť každé pripojenie správne napájať.
Výrobca odporúča riadiť súčasne 2 cievky.
- Aby to fungovalo pri maximálnom krútiacom momente, s najrýchlejšou rýchlosťou a maximálnou spotrebou, môžete použiť túto tabuľku:
paso | Cievka A | Cievka B | Cievka C. | Cievka D |
---|---|---|---|---|
1 | VYSOKÁ | VYSOKÁ | LOW | LOW |
2 | LOW | VYSOKÁ | VYSOKÁ | LOW |
3 | LOW | LOW | VYSOKÁ | VYSOKÁ |
4 | VYSOKÁ | LOW | LOW | VYSOKÁ |
- Nabudiť naraz iba jednu cievku a dosiahnuť jej funkčnosť v režime vlnového pohonu (aj keď na polovicu, ale s nízkou spotrebou), môžete použiť nasledujúcu tabuľku:
paso | Cievka A | Cievka B | Cievka C. | Cievka D |
---|---|---|---|---|
1 | VYSOKÁ | LOW | LOW | LOW |
2 | LOW | VYSOKÁ | LOW | LOW |
3 | LOW | LOW | VYSOKÁ | LOW |
4 | LOW | LOW | LOW | VYSOKÁ |
- Alebo za pokroky pol kroku, môžete to použiť na dosiahnutie vyššej presnosti otáčania v kratších krokoch:
paso | Cievka A | Cievka B | Cievka C. | Cievka D |
---|---|---|---|---|
1 | VYSOKÁ | LOW | LOW | LOW |
2 | VYSOKÁ | VYSOKÁ | LOW | LOW |
3 | LOW | VYSOKÁ | LOW | LOW |
4 | LOW | VYSOKÁ | VYSOKÁ | LOW |
5 | LOW | LOW | VYSOKÁ | LOW |
6 | LOW | LOW | VYSOKÁ | VYSOKÁ |
7 | LOW | LOW | LOW | VYSOKÁ |
8 | LOW | LOW | LOW | VYSOKÁ |
A možno si myslíte ... čo to má spoločné s programovaním Arduina? Pravda je taká, že odvtedy môžete vytvoriť maticu alebo pole s hodnotami v Arduino IDE aby sa motor hýbal, ako chcete, a potom použite uvedené pole v slučke alebo keď to potrebujete ... Ak vezmeme do úvahy, že LOW = 0 a HIGH = 1, to znamená absencia napätia alebo vysokého napätia, môžete vytvoriť signály, ktoré Arduino musíte poslať do ovládača, aby ste poháňali motor. Napríklad na vykonanie stredných krokov môžete použiť kód pre maticu:
int Paso [ 8 ][ 4 ] = { {1, 0, 0, 0}, {1, 1, 0, 0}, {0, 1, 0, 0}, {0, 1, 1, 0}, {0, 0, 1, 0}, {0, 0, 1, 1}, {0, 0, 0, 1}, {1, 0, 0, 1} };
Teda pre úplný kód náčrtu Z Arduino IDE môžete pomocou tohto základného príkladu otestovať, ako pracuje krokový motor 28BYJ-48. Pomocou neho môžete otáčať hriadeľ motora, akonáhle budete mať správne pripojený celý diagram. Pokúste sa upraviť hodnoty alebo zmeniť kód aplikácie, ktorú potrebujete vo vašom prípade:
// Definir pines conectados a las bobinas del driver #define IN1 8 #define IN2 9 #define IN3 10 #define IN4 11 // Secuencia de pasos a par máximo del motor. Realmente es una matriz que representa la tabla del unipolar que he mostrado antes int paso [4][4] = { {1, 1, 0, 0}, {0, 1, 1, 0}, {0, 0, 1, 1}, {1, 0, 0, 1} }; void setup() { // Todos los pines se configuran como salida, ya que el motor no enviará señal a Arduino pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); } // Bucle para hacerlo girar void loop() { for (int i = 0; i < 4; i++) { digitalWrite(IN1, paso[i][0]); digitalWrite(IN2, paso[i][1]); digitalWrite(IN3, paso[i][2]); digitalWrite(IN4, paso[i][3]); delay(10); } }
Ako vidíte, v tomto prípade by to fungovalo s maximálnym krútiacim momentom, ktorý aktivuje cievky dve po druhej ...