2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-23 15:04
Am avut puțină sau deloc experiență în conducerea motoarelor pas cu pas, așa că înainte de a proiecta, tipări, asambla și programa programarea ceasului analogic de corecție automată „Antique” (https://www.instructables.com/id/Antique-Auto-Correcting-Analog-Clock/) folosind un motor pas cu pas, am decis să proiectez și să testez software-ul folosind un dispozitiv de testare mult mai simplu. Dacă, ca și mine, aveți puțină sau deloc experiență cu motoarele pas cu pas, atunci sperăm că acest scurt instructabil cu cod sursă vă va ajuta.
Dispozitivul de testare necesită următoarele componente:
- O placă de prototipare.
- Un Adafruit Feather ESP32 cu anteturi pentru femei.
- O placă de control pas cu pas bazată pe ULN2003.
- Un motor pas cu pas 28BYJ-48 5vdc.
- Unele fire jumper de la mascul la feminin.
- O baterie litiu Adafruit 3.7vdc.
- O mână indicator imprimată 3D.
Controlerul pas cu pas, motorul pas cu pas și firele jumper pe care le-am folosit sunt incluse într-un pachet de 5 pe care l-am achiziționat ca un kit on-line (căutați "TIMESETL 5buc DC 5V Motor pas cu pas 28BYJ-48 + 5buc ULN2003 placa de conducător auto + 40buc Cablu de sex masculin de sex masculin ").
Bateria este opțională. Rețineți ieșirile bateriei 3.7vdc, dar placa controlerului pas cu pas și stepper sunt 5vdc. Dispozitivul de testare va funcționa numai pe baterie, chiar și la tensiunea mai mică.
Am inclus un videoclip care arată pașii necesari pentru a descărca software-ul pe ESP32, conectați ESP32 la controlerul motorului pas cu pas și conectați motorul pas cu pas și bateria.
Pasul 1: Cablare
Am folosit cablurile jumper / masculin incluse în kit pentru a conecta dispozitivul de testare. Sunt necesare șase fire și sunt inserate după cum urmează:
- ESP32 pin 14 (tată) la pinul pasului IN4 (tată).
- Pinul 32 ESP32 (tată) la pinul IN3 (tată) al plăcii pas cu pas.
- Pinul ESP32 15 (tată) la pinul IN2 (tată) al plăcii pas cu pas.
- PIN-ul ESP32 33 (tată) la pinul IN1 al plăcii pas cu pas (mamă).
- PIN-ul ESP32 "GND" (tată) la pinul plăcii pas cu pas "-" (tată).
- ESP32 pin "USB" (tată) pentru funcționarea USB SAU "BAT" (tată) pentru funcționarea cu baterie, la pinul pas cu pas "+" (feminin).
După introducerea firelor și verificarea dublă, conectați cablul motorului pas cu pas la conectorul plăcii controlerului motorului pas cu pas. Conectorul este tastat și nu se potrivește decât într-un singur sens.
În cele din urmă, dacă utilizați o baterie, conectați-o la conectorul bateriei ESP32.
Pasul 2: Indicator
Pentru un indicator pe motorul pas cu pas, am proiectat și am imprimat 3D o mână indicator „Hand.stl”. Am imprimat mâna indicatorului la înălțimea stratului de.15mm, umplutură de 20% fără suporturi, apoi l-am apăsat pe arborele motorului pas cu pas.
Ca alternativă, banda, cartonul sau alt material pot fi utilizate ca indicator.
Pasul 3: Software
Am scris software-ul de testare stepper în mediul Arduino 1.8.5. Dacă nu ați făcut deja acest lucru, descărcați mediul Arduino și driverele USB necesare pe computer și instalați-le. De asemenea, accesați site-ul web Adafruit pentru orice software suplimentar Adafruit ESP32. Am găsit acest link foarte util: Adafruit ESP32 și Arduino Environment.
Cu un cablu USB conectat între computer și ESP32 și „Stepper.ino” încărcat în mediul Arduino, descărcați „Stepper.ino” în ESP32.
Odată descărcat, stepper-ul ar trebui să pășească 6 grade o dată pe secundă.
Am scris acest software de testare din două motive; în primul rând, pentru a învăța cum să conduceți un motor pas cu pas, și în al doilea rând, pentru a converti cei 4096 pași pe rotație a motorului pas cu pas în 60 de secunde „căpușe” de 6 grade pentru ceas.
Funcția „Step (nDirection)” acționează motorul pas cu pas. Această funcție menține o variabilă locală (statică) întreagă "nPhase", care este fie incrementată, fie decrementată cu una (de fiecare dată când funcția este apelată), conform semnului argumentului funcției nDirection. Această variabilă este limitată de la 0 la 7, care, atunci când este utilizată împreună cu întrerupătorul carcasei, acționează fazele motorului în conformitate cu specificațiile producătorilor pentru fiecare pas.
Funcția „Actualizare ()” determină când și câți pași trebuie parcurși pentru ca fiecare bifă să spațieze în mod egal 60 de căpușe la 360 de grade de rotație. Această funcție pasează motorul pas cu pas, fie 68 sau 69 de pași pentru fiecare bifă. De exemplu, dacă funcția a folosit doar 68 de pași pe bifă, atunci (68 de pași * 60 de bifuri) = 4080 de pași nu ar fi suficienți pași pentru a finaliza 360 de grade de rotație (amintiți-vă că pasul cu pas necesită 4096 de pași pentru 360 de grade de rotație). Și dacă funcția ar folosi 69 de pași pe bifă, atunci (69 de pași * 60 de bifuri) = 4140 ar fi prea mulți pași. Algoritmul simplu pe care l-am scris distribuie în mod uniform căpușe de 68 și 69 de pași în întreaga rotație de 360 de grade și poate determina ce direcție de rotație este cea mai rapidă până la al doilea număr dorit (utilizat în ceas).
Și așa am proiectat și testat software-ul pentru ceasul analogic de corecție automată „Antique”.
Dacă aveți sugestii și / sau întrebări, vă rugăm să nu ezitați să comentați și voi face tot posibilul pentru a răspunde.
Recomandat:
Locomotivă model controlată cu motor pas cu pas - Motor pas cu pas ca codificator rotativ: 11 pași (cu imagini)
Locomotivă controlată cu motor pas cu pas | Motorul pas cu pas ca codificator rotativ: Într-unul din manualele anterioare, am învățat cum să folosim un motor pas cu pas ca codificator rotativ. În acest proiect, vom folosi acum acel motor pas cu pas rotit pentru a controla un model de locomotivă folosind un microcontroler Arduino. Deci, fără fu
Motor pas cu pas Motor controlat pas cu pas Motor pas cu pas ca codificator rotativ: 11 pași (cu imagini)
Motor pas cu pas Motor controlat pas cu pas Motor pas cu pas ca codificator rotativ: Aveți câteva motoare pas cu pas în jur și doriți să faceți ceva? În acest manual, să folosim un motor pas cu pas ca un codificator rotativ pentru a controla poziția unui alt motor pas cu pas folosind un microcontroler Arduino. Deci, fără alte întrebări, hai să
Control pozițional unghiular al motorului pas cu pas 28BYJ-48 cu Arduino și joystick analogic: 3 pași
Controlul pozițional unghiular al motorului pas cu pas 28BYJ-48 cu Arduino și joystick analogic: Aceasta este o schemă de control pentru motorul pas cu pas 28BYJ-48 pe care am dezvoltat-o pentru a o folosi ca parte a proiectului meu de disertație din ultimul an. Nu am văzut acest lucru până acum, așa că m-am gândit că voi încărca ceea ce am descoperit. Sperăm că acest lucru va ajuta pe altcineva o
Dispozitiv de testare PCB: 6 pași
Dispozitiv de testare PCB: Majoritatea plăcilor pe care le proiectez au plăcuțe orificiale pentru un antet ICSP cu 6 pini, iar unele au plăcuțe orificiale pentru un antet serial. În multe cazuri, niciun antet nu este utilizat după ce placa este programată. Acest dispozitiv de testare este utilizat în locul unui permanent
Controlul motorului pas cu pas cu Arduino: 8 pași
Controlul motorului pas cu pas cu Arduino: Salut les Makers :) c'est Maker3.0Notre premier " instructable " este un mic proiect care vă permite să controleze un pasiv la pas " Stepper Motor " sa vitesse son sens de rotation și cela de façon manuelle ou automatique