Eden Najbolj priljubljen koračni motor je 28BYJ-48. Po članku, objavljenem v tem blogu, bi to že morali vedeti vse, kar potrebujete za to vrsto motorja natančnosti, pri kateri lahko nadzorujete ovinek tako, da počasi napreduje ali ostane statičen v želenem položaju. To jim omogoča množico aplikacij, od industrijske do robotike, prek številnih drugih, ki si jih lahko omislite.
28BYJ-48 je majhen enopolarni koračni motorin enostaven za integracijo z Arduino, saj ima modul gonilnik / krmilnik model ULN2003A, ki je običajno priložen. Vse za zelo poceni ceno in dokaj kompaktne velikosti. Zaradi teh lastnosti je tudi idealno začeti vaditi s temi napravami.
28BYJ-48 Značilnosti
Motor 28BJJ-498 Gre za koračni motor, ki ima naslednje značilnosti:
- tipo: koračni motor ali enopolarni koračni motor
- Faze: 4 (polni korak), saj so v notranjosti 4 tuljave.
- Odpornost: 50 Ω.
- Navor motorja: 34 N / m, to je, če bi Newtonov na meter prenesli na Kg, bi bila to sila, enaka postavitvi približno 0.34 Kg na cm na svojo os. Dovolj za dviganje s škripcem nekaj več kot četrt kilograma.
- Poraba: 55 mA
- Koraki na krog: 8 polovičnih korakov (po 45 °)
- Integriran menjalnik: da, 1/64, zato deli vsak korak na 64 manjših za večjo natančnost, zato doseže 512 korakov po 0.7º. Lahko pa ga vidimo tudi kot 256 celotnih korakov na krog (celoten korak).
Polni ali pol koraki ali polni in pol koraki so načini, v katerih lahko delate. Če se spomnite, sem v članku o koračnih motorjih rekel, da primer kode za Arduino IDE deluje s polnim navorom.
Za več informacij lahko prenesite svoj podatkovni listKot na primer to. Kar zadeva pinout, vam ni treba preveč skrbeti, čeprav lahko informacije vidite tudi v podatkovnem listu kupljenega modela. Toda ta beton ima povezavo, ki vam omogoča, da naenkrat priključite vse kable, ne da bi vas skrbela polarizacija ali kam gre vsak, samo vstavite v krmilnik in voila ...
Kar zadeva krmilnik motorja ali gonilnik, vključen v ta motor 28BYJ-48, ga imate ULN2003A, eden najbolj priljubljenih in ki ga lahko zelo enostavno uporabljate z Arduinom. Ima vrsto Darlingtonovih tranzistorjev, ki podpirajo do 500 mA, in ima priključne nožice za povezavo 4 tuljav z nožicami plošče Arduino, oštevilčenih od IN1 do IN4, kot ste videli v članku o koračnem motorju, ki sem ga omenil zgoraj. Od Arduina imate lahko žice od zatiča 5v in GND do dveh zatičev na plošči gonilniškega modula z oznako - + (5-12v) za napajanje plošče in koračnega motorja.
Mimogrede, z Darlingtonski tranzistorji dovoljeno je uporabljati par bipolarnih tranzistorjev, ki sta postavljena skupaj in delujeta kot en sam tranzistor. To močno poveča ojačanje signala v nastalem enojnem "tranzistorju" in omogoča tudi prenos višjih tokov in napetosti.
El Darlingtonski par, saj je znan en sam "tranzistor", ki ga tvori kombinacija dveh bipolarnih tranzistorjev. Izvira iz podjetja Bell Labs leta 1952, ki ga je ustvaril Sidney Darlington, od tod tudi njegovo ime. Ti tranzistorji so povezani tako, da ima en NPN kolektor povezan s kolektorjem drugega NPN tranzistorja. Medtem ko izdajatelj prvega preide na osnovo drugega. To pomeni, da ima nastali tranzistor ali par tri povezave kot en tranzistor. Osnova prvega tranzistorja in kolektor / oddajnik drugega tranzistorja ...
Kje kupiti motor
P najdete v številnih trgovinah specializirano za elektroniko in tudi na spletu, kot je Amazon. Na primer, lahko jih kupite na:
- Za približno 6 € lahko dobite a Ni najdenih izdelkov.
- Ni najdenih izdelkov in kabli za njegove povezave, če potrebujete več kot en motor za robota ali projekt, ki ga izvajate ...
Programiranje 28BYJ-48 z Arduinom
Najprej bi morali biti jasen glede konceptov koračnega motorja, zato vam priporočam preberite članek Hwlibreja o teh predmetih. Ti motorji niso zasnovani za neprekinjeno napajanje, temveč za polarizacijo v različnih fazah, tako da napredujejo le do stopinj, ki jih želimo. Za vzbujanje faz in nadzor vrtenja gredi boste morali pravilno priključiti vsako povezavo.
Proizvajalec priporoča vožnjo po 2 tuljavi hkrati.
- Da bo uspelo pri največjem navoru, z najhitrejšo hitrostjo in največjo porabo lahko uporabite to tabelo:
Paso | Tuljava A | Tuljava B | Tuljava C | Tuljava D |
---|---|---|---|---|
1 | HIGH | HIGH | LOW | LOW |
2 | LOW | HIGH | HIGH | LOW |
3 | LOW | LOW | HIGH | HIGH |
4 | HIGH | LOW | LOW | HIGH |
- Za pogon samo ene tuljave naenkrat in njeno delovanje v načinu valovnega pogona (tudi za polovico, vendar nizko porabo), lahko uporabite naslednjo tabelo:
Paso | Tuljava A | Tuljava B | Tuljava C | Tuljava D |
---|---|---|---|---|
1 | HIGH | LOW | LOW | LOW |
2 | LOW | HIGH | LOW | LOW |
3 | LOW | LOW | HIGH | LOW |
4 | LOW | LOW | LOW | HIGH |
- Ali za napredek pol korakov, lahko s tem dosežete večjo natančnost obračanja v krajših korakih:
Paso | Tuljava A | Tuljava B | Tuljava C | Tuljava D |
---|---|---|---|---|
1 | HIGH | LOW | LOW | LOW |
2 | HIGH | HIGH | LOW | LOW |
3 | LOW | HIGH | LOW | LOW |
4 | LOW | HIGH | HIGH | LOW |
5 | LOW | LOW | HIGH | LOW |
6 | LOW | LOW | HIGH | HIGH |
7 | LOW | LOW | LOW | HIGH |
8 | LOW | LOW | LOW | HIGH |
In morda pomislite ... kaj ima to skupnega s programiranjem Arduino? No resnica je, da od takrat veliko lahko ustvarite matriko ali matriko z vrednostmi v Arduino IDE tako da se motor premika, kot želite, nato pa omenjeno matriko uporabite v zanki ali kadar jo potrebujete ... Upoštevajoč LOW = 0 in HIGH = 1, to je odsotnost napetosti ali visoke napetosti, lahko signale, ki jih morate Arduino poslati krmilniku za pogon motorja. Na primer za srednje korake lahko uporabite kodo za matriko:
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} };
Se pravi, za celotna koda skice V Arduino IDE lahko s tem osnovnim primerom preizkusite, kako deluje koračni motor 28BYJ-48. Z njim lahko zavrtite gred motorja, ko je celoten diagram pravilno povezan. Poskusite spremeniti vrednosti ali spremeniti kodo aplikacije, ki jo potrebujete v vašem primeru:
// 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); } }
Kot lahko vidite, bi v tem primeru delovalo z največjim navorom in aktiviralo tuljave dve za dve ...