Jedan od Najpopularniji koračni motor je 28BYJ-48. Nakon članka objavljenog na ovom blogu, trebali biste već znati sve što vam treba o ovoj vrsti motora preciznosti u kojoj možete kontrolirati zavoj tako da polako napreduje ili ostaje statičan u položaju koji želite. To im omogućuje mnoštvo aplikacija, od industrijskih, do robotike, preko mnogih drugih kojih se možete sjetiti.
28BYJ-48 je mali koračni motor unipolarnog tipai jednostavan za integraciju s Arduinom, jer ima modul upravljačkog programa / kontrolera model ULN2003A koji je obično uključen u njega. Sve za vrlo jeftinu cijenu i prilično kompaktnu veličinu. Te značajke također čine idealnim početak vježbanja s ovim uređajima.
28BYJ-48 Značajke
Motor 28BYJ-498 To je koračni motor koji ima sljedeće karakteristike:
- tipo: koračni motor ili unipolarni stepenik
- faze: 4 (puni korak), jer su unutra 4 zavojnice.
- Resistencia: 50 Ω.
- Zakretni moment motora: 34 N / m, to jest, ako se Newtoni po metru prenose na Kg, to bi bila sila jednaka stavljanju oko 0.34 Kg po cm na njegovu os. Dovoljno za dizanje remenicom nešto više od četvrtine kilograma.
- Potrošnja: 55 mA
- Koraci po krugu: 8 polukoraka (po 45º)
- Integrirani mjenjač: da, 1/64, pa dijeli svaki korak na 64 manja radi veće preciznosti, stoga doseže 512 koraka od po 0.7º. Ili se također može vidjeti kao 256 punih koraka po krugu (puni korak).
Puni ili pola koraka, ili puni i pola koraka, načini su u kojima možete raditi. Ako se sjećate, u članku o koračnim motorima rekao sam da primjer koda za Arduino IDE radi punim momentom.
Za više informacija možete preuzmite svoj podatkovni listKao na primjer ovo. Što se tiče pinouta, ne morate se previše brinuti, iako podatke možete vidjeti i u podatkovnom listu modela koji ste kupili. Ali ovaj beton ima vezu koja vam omogućuje spajanje svih kabela odjednom, bez brige o polarizaciji ili kamo ide svaki, samo umetnite u kontroler i voila ...
Što se tiče upravljačkog sklopa motora ili upravljačkog programa uključenog u ovaj motor 28BYJ-48, jeste ULN2003A, jedan od najpopularnijih i koji možete vrlo jednostavno koristiti s Arduinom. Ima niz Darlingtonovih tranzistora koji podržavaju do 500mA i ima priključne igle za povezivanje 4 zavojnice s pinovima Arduino ploče numeriranim od IN1 do IN4, kao što ste vidjeli u članku o koračnom motoru koji sam ranije spomenuo. Iz Arduina možete dobiti žice od 5v i GND pina do dva pina na ploči upravljačkog modula s oznakom - + (5-12v) za napajanje ploče i koračnog motora.
Usput, sa Tranzistori iz Darlingtona Dopušteno je koristiti par bipolarnih tranzistora postavljenih zajedno i djelujući kao jedan tranzistor. To uvelike povećava pojačanje signala u rezultirajućem pojedinačnom 'tranzistoru', a omogućuje i nošenje većih struja i napona.
El Par Darlington, jer je poznat pojedinačni "tranzistor" nastao kombinacijom dva bipolarna tranzistora. Nastao je u Bell Labs 1952. godine, od Sidneya Darlingtona, pa je otuda i njegovo ime. Ti su tranzistori povezani na takav način da jedan NPN ima svoj kolektor povezan s kolektorom drugog NPN tranzistora. Dok izdavatelj prvog ide u bazu drugog. Odnosno, rezultirajući tranzistor ili par imaju tri veze kao jedan tranzistor. Baza prvog tranzistora i kolektor / emiter drugog tranzistora ...
Gdje kupiti motor
The možete pronaći u mnogim trgovinama specijalizirana za elektroniku, a također i za mrežu poput Amazona. Na primjer, možete ih kupiti na:
- Za oko 6 € možete dobiti a 28BYJ-48 motor s pogonskim modulom.
- Nije pronađen nijedan proizvod. i kablove za njegove veze, u slučaju da vam treba više od jednog motora za robota ili projekt koji radite ...
Programiranje 28BYJ-48 s Arduinom
Prije svega, trebali biste biti jasan oko pojmova koračnog motora, pa vam preporučujem pročitajte Hwlibreov članak o tim stavkama. Ovi motori nisu dizajnirani za kontinuirano napajanje, već za polarizaciju u različitim fazama tako da napreduju samo za stupnjeve koje želimo. Da biste pobudili faze i kontrolirali okretanje osovine, morat ćete pravilno priključiti svaku vezu.
Proizvođač preporučuje istodobno pogon po 2 zavojnice.
- Da bi to uspjelo pri maksimalnom okretnom momentu, s najbržom brzinom i maksimalnom potrošnjom, možete koristiti ovu tablicu:
Paso | Zavojnica A | Zavojnica B | Zavojnica C | Zavojnica D |
---|---|---|---|---|
1 | HIGH | HIGH | NISKA | NISKA |
2 | NISKA | HIGH | HIGH | NISKA |
3 | NISKA | NISKA | HIGH | HIGH |
4 | HIGH | NISKA | NISKA | HIGH |
- Pobuđivati samo po jednu zavojnicu i raditi u načinu rada s valovima (čak i za polovicu, ali s malom potrošnjom), mogli biste koristiti sljedeću tablicu:
Paso | Zavojnica A | Zavojnica B | Zavojnica C | Zavojnica D |
---|---|---|---|---|
1 | HIGH | NISKA | NISKA | NISKA |
2 | NISKA | HIGH | NISKA | NISKA |
3 | NISKA | NISKA | HIGH | NISKA |
4 | NISKA | NISKA | NISKA | HIGH |
- Ili za predujmove pola koraka, ovo možete koristiti za postizanje veće preciznosti okretanja u kraćim koracima:
Paso | Zavojnica A | Zavojnica B | Zavojnica C | Zavojnica D |
---|---|---|---|---|
1 | HIGH | NISKA | NISKA | NISKA |
2 | HIGH | HIGH | NISKA | NISKA |
3 | NISKA | HIGH | NISKA | NISKA |
4 | NISKA | HIGH | HIGH | NISKA |
5 | NISKA | NISKA | HIGH | NISKA |
6 | NISKA | NISKA | HIGH | HIGH |
7 | NISKA | NISKA | NISKA | HIGH |
8 | NISKA | NISKA | NISKA | HIGH |
I možda mislite: kakve to veze ima s Arduino programiranjem? Pa istina je to puno, od tada možete stvoriti matricu ili niz s vrijednostima u Arduino IDE-u tako da se motor kreće kako želite, a zatim upotrijebite navedeni niz u petlji ili kad vam zatreba ... Uzimajući u obzir da je LOW = 0 i HIGH = 1, odnosno odsutnost napona ili visokog napona, možete stvoriti signale koje Arduino morate poslati kontroleru za pogon motora. Na primjer, da biste poduzeli srednje korake, mogli biste upotrijebiti kod za matricu:
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} };
Odnosno za kompletni kod skice Iz Arduino IDE-a možete na ovom osnovnom primjeru testirati kako radi koračni motor 28BYJ-48. Pomoću nje možete okretati osovinu motora nakon što pravilno povežete cijeli dijagram. Pokušajte izmijeniti vrijednosti ili izmijeniti kôd za aplikaciju koja vam je potrebna u vašem slučaju:
// 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); } }
Kao što vidite, u ovom bi slučaju radilo s maksimalnim momentom aktivirajući zavojnice dvije po dvije ...