Projekt Arduino: Sočasno krmiljenje dveh koračnih motorjev
V svetu elektronike in mikrokrmilnikov je Arduino ena najbolj priljubljenih platform, ki ponuja idealno orodje tako za začetnike kot za izkušene razvijalce. V tem članku vam bomo pokazali, kako z Arduinom hkrati krmiliti dva koračna motorja. Koračni motorji so odlična izbira za aplikacije, ki zahtevajo natančno in ponovljivo gibanje, kot so robotski projekti in CNC stroji. Pa začnimo!
Kaj so koračni motorji?
Koračni motorji so specializirani elektromotorji, ki delujejo v diskretnih korakih. Koračni motor se premika v diskretnih korakih, kar pomeni, da ga je mogoče pozicionirati pod natančnimi koti. Ti motorji so še posebej uporabni, kadar je potrebno natančno pozicioniranje. Za razliko od enosmernih motorjev, ki se vrtijo neprekinjeno, se lahko koračni motorji ustavijo s pritiskom na gumb in ohranijo svoj položaj, zaradi česar so idealni za številne projekte.
Potrebni materiali
- Arduino (npr. Arduino Uno)
- Dva koračna motorja (npr. NEMA 17)
- Dva gonilnika motorja (npr. A4988 ali DRV8825)
- Zunanji vir napajanja
- Kabel in testna plošča
- Arduino IDE
Shema vezja in povezava
Preden začnemo s programiranjem, je pomembno, da motorje pravilno priključimo. Tukaj je preprost diagram ožičenja, ki ga lahko uporabite:
+---------------+ +----------------+ +----------------+ | Arduino | | A4988/DRV8825 | | koračni motor | +--------------+ +----------------+ +----------------+ | | | STEP |-------------> | (Tuljava A) | | IN1 (Pin 2) +-----| DIR |--------------> | (Tuljava B) | | | | GND |---------------| (Tuljava B) | | | | VDD | +----------------+ +---------------+ +----------------+
Oba gonilnika motorja priključite na koračna motorja. Vsak motor priključite na gonilnik prek njegovih tuljav. Prepričajte se, da so napajalni priključki priključeni tudi na ustrezen zunanji vir napajanja, da zagotovite zadostno moč.
Programiranje Arduina
Zdaj, ko je vse fizično nastavljeno, je čas, da napišemo program za Arduino. Arduino IDE je uporabniku prijazno razvojno okolje, kjer lahko pišete in nalagate svojo kodo. Tukaj je preprost primer, kako bi lahko program izgledal:
#include// Definiraj gonilne pine #define STEP_PIN_1 2 #define DIR_PIN_1 3 #define STEP_PIN_2 4 #define DIR_PIN_2 5 // Ustvari dva primerka razreda AccelStepper AccelStepper stepper1(AccelStepper::DRIVER, STEP_PIN_1, DIR_PIN_1); AccelStepper stepper2(AccelStepper::DRIVER, STEP_PIN_2, DIR_PIN_2); void setup() { // Hitrost in pospešek stepper1.setMaxSpeed(100); stepper1.setAcceleration(50); stepper2.setMaxSpeed(100); stepper2.setAcceleration(50); } void loop() { // Nastavi ciljne položaje stepper1.moveTo(200); // Premakni za 200 korakov stepper2.moveTo(-200); // Premakni za -200 korakov // Premakni oba motorja hkrati while (stepper1.isRunning() || stepper2.isRunning()) { stepper1.run(); stepper2.run(); } delay(1000); // Počakaj eno sekundo // Ponastavi ciljne položaje stepper1.moveTo(0); stepper2.moveTo(0); // Premakni oba motorja nazaj while (stepper1.isRunning() || stepper2.isRunning()) { stepper1.run(); stepper2.run(); } delay(1000); // Počakaj eno sekundo }
V tem primeru definiramo dva motorja in uporabimo knjižnico AccelStepperza enostavno in učinkovito upravljanje motorjev. setup()V bloku nastavimo največjo hitrost in pospešek za oba motorja. loop()-Blok določa smer in razdaljo gibanja za oba motorja.
Testiranje projekta
Po nalaganju programa v Arduino IDE bi morali videti svoje koračne motorje v delovanju. Poskrbite, da boste ohišje motorja namestili tako, da bo gibanje vidno. Če se motorji ne premaknejo v želeni položaj, preverite ožičenje in napajanje.
Možne aplikacije
Hkratno krmiljenje dveh koračnih motorjev odpira širok spekter možnosti uporabe. Tukaj je nekaj primerov projektov, ki jih lahko poskusite:
- Robotske platforme: Z ustreznim krmiljenjem koračnih motorjev lahko ustvarite mobilno platformo, ki se premika v različne smeri.
- 3D tiskalnik: Koračni motorji so osnovna zahteva za natančno tiskanje v 3D-tiskalnikih.
- Avtomatizirani sistemi kamer: Nadzorujte gibanje kamer za ustvarjanje zanimivih posnetkov s časovnim zamikom.
Razširitve in spremembe
Ko osvojite osnove krmiljenja dveh koračnih motorjev, lahko svoj projekt še dodatno prilagodite. Tukaj je nekaj idej:
- Nadzor gibanja s senzorji, kot so ultrazvočni senzorji, za izogibanje oviram.
- Integracija daljinskih upravljalnikov ali igralnih palic za ročno upravljanje motorjev.
- Uporaba sistemov povratnih informacij, kot so dajalniki, za natančno spremljanje položaja motorjev.
Možnosti so skoraj neskončne in z malo ustvarjalnosti lahko znatno razširite svoje projekte. Eksperimentirajte z različnimi razporeditvami motorjev, hitrostmi in metodami krmiljenja.




