28BYJ-48: lahat ng kailangan mong malaman tungkol sa stepper motor na ito

28BYJ-48 stepper motor

Isa sa mga Ang pinakatanyag na stepper motor ay ang 28BYJ-48. Matapos ang artikulong nai-publish sa blog na ito, dapat mong malaman lahat ng kailangan mo tungkol sa ganitong uri ng makina ng katumpakan kung saan maaari mong makontrol ang pagliko upang ito ay dahan-dahang umusad o mananatiling static sa isang posisyon na nais mo. Pinapayagan silang magkaroon ng maraming mga application, mula sa pang-industriya, hanggang sa robot, sa pamamagitan ng marami pang iba na maaari mong maiisip.

Ang 28BYJ-48 ay maliit unipolar type stepper motor, at madaling maisama sa Arduino, dahil mayroon itong modelo ng module ng driver / controller na ULN2003A na karaniwang kasama kasama nito. Lahat para sa isang napaka murang presyo at isang medyo compact na sukat. Ginagawang perpekto din ng mga tampok na iyon upang simulan ang pagsasanay sa mga aparatong ito.

Mga Tampok na 28BYJ-48

28BYJ-48

Ang motor 28BYJ-498 Ito ay isang stepper motor na may mga sumusunod na katangian:

  • Uri: stepper motor o unipolar stepper
  • Fases: 4 (buong hakbang), dahil mayroong 4 na mga coil sa loob.
  • Paglaban: 50 Ω.
  • Torque ng engine: 34 N / m, iyon ay, kung ang Newton bawat metro ay ipinapasa sa Kg, ito ay isang puwersa na katumbas ng paglalagay ng tungkol sa 0.34 Kg bawat cm sa axis nito. Sapat na iangat sa isang pulley higit sa isang kapat ng isang kilo.
  • Pagkonsumo: 55 mA
  • Mga hakbang bawat lap: 8 ng kalahating uri ng hakbang (45º bawat isa)
  • Pinagsamang gearbox: oo, 1/64, kaya't hinahati nito ang bawat hakbang sa 64 na mas maliliit para sa mas tumpak, samakatuwid, umabot ito sa 512 na mga hakbang na 0.7º bawat isa. O maaari rin itong makita bilang 256 buong mga hakbang bawat lap (buong hakbang).

Ang buo o kalahating hakbang, o buo at kalahating hakbang, ay ang mga mode kung saan ka maaaring gumana. Kung natatandaan mo, sa artikulo sa stepper motors sinabi ko na ang halimbawa ng code para sa Arduino IDE ay nagtrabaho nang buong metalikang kuwintas.

Para sa karagdagang impormasyon, maaari mo i-download ang iyong datasheetBilang halimbawa nito. Tulad ng para sa pinout, hindi mo kailangang mag-alala nang labis, kahit na maaari mo ring makita ang impormasyon sa datasheet ng modelo na iyong binili. Ngunit ang konkretong ito ay may isang koneksyon na nagbibigay-daan sa iyo upang ikonekta ang lahat ng mga kable nang sabay-sabay, nang hindi nag-aalala tungkol sa polariseysyon o kung saan napupunta ang bawat isa, ipasok lamang sa controller at voila ...

ULN2003 module driver

Tulad ng para sa motor controller o driver na kasama sa 28BYJ-48 motor na ito, mayroon ka ang ULN2003A, isa sa pinakatanyag at maaari mong gamitin nang madali sa Arduino. Mayroon itong isang hanay ng mga Darlington transistor na sumusuporta hanggang sa 500mA at may mga koneksyon na pin upang maiugnay ang 4 na coil na may mga pin ng Arduino board na may bilang mula IN1 hanggang IN4, tulad ng nakita mo sa artikulo ng stepper motor na nabanggit ko sa itaas. Mula sa Arduino, maaari kang magkaroon ng mga wire mula sa pin 5v at GND sa dalawang pin sa driver module board na minarkahan - + (5-12v) upang mapagana ang board at ang stepper motor.

ULN2003A chip pinout at circuit

Nga pala, kasama ang Mga transistor ng Darlington pinapayagan na gumamit ng isang pares ng bipolar transistors na nakalagay magkasama at kumikilos bilang isang solong transistor. Lubhang pinatataas nito ang nakuha ng signal sa nagresultang solong 'transistor', at pinapayagan din na madala ang mas mataas na mga alon at voltages.

El Pares ng Darlington, tulad ng solong "transistor" na nabuo ng kombinasyon ng dalawang bipolar transistors ay kilala. Nagmula ito sa Bell Labs noong 1952, ni Sidney Darlington, kaya't ang pangalan nito. Ang mga transistors na ito ay konektado sa isang paraan na ang isang NPN ay mayroong kolektor na konektado sa kolektor ng pangalawang transistor ng NPN. Habang ang nagbigay ng una ay napupunta sa base ng pangalawa. Iyon ay, ang nagresultang transistor o pares ay may tatlong koneksyon bilang isang solong transistor. Ang batayan ng unang transistor at ang kolektor / emitter ng pangalawang transistor ...

Kung saan bibili ng motor

28BYJ-48 engine package

Los mahahanap mo sa maraming tindahan dalubhasa sa electronics, at online din tulad ng Amazon. Halimbawa, maaari mo itong bilhin sa:

  • Para sa mga € 6 maaari kang magkaroon ng 28BYJ-48 engine na may module ng driver.
  • Walang nahanap na mga produkto at mga kable para sa mga koneksyon nito, kung sakaling kailangan mo ng higit sa isang motor para sa robot o proyekto na iyong ginagawa ...

Programming ang 28BYJ-48 kasama si Arduino

Arduino na may stepper motor at controller

Una sa lahat, dapat maging malinaw tungkol sa mga konsepto ng isang stepper motor, kaya pinapayo ko sa iyo basahin ang artikulo ni Hwlibre sa mga item na ito. Ang mga motor na ito ay hindi idinisenyo upang pakainin nang tuluy-tuloy, ngunit upang polarize ang mga ito sa kanilang iba't ibang mga phase upang maisulong lamang ang mga degree na gusto natin. Upang ma-excite ang mga phase at makontrol ang pag-ikot ng poste, kakainin mo nang maayos ang bawat koneksyon.

Inirekumenda ng tagagawa ang pagmamaneho ng 2 coil nang paisa-isa.

  • Upang maisagawa ito sa maximum na metalikang kuwintas, sa pinakamabilis na bilis at maximum na pagkonsumo, maaari mong gamitin ang talahanayan na ito:
Paso Coil A Coil B Coil C Coil D
1 HIGH HIGH Mababang Mababang
2 Mababang HIGH HIGH Mababang
3 Mababang Mababang HIGH HIGH
4 HIGH Mababang Mababang HIGH
  • Upang mapupukaw lamang ang isang coil nang paisa-isa, at gawin itong gumana sa mode ng drive drive (kahit para sa kalahati, ngunit mababang pagkonsumo), maaari mong gamitin ang sumusunod na talahanayan:
Paso Coil A Coil B Coil C Coil D
1 HIGH Mababang Mababang Mababang
2 Mababang HIGH Mababang Mababang
3 Mababang Mababang HIGH Mababang
4 Mababang Mababang Mababang HIGH
  • O para sa mga pagsulong kalahating hakbang, maaari mo itong magamit upang makamit ang higit na katumpakan ng pagliko sa mga mas maiikling hakbang:
Paso Coil A Coil B Coil C Coil D
1 HIGH Mababang Mababang Mababang
2 HIGH HIGH Mababang Mababang
3 Mababang HIGH Mababang Mababang
4 Mababang HIGH HIGH Mababang
5 Mababang Mababang HIGH Mababang
6 Mababang Mababang HIGH HIGH
7 Mababang Mababang Mababang HIGH
8 Mababang Mababang Mababang HIGH

At maaari mong isipin ... ano ang gagawin nito sa Arduino program? Sa totoo lang marami ang totoo, simula pa maaari kang lumikha ng isang matrix o array na may mga halaga sa Arduino IDE upang ang motor ay gumalaw ayon sa gusto mo, at pagkatapos ay gamitin ang sinabi na array sa isang loop o kung kailangan mo ito ... Isinasaalang-alang ang LOW = 0 at HATAAS = 1, iyon ay, kawalan ng boltahe o mataas na boltahe, maaari kang lumikha ang mga signal na dapat mong ipadala sa Arduino sa controller upang magmaneho ng motor. Halimbawa, upang gumawa ng daluyan ng mga hakbang na maaari mong gamitin ang code para sa matrix:

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} };

Iyon ay, para sa ang kumpletong code ng sketch Mula sa Arduino IDE, maaari mong gamitin ang pangunahing halimbawang ito upang subukan kung paano gumagana ang 28BYJ-48 stepper motor. Sa pamamagitan nito, maaari mong paikutin ang shaft ng motor sa sandaling mayroon kang buong koneksyon na maayos na konektado. Subukang baguhin ang mga halaga o baguhin ang code para sa application na kailangan mo sa iyong kaso:

// 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);
    }
}

Tulad ng nakikita mo, sa kasong ito gagana ito sa maximum na metalikang kuwintas na nagpapagana ng mga coil nang dalawa ...


Maging una sa komento

Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.