Përmbajtje:

Arduino: Precision Lib për Stepper Motor: 19 hapa
Arduino: Precision Lib për Stepper Motor: 19 hapa

Video: Arduino: Precision Lib për Stepper Motor: 19 hapa

Video: Arduino: Precision Lib për Stepper Motor: 19 hapa
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Nëntor
Anonim
Image
Image
Variablat Globale
Variablat Globale

Sot, unë do t'ju tregoj një bibliotekë për një drejtues motorik me hap të plotë me ndërprerës limit, dhe lëvizje të motorit me nxitim dhe mikro hap. Ky Lib, i cili punon si në Arduino Uno ashtu edhe në Arduino Mega, ju lejon të lëvizni motorët bazuar jo vetëm në numrin e hapave, por edhe në milimetra. Dhe është gjithashtu mjaft e saktë.

Një tipar i rëndësishëm i kësaj biblioteke është se ju lejon të krijoni makinën tuaj CNC, e cila nuk është domosdoshmërisht vetëm X, Y, por edhe një ndërprerës i seksionit, për shembull, sepse nuk është një GRBL i gatshëm, por më shumë programimi që ju lejon të bëni makinën ideale për ju.

Sidoqoftë, deklarata e mëposhtme është një detaj i rëndësishëm! Kjo video është vetëm për ata që janë mësuar tashmë me programimin. Nëse nuk jeni të njohur me programimin Arduino, së pari duhet të shikoni video të tjera më hyrëse në kanalin tim. Kjo ndodh sepse unë jam duke diskutuar një temë të avancuar në këtë video specifike, dhe duke shpjeguar më hollësisht Libin e përdorur në video: Hapi Motor me Përshpejtim dhe Fund të Goditjes.

Hapi 1: Biblioteka StepDriver

Kjo bibliotekë mbulon tre llojet e shoferëve më të zakonshëm në treg: A4988, DRV8825 dhe TB6600. Ai konfiguron kunjat e drejtuesve, duke i lejuar ata të kryejnë rivendosjen dhe vendosjen në modalitetin e Fjetjes, si dhe të aktivizojnë dhe çaktivizojnë daljet e motorit që veprojnë në kunjin Enable. Ai gjithashtu përcakton hyrjet e kunjave të mikro-hapit të drejtuesit dhe kufizon çelsat dhe nivelin e aktivizimit të tyre (të lartë ose të ulët). Ai gjithashtu ka kodin e lëvizjes motorike me nxitim të vazhdueshëm në mm / s², shpejtësi maksimale në mm / s dhe shpejtësi minimale në mm / s.

Për ata që shikuan pjesët 1 dhe 2 të videos Step Motor with Acceleration and End of Stroke, shkarkoni këtë bibliotekë të re të disponueshme sot, sepse kam bërë disa ndryshime në atë skedar të parë për të lehtësuar përdorimin e saj.

Hapi 2: Ndryshoret globale

Unë tregoj saktësisht se për çfarë shërben secila prej ndryshoreve globale.

Hapi 3: Funksionet - Vendosja e kunjave të shoferit

Funksionet - Vendosja e kunjave të shoferit
Funksionet - Vendosja e kunjave të shoferit

Këtu, unë përshkruaj disa metoda.

Vendosa cilësimin Pinout dhe kunjat Arduino si dalje.

Hapi 4: Funksionet - Funksionet Themelore të Shoferit

Funksionet - Funksionet themelore të Shoferit
Funksionet - Funksionet themelore të Shoferit

Në këtë pjesë, ne punojmë me konfigurimin e drejtuesit dhe funksionet e tij themelore.

Hapi 5: Funksionet - Cilësimi i hapit motorik

Funksionet - Cilësimi i hapit motorik
Funksionet - Cilësimi i hapit motorik
Funksionet - Cilësimi i hapit motorik
Funksionet - Cilësimi i hapit motorik

Në këtë hap të kodit, ne konfigurojmë sasinë e hapave për milimetër që motori duhet të ekzekutojë.

Hapi 6: Funksionet - Vendosja e Modalitetit të Hapit Motor

Funksionet - Vendosja e modalitetit të hapit të motorit
Funksionet - Vendosja e modalitetit të hapit të motorit
Funksionet - Vendosja e modalitetit të hapit të motorit
Funksionet - Vendosja e modalitetit të hapit të motorit
Funksionet - Vendosja e modalitetit të hapit të motorit
Funksionet - Vendosja e modalitetit të hapit të motorit

Kjo tabelë tregon cilësimet për mënyrën e hapit motorik. Ketu jane disa shembuj.

Hapi 7: Funksionet - Vendosja e Limit Switches

Funksionet - Vendosja e Limit Switches
Funksionet - Vendosja e Limit Switches

Këtu, më duhet të lexoj vlerat e plota dhe të arsyeshme. Shtë e nevojshme të vendosni nëse çelësi aktiv është lart ose poshtë, ndërsa vendosni pikën përfundimtare të kufirit maksimal dhe minimal.

Hapi 8: Funksionet - Leximi i Limit Switches

Funksionet - Leximi i Limit Switches
Funksionet - Leximi i Limit Switches
Funksionet - Leximi i Limit Switches
Funksionet - Leximi i Limit Switches
Funksionet - Leximi i Limit Switches
Funksionet - Leximi i Limit Switches

Kjo pjesë është e ndryshme nga ajo në Lib që kam vënë në dispozicion javën e kaluar. Pse e ndryshova? Epo, kam krijuar eRead për të zëvendësuar disa të tjerë. Këtu, eRead do të lexojë LVL, digitalRead (pin) dhe do të kthejë TRUE. E gjithë kjo duhet të bëhet në nivele të larta. Puna e mëposhtme me çelësin aktiv do të jetë në nivelin e ulët. Unë do ta përdor këtu për t'ju treguar tabelën "E vërteta".

Në imazhin e kodit, vendosa një diagram që do të ndihmojë në kuptimin se, në këtë pjesë të kodit burimor, unë jam duke lëvizur drejt Ascending dhe ende nuk e kam arritur çelësin e fundit të kursit.

Tani, në këtë imazh os code bool DRV8825, unë tregoj motorin që ende lëviz në drejtimin në rritje. Sidoqoftë, çelësi i kufirit maksimal u aktivizua. Mekanizmi, pra, duhet të ndalojë lëvizjen.

Për fund, unë tregoj të njëjtën lëvizje, por në drejtim të kundërt.

Këtu, ju tashmë keni aktivizuar kalimin e fundit të kursit.

Hapi 9: Funksionet - Konfigurimi i lëvizjes

Funksionet - Konfigurimi i lëvizjes
Funksionet - Konfigurimi i lëvizjes

Shërbimi kryesor i metodës motionConfig është shndërrimi i milimetrit në sekondë (një matje e përdorur në makinat CNC) në hapa, në mënyrë që të takohet kontrolluesi i një motori stepper. Inshtë në këtë pjesë, prandaj, që unë i jap shembull variablat për të kuptuar hapat dhe jo milimetrat.

Hapi 10: Funksionet - Funksioni i Lëvizjes

Funksionet - Funksioni i Lëvizjes
Funksionet - Funksioni i Lëvizjes

Në këtë hap, ne trajtojmë komandën që lëviz një hap në drejtimin e dëshiruar në një periudhë në mikrosekonda. Ne gjithashtu vendosim pinin e drejtimit të shoferit, kohën e vonesës dhe drejtimin e çelsave limit.

Hapi 11: Funksionet - Funksioni i Lëvizjes - Variablat

Funksionet - Funksioni i Lëvizjes - Variablat
Funksionet - Funksioni i Lëvizjes - Variablat

Në këtë pjesë, ne konfigurojmë të gjitha variablat që përfshijnë periudhat e shpejtësisë maksimale dhe minimale, distancën e trajektores dhe hapat e nevojshëm për të ndërprerë trajektoren, ndër të tjera.

Hapi 12: Funksionet - Funksioni i Lëvizjes - Përshpejtimi

Funksionet - Funksioni i Lëvizjes - Përshpejtimi
Funksionet - Funksioni i Lëvizjes - Përshpejtimi
Funksionet - Funksioni i Lëvizjes - Përshpejtimi
Funksionet - Funksioni i Lëvizjes - Përshpejtimi

Këtu, unë paraqes disa detaje se si arritëm në të dhënat e përshpejtimit, të cilat u llogaritën përmes ekuacionit të Torricelli, pasi kjo merr parasysh hapësirat për të punuar përshpejtimin dhe jo kohën. Por, këtu është e rëndësishme të kuptohet se i gjithë ky ekuacion ka të bëjë vetëm me një linjë të kodit.

Ne identifikuam një trapez në imazhin e mësipërm, sepse RPM -të fillestare janë të këqija për shumicën e motorëve stepper. E njëjta gjë ndodh me ngadalësimin. Për shkak të kësaj, ne vizualizojmë një trapezoid në periudhën midis nxitimit dhe ngadalësimit.

Hapi 13: Funksionet - Funksioni i Lëvizjes - Shpejtësia e Vazhdueshme

Funksionet - Funksioni i Lëvizjes - Shpejtësia e Vazhdueshme
Funksionet - Funksioni i Lëvizjes - Shpejtësia e Vazhdueshme
Funksionet - Funksioni i Lëvizjes - Shpejtësia e Vazhdueshme
Funksionet - Funksioni i Lëvizjes - Shpejtësia e Vazhdueshme

Këtu mbajmë numrin e hapave të përdorur në nxitim, vazhdojmë me shpejtësi të vazhdueshme dhe mbajmë me shpejtësinë maksimale, e cila mund të shihet në imazhin më poshtë.

Hapi 14: Funksionet - Funksioni i Lëvizjes - Ngadalësimi

Funksionet - Funksioni i Lëvizjes - Ngadalësimi
Funksionet - Funksioni i Lëvizjes - Ngadalësimi
Funksionet - Funksioni i Lëvizjes - Ngadalësimi
Funksionet - Funksioni i Lëvizjes - Ngadalësimi

Këtu kemi një ekuacion tjetër, këtë herë me një vlerë negative të nxitimit. Ajo gjithashtu shfaqet në një linjë kodi, e cila përfaqëson, në imazhin më poshtë, drejtkëndëshin e etiketuar Ngadalësim.

Hapi 15: Funksionet - Funksioni i Lëvizjes - Shpejtësia e Vazhdueshme

Funksionet - Funksioni i Lëvizjes - Shpejtësia e Vazhdueshme
Funksionet - Funksioni i Lëvizjes - Shpejtësia e Vazhdueshme
Funksionet - Funksioni i Lëvizjes - Shpejtësia e Vazhdueshme
Funksionet - Funksioni i Lëvizjes - Shpejtësia e Vazhdueshme

Ne kthehemi në shpejtësinë e vazhdueshme për të punuar gjysmën e dytë të trajektores, siç shihet më poshtë.

Hapi 16: Funksionet - Lëvizni funksionin - Zhvendosni Kthesat

Funksionet - Lëviz funksionin - Lëviz kthesat
Funksionet - Lëviz funksionin - Lëviz kthesat

Në këtë pjesë, ne e lëvizim motorin në një numër të caktuar kthesash në drejtimin e dëshiruar, duke konvertuar numrin e kthesave në milimetra. Së fundi, ne e lëvizim motorin në drejtimin e kërkuar.

Hapi 17: Grafiku i Lëvizjes - Shpejtësia e Pozicionit

Grafiku i Lëvizjes - Shpejtësia e Pozicionit
Grafiku i Lëvizjes - Shpejtësia e Pozicionit

Në këtë grafik, unë kam të dhëna që janë nxjerrë nga ekuacioni që kemi përdorur në pjesën e Përshpejtimit. Mora vlerat dhe luajta në serialin Arduino, dhe kalova nga kjo në Excel, e cila rezultoi në këtë tabelë. Kjo tabelë tregon përparimin e hapit.

Hapi 18: Grafiku i Lëvizjes - Pozicioni Vs. Pozicioni

Grafiku i Lëvizjes - Pozicioni Vs. Pozicioni
Grafiku i Lëvizjes - Pozicioni Vs. Pozicioni

Këtu, ne marrim pozicionin, në hapa, dhe shpejtësinë dhe e konvertojmë atë në periodë, në mikrosekondë. Ne vërejmë në këtë hap se periudha është në përpjesëtim të kundërt me shpejtësinë.

Hapi 19: Grafiku i Lëvizjes - Shpejtësia Vs. Moment

Grafiku i Lëvizjes - Shpejtësia Vs. Moment
Grafiku i Lëvizjes - Shpejtësia Vs. Moment

Së fundi, ne kemi shpejtësinë si një funksion të çastit, dhe për shkak të kësaj, ne kemi një vijë të drejtë, pasi është shpejtësia në funksion të kohës.

Recommended: