Trinmotor: integration med Arduino

Trinmotor

Elektriske motorer er i stigende grad efterspurgt, blandt dem skiller sig måske de der arbejder med jævnstrøm ud, de mest populære inden for projekter fra producenter med Arduino, da de giver mobilitet. Blandt dem, fremhæv stepmotorer som bruges til flere applikationer, især til robotik, såsom aktuatorer osv.

Elbiler, små autonome robotter, industrielle applikationer til automatisering, gentagne bevægelsesanordninger osv. Årsagen til, at servomotorer og trinmotorer er så gode til disse applikationer, er at de kan udføre langsomme eller hurtige bevægelser, men frem for alt kontrolleret. Derudover er drevene kontinuerlige til applikationer, hvor der kræves mange stop og starter med høj præcision.

Typer af elektriske motorer

Indenfor elektriske motorer følgende typer kan fremhæves:

  • DC- eller DC-motor: Jævnstrømsmotorer arbejder med denne type strøm, som navnet antyder. De kan variere fra nogle få mW til nogle få MW i de mest kraftfulde og store, som bruges til industrielle applikationer, køretøjer, elevatorer, transportbånd, ventilatorer osv. Drejningshastigheden (RPM) og det anvendte drejningsmoment kan reguleres i henhold til tilførslen.
  • AC- eller AC-motor (asynkron og viklet rotor): De arbejder med vekselstrøm med en meget specifik rotor, der fungerer takket være de faser, som denne type strøm bidrager til at generere rotation ved hjælp af magnetisk frastødning af elektromagneten på samme måde som DC-ens gør. De er meget billige og går op til flere kW. De kan reguleres i rotationshastighed, men reguleringselementerne er dyrere end DC. Disse bruges ofte til husholdningsapparater.
  • Trinmotor- Også kendt som steppers, de ligner på mange måder DC, men med lave centrifugeringshastigheder og kræfter. Her, der skiller sig ud, er placeringen af ​​aksen, det vil sige præcisionen for at sætte dem i en bestemt position. Deres rotationsvinkel og hastighed kan kontrolleres meget, hvorfor de tidligere blev brugt i diskettedrev, harddiske (HDD), robotter, procesautomatisering osv.
  • Servomotor: det kan siges, at det er en udvikling af trinmotoren, der arbejder med små kræfter og hastigheder, der i nogle tilfælde går op til 7000 omdr./min. Denne motor indeholder en gearreduktionsboks og et kontrolkredsløb. De har samme positioneringspræcision som steppere og er meget stabile med hensyn til anvendt drejningsmoment, hvilket gør dem ideelle til nogle robotter og industrielle applikationer.

Trinmotorer og servomotorer

rotor og stator

Du ved allerede, hvad disse to typer elektroniske motorer er, men jeg vil gerne sige noget mere om steppers. Den drejning de foretager, sker ikke kontinuerligt, men i små trin, deraf deres navn. Rotoren (en del, der roterer) er i form af et tandhjul, mens statoren (en del, der ikke roterer) består af sammenflettede polariserede elektromagneter. På denne måde, når man "aktiveres", aktiveres de på siderne ikke, hvilket tiltrækker rotortanden mod den, hvilket tillader det præcise fremskridt, som de er karakteriseret for.

drv8825
relateret artikel:
DRV8825: driveren til trinmotorer

Afhængigt af rotortænder, vil det være muligt at gå mere eller mindre frem i svinget. Hvis du har flere tænder, er der behov for flere trin for at gennemføre en drejning, men trinnene bliver kortere, så det bliver en mere præcis motor. Hvis du har få tænder, vil trinnene være mere bratte spring uden så meget præcision. Derfor afhænger de trin, som en trinmotor skal tage for at gennemføre en drejning, på vinkeltrinene.

Disse trin vinkel er standardiseret, selvom du kan finde nogle motorer, der har ikke-standardhøjde. Vinklerne er normalt: 1.8 º, 5.625 º, 7.5 º, 11.25 º, 18 º, 45 º og 90 º. For at beregne, hvor mange trin en trinmotor har brug for for at fuldføre en hel drejning eller drejning (360 °), skal du bare dele. For eksempel, hvis du har en 45º trinmotor, ville du have 8 trin (360/45 = 8).

spin med bias (fase)

Inden for disse motorer har du unipolar (mest populær) med 5 eller 6 kabler eller bipolar med 4 kabler. Ifølge dette vil det ene eller det andet blive udført polarisationssekvenser passerer strøm gennem dens spoler:

  • Polarisering til bipolar:
Paso Terminal A Terminal B Terminal C Terminal D
1 +V -V +V -V
2 +V -V -V +V
3 -V +V -V +V
4 -V +V +V -V
  • for unipolar:
Paso Spole A Spole B Spole C Spole D.
1 +V +V 0 0
2 0 +V +V 0
3 0 0 +V +V
4 +V 0 0 +V

Funktionen i begge tilfælde er den samme, idet spolerne polariseres for at tiltrække rotoren til det sted, hvor aksen skal placeres. Hvis du vil hold det i en position, du skal opretholde polarisering for den stilling og voila. Og hvis du vil have det til at bevæge sig fremad, polariserer du den næste magnet, og det tager endnu et skridt osv. ...

Hvis du bruger en servomotor, du ved allerede, at det dybest set er en stepper motor, derfor fungerer alt sagt også for dem. Det eneste der inkluderer disse reduktionsgear for at opnå mange flere trin pr. Omdrejning og dermed have en meget højere præcision. For eksempel kan du finde en motor med 8 trin pr. Omdrejning, hvis den havde en 1:64 gearkasse, da det betyder, at hvert trin af disse otte er opdelt i 64 mindre trin, hvilket maksimalt giver 512 trin pr. Omdrejning. Det vil sige, hvert trin vil være ca. 0.7 °.

l298n
relateret artikel:
L298N: modul til styring af motorer til Arduino

Tilføj også, at du skal bruge nogle controller hvormed man kan styre polarisering, hastighed osv. med f.eks. H-Bridge. Nogle modeller er L293, ULN2003, ULQ2003 osv.

Dónde comprar

Du købe det på forskellige online-sider eller i specialiserede elektronikforretninger. Hvis du er nybegynder, kan du også bruge sæt, der indeholder alt hvad du har brug for og endda pladen Arduino UNO og manual til at begynde at eksperimentere og oprette dine projekter. Disse kits inkluderer alt hvad du har brug for, fra selve motoren, controllere, boards, breadboard osv.

Trinmotoreksempel med Arduino

Arduino med trinmotor og controller

Vis endelig en praktisk eksempel med Arduinoved hjælp af ULN2003-controller og 28BYJ-48 trinmotor. Det er meget simpelt, men det vil være nok for dig at begynde at gøre dig bekendt med, hvordan det fungerer, så du kan begynde at lave nogle tests og se, hvordan det opfører sig ...

Som det ses i ledningsdiagrammet, er motorspolerne A (IN1), B (IN2), C (IN3) og D (IN4) tildelt til forbindelserne 8, 9, 10 og 11 på Arduino-kortet. På den anden side skal driver- eller controller-kortet føres på sine 5-12V-stifter (til GND og 5V af Arduino) med den passende spænding, så den igen føder motoren, der er tilsluttet det hvide plaststik, der har denne driver controller.

dette 28BYJ-48 motor Det er en ensrettet trinmotor med fire spoler. Derfor, for at give dig en ide om, hvordan det fungerer, kan du sende HIGH (1) eller LOW (0) værdier til spolerne fra Arduino-kortet som følger for trinene:

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

Med hensyn til skitse eller kode, der er nødvendig for at programmere din bevægelse, da det ville være følgende ved hjælp af Arduino IDE (modificer det og eksperimenter for at teste, hvordan bevægelsen ændres):

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


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.