Мазмуну:

Arduino: Step Motor үчүн Precision Lib: 19 кадам
Arduino: Step Motor үчүн Precision Lib: 19 кадам

Video: Arduino: Step Motor үчүн Precision Lib: 19 кадам

Video: Arduino: Step Motor үчүн Precision Lib: 19 кадам
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Ноябрь
Anonim
Image
Image
Глобалдык өзгөрмөлөр
Глобалдык өзгөрмөлөр

Бүгүн мен сизге чектүү өчүргүчтөрү бар толук тепкичтүү мотор айдоочусу үчүн китепкананы жана ылдамдатуу жана микро кадам менен кыймылдаткычтын кыймылын көрсөтөм. Бул Lib, Arduino Uno да, Arduino Mega да иштейт, кыймылдаткычтарды кадамдардын санына гана эмес, миллиметрге да жылдырууга мүмкүндүк берет. Жана ошондой эле абдан так.

Бул китепкананын маанилүү өзгөчөлүгү - бул өзүңүздүн CNC машинаңызды түзүүгө мүмкүндүк берет, ал сөзсүз түрдө X, Y эмес, ошондой эле бөлүмдүн которгучу, анткени ал даяр GRBL эмес, тескерисинче программалоо. сиз үчүн идеалдуу машинаны жасоого мүмкүндүк берет.

Бирок, төмөнкү билдирүү маанилүү деталь! Бул видео программалоого мурда эле көнгөндөр үчүн. Эгерде сиз Arduino программалоо менен тааныш эмес болсоңуз, адегенде менин каналымдагы башка таанытуу видеолорун көрүшүңүз керек. Себеби мен бул конкреттүү видеодо өнүккөн теманы талкуулап жатам жана видеодо колдонулган Либди кененирээк түшүндүрүп жатам: Степ мотору ылдамдануу жана инсульттун аягы.

1 -кадам: StepDriver китепканасы

Бул китепкана рынокто эң кеңири таралган драйверлердин үч түрүн камтыйт: A4988, DRV8825 жана TB6600. Бул драйверлердин төөнөгүчтөрүн конфигурациялайт, аларды кайра коюу жана уйку режимине жайгаштырууга, ошондой эле иштетүүчү пиндин үстүндө иштеген мотордук чыгууларды активдештирүүгө жана өчүрүүгө мүмкүндүк берет. Ал ошондой эле айдоочунун микро кадамдык казыктарын киргизет жана өчүргүчтөрдү жана алардын активдешүү деңгээлин чектейт (жогорку же төмөн). Ошондой эле, мотор кыймылынын коду мм / с² менен ылдамдатуу, мм / с максималдуу ылдамдык жана мм / с минималдуу ылдамдык менен.

Степ мотордун ылдамдануусу жана аягы бар видеонун 1 жана 2 -бөлүктөрүн көргөндөр үчүн бул жаңы китепкананы бүгүн жүктөп алыңыз, анткени мен аны колдонууну жеңилдетүү үчүн биринчи файлга бир аз өзгөртүүлөрдү киргиздим.

2 -кадам: Глобалдык өзгөрмөлөр

Мен глобалдык өзгөрмөлөрдүн ар бири эмне үчүн экенин так көрсөтөм.

3 -кадам: Функциялар - Драйвер казыктарын орнотуу

Функциялар - Драйвер казыктарын коюу
Функциялар - Драйвер казыктарын коюу

Бул жерде мен кээ бир ыкмаларды сүрөттөп берем.

Мен Pinout орнотуусун жана Arduino казыктарын чыгаруу катары койдум.

4 -кадам: Функциялар - Айдоочунун негизги функциялары

Функциялар - Айдоочунун негизги функциялары
Функциялар - Айдоочунун негизги функциялары

Бул бөлүктө биз айдоочунун конфигурациясы жана анын негизги функциялары менен иштейбиз.

5 -кадам: Функциялар - Мотор кадамын жөндөө

Функциялар - Мотор кадамын жөндөө
Функциялар - Мотор кадамын жөндөө
Функциялар - Мотор кадамын жөндөө
Функциялар - Мотор кадамын жөндөө

Коддун бул кадамында, мотор аткарышы керек болгон миллиметр кадамдардын санын конфигурациялайбыз.

6 -кадам: Функциялар - Мотор кадамынын режимин орнотуу

Функциялар - Мотор кадамынын режимин орнотуу
Функциялар - Мотор кадамынын режимин орнотуу
Функциялар - Мотор кадамынын режимин орнотуу
Функциялар - Мотор кадамынын режимин орнотуу
Функциялар - Мотор кадамынын режимин орнотуу
Функциялар - Мотор кадамынын режимин орнотуу

Бул таблицада мотордук кадам режиминин орнотуулары көрсөтүлгөн. Бул жерде кээ бир мисалдар келтирилген.

7 -кадам: Функциялар - Чектүү которгучтарды коюу

Функциялар - Чектүү которгучтарды коюу
Функциялар - Чектүү которгучтарды коюу

Бул жерде мен бүтүн жана логикалык баалуулуктарды окуум керек. Бул активдүү ачкычтын өйдө же ылдый болушун орнотуу керек, ошол эле учурда максималдуу жана минималдуу чекке орнотуу.

8 -кадам: Функциялар - Чектөө которгучтарын окуу

Функциялар - Чектүү которгучтарды окуу
Функциялар - Чектүү которгучтарды окуу
Функциялар - Чектүү которгучтарды окуу
Функциялар - Чектүү которгучтарды окуу
Функциялар - Чектүү которгучтарды окуу
Функциялар - Чектүү которгучтарды окуу

Бул бөлүк өткөн жумада мен сунуштаган Либдеги бөлүктөн айырмаланат. Эмне үчүн мен аны өзгөрттүм? Ооба, мен башкалардын ордуна eRead түздүм. Бул жерде eRead LVL, digitalRead (пин) окуйт жана TRUE дегенди кайтарат. Мунун баарын жогорку деңгээлде аткаруу керек. Активдүү ачкыч менен кийинки иштер төмөнкү деңгээлде болот. Мен муну сизге "Чындык" столун көрсөтүү үчүн колдоном.

Коддун сүрөттөлүшүндө, булак кодунун бул бөлүгүндө, мен жогорулап бара жатканымды жана курстун аягына жете электигин түшүнүүгө жардам бере турган диаграмма койдум.

Эми, бул сүрөттө os code bool DRV8825, мен кыймылдаткычтын дагы эле өсүп бараткан багытта баратканын көрсөтөм. Бирок, максималдуу чек которгуч иштетилди. Механизм, демек, кыймылды токтотушу керек.

Акырында, мен ошол эле кыймылды көрсөтөм, бирок тескери багытта.

Бул жерде, албетте, аягында которгуч иштетилген.

9 -кадам: Функциялар - Motion Setup

Функциялар - Motion Setup
Функциялар - Motion Setup

MotionConfig методунун негизги утилити - бул секундасына миллиметрди (CNC станокторунда колдонулуучу өлчөө) кадамдык мотордун контролерун тосуп алуу үчүн кадамдарга айландыруу. Дал ушул бөлүктө мен өзгөрмөлөрдү миллиметр эмес, кадамдарды түшүнүү үчүн жаратам.

10 -кадам: Функциялар - Кыймыл Функциясы

Функциялар - Кыймыл Функциясы
Функциялар - Кыймыл Функциясы

Бул кадамда, биз каалаган убакта бир кадамды микросекундтарда жылдырган буйрукту карайбыз. Биз ошондой эле айдоочунун багыт пинин, кечигүү убактысын жана чектик которгучтардын багытын коебуз.

11 -кадам: Функциялар - Кыймыл Функциясы - Өзгөрмөлөр

Функциялар - Кыймыл Функциясы - Өзгөрмөлөр
Функциялар - Кыймыл Функциясы - Өзгөрмөлөр

Бул бөлүктө биз максималдуу жана минималдуу ылдамдык мезгилдерин, траекториянын алыстыгын жана траекторияны үзүү үчүн зарыл болгон кадамдарды камтыган бардык өзгөрмөлөрдү конфигурациялайбыз.

12 -кадам: Функциялар - Кыймыл Функциясы - Ылдамдануу

Функциялар - Кыймыл Функциясы - Ылдамдануу
Функциялар - Кыймыл Функциясы - Ылдамдануу
Функциялар - Кыймыл Функциясы - Ылдамдануу
Функциялар - Кыймыл Функциясы - Ылдамдануу

Бул жерде мен Торричелли теңдемеси аркылуу эсептелген ылдамдануу маалыматына кантип жеткенибиз тууралуу кээ бир деталдар менен тааныштырам, анткени бул ылдамдануу убактысын эмес, иштөө үчүн мейкиндиктерди эске алат. Бирок бул жерде бул теңдеменин бир эле код коду экенин түшүнүү маанилүү.

Биз жогорудагы сүрөттө трапецияны аныктадык, анткени баштапкы RPM көпчүлүк тепкичтүү моторлор үчүн жаман. Ошол эле нерсе басаңдатуу менен болот. Ушундан улам, биз трапецияны ылдамдатуу менен жайлоонун ортосундагы мезгилде элестетебиз.

13 -кадам: Функциялар - Motion Function - Үзгүлтүксүз ылдамдык

Функциялар - Motion Function - Үзгүлтүксүз ылдамдык
Функциялар - Motion Function - Үзгүлтүксүз ылдамдык
Функциялар - Motion Function - Үзгүлтүксүз ылдамдык
Функциялар - Motion Function - Үзгүлтүксүз ылдамдык

Бул жерде ылдамдатууда колдонулган кадамдардын санын сактайбыз, үзгүлтүксүз ылдамдыкта улантабыз жана төмөнкү сүрөттө көрүнүп тургандай максималдуу ылдамдыкта сактайбыз.

14 -кадам: Функциялар - Кыймыл Функциясы - Төмөндөө

Функциялар - Кыймылдын Функциясы - Төмөндөө
Функциялар - Кыймылдын Функциясы - Төмөндөө
Функциялар - Кыймылдын Функциясы - Төмөндөө
Функциялар - Кыймылдын Функциясы - Төмөндөө

Бул жерде бизде дагы бир теңдеме бар, бул жолу терс ылдамдануу мааниси бар. Ал ошондой эле төмөндөгү сүрөттө Төмөндөө деп аталган тик бурчтукту билдирген коддун сабында көрсөтүлөт.

15 -кадам: Функциялар - Motion Function - Үзгүлтүксүз ылдамдык

Функциялар - Motion Function - Үзгүлтүксүз ылдамдык
Функциялар - Motion Function - Үзгүлтүксүз ылдамдык
Функциялар - Motion Function - Үзгүлтүксүз ылдамдык
Функциялар - Motion Function - Үзгүлтүксүз ылдамдык

Биз төмөндө көрүнүп тургандай, траекториянын экинчи жарымында иштөө үчүн үзгүлтүксүз ылдамдыкка кайтып келебиз.

16 -кадам: Функциялар - Функцияны жылдыруу - Жылдыруу бурулат

Функциялар - Жылдыруу Функциясы - Жылдыруу бурулат
Функциялар - Жылдыруу Функциясы - Жылдыруу бурулат

Бул бөлүктө моторду керектүү багытта белгилүү бир бурулушта жылдырабыз, бурулуштардын санын миллиметрге айландырабыз. Акыр -аягы, биз моторду керектүү багытка жылдырабыз.

17 -кадам: Кыймыл диаграммасы - Позициянын ылдамдыгы

Кыймыл диаграммасы - Позициянын ылдамдыгы
Кыймыл диаграммасы - Позициянын ылдамдыгы

Бул графикте менде Acceleration бөлүгүндө колдонгон теңдемеден алынган маалыматтар бар. Мен баалуулуктарды алып, Arduino сериалында ойнодум, жана андан Excelге чыктым, натыйжада ушул таблица пайда болду. Бул таблица кадамдын жүрүшүн көрсөтөт.

18 -кадам: Motion Chart - Position Vs. Позиция

Кыймыл диаграммасы - Позиция Vs. Позиция
Кыймыл диаграммасы - Позиция Vs. Позиция

Бул жерде биз позицияны, кадамдарды жана ылдамдыкты алып, аны микросекундда периодго айландырабыз. Биз бул кадамда мезгил ылдамдыкка тескери пропорционалдуу экенин белгилейбиз.

19 -кадам: Кыймыл диаграммасы - Ылдамдык Vs. Момент

Кыймыл диаграммасы - Ылдамдык Vs. Момент
Кыймыл диаграммасы - Ылдамдык Vs. Момент

Акыр -аягы, бизде ылдамдык көз ирмемдин функциясы катары бар жана ушундан улам бизде түз сызык бар, анткени бул убакыттын функциясы катары ылдамдык.

Сунушталууда: