Orodha ya maudhui:

Arduino Uno Pamoja na Spindle na Pitch Motor: 19 Hatua
Arduino Uno Pamoja na Spindle na Pitch Motor: 19 Hatua

Video: Arduino Uno Pamoja na Spindle na Pitch Motor: 19 Hatua

Video: Arduino Uno Pamoja na Spindle na Pitch Motor: 19 Hatua
Video: How to use Prototyping Shield with breadboard for Arduino 2024, Julai
Anonim
Image
Image
Rasilimali Zilizotumiwa
Rasilimali Zilizotumiwa

Leo tutazungumza juu ya mada muhimu sana katika ufundi na mitambo: vifaa vya mashine. Katika nakala hii, tutazungumzia spindles haswa, zilizo na huduma na matumizi ya kupendeza. Bado, tutaonyesha njia kadhaa za kuhesabu harakati zinazosababishwa na spind na kuwasilisha mkutano wa jaribio.

Nilifanya mkutano hapa chini, kwa hivyo, ambayo inafichua mapema ya spindle ya 2mm na nyingine ya 8mm. Spindles hizi za TR8 ninazotumia hutumiwa kawaida katika ruta ndogo na printa za 3D, haswa kwenye mhimili wa Z. Kukumbuka kuwa kwa kusimamia dhana kadhaa ambazo tutafanya kazi hapa, utaweza kubuni aina yoyote ya mashine.

Hatua ya 1: Rasilimali Zilizotumiwa

  • Trapezoidal spindle 8mm kwa kipenyo na 2mm lami
  • Trapezoidal spindle 8mm kwa kipenyo na 8mm kwa lami
  • 8x2 chestnut iliyopigwa flanged
  • 8x8 chestnut iliyopigwa
  • Kuzaa kwa spindles za kipenyo cha 8mm
  • Linear mwongozo wa silinda 10mm kwa kipenyo
  • Fani za roller za cylindrical kwa miongozo ya 10mm
  • Mabano kwa miongozo ya silinda ya 10mm
  • NEMA 17 Motors
  • Mafungo ya shimoni
  • Arduino Uno
  • Dereva DRV8825
  • Kibodi ya tumbo ya 4x4
  • Onyesha Nokia 5110
  • Sehemu tofauti za plastiki
  • Bolts na karanga
  • Msingi wa kuni
  • Ugavi wa nje wa 12V

Hatua ya 2: Kuhusu spindles - Je

Kuhusu spindles - Je!
Kuhusu spindles - Je!

Spindles ni vitu vya mashine, kama vile screws. Hiyo ni, ni baa moja kwa moja iliyoundwa na nyuzi za hatua zinazoendelea. Zinatumika katika njia ambazo zinahitaji harakati na uwekaji wa laini. Wanaweza kutumia nguvu kubwa za kukandamiza na kubana na kusambaza wakati. Wanaruhusu harakati na kufunga moja kwa moja. Wanaweza kujengwa kwa vifaa tofauti, kuwa aluminium na chuma ya kawaida.

Kwa kuwa kampuni za Wachina zinatengeneza spindles za trapezoidal, ningependekeza upate aina hii ya bidhaa badala ya bolt inayojulikana. Hii ni kwa sababu ya bei ya kuvutia zaidi na buruta, ambayo ninaiona kuwa mbaya.

Kwenye picha niliweka spindle bora ambayo, kwa maoni yangu, hiyo ni spindle ya mpira inayozunguka. Kawaida hufanywa kwa chuma ngumu sana, na mipira huzunguka, ndani ya chestnut. Mbali na usahihi ambao ni mzuri, ninaangazia pia uimara, kwani aina hii ya spindle inaweza kuzaa mabilioni ya harakati bila kuharibu utaratibu. Chaguo cha bei rahisi, ambayo ndio tunayotumia hapa, ni spindle ya trapezoidal.

Hatua ya 3: Kuhusu spindles - Threads Moja na Mpira

Kuhusu spindles - Threads Moja na Mpira
Kuhusu spindles - Threads Moja na Mpira

Vipuli vya mpira, kwenye picha kushoto, vina mifereji ya duara ambapo mipira inazunguka. Wao ni ghali zaidi na wana msuguano mdogo ikilinganishwa na spindles moja ya screw, na kusababisha mavuno mengi zaidi (msuguano unaozunguka).

Vyoo vyenye nyuzi moja upande wa kulia wa picha kawaida huwa na maelezo mafupi ya trapezoidal, kwani jiometri hii inafaa zaidi kutumia vikosi katika mwelekeo wa axial na usafirishaji laini wa mwendo. Ni za bei rahisi na zina msuguano mkubwa ikilinganishwa na spindle za mpira zinazozunguka, na kusababisha mavuno ya chini, yaani msuguano wa kuteleza.

Hatua ya 4: Kuhusu spindles - Matumizi

Kuhusu spindles - Matumizi
Kuhusu spindles - Matumizi

Spindles inaweza kutumika kwa utaratibu wowote ambapo mwendo wa mstari unahitajika. Zinatumika sana katika tasnia katika mashine na michakato.

Maombi mengine ni pamoja na:

  • Mizigo huinua
  • Mashinikizo
  • Jordgubbar na lathes
  • Vifaa vya CNC
  • Kufunga Mashine
  • Vichapishaji vya 3D
  • Kukata na Kukata Vifaa vya Laser
  • Michakato ya Viwanda
  • Kuweka na mifumo ya mwendo wa laini

Hatua ya 5: Kuhusu spindles - Vigezo

Kuhusu spindles - Vigezo
Kuhusu spindles - Vigezo

Kuna sifa kadhaa za spindle ambayo inapaswa kuzingatiwa wakati wa kubuni utaratibu. Mbali na kipenyo na lami, inahitajika kutambua nguvu yake ya kukandamiza, wakati wake wa hali (upinzani wa mabadiliko katika hali yake ya kuzunguka), nyenzo zenye kujenga, kasi ya kuzunguka ambayo itafanywa, mwelekeo wa operesheni (usawa au wima), mzigo uliowekwa, kati ya zingine.

Lakini, kulingana na mifumo iliyojengwa tayari, tunaweza kuingiza vigezo kadhaa hivi.

Wacha tutambue faida ya kawaida. Wacha tuanze na HATUA.

Hatua ya 6: Kuhusu spindles - Hatua (kuhamishwa na kasi)

Kuhusu spindles - Hatua (kuhamishwa na kasi)
Kuhusu spindles - Hatua (kuhamishwa na kasi)

Huamua urefu uliosafiri na nati katika kila mapinduzi. Hii kawaida huwa mm / mapinduzi.

Spindle 2 mm kwa kila mapinduzi itasababisha kuhamishwa kwa mm 2 kwa kila zamu ambayo spindle hufanya. Itashawishi kasi ya laini ya nati, kwani kwa kuongezeka kwa kasi ya kuzunguka, idadi ya mapinduzi kwa kila wakati itaongezeka na kwa hivyo umbali uliosafiri pia.

Ikiwa 2mm inazunguka kwa mapinduzi inazunguka kwa RPM 60 (mapinduzi moja kwa sekunde), nati itahamia saa 2mm kwa sekunde.

Hatua ya 7: Mkutano

Mkutano
Mkutano
Mkutano
Mkutano

Katika mkutano wetu, nina motors mbili na kibodi yetu na onyesho, ambayo ilionekana kama kikokotoo, kwa sababu niliwawekea kifuniko katika printa ya 3D. Kwenye onyesho la Nokia tuna chaguzi zifuatazo:

F1: Crescent - Fuso huenda kutoka nafasi ya sasa hadi nafasi ninayoamua

F2: Kushuka - Pinduka

F3: Kasi - Je! Ninaweza kubadilisha upana wa kunde

F4: ESC

Hatua ya 8: Kuweka - Vifaa

Kuweka - Vifaa
Kuweka - Vifaa

Miongozo ya Linear ya 10mm

B - Vipande vya trapezoidal vya hatua 2 na 8mm

C - Msingi wa kuchimba visima

D - Kuzaa kwa spindles

E - Wamiliki wa mwongozo

F - Karanga

G - Kuzaa

H - Kuunganisha

I - Injini

J - Sehemu anuwai za plastiki (mshale, mabano ya injini, wedges, msaada wa kibodi na onyesho

Hatua ya 9: Mkutano - Hatua ya 01

Mkutano - Hatua ya 01
Mkutano - Hatua ya 01

Kufuatia kuchimba kwa msingi (C), tunakusanya motors mbili (I). Ili kuzifunga, tunatumia mabano yaliyotengenezwa kwenye printa ya 3D (J). Usikaze yoyote ya screws katika hatua hii ya kuweka nafasi. Hii itaruhusu marekebisho muhimu katika hatua ya usawa.

Hatua ya 10: Mkutano - Hatua ya 02

Mkutano - Hatua ya 02
Mkutano - Hatua ya 02

Bado ifuatavyo kuchimba kwa msingi (C), weka reli za mwongozo (E) na fani (D). Maelezo ya shim ya plastiki (J) iliyotumiwa kurekebisha urefu wa fani.

Hatua ya 11: Kuweka - Hatua ya 03

Kuweka - Hatua ya 03
Kuweka - Hatua ya 03

Tunaunda mshale kwa kutumia sehemu iliyochapishwa ili kuunganisha kuzaa (G) kwa nati (F). Tulitumia laana mbili, mmoja kulia mwingine kushoto. Kazi yake ni kuonyesha msimamo kwa kiwango wakati wowote tunataka kuamua uhamishaji unaosababishwa na spindle.

Hatua ya 12: Mkutano - Hatua ya 04

Mkutano - Hatua ya 04
Mkutano - Hatua ya 04
Mkutano - Hatua ya 04
Mkutano - Hatua ya 04

Ingiza mwongozo (A) na spindle (B) katika kuzaa kwao (D) na msaada (E), mkabala na gari, kisha ingiza mwongozo na spindle katika kubeba (G) na chestnut (F) na kwenye ncha ya spindle sisi pia tunaingiza coupler (H). Tunawachukua wote wawili hadi wafikie alama zao za mwisho (msaada kinyume na motor).

Kaza visu kidogo ili kuruhusu marekebisho ya baadaye. Rudia utaratibu ukitumia mwongozo na spindle iliyobaki. Pamoja na vifaa vyote vilivyowekwa, tunafanya usawa wa sehemu, kumaliza hatua ya mkutano wa mitambo.

Hatua ya 13: Kuweka - Elektroniki

Kuweka - Elektroniki
Kuweka - Elektroniki
Kuweka - Elektroniki
Kuweka - Elektroniki
Kuweka - Elektroniki
Kuweka - Elektroniki

Kutumia mmiliki wa plastiki aliyechapishwa, tulipata onyesho la Nokia 5110 na keypad ya matrix 4x4. Katika nafasi ya chini ya standi atakaa Arduino Uno, dereva DRV8825.

Kutumia kuchimba visima kwa msingi, tunafunga mkutano.

Hatua ya 14: Mpango wa Umeme

Mpango wa Umeme
Mpango wa Umeme

Mchoro wa wiring ni rahisi. Tunayo DRV8825 na vioo viwili sawa 17, ambayo ni kwamba, hatua sawa tunayotuma kwa moja huenda kwa nyingine. Mabadiliko gani ni kwamba katika moja ya injini nina spindle ya 8mm na kwa nyingine spindle 2mm. Ni wazi, basi, kwamba ya kwanza, na spindle ya 8mm, huenda haraka. Bado kwenye mchoro kuna onyesho na kibodi ya 4x4, ambayo inapaswa kuwa tumbo.

Hatua ya 15: Nambari ya Chanzo

Kuingizwa kwa maktaba na kuunda vitu

Tunayo Lib ambayo nilifanya, ambayo ni StepDriver.h. Imeandaliwa kwa 8825, 4988 na pia madereva wa TB6600. Ninaunda katika hatua hii kitu DRV8825, d1.

// Biblioteca Respável por capturar a tecla que foi pressionada no teclado # include // Biblioteca Respável pelos graficos do display #include // Biblioteca Respável pela comunicacao do display #include // Configuracao de pinos do Display // pin 6 - Serial clock out (SCLK) // pini 5 - Takwimu za nje (DIN) // pini 4 - Chagua Takwimu / Amri (D / C) // pini 3 - Chagua LCD chip (CS / CE) // pini 2 - Rudisha LCD (RST Adafruit_PCD8544 onyesha = Adafruit_PCD8544 (6, 5, 4, 3, 2); // Biblioteca de motor de passo # pamoja na // Instancia o dereva DRV8825 DRV8825 d1;

Mara kwa mara na anuwai za ulimwengu

Katika sehemu hii ya nambari mimi hutibu tumbo, ambalo nilifundisha katika somo lingine la video (KI Kinanda cha Kiungo). Bado, nazungumza juu ya kitu cha keypad, badala ya umbali na kasi.

const byte LINHAS = 4; // número de linhas kufanya tecladoconst byte COLUNAS = 4; // número de colunas do teclado // define uma matriz com os símbolos que deseja ser lido do teclado char SIMBOLOS [LINHAS] [COLUNAS] = {{'' ',' 1 ',' 2 ',' 3 '}, { 'B', '4', '5', '6'}, {'C', '7', '8', '9'}, {'D', 'c', '0', 'e '}}; PIN PINOS_LINHA [LINHAS] = {A2, A3, A4, A5}; // pinos que indicam as linhas do teclado byte PINOS_COLUNA [COLUNAS] = {0, 1, A0, A1}; // pinos que indicam as colunas do teclado // instancia of Keypad, answerável por capturar a tecla pressionada Keypad customKeypad = Keypad (makeKeymap (SIMBOLOS), PINOS_LINHA, PINOS_COLUNA, LINHAS, COLUNAS); // variáveis resposnsáveis por armazenar o valor digitado char customKey; distancia ndefu isiyosainiwa = 0; velocidade ndefu isiyosainiwa = 2000;

Kazi ya kusoma kibodi

Katika hatua hii tuna nambari inayotaja onyesho, ambalo hufanya kazi ya uchapishaji unaoongezeka na kupungua.

// Funcao responsavel por ler o valor do usario pelo teclado -------------------------------------- --- bila usajili mrefu lerValor () {// Escreve o submenu que coleta os valores no display display.clearDisplay (); onyesha FillRect (0, 0, 84, 11, 2); Kuweka Mshale (27, 2); onyesha.setTextColor (NYEUPE); onyesho.print ("VALOR"); onyesha.setTextColor (NYEUSI); onyesha FillRect (0, 24, 21, 11, 2); Onyesha Mshale (2, 26); onyesha.setTextColor (NYEUPE); onyesho.print ("CLR"); onyesha.setTextColor (NYEUSI); Kuweka Mshale (23, 26); onyesho.print ("LIMPAR"); onyesha FillRect (0, 36, 21, 11, 2); Onyesha Mshale (5, 38); onyesha.setTextColor (NYEUPE); onyesho.print ("F4"); onyesha.setTextColor (NYEUSI); Kuweka Mshale (23, 38); alama ya kuonyesha ("VOLTAR"); Onyesha Mshale (2, 14); onyesha.display (); Ushujaa wa kamba = ""; char tecla = uwongo;

kitanzi kusubiri kitufe kilichobanwa

Hapa tunaelezea programu ya Kitanzi, ambayo ni, mahali unapoingiza maadili.

// Kitanzi infinito enquanto nao chamar o kurudi wakati (1) {tecla = customKeypad.getKey (); ikiwa (tecla) {switch (tecla) {// Se teclas de 0 a 9 forem pressionadas case '1': kesi '2': kesi '3': kesi '4': kesi '5': kesi '6': kesi '7': kesi '8': kesi '9': kesi '0': ushujaa + = tecla; onyesho.print (tecla); onyesha.display (); kuvunja; // Se tecla CLR foi pressionada case 'c': // Limpa a valor string valor = ""; // Ushujaa wa Apaga unaonyesha onyesha.fillRect (2, 14, 84, 8, 0); Onyesha Mshale (2, 14); onyesha.display (); kuvunja; // Se tecla ENT foi pressionada case 'e': // Retorna o valor return valor.toInt (); kuvunja; // Se tecla F4 (ESC) foi pressionada kesi 'D': kurudi -1; chaguo-msingi: kuvunja; }} // Limpa o char tecla tecla = uongo; }}

Kazi ya kuendesha gari

Kazi ya "hoja" inafanywa kazi katika hatua hii. Ninapata idadi ya kunde na mwelekeo halafu mimi hufanya "kwa".

// Funcao responsavel por mover o motor --------------------------------------- mtoaji wa utupu pulsos ndefu, bool direcao) {for (unsigned long i = 0; i <pulsos; i ++) {d1.motorMove (direcao); }}

kuanzisha ()

Sasa ninahamisha onyesho na usanidi wa dereva, na hata niliweka pinning ndani ya nambari ya chanzo ili iwe rahisi. Ninaanzisha maadili fulani na hushughulikia njia zinazozalisha mipangilio.

kuanzisha batili () {// Configuracao huonyesha ------------------------------------ onyesha --------.anza (); onyesha.setContrast (50); onyesha wazi Cleplay (); onyesha.setTextSize (1); onyesha.setTextColor (NYEUSI); // Configuração do Dereva DRV8825 ----------------------------------------- // pini GND - Wezesha (ENA) // pin 13 - M0 // pin 12 - M1 // pin 11 - M2 // pin 10 - Rudisha (RST) // pin 9 - Sleep (SLP) // pin 8 - Step (STP] // pini 7 - Mwelekeo (DIR) d1.pinConfig (99, 13, 12, 11, 10, 9, 8, 7); d1.kulala (CHINI); d1.reset (); d1.stepPerMm (100); d1.stepPerRound (200); d1.stepConfig (1); d1.motionConfig (50, velocidade, 5000); }

kitanzi () - sehemu ya 1 - Menyu ya kuchora

kitanzi batili () {// Escreve o Menyu haifanyi Programu bila kuonyesha Onyesha wazi (); onyesha.fillRect (0, 0, 15, 11, 2); Onyesha Mshale (2, 2); onyesha.setTextColor (NYEUPE); onyesho.print ("F1"); onyesha.setTextColor (NYEUSI); Onyesha Mshale (17, 2); onyesho.print ("CRESCENTE"); onyesha FillRect (0, 12, 15, 11, 2); Onyesha Mshale (2, 14); onyesha.setTextColor (NYEUPE); onyesho.print ("F2"); onyesha.setTextColor (NYEUSI); Onyesha Mshale (17, 14); alama ya kuonyesha ("DECRESCENTE"); onyesha FillRect (0, 24, 15, 11, 2); Onyesha Mshale (2, 26); onyesha.setTextColor (NYEUPE); onyesho.print ("F3"); onyesha.setTextColor (NYEUSI); Onyesha Mshale (17, 26); onyesho.print ("VELOCIDADE");

kitanzi () - Sehemu ya 2 - Menyu ya kuchora

onyesha FillRect (0, 36, 15, 11, 2); Onyesha Mshale (2, 38); onyesha.setTextColor (NYEUPE); onyesho.print ("F4"); onyesha.setTextColor (NYEUSI); Kuweka Mshale (17, 38); onyesho.print ("ESC"); onyesha.display (); bool esc = uongo;

kitanzi () - Sehemu ya 3 - Mbio

// Loop enquanto a tecla F4 (ESC) nao kwa waandishi wa habari wakati (! Esc) {// caption a tecla pressionada do teclado customKey = customKeypad.getKey (); // caso alguma tecla foi pressionada if (customKey) {// Trata a tecla apertada switch (customKey) {// Se tecla F1 foi pressionada case 'A': distancia = lerValor (); // Se tecla ESC foi pressionada if (distancia == -1) {esc = kweli; } mwingine {// Escreve a tela "Movendo" hakuna onyesho la onyesho.clearDisplay (); onyesha FillRect (0, 0, 84, 11, 2); Kuweka Mshale (21, 2); onyesha.setTextColor (NYEUPE); onyesho.print ("MOVENDO"); onyesha.setTextColor (NYEUSI); Onyesha Mshale (2, 14); onyesho.print (distancia); onyesho.print ("Passos"); onyesha.display ();

kitanzi () - Sehemu ya 4 - Mbio

// Hoja o mtembezaji wa magari (distancia, LOW); // Volta ao menu esc = kweli; } kuvunja; // Se tecla F2 kesi ya waandishi wa habari 'B': distancia = lerValor (); // Se tecla ESC foi pressionada if (distancia == -1) {esc = kweli; } mwingine {// Escreve a tela "Movendo" hakuna onyesho la onyesho.clearDisplay (); onyesha FillRect (0, 0, 84, 11, 2); Kuweka Mshale (21, 2); onyesha.setTextColor (NYEUPE); onyesho.print ("MOVENDO"); onyesha.setTextColor (NYEUSI); Onyesha Mshale (2, 14); onyesho.print (distancia); onyesho.print ("Passos"); onyesha.display ();

kitanzi () - Sehemu ya 5 - Mbio

// Hoja o mtembezaji wa gari (distancia, JUU); // Volta ao menu esc = kweli; } kuvunja; // Se tecla F3 foi pressionada kesi 'C': velocidade = lerValor (); ikiwa (velocidade == -1) {esc = kweli; } mwingine {// Escreve a tela "Velocidade" no display display.clearDisplay (); onyesha FillRect (0, 0, 84, 11, 2); Kuweka Mshale (12, 2); onyesha.setTextColor (NYEUPE); onyesho.print ("VELOCIDADE"); onyesha.setTextColor (NYEUSI); Onyesha Mshale (2, 14); onyesho.print (velocidade); alama ya kuonyesha (char (229)); onyesho.print ("s");

kitanzi () - Sehemu ya 6 - Mbio

onyesha FillRect (31, 24, 21, 11, 2); Kuweka Mshale (33, 26); onyesha.setTextColor (NYEUPE); onyesha.println ("Sawa!"); onyesha.setTextColor (NYEUSI); onyesha.display (); // Configura nova velocidade ao motor d1.motionConfig (50, velocidade, 5000); kuchelewa (2000); // Volta ao menu esc = kweli; } kuvunja; // Se Tecla F4 (ESC) foi pressionada case 'D': // Se tecla CLR foi pressionada case 'c': // Se tecla ENT foi pressionada case 'e': // Volta ao menu esc = true; chaguo-msingi: kuvunja; }} // Limpa o char customKey customKey = uongo; }}

Hatua ya 16: Kuhusu spindles - Usanidi wa Mashine

Kuhusu spindles - Usanidi wa Mashine
Kuhusu spindles - Usanidi wa Mashine

Katika mashine za CNC kama vile printa za 3D na ruta kwa mfano, mpango unaowajibika kwa kuweka udhibiti unahitaji kujua jinsi harakati zitatokea kama kazi ya idadi ya kunde zilizopewa motor stepper.

Ikiwa dereva wa hatua anaruhusu utumiaji wa hatua ndogo, usanidi huu lazima uzingatiwe katika hesabu ya uhamishaji uliozalishwa.

Kwa mfano, ikiwa motor-hatua 200 kwa mapinduzi imeunganishwa na dereva iliyowekwa kwa 1/16, basi kunde 16 x 200 zitahitajika kwa mapinduzi moja ya spindle, ambayo ni kunde 3200 kwa kila mapinduzi. Ikiwa spindle hii ina lami ya 2mm kwa kila mapinduzi, itachukua kunde 3200 kwa dereva kwa nut kusonga 2mm.

Kwa kweli, vidhibiti vya programu mara nyingi hutumia sababu kutaja uwiano huu, "idadi ya kunde kwa milimita" au "hatua / mm".

Hatua ya 17: Marlin

Marlin
Marlin

Kwa Marlin, kwa mfano, tunaona katika sehemu @ mwendo wa sehemu:

/ **

* Hatua chaguomsingi za mhimili kwa kila kitengo (hatua / mm)

* Kubatilisha na M92

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

* /

#fafanua DEFAULT_AXIS_STEPS_PER_UNIT {80, 80, 3200, 100}

Katika mfano huu, tunaweza kuhitimisha kuwa shoka za X na Y zina usahihi wa kunde 80 kusonga 1mm, wakati Z inahitaji kunde 3200 na extruder E0 inahitaji 100.

Hatua ya 18: GRBL

GRBL
GRBL

Chini tunaona amri za usanidi wa GRBL. Kwa amri ya $ 100, tunaweza kurekebisha idadi ya kunde zinazohitajika kusababisha upeo wa milimita moja kwenye mhimili wa X.

Katika mfano hapa chini tunaweza kuona kuwa thamani ya sasa ni kunde 250 kwa mm.

Shoka za Y na Z zinaweza kuweka $ 101 na $ 102 mtawaliwa.

Ilipendekeza: