28BYJ-48: alt hvad du behøver at vide om denne trinmotor

28BYJ-48 trinmotor

En af de Den mest populære trinmotor er 28BYJ-48. Efter artiklen, der blev offentliggjort i denne blog, skulle du allerede vide det alt hvad du behøver om denne type motor af præcision, hvor du kan styre drejningen, så den bevæger sig langsomt eller forbliver statisk i en position, du ønsker. Det giver dem mulighed for at have et væld af applikationer, fra industriel, til robotik, gennem mange andre, som du kan tænke på.

28BYJ-48 er en lille trinløs motor af enpolet type, og let at integrere med Arduino, da den har en driver / controller modul model ULN2003A, der normalt er inkluderet sammen med den. Alt til en meget billig pris og en ret kompakt størrelse. Disse funktioner gør det også ideelt at begynde at øve med disse enheder.

28BYJ-48 Funktioner

28BYJ-48

Motoren 28BYJ-498 Det er en trinvis motor, der har følgende egenskaber:

  • Tipo: stepper motor eller unipolar step
  • faser: 4 (fuld trin), da der er 4 spoler indeni.
  • Modstand: 50 Ω.
  • Motormoment: 34 N / m, det vil sige, hvis Newton pr. Meter overføres til Kg, ville det være en kraft svarende til at lægge ca. 0.34 kg pr. Cm på sin akse. Nok til at løfte med en remskive lidt over et kvart kilo.
  • Forbrug: 55 mA
  • Trin pr. Omgang: 8 af halvtrins typen (45º hver)
  • Integreret gearkasse: ja, 1/64, så det deler hvert trin i 64 mindre for større præcision, derfor når det 512 trin på 0.7 ° hver. Eller det kan også ses som 256 fulde trin pr. Omgang (fuldt trin).

Fuld eller halv trin, eller fuld og halv trin, er de tilstande, du kan arbejde i. Hvis du husker det, sagde jeg i artiklen om trinmotorer, at kodeeksemplet til Arduino IDE fungerede med fuldt drejningsmoment.

For mere information kan du download dit databladSom for eksempel dette. Med hensyn til pinout behøver du ikke bekymre dig for meget, selvom du også kan se oplysninger i databladet for den model, du har købt. Men denne beton har en forbindelse, der giver dig mulighed for at forbinde alle kablerne på én gang uden at bekymre dig om polarisering, eller hvor hver enkelt går, bare indsæt i controlleren og voila ...

ULN2003 moduldriver

Med hensyn til motorstyringen eller driveren, der er inkluderet i denne 28BYJ-48 motor, har du det ULN2003A, en af ​​de mest populære, og som du nemt kan bruge med Arduino. Den har en række Darlington-transistorer, der understøtter op til 500mA og har forbindelsesstifter, der forbinder de 4 spoler med stifter på Arduino-kortet nummereret fra IN1 til IN4, som du så i trinmotorartiklen, som jeg nævnte ovenfor. Fra Arduino kan du have ledninger fra pin 5v og GND til de to ben på drivermodulkortet, der er markeret - + (5-12v) for at drive kortet og stepmotoren.

ULN2003A chip pinout og kredsløb

Forresten, med Darlington transistorer det er tilladt at bruge et par bipolære transistorer placeret sammen og fungerer som en enkelt transistor. Dette øger signifikant forstærkning af signalet i den resulterende enkelt 'transistor', og tillader også højere strømme og spændinger.

El Darlington par, som den enkelte "transistor" dannet ved kombinationen af ​​to bipolære transistorer er kendt. Det stammer fra Bell Labs i 1952 af Sidney Darlington, deraf navnet. Disse transistorer er forbundet på en sådan måde, at en NPN har sin kollektor tilsluttet samleren til den anden NPN-transistor. Mens udstederen af ​​den første går til bunden af ​​den anden. Det vil sige, at den resulterende transistor eller par har tre forbindelser som en enkelt transistor. Basen på den første transistor og samleren / emitteren til den anden transistor ...

Hvor kan man købe motoren

28BYJ-48 motorpakke

masse kan du finde i mange butikker specialiseret i elektronik, og også online som Amazon. For eksempel kan du købe dem på:

  • For omkring € 6 kan du have en 28BYJ-48 motor med drivermodul.
  • Ingen produkter fundet. og kabler til dens forbindelser, hvis du har brug for mere end en motor til den robot eller det projekt, du laver ...

Programmering af 28BYJ-48 med Arduino

Arduino med trinmotor og controller

Først og fremmest skal du være klar over begreberne med en stepper motor, så jeg anbefaler dig læs Hwlibres artikel om disse emner. Disse motorer er ikke designet til at blive fodret kontinuerligt, men til at polarisere dem i deres forskellige faser, så de kun bevæger sig de grader, vi ønsker. For at excitere faserne og kontrollere akselens rotation skal du føde hver forbindelse korrekt.

Producenten anbefaler at køre 2 spoler ad gangen.

  • For at få det til at fungere ved maksimalt drejningsmoment, med den hurtigste hastighed og maksimale forbrug, kan du bruge denne tabel:
Paso Spole A Spole B Spole C Spole D.
1 HØJ HØJ LOW LOW
2 LOW HØJ HØJ LOW
3 LOW LOW HØJ HØJ
4 HØJ LOW LOW HØJ
  • At kun excitere en spole ad gangen og få det til at fungere i bølgedrevstilstand (selv for halvdelen, men lavt forbrug), kan du bruge følgende tabel:
Paso Spole A Spole B Spole C Spole D.
1 HØJ LOW LOW LOW
2 LOW HØJ LOW LOW
3 LOW LOW HØJ LOW
4 LOW LOW LOW HØJ
  • Eller til fremskridt halve trin, kan du bruge dette til at opnå større drejepræcision i kortere trin:
Paso Spole A Spole B Spole C Spole D.
1 HØJ LOW LOW LOW
2 HØJ HØJ LOW LOW
3 LOW HØJ LOW LOW
4 LOW HØJ HØJ LOW
5 LOW LOW HØJ LOW
6 LOW LOW HØJ HØJ
7 LOW LOW LOW HØJ
8 LOW LOW LOW HØJ

Og du tænker måske ... hvad har dette at gøre med Arduino-programmering? Sandheden er, at meget, siden du kan oprette en matrix eller matrix med værdierne i Arduino IDE så motoren bevæger sig som du ønsker, og brug derefter arrayet i en løkke, eller når du har brug for det ... Under hensyntagen til at LOW = 0 og HIGH = 1, det vil sige fravær af spænding eller højspænding, kan du oprette de signaler, som Arduino skal sendes til controlleren for at køre motoren. For eksempel for at tage mellemstore trin kan du bruge koden til matrixen:

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

Det vil sige til den komplette kode for skitsen Fra Arduino IDE kan du bruge dette grundlæggende eksempel til at teste, hvordan 28BYJ-48 stepmotoren fungerer. Med det kan du dreje motorakslen, når hele diagrammet er korrekt tilsluttet. Prøv at ændre værdierne eller ændre koden til det program, du har brug for i dit tilfælde:

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

Som du kan se, ville det i dette tilfælde fungere med maksimalt drejningsmoment, der aktiverer spolerne to og to ...


Vær den første til at kommentere

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.