Агуулгын хүснэгт:

Arduino: Stepper Motor -ийн нарийн Lib: 19 алхам
Arduino: Stepper Motor -ийн нарийн Lib: 19 алхам

Видео: Arduino: Stepper Motor -ийн нарийн Lib: 19 алхам

Видео: Arduino: Stepper Motor -ийн нарийн Lib: 19 алхам
Видео: Ручной станок для перемотки брони блендеров, дрелей, полировальных машин, пылесосов и т.д. 2024, Долдугаар сарын
Anonim
Image
Image
Дэлхийн хувьсагчид
Дэлхийн хувьсагчид

Өнөөдөр би танд хязгаарлах унтраалга бүхий бүрэн шатлалт мотор жолооч, хурдатгал ба микро алхам бүхий хөдөлгүүрийн хөдөлгөөний номын санг үзүүлэх болно. Arduino Uno болон Arduino Mega хоёуланд нь ажилладаг энэхүү Lib нь хөдөлгүүрийг зөвхөн алхамын тоонд төдийгүй миллиметрээр хөдөлгөх боломжийг олгодог. Мөн энэ нь нэлээд нарийвчлалтай юм.

Энэхүү номын сангийн нэг чухал онцлог нь танд зөвхөн CNC машиныг бүтээх боломжийг олгодог бөгөөд энэ нь зөвхөн X, Y байх албагүй, гэхдээ хэсэг шилжүүлэгч, жишээлбэл, энэ нь бэлэн GRBL биш, харин програмчлал юм. танд хамгийн тохиромжтой машин хийх боломжийг олгодог.

Гэсэн хэдий ч дараахь мэдэгдэл нь чухал нарийн ширийн зүйл юм! Энэ видео нь зөвхөн програмчлалд аль хэдийн дассан хүмүүст зориулагдсан болно. Хэрэв та Arduino програмчлалын талаар сайн мэдэхгүй байгаа бол эхлээд миний суваг дээрх бусад танилцуулах видеог үзэх хэрэгтэй. Учир нь би энэ тодорхой видеон дээр ахисан түвшний сэдвийг хэлэлцэж байгаа бөгөөд видеонд ашигласан Lib: Хурдасгах ба цус харвалтын төгсгөл бүхий алхам хөдөлгүүрийг нарийвчлан тайлбарлаж байна.

Алхам 1: StepDriver номын сан

Энэхүү номын сан нь A4988, DRV8825, TB6600 гэсэн зах зээл дээрх хамгийн түгээмэл драйверын гурван төрлийг хамардаг. Энэ нь драйверуудын зүүг тохируулж, унтах горимд дахин тохируулах, байрлуулах, идэвхжүүлэх зүү дээр ажилладаг моторын гаралтыг идэвхжүүлэх, идэвхгүй болгох боломжийг олгодог. Энэ нь драйверын микро алхамтай голын оролтыг тохируулж, унтраалга ба идэвхжүүлэх түвшинг (өндөр эсвэл бага) хязгаарладаг. Түүнчлэн тасралтгүй хурдатгалыг мм / с², хамгийн дээд хурдыг мм / с, хамгийн бага хурдыг мм / сек -ээр илэрхийлдэг моторын хөдөлгөөний кодтой.

Тархины цус харвалт, хурдатгал бүхий Step Motor видео бичлэгийн 1, 2 -р хэсгийг үзсэн хүмүүст зориулан энэхүү шинэ номын санг өнөөдөр татаж аваарай.

Алхам 2: Дэлхийн хувьсагчид

Би дэлхийн хувьсагч бүр яг юунд зориулагдсан болохыг харууллаа.

Алхам 3: Чиг үүрэг - Жолоочийн зүүг тохируулах

Чиг үүрэг - Жолоочийн зүүг тохируулах
Чиг үүрэг - Жолоочийн зүүг тохируулах

Энд би зарим аргуудыг тайлбарласан болно.

Би Pinout тохиргоо болон Arduino зүүг гаралт болгон тохируулсан.

Алхам 4: Чиг үүрэг - Жолоочийн үндсэн үүрэг

Чиг үүрэг - Жолоочийн үндсэн үүрэг
Чиг үүрэг - Жолоочийн үндсэн үүрэг

Энэ хэсэгт бид драйверын тохиргоо болон түүний үндсэн функцуудтай ажилладаг.

Алхам 5: Чиг үүрэг - Мотор алхам тохиргоо

Чиг үүрэг - Мотор алхам тохиргоо
Чиг үүрэг - Мотор алхам тохиргоо
Чиг үүрэг - Мотор алхам тохиргоо
Чиг үүрэг - Мотор алхам тохиргоо

Кодын энэ алхамд бид мотор гүйцэтгэх ёстой миллиметрийн алхамуудын хэмжээг тохируулдаг.

Алхам 6: Чиг үүрэг - Мотор алхам горимыг тохируулах

Чиг үүрэг - Мотор алхам горимыг тохируулах
Чиг үүрэг - Мотор алхам горимыг тохируулах
Чиг үүрэг - Мотор алхам горимыг тохируулах
Чиг үүрэг - Мотор алхам горимыг тохируулах
Чиг үүрэг - Мотор алхам горимыг тохируулах
Чиг үүрэг - Мотор алхам горимыг тохируулах

Энэ хүснэгтэд моторын алхам горимын тохиргоог харуулав. Энд хэдэн жишээ дурдъя.

Алхам 7: Чиг үүрэг - Хязгаарын унтраалга тохируулах

Чиг үүрэг - Хязгаарын унтраалгыг тохируулах
Чиг үүрэг - Хязгаарын унтраалгыг тохируулах

Энд би бүхэл бүтэн болон логик утгыг унших ёстой. Идэвхтэй түлхүүр дээш эсвэл доош байх эсэхийг тохируулах шаардлагатай бөгөөд хамгийн дээд ба доод хязгаарын төгсгөлийг тохируулах шаардлагатай.

Алхам 8: Чиг үүрэг - Хязгаарын унтраалга унших

Чиг үүрэг - Хязгаарын унтраалга унших
Чиг үүрэг - Хязгаарын унтраалга унших
Чиг үүрэг - Хязгаарын унтраалга унших
Чиг үүрэг - Хязгаарын унтраалга унших
Чиг үүрэг - Хязгаарын унтраалга унших
Чиг үүрэг - Хязгаарын унтраалга унших

Энэ хэсэг нь өнгөрсөн долоо хоногт миний танилцуулсан Lib дахь хэсгээс өөр юм. Би яагаад үүнийг өөрчилсөн юм бэ? За, би заримыг нь орлуулахын тулд eRead -ийг бүтээсэн. Энд eRead нь LVL, digitalRead (pin) -ийг уншиж, ҮНЭН -ийг буцаана. Энэ бүгдийг өндөр түвшинд хийх шаардлагатай байна. Идэвхтэй түлхүүр бүхий дараах ажил доод түвшинд байх болно. Би үүнийг ашиглан "Үнэн" хүснэгтийг танд үзүүлэх болно.

Кодын дүрсэнд би эх кодын энэ хэсэгт өгсөх чиглэл рүү явж байгаа бөгөөд курс дуусах түлхүүрийг хараахан хараахан оруулаагүй байгааг ойлгоход туслах диаграммыг байрлуулсан болно.

Одоо DRV8825 bool кодын энэ зурган дээр хөдөлгүүр өсөн нэмэгдэж буй чиглэлд хөдөлж байгааг харууллаа. Гэсэн хэдий ч хамгийн дээд хязгаарын унтраалга идэвхжсэн байна. Тиймээс механизм нь хөдөлгөөнийг зогсоох ёстой.

Эцэст нь хэлэхэд би ижил хөдөлгөөнийг харуулдаг, гэхдээ эсрэг чиглэлд.

Энд та курс дуусах унтраалгыг аль хэдийн идэвхжүүлсэн байна.

Алхам 9: Чиг үүрэг - Хөдөлгөөнийг тохируулах

Чиг үүрэг - Хөдөлгөөнийг тохируулах
Чиг үүрэг - Хөдөлгөөнийг тохируулах

MotionConfig аргын гол хэрэгсэл нь stepper моторын хянагчтай уулзахын тулд секундэд миллиметрийг (CNC машинд ашигладаг хэмжилт) алхам болгон хувиргах явдал юм. Энэ хэсэгт би хувьсагчдыг алхам алхмаар ойлгохын тулд миллиметрээр бус харин энэ хэсэгт оруулсан болно.

Алхам 10: Чиг үүрэг - Хөдөлгөөний функц

Чиг үүрэг - Хөдөлгөөний функц
Чиг үүрэг - Хөдөлгөөний функц

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

Алхам 11: Чиг үүрэг - Хөдөлгөөний үүрэг - Хувьсагч

Чиг үүрэг - Хөдөлгөөний функц - Хувьсагч
Чиг үүрэг - Хөдөлгөөний функц - Хувьсагч

Энэ хэсэгт бид хамгийн их ба хамгийн бага хурд, траекторийн зай, траекторийг тасалдуулахад шаардлагатай алхамуудыг багтаасан бүх хувьсагчдыг тохируулдаг.

Алхам 12: Чиг үүрэг - Хөдөлгөөний чиг үүрэг - Хурдатгал

Чиг үүрэг - Хөдөлгөөний чиг үүрэг - Хурдатгал
Чиг үүрэг - Хөдөлгөөний чиг үүрэг - Хурдатгал
Чиг үүрэг - Хөдөлгөөний чиг үүрэг - Хурдатгал
Чиг үүрэг - Хөдөлгөөний чиг үүрэг - Хурдатгал

Энд би Торричеллигийн тэгшитгэлээр тооцоолсон хурдатгалын өгөгдөлд хэрхэн хүрсэн тухай зарим дэлгэрэнгүй мэдээллийг танилцуулж байна, учир нь үүнд цаг хугацаа биш харин хурдатгалын ажиллах орон зайг харгалзан үздэг. Гэхдээ энэ тэгшитгэл нь зөвхөн нэг мөр кодын тухай гэдгийг ойлгох нь чухал юм.

Дээрх зурган дээр трапецийг олж тогтоосон, учир нь анхны эргэлтийн хурд нь ихэнх stepper моторуудад муу байдаг. Саарах үед мөн адил зүйл тохиолддог. Үүний ачаар бид хурдатгал ба удаашралын хоорондох трапецийг төсөөлдөг.

Алхам 13: Чиг үүрэг - Хөдөлгөөний функц - Тасралтгүй хурд

Чиг үүрэг - Хөдөлгөөний функц - Тасралтгүй хурд
Чиг үүрэг - Хөдөлгөөний функц - Тасралтгүй хурд
Чиг үүрэг - Хөдөлгөөний функц - Тасралтгүй хурд
Чиг үүрэг - Хөдөлгөөний функц - Тасралтгүй хурд

Энд бид хурдатгалд ашигласан алхамуудын тоог хадгалж, тасралтгүй хурдаар үргэлжлүүлж, хамгийн дээд хурдаар нь хадгалж байгааг доорх зургаас харж болно.

Алхам 14: Чиг үүрэг - Хөдөлгөөний чиг үүрэг - Сааралт

Чиг үүрэг - Хөдөлгөөний функц - Сааралт
Чиг үүрэг - Хөдөлгөөний функц - Сааралт
Чиг үүрэг - Хөдөлгөөний функц - Сааралт
Чиг үүрэг - Хөдөлгөөний функц - Сааралт

Энд бид өөр нэг тэгшитгэлтэй бөгөөд энэ удаад сөрөг хурдатгалын утгатай байна. Үүнийг мөн кодын мөрөнд харуулав. Доорх зурган дээр удаашруулах гэсэн тэгш өнцөгтийг харуулав.

Алхам 15: Чиг үүрэг - Хөдөлгөөний функц - Тасралтгүй хурд

Чиг үүрэг - Хөдөлгөөний функц - Тасралтгүй хурд
Чиг үүрэг - Хөдөлгөөний функц - Тасралтгүй хурд
Чиг үүрэг - Хөдөлгөөний функц - Тасралтгүй хурд
Чиг үүрэг - Хөдөлгөөний функц - Тасралтгүй хурд

Доорх зурган дээрх хоёр дахь хагаст ажиллахын тулд бид тасралтгүй хурд руу буцаж очно.

Алхам 16: Чиг үүрэг - Хөдөлгөөний функц - Хөдөлгөөнийг эргүүлнэ

Чиг үүрэг - Хөдөлгөөний функц - Эргүүлэлтийг зөөх
Чиг үүрэг - Хөдөлгөөний функц - Эргүүлэлтийг зөөх

Энэ хэсэгт бид хөдөлгүүрийг хүссэн чиглэлд тодорхой тооны эргэлтээр хөдөлгөж, эргэлтийн тоог миллиметрээр хөрвүүлнэ. Эцэст нь бид моторыг хүссэн чиглэлд шилжүүлнэ.

Алхам 17: Хөдөлгөөний диаграм - Албан тушаалын хурд

Хөдөлгөөний диаграм - Албан тушаалын хурд
Хөдөлгөөний диаграм - Албан тушаалын хурд

Энэхүү график дээр би Acceleration хэсэгт ашигласан тэгшитгэлээс гаргаж авсан өгөгдлийг олж авсан болно. Би үнэт зүйлсийг аваад Arduino цуврал дээр тоглож, үүнээс Excel рүү шилжсэн бөгөөд энэ хүснэгтийг гаргав. Энэ хүснэгт нь алхам алхмыг харуулж байна.

Алхам 18: Хөдөлгөөнт диаграм - Албан тушаал ба vs. Байрлал

Хөдөлгөөний хүснэгт - Албан тушаал ба vs. Байрлал
Хөдөлгөөний хүснэгт - Албан тушаал ба vs. Байрлал

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

Алхам 19: Хөдөлгөөнт диаграм - Хурд ба Vs. Агшин

Хөдөлгөөний хүснэгт - Хурд Vs. Агшин
Хөдөлгөөний хүснэгт - Хурд Vs. Агшин

Эцэст нь бидэнд хурд нь агшин зуурын функц бөгөөд үүнээс үүдэн бид цаг хугацааны функц болох хурд учраас шулуун шугамтай болно.

Зөвлөмж болгож буй: