Мазмұны:

Arduino: Step Motor үшін Precision Lib: 19 қадам
Arduino: Step Motor үшін Precision Lib: 19 қадам

Бейне: Arduino: Step Motor үшін Precision Lib: 19 қадам

Бейне: Arduino: Step Motor үшін Precision Lib: 19 қадам
Бейне: Control Speed of Stepper Motor using L298N with Push Button Switches STLPB-01 2024, Қараша
Anonim
Image
Image
Жаһандық айнымалылар
Жаһандық айнымалылар

Бүгін мен сізге шектеулі қосқыштары бар толық сатылы мотор жүргізушісінің кітапханасын, үдеткіш пен микро қадаммен қозғалтқыш қозғалысын көрсетемін. Arduino Uno -да да, Arduino Mega -де де жұмыс істейтін бұл Lib қозғалтқыштарды қадамдардың санына ғана емес, сонымен қатар миллиметрге қарай жылжытуға мүмкіндік береді. Және бұл өте дәл.

Бұл кітапхананың маңызды ерекшелігі - бұл тек қана X, Y емес, сонымен қатар секциялық қосқыш болып табылатын өзіңіздің CNC машинаңызды құруға мүмкіндік береді, себебі бұл дайын GRBL емес, керісінше бағдарламалау. Сізге ең қолайлы машинаны жасауға мүмкіндік береді.

Алайда, келесі мәлімдеме маңызды бөлшек! Бұл бейне тек бағдарламалауға үйреніп қалған адамдарға арналған. Егер сіз Arduino бағдарламалауын білмесеңіз, алдымен менің каналымдағы басқа да кіріспе бейнелерді қарауыңыз керек. Себебі мен осы нақты бейнероликте кеңейтілген тақырыпты талқылап жатырмын және бейнеде қолданылатын Lib: инсульттің үдеуі мен соңы бар қадамдық қозғалтқышты толығырақ түсіндіремін.

1 -қадам: StepDriver кітапханасы

Бұл кітапхана нарықтағы ең көп таралған драйверлердің үш түрін қамтиды: A4988, DRV8825 және TB6600. Ол драйверлердің түйреуіштерін конфигурациялайды, бұл оларды ұйқы режиміне қалпына келтіруге және орналастыруға мүмкіндік береді, сонымен қатар Іске қосу түйрегіне әсер ететін қозғалтқыштың шығуын қосады және сөндіреді. Ол сонымен қатар драйвердің микро қадамдық түйреуіштерінің кірістерін орнатады, қосқыштар мен олардың қосылу деңгейін шектейді (жоғары немесе төмен). Сондай -ақ, м / с² -де үздіксіз үдеуі бар мотор қозғалысының коды бар, максималды жылдамдығы мм / с, минималды жылдамдығы мм / с.

Қозғалыстың жылдамдауы мен аяқталуы бар қадамдық қозғалтқыш бейнеролигінің 1 және 2 бөліктерін көргендер үшін бұл жаңа кітапхананы бүгін жүктеп алыңыз, себебі мен оны қолдануды жеңілдету үшін бірінші файлға кейбір өзгерістер енгіздім.

2 -қадам: Жаһандық айнымалылар

Мен жаһандық айнымалылардың әрқайсысы не үшін қажет екенін нақты көрсетемін.

3 -қадам: Функциялар - драйвер түйреуіштерін орнату

Функциялар - драйвер түйреуіштерін орнату
Функциялар - драйвер түйреуіштерін орнату

Мұнда мен кейбір әдістерді сипаттаймын.

Мен Pinout параметрін және Arduino түйреуіштерін шығыс ретінде қойдым.

4 -қадам: Функциялар - Драйвердің негізгі функциялары

Функциялар - драйвердің негізгі функциялары
Функциялар - драйвердің негізгі функциялары

Бұл бөлімде біз драйвердің конфигурациясымен және оның негізгі функцияларымен жұмыс жасаймыз.

5 -қадам: Функциялар - Қозғалтқыш қадамын орнату

Функциялар - Қозғалтқыш қадамын орнату
Функциялар - Қозғалтқыш қадамын орнату
Функциялар - Қозғалтқыш қадамын орнату
Функциялар - Қозғалтқыш қадамын орнату

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

6 -қадам: Функциялар - Қозғалтқыштың қадамдық режимін орнату

Функциялар - Қозғалтқыштың қадамдық режимін орнату
Функциялар - Қозғалтқыштың қадамдық режимін орнату
Функциялар - Қозғалтқыштың қадамдық режимін орнату
Функциялар - Қозғалтқыштың қадамдық режимін орнату
Функциялар - Қозғалтқыштың қадамдық режимін орнату
Функциялар - Қозғалтқыштың қадамдық режимін орнату

Бұл кестеде қозғалтқыштың қадамдық режимінің параметрлері көрсетілген. Мұнда бірнеше мысалдар келтірілген.

7 -қадам: Функциялар - Шектік қосқыштарды орнату

Функциялар - шектеу қосқыштарын орнату
Функциялар - шектеу қосқыштарын орнату

Мұнда мен толық және логикалық мәндерді оқуым керек. Белсенді кілттің жоғары немесе төмен екенін белгілеу керек, сонымен қатар соңғы және төменгі шекті шектеуді орнатыңыз.

8 -қадам: Функциялар - Шектік қосқыштарды оқу

Функциялар - Шектік қосқыштарды оқу
Функциялар - Шектік қосқыштарды оқу
Функциялар - Шектік қосқыштарды оқу
Функциялар - Шектік қосқыштарды оқу
Функциялар - Шектік қосқыштарды оқу
Функциялар - Шектік қосқыштарды оқу

Бұл бөлік өткен аптада мен ұсынған Lib -дегі бөліктен өзгеше. Мен оны неге өзгерттім? Мен басқаларды алмастыру үшін eRead құрдым. Мұнда eRead LVL, digitalRead (түйреуіш) оқиды және TRUE мәнін қайтарады. Мұның бәрін жоғары деңгейде орындау қажет. Белсенді кілтпен келесі жұмыс төмен деңгейде болады. Мен мұны сізге «Ақиқат» кестесін көрсету үшін қолданамын.

Кодтың суретінде мен бастапқы кодтың осы бөлігінде мен көтерілуге қарай жылжып бара жатқанымды және курстың соңындағы кілтке әлі түспегенін түсінуге көмектесетін диаграмма қойдым.

Енді, бұл суретте bool DRV8825 коды мен қозғалтқышты әлі де өсіп келе жатқан бағытта қозғалатынын көрсетеді. Дегенмен, максималды шекті қосқыш іске қосылды. Демек, механизм қозғалысты тоқтатуы керек.

Ақырында, мен дәл сол қозғалысты көрсетемін, бірақ қарама -қарсы бағытта.

Мұнда сізде курстың соңы қосқышы белсендірілген.

9 -қадам: Функциялар - Қозғалысты реттеу

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

MotionConfig әдісінің негізгі пайдасы - бұл қадамдық қозғалтқыштың реттегішіне сәйкес келу үшін секундына миллиметрді (CNC станоктарында қолданылатын өлшем) түрлендіру. Дәл осы бөлімде мен айнымалыларды миллиметр емес, қадамдарды түсіну үшін жасаймын.

10 -қадам: Функциялар - Қозғалыс функциясы

Функциялар - Қозғалыс функциясы
Функциялар - Қозғалыс функциясы

Бұл қадамда біз қадамды қажетті бағытта периодта микросекундтарда жылжытатын команданы қарастырамыз. Біз сондай -ақ жүргізушінің бағыттау штырын, кідіріс уақытын және шектеу қосқыштарының бағытын орнатамыз.

11 -қадам: Функциялар - Қозғалыс функциясы - Айнымалылар

Функциялар - Қозғалыс функциясы - Айнымалылар
Функциялар - Қозғалыс функциясы - Айнымалылар

Бұл бөлімде біз максималды және минималды жылдамдық периодтарын, траекторияның қашықтығын және траекторияны үзуге қажетті қадамдарды қамтитын барлық айнымалыларды конфигурациялаймыз.

12 -қадам: Функциялар - Қозғалыс функциясы - Акселерация

Функциялар - Қозғалыс функциясы - Акселерация
Функциялар - Қозғалыс функциясы - Акселерация
Функциялар - Қозғалыс функциясы - Акселерация
Функциялар - Қозғалыс функциясы - Акселерация

Мұнда мен Торричелли теңдеуі арқылы есептелген үдеу деректеріне қалай жеткеніміз туралы кейбір мәліметтерді ұсынамын, себебі бұл уақытты емес, үдеудің жұмыс кеңістігін ескереді. Бірақ бұл жерде барлық теңдеу тек бір кодтық жол екенін түсіну маңызды.

Біз жоғарыдағы суретте трапецияны анықтадық, себебі бастапқы айналу жиілігі көп сатылы қозғалтқыштар үшін нашар. Баяулау кезінде де дәл солай болады. Осының арқасында біз үдеу мен баяулау арасындағы кезеңдегі трапецияны елестетеміз.

13 -қадам: Функциялар - Қозғалыс функциясы - Үздіксіз жылдамдық

Функциялар - Қозғалыс функциясы - Үздіксіз жылдамдық
Функциялар - Қозғалыс функциясы - Үздіксіз жылдамдық
Функциялар - Қозғалыс функциясы - Үздіксіз жылдамдық
Функциялар - Қозғалыс функциясы - Үздіксіз жылдамдық

Мұнда біз үдеуде қолданылатын қадамдар санын сақтаймыз, біз үздіксіз жылдамдықпен жалғастырамыз және төмендегі суреттен көрінетін максималды жылдамдықпен сақтаймыз.

14 -қадам: Функциялар - Қозғалыс функциясы - Баяулау

Функциялар - Қозғалыс функциясы - Баяулау
Функциялар - Қозғалыс функциясы - Баяулау
Функциялар - Қозғалыс функциясы - Баяулау
Функциялар - Қозғалыс функциясы - Баяулау

Мұнда бізде басқа үдеу мәні бар теңдеу бар. Ол сонымен қатар төмендегі суретте баяулау деп белгіленген тіктөртбұрышты білдіретін код жолында көрсетіледі.

15 -қадам: Функциялар - Қозғалыс функциясы - Үздіксіз жылдамдық

Функциялар - Қозғалыс функциясы - Үздіксіз жылдамдық
Функциялар - Қозғалыс функциясы - Үздіксіз жылдамдық
Функциялар - Қозғалыс функциясы - Үздіксіз жылдамдық
Функциялар - Қозғалыс функциясы - Үздіксіз жылдамдық

Біз төменде көрсетілгендей траекторияның екінші жартысында жұмыс істеу үшін үздіксіз жылдамдыққа ораламыз.

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

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

Бұл бөлімде біз қозғалтқышты бұрылу санын миллиметрге түрлендіре отырып, қажетті бағытта белгілі бір айналыммен қозғаймыз. Соңында біз қозғалтқышты сұралған бағытта қозғаймыз.

17 -қадам: қозғалыс диаграммасы - позиция жылдамдығы

Қозғалыс диаграммасы - позиция жылдамдығы
Қозғалыс диаграммасы - позиция жылдамдығы

Бұл графикте менде Acceleration бөлігінде қолданған теңдеуден алынған деректер бар. Мен мәндерді қабылдадым және Arduino сериясында ойнадым, мен Excel -ге өттім, нәтижесінде осы кесте пайда болды. Бұл кесте қадамның барысын көрсетеді.

18 -қадам: қозғалыс диаграммасы - позиция. Позиция

Қозғалыс диаграммасы - позиция. Позиция
Қозғалыс диаграммасы - позиция. Позиция

Мұнда біз позицияны қадаммен және жылдамдықпен алып, оны периодқа, микросекундқа түрлендіреміз. Біз бұл қадамда период жылдамдыққа кері пропорционал екенін байқаймыз.

19 -қадам: Қозғалыс диаграммасы - Жылдамдыққа қарсы Сәт

Қозғалыс диаграммасы - жылдамдық vs. Сәт
Қозғалыс диаграммасы - жылдамдық vs. Сәт

Ақырында, бізде жылдамдық бір сәттік функция болып табылады, сондықтан бізде түзу сызық бар, өйткені бұл уақыт функциясы ретінде жылдамдық.

Ұсынылған: