Sfaturi pentru începători

Înainte de începerea următorului proiect de la Arduino, sa decis utilizarea motorului de pasageri Nema 17 datorită raportului excelent preț / calitate. Înainte de a conecta Nema 17, în spatele umerilor a existat o anumită experiență cu lucrarea 24byj48 (datasheet). El a reușit cu ajutorul lui Arduino și, cu ajutorul lui Raspberry pi, nu au existat probleme. Farmecul principal al acestui motor este prețul (aproximativ 3 dolari în China). Și, pentru această sumă, obțineți motorul cu șoferul în kit. Sunt de acord, acest lucru poate fi chiar ars, nu regretând în mod deosebit ceea ce sa făcut.

Acum sarcina este mai interesantă. Acționați motorul pas cu pas Nema 17 (foaie de date). Acest model de la producătorul original este vândut pentru aproximativ 40 de dolari. Copiile chinezești costă de 1,5-2 ori mai ieftine - aproximativ 20-30 de dolari. Un model foarte reușit, folosit adesea în imprimante 3D și proiecte CNC. Prima problemă este cum să alegeți driverul pentru acest motor. Curentul de pe pinii Arduino pentru putere nu este suficient.

Sfaturi pentru începători

Selectarea driverului pentru a gestiona Nema 17

Google a sugerat că pentru a revigora Nema 17, puteți folosi driverul A4988 de la Poulou (datashit).

Sfaturi pentru începători

În plus, există o opțiune pentru utilizarea cipurilor L293D. Dar modelul A4988 este considerat o opțiune mai potrivită, astfel încât a fost oprită pentru a evita posibilele probleme.

Conectarea lui Nema 17 prin A4988

Conexiunea a fost implementată pe baza acestui subiect pe forumul Arduino. Imaginea este prezentată mai jos.

Sfaturi pentru începători

De fapt, acest sistem este prezent pe aproape orice site blog dedicat Arduino. Placa a fost alimentată de o sursă de alimentare de 12 volți. Dar motorul nu sa rotit. Am verificat toate conexiunile, am verificat-o din nou și din nou.

Prima problemă

Adaptorul nostru de 12 volți nu a dat suficient curent. Ca rezultat, adaptorul a fost înlocuit cu 8 baterii AA. Și motorul a început să se rotească! Ei bine, atunci am vrut să sară de la pană la o conexiune directă. Și apoi a fost

A doua problemă

Când totul era deconectat, motorul se oprea din nou. De ce? Nu este clar până acum. Trebuia să mă întorc la pană. Și aici a fost oa doua problemă. A meritat să stați pe forum sau citiți cu atenție fișa tehnică. Nu conectați / deconectați motorul când controlerul este alimentat! Ca rezultat, controlerul A4988 a ars în siguranță.

Această problemă a fost rezolvată prin cumpărarea unui nou driver pe eBay. Acum, luând în considerare experiența tristă acumulată, Nema 17 a fost conectat la modelul A4988 și a fost lansat, dar.

Motorul pas cu pas vibrează puternic

În timpul rotirii rotorului, motorul vibrează puternic. Nu se vorbea despre mișcare ușoară. Google din nou pentru a vă ajuta. Primul gând este conectarea incorectă a înfășurărilor. Cunoașterea cu tabloul de bord al motorului pas cu pas și mai multe forumuri au convins că problema nu este în acest sens. Dacă înfășurările sunt conectate incorect, motorul nu va funcționa. Soluția la problemă stă în schiță.

Program pentru Arduino

Sa dovedit că există o minunată bibliotecă pentru motoare pas cu pas, scrisă de tipii de la Adafruit. Folosim biblioteca AcclStepper și motorul pas cu pas începe să funcționeze fără probleme, fără vibrații excesive.

Principalele constatări

  1. Nu conectați niciodată / deconectați motorul atunci când controlerul este alimentat.
  2. Atunci când alegeți o sursă de alimentare, acordați atenție nu numai tensiunii, ci și puterii adaptorului.
  3. Nu vă faceți griji dacă A4988 nu funcționează. Doar comandă unul nou;)
  4. Utilizați biblioteca AcclStepper în locul codului Arduino gol. Motorul Stepper care utilizează această bibliotecă va funcționa fără vibrații inutile.

Schițe pentru controlul motorului pas cu pas

Cod simplu Arduino pentru verificarea motorului pas cu pas

// conexiune simplă A4988

// resetarea și pinii de somn sunt conectați împreună

// conectați VDD la pin 3.3V sau 5V pe Arduino

// conectați GND la GND Arduino (GND lângă VDD)

// conectați 1A și 1B la 1 bobină de motor pas cu pas

// conectați 2A și 2B la 2 bobine de motor pas cu pas

// conectați VMOT la sursa de alimentare (sursa de alimentare 9V + termen)

// conectați GRD la sursa de alimentare (alimentare de 9V pe termen)

int stp = 13; // conectați 13 pini la pas

int dir = 12; // conectați 12 pini la dir

Al doilea cod pentru Arduino pentru a asigura rotația netedă a motorului. Este utilizată biblioteca AccelStepper.

AccelStepper Stepper1 (1,13,12); // utilizează pinii 12 și 13 pentru direcție și pas, 1 - modul "driver extern" (A4988)

int dir = 1; // utilizate pentru a schimba direcția

Stepper1.setMaxSpeed ​​(3000); // setați viteza maximă de rotație a rotorului motorului (pași / secundă)

Stepper1.setAcceleration (13000); // setați accelerația (pași / secundă ^ 2)

dacă (Stepper1.distanceToGo () == 0)

Stepper1.move (1600 * dir); // stabilește următoarea mișcare la 1600 de pași (dacă dir este -1, se va mișca -1600 -> direcția opusă)

dir = dir * (- 1); // valoarea negativă a dirului, datorită căreia se realizează rotația în direcția opusă

întârziere (1000); // întârziere de 1 secundă

Stepper1.run (); // porniți motorul pas cu pas. Această linie se repetă din nou și din nou pentru rotirea continuă a motorului

ARDUINO-DIY.COM este o resursă informațională cu cele mai bune instrucțiuni și tutoriale despre utilizarea controlorilor Arduino.

Suntem întotdeauna bucuroși de o cooperare constructivă. Cu toate întrebările, sugestiile și sugestiile, vă rugăm să contactați [email protected].

Articole similare