Nema 17: allt om den Arduino-kompatibla stegmotorn

Nema 17

Vi har redan analyserat allt om stegmotorer som du kan använda med dina Arduino-projekt, men det finns en av de motorerna som sticker ut från resten av modellerna, till exempel Nema 17, eftersom det är en mycket exakt motor med flera applikationer, inklusive de för att ersätta den skadade motorn av vissa skrivare 3D.

Med denna stegmotor kommer du att kunna kontrollera mycket exakt rotationen av dess axel till göra precisionsrörelser och därmed styra rörelsen för din maskin eller robot. Och i den här guiden kan du få all information du behöver för att lära känna honom på nära håll och börja arbeta med honom.

Tekniska egenskaper hos Nema 17

Stegmotor Nema 17 är bipolär typ, med en stegvinkel på 1,8 °, det vill säga, den kan dela var och en av varv eller förvandlas till 200 steg. Varje lindning som den har inuti stöder 1.2A intensitet vid 4v spänning, med vilken den kan utveckla en avsevärd kraft på 3.2 kg / cm.

Även den här motorn Nema 17 är robustDet är därför det används i applikationer som 3D-hemskrivare och andra robotar som måste ha betydande konsistens. Ett exempel på skrivare som använder denna motor som grund för sina rörelser är Prusa. Det används också i laserskärare, CNC-maskiner, pick & place-maskiner etc.

Men inte alla är underverk och fördelar med den här motorn, eftersom det är det Kraftfullare det pålitliga är därför inte så balanserat i denna mening ...

Kortfattat, tekniska egenskaper ljud:

  • Stegmotor.
  • NEMA 17-modellen
  • Vikt 350 gram
  • Storlek 42.3x48mm utan axel
  • Axeldiameter 5mm D
  • Axellängd 25mm
  • 200 steg per varv (1,8º / steg)
  • Ström 1.2A per lindning
  • Matningsspänning 4v
  • Motstånd 3.3 Ohm per spole
  • 3.2 kg / cm vridmoment
  • Induktans 2.8 mH per spole

Pinout och datablad

Nema 17 pinout

El pinout av dessa stegmotorer Det är ganska enkelt, eftersom de inte har för många kablar för anslutningen, har de också en kontakt så att du kan göra dem lättare. När det gäller NEMA 17 hittar du en pinout som den du kan se i bilden ovan.

Men om du behöver veta mer tekniska och elektriska detaljer om gränserna och intervallen inom vilka NEMA 17 kan fungera, kan du sök efter ett datablad av denna stegmotor och därmed få all kompletterande information du letar efter. Här kan du ladda ner en PDF med ett exempel.

Var man kan köpa och prissätta

Du kan hitta till ett lågt pris i olika specialiserade elektronikbutiker och även i onlinebutiker. Till exempel har du det tillgängligt på Amazon. Det finns dem från olika tillverkare och i olika försäljningsformat, till exempel i förpackningar om 3 eller fler enheter om du behöver flera för en mobil robot etc. Här är några bra erbjudanden:

Exempel på hur du kommer igång med Nema 17 och Arduino

Nema 17 och Arduino stegmotorschemat

Ett enkelt exempel för att börja använda detta stegmotor NEMA 17 Med Arduino är det denna enkla schemat som du kan montera. Jag har använt en drivrutin för DRV8825-motorer, men du kan använda en annan och till och med en annan stegmotor om du vill variera projektet och anpassa det efter dina behov. Detsamma händer med skisskoden, som du kan ändra efter eget tycke ...

När det gäller föraren som används tål den 45v och 2A intensitet, så den är idealisk för stegmotorer eller små och medelstora stegmaskiner som NEMA 17 bipolär. Men om du behöver något "tyngre", en större motor som den NEMA 23, då kan du använda drivrutinen TB6600.

Kom ihåg att du också kan använda biblioteket AccelStepper för bättre hantering. Ett bibliotek skrivet av Mike McCauley som är mycket praktiskt för dina projekt, med stöd för acceleration och retardation, en stor fördel för en mängd funktioner.

den conexiones sammanfattas är följande:

  • NEMA 17-motorn har sina GND- och VMOT-anslutningar till strömförsörjningen. Vilket i bilden visas med en komponent med en ritad stråle och en kondensator. Källan måste ha mellan 8 och 45 volt, och den extra kondensator som jag har lagt till kan vara 100 µF.
  • Steppens två spolar är anslutna till A1, A2 respektive B1, B2.
  • Dykarens GND-stift är ansluten till Arduinos GND.
  • Drivrutins VDD-stift är ansluten till 5v på Arduino.
  • STP och DIR för steg och riktning är anslutna till digitala stift 3 respektive 2. Om du vill välja andra Arduino-stift du kan, måste du bara ändra koden i enlighet därmed.
  • RST och SLP för att återställa och sova föraren måste du ansluta dem till 5v på Arduino-kortet.
  • EN eller aktiveringsstift kan kopplas bort eftersom drivrutinen på detta sätt kommer att vara aktiv. Om den är inställd på HÖG istället för LÅG är föraren inaktiverad.
  • Andra stift kommer att kopplas bort ...

Beträffande skisskodDet kan vara så enkelt som att få NEMA 17 att fungera och komma igång, ordspel avsedda ...

#define dirPin 2
#define stepPin 3
#define stepsPerRevolution 200
void setup() {
  // Declare pins as output:
  pinMode(stepPin, OUTPUT);
  pinMode(dirPin, OUTPUT);
}
void loop() {
  // Set the spinning direction clockwise:
  digitalWrite(dirPin, HIGH);
  // Spin the stepper motor 1 revolution slowly:
  for (int i = 0; i < stepsPerRevolution; i++) {
    // These four lines result in 1 step:
    digitalWrite(stepPin, HIGH);
    delayMicroseconds(2000);
    digitalWrite(stepPin, LOW);
    delayMicroseconds(2000);
  }
  delay(1000);
  // Set the spinning direction counterclockwise:
  digitalWrite(dirPin, LOW);
  // Spin the stepper motor 1 revolution quickly:
  for (int i = 0; i < stepsPerRevolution; i++) {
    // These four lines result in 1 step:
    digitalWrite(stepPin, HIGH);
    delayMicroseconds(1000);
    digitalWrite(stepPin, LOW);
    delayMicroseconds(1000);
  }
  delay(1000);
  // Set the spinning direction clockwise:
  digitalWrite(dirPin, HIGH);
  // Spin the stepper motor 5 revolutions fast:
  for (int i = 0; i < 5 * stepsPerRevolution; i++) {
    // These four lines result in 1 step:
    digitalWrite(stepPin, HIGH);
    delayMicroseconds(500);
    digitalWrite(stepPin, LOW);
    delayMicroseconds(500);
  }
  delay(1000);
  // Set the spinning direction counterclockwise:
  digitalWrite(dirPin, LOW);
  //Spin the stepper motor 5 revolutions fast:
  for (int i = 0; i < 5 * stepsPerRevolution; i++) {
    // These four lines result in 1 step:
    digitalWrite(stepPin, HIGH);
    delayMicroseconds(500);
    digitalWrite(stepPin, LOW);
    delayMicroseconds(500);
  }
  delay(1000);
}

mer informationkan du konsultera programmeringskursen med Arduino IDE av Hwlibre.


Bli först att kommentera

Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.