Mundarija:

Arduino Uno mil va pog'onali dvigatel bilan: 19 qadam
Arduino Uno mil va pog'onali dvigatel bilan: 19 qadam

Video: Arduino Uno mil va pog'onali dvigatel bilan: 19 qadam

Video: Arduino Uno mil va pog'onali dvigatel bilan: 19 qadam
Video: Я есть. Ты есть. Он есть_Рассказ_Слушать 2024, Iyul
Anonim
Image
Image
Ishlatilgan manbalar
Ishlatilgan manbalar

Bugun biz mexanika va mekatronikadagi juda muhim mavzu: mashinalarning elementlari haqida gaplashamiz. Ushbu maqolada biz ba'zi qiziqarli xususiyatlar va ilovalarni o'z ichiga olgan millarga alohida to'xtalamiz. Shunday bo'lsa -da, biz ish milidan kelib chiqadigan harakatni hisoblashning ba'zi usullarini va sinov yig'ilishini taqdim etamiz.

Men quyida yig'indimni yasadim, shunda mil 2 mm va boshqa 8 mm oldinga siljiydi. Men foydalanayotgan TR8 shpindellari odatda kichik yo'riqnoma va 3D printerlarda, ayniqsa Z o'qida ishlatiladi. Shuni yodda tutingki, biz bu erda ishlaydigan ba'zi tushunchalarni o'zlashtirsak, siz har qanday turdagi mashinani loyihalashtira olasiz.

1 -qadam: Ishlatilgan manbalar

  • Diametri 8 mm va pog'onasi 2 mm bo'lgan trapezoidal mil
  • 8 mm diametrli va 8 mm balandlikdagi trapezoidal mil
  • 8x2 milya gardishli kashtan
  • 8x8 milya gardishli kashtan
  • Diametri 8 mm bo'lgan millar uchun rulmanlar
  • Diametri 10 mm bo'lgan chiziqli silindrli qo'llanma
  • 10 mm qo'llanmalar uchun silindrli rulmanlar
  • 10 mm silindrli qo'llanmalar uchun qavslar
  • NEMA 17 dvigatellari
  • Milya muftalari
  • Arduino Uno
  • Haydovchi DRV8825
  • 4x4 matritsali klaviatura
  • Nokia 5110 displeyi
  • Har xil plastik qismlar
  • Bolt va yong'oqlar
  • Yog'och asos
  • 12V tashqi quvvat manbai

2 -qadam: millar haqida - ular nima?

Millar haqida - ular nima?
Millar haqida - ular nima?

Milya - bu vintlardek mashinalarning elementlari. Ya'ni, ular uzluksiz pog'onali iplardan hosil bo'lgan to'g'ri chiziqlardir. Ular chiziqli harakat va joylashishni talab qiladigan mexanizmlarda qo'llaniladi. Ular yuqori tortishish va siqish kuchlarini ishlatib, torkni uzatishi mumkin. Ular avtomatik qulflash bilan harakatlanish imkonini beradi. Ular alyuminiy va po'latdan eng keng tarqalgan bo'lib, har xil materiallardan tayyorlanishi mumkin.

Xitoy kompaniyalari trapezoidal shpindellarni ishlab chiqarayotgani bois, men sizga taniqli yong'oq murvatining o'rniga bunday turdagi mahsulotni olishni taklif qilaman. Bu yanada jozibador narx va tortishish bilan bog'liq, men buni jirkanch deb bilaman.

Fotosuratda men eng yaxshi milni qo'ydim, menimcha, bu aylanma shar mil. Odatda, u juda qattiq po'latdan yasalgan va to'plar kashtan ichida, uning atrofida aylanadi. Aniqlikdan tashqari, men chidamlilikni ham ta'kidlayman, chunki bu turdagi mil mexanizmga zarar bermasdan milliardlab harakatlarni takrorlashi mumkin. Bu erda biz ishlatadigan eng arzon variant - bu trapezoid mil.

3 -qadam: Millar haqida - yakka va sharli iplar

Shpindellar haqida - yakka va sharli iplar
Shpindellar haqida - yakka va sharli iplar

To'p shpindellari, chapdagi rasmda, yarim dumaloq kanallari bor, bu erda sharlar aylanadi. Ular bir vintli millarga nisbatan ancha qimmat va ishqalanishi past, bu esa ancha yuqori rentabellikka olib keladi.

Rasmning o'ng tomonidagi bitta tishli millar odatda trapezoidal profilga ega, chunki bu geometriya eksenel yo'nalishda kuch ishlatish va harakatning silliq uzatilishi uchun ko'proq mos keladi. Ular nisbatan past narxga ega va shar shpindellarining aylanishini taqqoslaganda yuqori ishqalanishga ega, bu esa past rentabellikga, ya'ni toymasin ishqalanishga olib keladi.

4 -qadam: Millar haqida - ilovalar

Millar haqida - ilovalar
Millar haqida - ilovalar

Millarni chiziqli harakat zarur bo'lgan har qanday mexanizmga qo'llash mumkin. Ular sanoatda mashinasozlik va jarayonlarda keng qo'llaniladi.

Ba'zi ilovalarga quyidagilar kiradi:

  • Yuk ko'targichlar
  • Bosish
  • Qulupnay va torna
  • CNC uskunalari
  • Sarish mashinalari
  • 3D printerlar
  • Lazerni kesish va kesish uskunalari
  • Sanoat jarayonlari
  • Joylashuv va chiziqli harakat tizimlari

5 -qadam: millar haqida - parametrlar

Millar haqida - parametrlar
Millar haqida - parametrlar

Shpindelning bir nechta xususiyatlari bor, ular mexanizmni loyihalashda e'tiborga olinishi kerak. Diametri va qadamidan tashqari, uning bosim kuchini, inersiya momentini (aylanish holatining o'zgarishiga qarshilik), konstruktiv materialni, aylanish tezligini, ish yo'nalishini (gorizontal) aniqlash kerak. yoki vertikal), qo'llaniladigan yuk va boshqalar.

Ammo, allaqachon qurilgan mexanizmlarga asoslanib, biz bu parametrlarning bir nechtasini sezishimiz mumkin.

Keling, umumiy yaxshilikni tan olaylik. STEP bilan boshlaylik.

6 -qadam: millar haqida - qadam (joy almashish va tezlik)

Millar haqida - qadam (siljish va tezlik)
Millar haqida - qadam (siljish va tezlik)

Har bir inqilobda yong'oqning bosib o'tgan uzunligini aniqlaydi. Bu odatda mm / inqilobda bo'ladi.

Har bir aylanishda 2 mm milya milning har bir burilishida 2 mm siljishga olib keladi. Bu yong'oqning chiziqli tezligiga ta'sir qiladi, chunki aylanish tezligi oshgani sayin, vaqt birligi uchun aylanishlar soni ortadi va natijada bosib o'tgan masofa ham oshadi.

Agar 2 millimetrli aylanish 60 aylanish tezligida aylansa (sekundiga bir aylanish), yong'oq sekundiga 2 mm tezlikda harakatlanadi.

7 -qadam: yig'ish

O'rnatish
O'rnatish
O'rnatish
O'rnatish

Bizning yig'ilishimizda menda ikkita dvigatel va displeyli klaviatura bor, ular kalkulyatorga o'xshardi, chunki men ularga 3D printerda qopqoq yasaganman. Nokia displeyida bizda quyidagi variantlar mavjud:

F1: Yarim oy - Fuso hozirgi holatidan men belgilagan pozitsiyaga o'tadi

F2: tushish - burilish

F3: Tezlik - Puls kengligini o'zgartirish mumkinmi?

F4: ESC

8 -qadam: O'rnatish - materiallar

O'rnatish - materiallar
O'rnatish - materiallar

A - 10 mm chiziqli qo'llanmalar

B - 2 va 8 mm qadamlarning trapezoidal millari

C - burg'ulash bazasi

D - milya uchun rulmanlar

E - yo'riqnoma egalari

F - kashtan

G - rulmanlar

H - muftalar

Men - dvigatellar

J - har xil plastik qismlar (kursorlar, dvigatel qavslari, takozlar, klaviatura tayanchlari va displey

9 -qadam: O'rnatish - 01 -qadam

O'rnatish - 01 -qadam
O'rnatish - 01 -qadam

Baza (C) burg'ulashidan so'ng biz ikkita dvigatelni (I) yig'amiz. Ularni mahkamlash uchun biz 3D printerda (J) yasalgan qavslardan foydalanamiz. Ushbu joylashtirish bosqichida hech qanday vintni tortmang. Bu hizalama bosqichida kerakli sozlashlarni amalga oshirish imkonini beradi.

10 -qadam: O'rnatish - 02 -qadam

O'rnatish - 02 -qadam
O'rnatish - 02 -qadam

Hali ham taglikni (C) burg'ilashdan so'ng, yo'riqnomalarni (E) va rulmanlarni (D) joylashtiring. Rulmanlarning balandligini sozlash uchun ishlatiladigan plastik shim (J) uchun tafsilotlar.

11 -qadam: O'rnatish - 03 -qadam

O'rnatish - 03 -qadam
O'rnatish - 03 -qadam

Biz rulmanni (G) gaykaga (F) ulash uchun bosilgan qismdan foydalanib kursor yaratamiz. Biz ikkita kursorni ishlatdik, biri o'ngda, ikkinchisi chapda. Uning vazifasi shpindel sabab bo'lgan siljishni aniqlamoqchi bo'lsak, pozitsiyani shkala bo'yicha ko'rsatishdir.

12 -qadam: O'rnatish - 04 -qadam

O'rnatish - 04 -qadam
O'rnatish - 04 -qadam
O'rnatish - 04 -qadam
O'rnatish - 04 -qadam

Qo'llanmani (A) va milni (B) mos keladigan rulmanga (D) va tayanchga (E) dvigatelning qarshisiga joylashtiring, so'ngra yo'riqnoma va milni rulmanga (G) va kashtanga (F) joylashtiring. milning uchiga biz ulagichni ham joylashtiramiz (H). Biz ikkalasini ham oxirgi nuqtalariga yetguncha olamiz (qarama -qarshi qo'llab -quvvatlash va motor).

Keyinchalik sozlash uchun vintlarni engil torting. Qolgan qo'llanma va mil yordamida protsedurani takrorlang. Barcha komponentlar joylashtirilganda biz mexanik yig'ish bosqichini tugatib, qismlarni hizalaymiz.

13 -qadam: O'rnatish - elektronika

O'rnatish - elektronika
O'rnatish - elektronika
O'rnatish - elektronika
O'rnatish - elektronika
O'rnatish - elektronika
O'rnatish - elektronika

Bosilgan plastik ushlagich yordamida biz Nokia 5110 displeyini va 4x4 matritsali klaviaturani o'rnatdik. Stendning pastki qismida DRV8825 haydovchisi Arduino Uno joylashgan.

Baza ichidagi mavjud burg'ulash yordamida biz montajni mahkamlaymiz.

14 -qadam: elektr sxemasi

Elektr sxemasi
Elektr sxemasi

Ulanish sxemasi oddiy. Bizda DRV8825 va bir xil ikkita 17 ta nometall bor, ya'ni biz bir -birimizga yuborgan qadamimiz boshqasiga o'tadi. Dvigatellardan birida 8 mm, ikkinchisida esa 2 mm. Shubhasiz, 8 mm milga ega bo'lgan birinchisi tezroq ketadi. Hali ham diagrammada displey va 4x4 klaviatura bor, ular matritsali bo'lishi kerak.

15 -qadam: Manba kodi

Kutubxonalarni kiritish va ob'ektlarni yaratish

Bu erda men qilgan Lib bor, bu StepDriver.h. U 8825, 4988 va TB6600 drayverlari uchun tayyorlangan. Men bu qadamda DRV8825, d1 ob'ektini yarataman.

// Biblioteca javob berish tugmachasini bosish kerak emas, balki hech qanday ma'lumot yo'q #o'z ichiga oladi // Biblioteca javoblari ko'rsatiladi #qo'shish // Biblioteca javoblari ko'rsatiladi #include // Configuracao de pinos do Display // pin 6 - Serial time out (SCLK) // 5 -pin - ketma -ket ma'lumotlar chiqishi (DIN) // 4 -pin - Ma'lumotlar/Buyruqni tanlash (D/C) // 3 -pin - LCD chipni tanlash (CS/CE) // 2 -pin - LCDni asl holatiga qaytarish (RST)) Adafruit_PCD8544 displeyi = Adafruit_PCD8544 (6, 5, 4, 3, 2); // Biblioteca de motor de passo #include // Instancia yoki haydovchi DRV8825 DRV8825 d1;

Doimiy va global o'zgaruvchilar

Kodning bu qismida men boshqa video darsida o'rgatgan matritsani ko'rib chiqaman (LINK KEYBOARD). Shunga qaramay, men masofa va tezlikdan tashqari klaviatura obyekti haqida gapirayapman.

const bayt LINHAS = 4; // nolinchi raqamli bayt COLUNAS = 4; // nosozliklarni aniqlang // aniqlang SIM -kartalar [LINHAS] [KOLUNAS] = {{'A', '1', '2', '3'}, { 'B', '4', '5', '6'}, {'C', '7', '8', '9'}, {'D', 'c', '0', 'e '}}; bayt PINOS_LINHA [LINHAS] = {A2, A3, A4, A5}; // pinos que indicam linxas kabi, bayt PINOS_COLUNA [COLUNAS] = {0, 1, A0, A1}; // buyruq satrlari buyruqlar buyrug'iga binoan // klaviatura, javoblar va buyruqlar klaviatura customKeypad = keypad (makeKeymap (SIMBOLOS), PINOS_LINHA, PINOS_COLUNA, LINHAS, COLUNAS); // variáveis resposnsáveis yoki maxsus raqamli buyruqlar; imzosiz uzoq masofa = 0; imzosiz uzun velosidad = 2000;

Klaviatura o'qish funktsiyasi

Bu bosqichda bizda displeyga tegishli kod bor, u ortib borayotgan va kamayib borayotgan bosib chiqarishni ishlaydi.

// Funcao Responsavel javob beradi, lekin biz uni ishlatamiz -------------------------------------- --- imzosiz uzun lerValor () {// Escreve o submenu que coleta os valores displey.clearDisplay (); display.fillRect (0, 0, 84, 11, 2); display.setCursor (27, 2); display.setTextColor (oq); display.print ("VALOR"); display.setTextColor (Qora); display.fillRect (0, 24, 21, 11, 2); display.setCursor (2, 26); display.setTextColor (oq); display.print ("CLR"); display.setTextColor (Qora); display.setCursor (23, 26); display.print ("LIMPAR"); display.fillRect (0, 36, 21, 11, 2); display.setCursor (5, 38); display.setTextColor (oq); display.print ("F4"); display.setTextColor (Qora); display.setCursor (23, 38); display.print ("VOLTAR"); display.setCursor (2, 14); display.display (); String valor = ""; char tecla = noto'g'ri;

tugma bosilishini kutish

Bu erda biz Loop dasturini, ya'ni qiymatlarni kiritadigan joyni tushuntiramiz.

// Loop infinito enquanto nao chamar o return while (1) {tecla = customKeypad.getKey (); if (tecla) {switch (tecla) {// 0 dan 9 gacha bo'lgan holatlarda "1" holat: "2" holat: "3" holat: "4" holat: "5" holat: "6" holat: holat '7': holat '8': holat '9': holat '0': valor += tekla; display.print (tekla); display.display (); tanaffus; // "C" tugmachasini bosish bilan: // Apaga o valor do display.fillRect (2, 14, 84, 8, 0); display.setCursor (2, 14); display.display (); tanaffus; // "E" tugmachasini bosish orqali ENT: // Retorna yoki valor return valor.toInt (); tanaffus; // "D" holatini bosish uchun F4 (ESC) buyrug'i: qaytarish -1; standart: tanaffus; }} // Limpa o char tecla tecla = false; }}

Dvigatel haydash funktsiyasi

Ushbu bosqichda "ko'chirish" funktsiyasi ishlab chiqilgan. Men pulslar sonini va yo'nalishini olaman, keyin "for" qilaman.

// Dvigatelning harakatlantiruvchi funktsiyalari -------------------------------------- bo'sh joyni tashuvchi (imzosiz long pulsos, bool direcao) {for (belgisiz uzun i = 0; i <pulsos; i ++) {d1.motorMove (direcao); }}

sozlash ()

Endi men displeyni va haydovchi konfiguratsiyasini siljitaman va hatto osonlashtirish uchun pinni manba kodi ichiga qo'yaman. Men ma'lum qiymatlarni ishga tushiraman va sozlamalarni yaratadigan usullar bilan shug'ullanaman.

void setup () {// Configuracao ko'rsatish ---------------------------------------- -------- ko'rsatish.begin (); display.setContrast (50); display.clearDisplay (); display.setTextSize (1); display.setTextColor (Qora); // DRV8825 drayverini sozlash ----------------------------------------- // pin GND - yoqish (ENA) // pin 13 - M0 // pin 12 - M1 // pin 11 - M2 // pin 10 - Reset (RST) // pin 9 - Kutish (SLP) // pin 8 - qadam (STP)) // 7 -pin - Yo'nalish (DIR) d1.pinConfig (99, 13, 12, 11, 10, 9, 8, 7); d1. uxlash (LOW); d1.reset (); d1.stepPerMm (100); d1.stepPerRound (200); d1.stepConfig (1); d1.motionConfig (50, velocidade, 5000); }

loop () - 1 -qism - Chizma menyusi

void loop () {// Escreve o Menu to do Programa no display ----------------------------------- displey.learDisplay (); display.fillRect (0, 0, 15, 11, 2); display.setCursor (2, 2); display.setTextColor (oq); display.print ("F1"); display.setTextColor (Qora); display.setCursor (17, 2); display.print ("CRESCENTE"); display.fillRect (0, 12, 15, 11, 2); display.setCursor (2, 14); display.setTextColor (oq); display.print ("F2"); display.setTextColor (Qora); display.setCursor (17, 14); display.print ("DECRESCENTE"); display.fillRect (0, 24, 15, 11, 2); display.setCursor (2, 26); display.setTextColor (oq); display.print ("F3"); display.setTextColor (Qora); display.setCursor (17, 26); display.print ("VELOCIDADE");

loop () - 2 -qism - Chizma menyusi

display.fillRect (0, 36, 15, 11, 2); display.setCursor (2, 38); display.setTextColor (oq); display.print ("F4"); display.setTextColor (Qora); display.setCursor (17, 38); display.print ("ESC"); display.display (); bool esc = noto'g'ri;

loop () - 3 -qism - Yugurish

// Loop enquanto a tecla F4 (ESC) nao for pressionada while (! Esc) {// buyruqlar va bosish tugmalari customKey = customKeypad.getKey (); // "customKey" tugmachasini bosish kerak bo'lsa, // "a" tugmachasini bosib o'tish (customKey) {// "A" tugmachasini bosish kerak: distancia = lerValor (); // ESC ni bosing, agar (distancia == -1) {esc = true; } else {// "Movendo" displeyi yo'q, ekran ko'rsatilmaydi.clearDisplay (); display.fillRect (0, 0, 84, 11, 2); display.setCursor (21, 2); display.setTextColor (oq); display.print ("MOVENDO"); display.setTextColor (Qora); display.setCursor (2, 14); displey.chop (distanciya); display.print ("Passos"); display.display ();

loop () - 4 -qism - Yugurish

// Harakatlantiruvchi vosita harakatlantiruvchi (distansiya, LOW); // Volta ao menyusi esc = rost; } tanaffus; // "B" holatida F2 ni bosing: distancia = lerValor (); // ESC ni bosing, agar (distancia == -1) {esc = true; } else {// "Movendo" tela ekranini o'chirish. display.clearDisplay (); display.fillRect (0, 0, 84, 11, 2); display.setCursor (21, 2); display.setTextColor (oq); display.print ("MOVENDO"); display.setTextColor (Qora); display.setCursor (2, 14); displey.chop (distanciya); display.print ("Passos"); display.display ();

loop () - 5 -qism - Yugurish

// Harakatlantiruvchi vosita harakatlantiruvchi (distansiya, YUQORI); // Volta ao menyusi esc = rost; } tanaffus; // "C" tugmachasini bosish uchun F3: velocidade = lerValor (); agar (velocidade == -1) {esc = true; } else {// "Velocidade" displeyi yo'q, ekran ko'rsatilmaydi.clearDisplay (); display.fillRect (0, 0, 84, 11, 2); display.setCursor (12, 2); display.setTextColor (oq); display.print ("VELOCIDADE"); display.setTextColor (Qora); display.setCursor (2, 14); display.print (velocidade); display.print (char (229)); display.print ("s");

loop () - 6 -qism - Yugurish

display.fillRect (31, 24, 21, 11, 2); display.setCursor (33, 26); display.setTextColor (oq); display.println ("OK!"); display.setTextColor (Qora); display.display (); // d1.motionConfig dvigatelining yangi konfiguratsiyasi (50, velosidad, 5000); kechikish (2000); // Volta ao menyusi esc = rost; } tanaffus; // "F" tugmachasini bosish holati "D": // "C" tugmachasini bosish: // "E" tugmachasini bosish: E - menyu esc = true; standart: tanaffus; }} // Limfa yoki char customKey customKey = false; }}

16 -qadam: Millar haqida - Mashina konfiguratsiyasi

Millar haqida - Mashina konfiguratsiyasi
Millar haqida - Mashina konfiguratsiyasi

Masalan, 3D -printerlar va routerlar kabi CNC -mashinalarda, joylashishni boshqarish uchun javob beradigan dastur, qadam dvigateliga berilgan impulslar soniga bog'liq holda, harakatlar qanday sodir bo'lishini bilishi kerak.

Agar pog'onali dvigatel mikro-qadamlarni qo'llashga ruxsat bersa, ishlab chiqarilgan joy almashtirishni hisoblashda bu konfiguratsiyani hisobga olish kerak.

Masalan, 1/16 ga o'rnatilgan haydovchiga bir inqilob uchun 200 qadamli dvigatel ulangan bo'lsa, u holda milning bitta aylanishi uchun 16 x 200 puls, ya'ni har bir aylanish uchun 3200 puls kerak bo'ladi. Agar bu milning aylanish tezligi 2 mm ga teng bo'lsa, yong'oqning 2 mm harakatlanishi uchun haydovchida 3200 impuls kerak bo'ladi.

Aslida, dasturiy ta'minot nazoratchilari bu nisbatni "millimetrdagi impulslar soni" yoki "qadamlar / mm" ni belgilash uchun ko'pincha sababdan foydalanadilar.

17 -qadam: Marlin

Marlin
Marlin

Masalan, Marlinda biz @bo'limi harakati bo'limida ko'ramiz:

/ **

* Har bir birlik uchun standart eksa qadamlari (qadamlar / mm)

* M92 bilan bekor qiling

* X, Y, Z, E0 [, E1 [, E2 [, E3 [, E4]

* /

#DEFAULT_AXIS_STEPS_PER_UNIT {80, 80, 3200, 100} ni aniqlang

Bu misolda, X va Y o'qlari 1 mm siljish uchun 80 ta impuls aniqligiga ega, degan xulosaga kelishimiz mumkin, Z uchun 3200 ta, E0 ekstruderiga esa 100 ta ehtiyoj bor.

18 -qadam: GRBL

GRBL
GRBL

Quyida GRBL konfiguratsiya buyruqlarini ko'ramiz. $ 100 buyrug'i bilan biz X o'qida bir millimetrlik ofsetga olib kelishi uchun zarur bo'lgan impulslar sonini sozlashimiz mumkin.

Quyidagi misolda biz joriy qiymat mm uchun 250 impuls ekanligini ko'rishimiz mumkin.

Y va Z o'qlari mos ravishda $ 101 va $ 102 ga o'rnatilishi mumkin.

Tavsiya: