28BYJ-48: alles wat u moet weten over deze stappenmotor

28BYJ-48 stappenmotor

Een van de De meest populaire stappenmotor is de 28BYJ-48. Na het artikel dat in deze blog is gepubliceerd, zou je het al moeten weten alles wat je nodig hebt over dit type motor van precisie waarin u de bocht kunt controleren, zodat deze langzaam vooruitgaat of statisch blijft in een positie die u wilt. Dat stelt hen in staat om een ​​veelvoud aan toepassingen te hebben, van industrieel tot robotica, tot en met vele andere die u kunt bedenken.

De 28BYJ-48 is een kleine unipolaire type stappenmotor, en eenvoudig te integreren met Arduino, aangezien het een driver / controller module model ULN2003A heeft die er meestal bij wordt geleverd. Allemaal voor een hele goedkope prijs en een redelijk compact formaat. Die eigenschappen maken het ook ideaal om met deze apparaten te oefenen.

28BYJ-48 kenmerken

28BYJ-48

De motor 28BYJ-498 Het is een stappenmotor die de volgende kenmerken heeft:

  • Type: stappenmotor of unipolaire stappenmotor
  • Fasen: 4 (volledige stap), aangezien er 4 spoelen binnenin zitten.
  • Resistencia: 50 Ω.
  • Draaimoment van een motor: 34 N / m, dat wil zeggen, als de Newton per meter wordt doorgegeven aan kg, zou het een kracht zijn die overeenkomt met ongeveer 0.34 kg per cm op zijn as. Genoeg om met een katrol iets meer dan een kwart kilo op te tillen.
  • Consumptie: 55 mA
  • Stappen per ronde: 8 van het type halve stap (elk 45º)
  • Geïntegreerde versnellingsbak: ja, 1/64, dus het verdeelt elke stap in 64 kleinere voor grotere precisie, daarom bereikt het 512 stappen van elk 0.7º. Of het kan ook worden gezien als 256 volledige stappen per ronde (volledige stap).

Volledige of halve stappen, of hele en halve stappen, zijn de modi waarin u kunt werken. Als je het je herinnert, zei ik in het artikel over stappenmotoren dat het codevoorbeeld voor Arduino IDE op volledig koppel werkte.

Voor meer informatie kunt u download uw datasheetAls bijvoorbeeld dit. Wat betreft de pinout hoeft u zich niet al te veel zorgen te maken, al kunt u ook informatie terugzien in de datasheet van het model dat u heeft aangeschaft. Maar dit beton heeft een verbinding waarmee je alle kabels tegelijk kunt aansluiten, zonder je zorgen te maken over polarisatie of waar ze allemaal naartoe gaan, gewoon in de controller steken en voila ...

ULN2003-modulestuurprogramma

Wat betreft de motorcontroller of driver die bij deze 28BYJ-48-motor is inbegrepen, heb je de ULN2003A, een van de meest populaire en die je heel gemakkelijk met Arduino kunt gebruiken. Het heeft een reeks Darlington-transistors die tot 500mA ondersteunen en heeft verbindingspinnen om de 4 spoelen te verbinden met pinnen van het Arduino-bord genummerd van IN1 tot IN4, zoals je zag in het stappenmotorartikel dat ik hierboven noemde. Vanuit Arduino kun je draden hebben van pin 5v en GND naar de twee pinnen op de driver module board gemarkeerd - + (5-12v) om het board en de stappenmotor van stroom te voorzien.

ULN2003A chip pinout en circuit

Trouwens, met de Darlington-transistors het is toegestaan ​​om een ​​paar bipolaire transistors te gebruiken die bij elkaar zijn geplaatst en als een enkele transistor fungeren. Dit verhoogt de versterking van het signaal in de resulterende enkele 'transistor' aanzienlijk en maakt het ook mogelijk hogere stromen en spanningen te dragen.

El Darlington-paar, zoals de enkele "transistor" gevormd door de combinatie van twee bipolaire transistors bekend is. Het is ontstaan ​​in Bell Labs in 1952, door Sidney Darlington, vandaar de naam. Deze transistors zijn zo aangesloten dat de ene NPN zijn collector heeft aangesloten op de collector van de tweede NPN-transistor. Terwijl de uitgever van de eerste naar de basis van de tweede gaat. Dat wil zeggen, de resulterende transistor of het resulterende paar heeft drie verbindingen als een enkele transistor. De basis van de eerste transistor en de collector / emitter van de tweede transistor ...

Waar de motor kopen

28BYJ-48-motorpakket

De je kunt in veel winkels vinden gespecialiseerd in elektronica, maar ook online zoals Amazon. U kunt ze bijvoorbeeld kopen bij:

  • Voor ongeveer € 6 heb je een 28BYJ-48-motor met stuurprogrammamodule.
  • Geen producten gevonden. en kabels voor de verbindingen, voor het geval je meer dan één motor nodig hebt voor de robot of het project dat je aan het doen bent ...

Programmeren van de 28BYJ-48 met Arduino

Arduino met stappenmotor en controller

Allereerst zou u dat moeten doen wees duidelijk over de concepten van een stappenmotor, dus ik raad je aan lees het artikel van Hwlibre over deze items. Deze motoren zijn niet ontworpen om continu te worden gevoed, maar om ze in hun verschillende fasen te polariseren, zodat ze alleen de graden vooruitgaan die we willen. Om de fasen op te wekken en de rotatie van de as te regelen, moet u elke verbinding op de juiste manier voeden.

De fabrikant raadt aan om 2 spoelen tegelijk te besturen.

  • Om het te laten werken bij maximaal koppel, met de hoogste snelheid en het maximale verbruik, kunt u deze tabel gebruiken:
Paso Spoel A Spoel B Spoel C Spoel D
1 HIGH HIGH LOW LOW
2 LOW HIGH HIGH LOW
3 LOW LOW HIGH HIGH
4 HIGH LOW LOW HIGH
  • Om slechts één spoel per keer te besturen en te laten werken in wave drive-modus (zelfs de helft, maar laag verbruik), zou je de volgende tabel kunnen gebruiken:
Paso Spoel A Spoel B Spoel C Spoel D
1 HIGH LOW LOW LOW
2 LOW HIGH LOW LOW
3 LOW LOW HIGH LOW
4 LOW LOW LOW HIGH
  • Of voor vorderingen halve stappen, kunt u dit gebruiken om een ​​grotere draaiprecisie te bereiken in kortere stappen:
Paso Spoel A Spoel B Spoel C Spoel 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

En je denkt misschien ... wat heeft dit te maken met Arduino-programmering? Nou, de waarheid is dat sindsdien veel je kunt een matrix of array maken met de waarden in Arduino IDE zodat de motor beweegt zoals je wilt, en gebruik dan genoemde array in een lus of wanneer je het nodig hebt ... Rekening houdend met het feit dat LOW = 0 en HIGH = 1, dat wil zeggen afwezigheid van spanning of hoge spanning, kun je creëren de signalen die Arduino je moet sturen naar de controller om de motor aan te drijven. Als u bijvoorbeeld middelgrote stappen wilt nemen, kunt u de code voor de matrix gebruiken:

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

Dat is voor de volledige code van de schets Vanuit de Arduino IDE kun je dit basisvoorbeeld gebruiken om te testen hoe de 28BYJ-48 stappenmotor werkt. Hiermee kun je de motoras draaien zodra je het hele diagram goed hebt aangesloten. Probeer de waarden te wijzigen of de code te wijzigen voor de toepassing die u in uw geval nodig heeft:

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

Zoals je kunt zien, zou het in dit geval werken met maximaal koppel dat de spoelen twee aan twee activeert ...


Wees de eerste om te reageren

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.