Obsah:
- Krok 1: Použité zdroje
- Krok 2: O vřetenech - co to je?
- Krok 3: O vřetenech - jednoduchá a kuličková vlákna
- Krok 4: O vřetenech - aplikace
- Krok 5: O vřetenech - parametry
- Krok 6: O vřetenech - krok (výtlak a rychlost)
- Krok 7: Sestavení
- Krok 8: Montáž - materiály
- Krok 9: Montáž - krok 01
- Krok 10: Montáž - krok 02
- Krok 11: Montáž - krok 03
- Krok 12: Montáž - krok 04
- Krok 13: Montáž - elektronika
- Krok 14: Elektrické schéma
- Krok 15: Zdrojový kód
- Krok 16: O vřetenech - konfigurace stroje
- Krok 17: Marlin
- Krok 18: GRBL
- Krok 19: Zobrazit více z mé práce:
Video: Arduino Uno s vřetenovým a roztečovým motorem: 19 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
Dnes budeme hovořit o velmi důležitém předmětu v mechanice a mechatronice: prvcích strojů. V tomto článku se budeme konkrétně zabývat vřeteny představujícími některé zajímavé funkce a aplikace. Přesto předvedeme některé způsoby výpočtu pohybu způsobeného vřetenem a představíme testovací sestavu.
Sestavu jsem tedy provedl níže, což odhaluje postup vřetena 2 mm a dalšího 8 mm. Tato vřetena TR8, která používám, se běžně používají v malých směrovačích a 3D tiskárnách, zejména na ose Z. Pamatujete -li, že zvládnutím některých konceptů, na kterých zde budeme pracovat, budete moci navrhnout jakýkoli typ stroje.
Krok 1: Použité zdroje
- Trapézové vřeteno o průměru 8 mm a rozteči 2 mm
- Trapézové vřeteno o průměru 8 mm a rozteči 8 mm
- Kaštan s přírubovým vřetenem 8x2
- Kaštan s přírubovým vřetenem 8x8
- Ložiska pro vřetena o průměru 8 mm
- Lineární válcové vedení o průměru 10 mm
- Válečková ložiska pro vedení 10 mm
- Konzoly pro 10mm válcová vedení
- Motory NEMA 17
- Hřídelové spojky
- Arduino Uno
- Ovladač DRV8825
- Maticová klávesnice 4x4
- Displej Nokia 5110
- Různé plastové díly
- Šrouby a matice
- Dřevěná základna
- Externí napájení 12V
Krok 2: O vřetenech - co to je?
Vřetena jsou prvky strojů, jako jsou šrouby. To znamená, že jsou to přímé tyče tvořené závity souvislých kroků. Používají se v mechanismech, které vyžadují lineární pohyb a polohování. Mohou vyvinout vysoké tahové a tlakové síly a přenášet točivý moment. Umožňují pohyb s automatickým zamykáním. Mohou být konstruovány z různých materiálů, což je nejběžnější hliník a ocel.
Vzhledem k tomu, že čínské společnosti vyrábějí lichoběžníková vřetena, navrhuji, abyste místo známého maticového šroubu získali tento typ výrobku. Je to dáno atraktivnější cenou a tahem, který považuji za ohavný.
Na fotografii jsem vložil nejlepší vřeteno, které má, podle mého názoru, to je recirkulační kuličkové vřeteno. Obvykle je vyroben z velmi tvrdé oceli a koule se kolem něj točí uvnitř kaštanu. Kromě skvělé přesnosti zdůrazňuji také trvanlivost, protože tento typ vřetena dokáže reprodukovat miliardy pohybů bez poškození mechanismu. Levnější možností, kterou zde používáme, je lichoběžníkové vřeteno.
Krok 3: O vřetenech - jednoduchá a kuličková vlákna
Kuličková vřetena, na fotografii vlevo, mají půlkruhové kanály, kde se koule valí. Jsou relativně dražší a mají nízké tření ve srovnání s jednošnekovými vřeteny, což vede k mnohem vyššímu výtěžku (valivé tření).
Jednovláknová vřetena na pravé straně obrazu mají obvykle lichoběžníkové profily, protože tato geometrie je vhodnější pro aplikaci sil v axiálním směru a plynulý přenos pohybu. Jsou relativně levné a ve srovnání s recirkulačními kuličkovými vřeteny mají vysoké tření, což vede k nízkému výtěžku, tj. Třecímu skluzu.
Krok 4: O vřetenech - aplikace
Vřetena lze použít na jakýkoli mechanismus, kde je vyžadován lineární pohyb. Jsou široce používány v průmyslu ve strojích a procesech.
Některé aplikace zahrnují:
- Nákladní výtahy
- Lisy
- Jahody a soustruhy
- CNC zařízení
- Balicí stroje
- 3D tiskárny
- Laserové řezací a řezací zařízení
- Průmyslové procesy
- Polohovací a lineární pohybové systémy
Krok 5: O vřetenech - parametry
Při návrhu mechanismu je třeba vzít v úvahu několik charakteristik vřetena. Kromě jeho průměru a stoupání je nutné rozpoznat jeho pevnost v tlaku, moment setrvačnosti (odpor vůči změně stavu otáčení), konstrukční materiál, rychlost otáčení, kterému bude vystaven, směr působení (horizontální nebo svisle), mj. aplikované zatížení.
Na základě již vytvořených mechanismů však můžeme několik těchto parametrů intuitivně nastavit.
Poznejme nějaké společné dobro. Začněme KROKEM.
Krok 6: O vřetenech - krok (výtlak a rychlost)
Určuje délku uraženou maticí při každé otáčce. To je obvykle v mm / otáčku.
Vřeteno 2 mm na otáčku způsobí posunutí 2 mm při každé otáčce, kterou vřeteno provede. Ovlivní lineární rychlost matice, protože s nárůstem rychlosti otáčení se zvýší počet otáček za jednotku času a následně také ujetá vzdálenost.
Pokud se točení 2 mm za otáčku otáčí rychlostí 60 ot / min (jedna otáčka za sekundu), matice se bude pohybovat rychlostí 2 mm za sekundu.
Krok 7: Sestavení
V naší sestavě mám dva motory a naši klávesnici s displejem, která vypadala jako kalkulačka, protože jsem jim vyrobil kryt ve 3D tiskárně. Na displeji Nokia máme následující možnosti:
F1: Půlměsíc - Fuso přechází z aktuální polohy do polohy, kterou určuji
F2: Descending - Turn
F3: Rychlost - Mohu změnit šířku impulsu
F4: ESC
Krok 8: Montáž - materiály
A - 10 mm lineární vedení
B - Trapézová vřetena stupňů 2 a 8 mm
C - Vrtná základna
D - Ložiska pro vřetena
E - Držáky vodítka
F - Kaštany
G - Ložiska
H - Spojky
I - Motory
J - Různé plastové díly (kurzory, držáky motoru, klíny, podpora klávesnice a displej
Krok 9: Montáž - krok 01
Po vyvrtání základny (C) sestavíme dva motory (I). K jejich upevnění používáme závorky vyrobené v 3D tiskárně (J). V tomto kroku polohování neutahujte žádné šrouby. To umožní nezbytná nastavení v kroku zarovnání.
Krok 10: Montáž - krok 02
Stále sledujte vrtání základny (C) a umístěte vodicí lišty (E) a ložiska (D). Detail pro plastovou vložku (J) použitou k nastavení výšek ložisek.
Krok 11: Montáž - krok 03
Vytvoříme kurzor pomocí tištěné části pro připojení ložiska (G) k matici (F). Použili jsme dva kurzory, jeden vpravo, druhý vlevo. Jeho funkcí je indikovat polohu na stupnici, kdykoli chceme určit posun způsobený vřetenem.
Krok 12: Montáž - krok 04
Vložte vedení (A) a vřeteno (B) do příslušných ložisek (D) a podpěr (E), naproti motoru, poté vložte vedení a vřeteno do ložiska (G) a kaštanu (F) a na špičkou vřetena vložíme také spojku (H). Vezmeme je oba, dokud nedosáhnou svých konečných bodů (opačná podpora a motor).
Lehce utáhněte šrouby, aby bylo možné pozdější nastavení. Opakujte postup pomocí zbývajícího vodítka a vřetena. Když jsou všechny součásti umístěny, provedeme zarovnání dílů a dokončíme fázi mechanické montáže.
Krok 13: Montáž - elektronika
Pomocí potištěného plastového držáku jsme zajistili displej Nokia 5110 a maticovou klávesnici 4x4. Ve spodním prostoru stojanu bude sídlit Arduino Uno, ovladač DRV8825.
Pomocí dostupného vrtání v základně upevníme sestavu.
Krok 14: Elektrické schéma
Schéma zapojení je jednoduché. Máme DRV8825 a stejná dvě 17 zrcadla, to znamená, že stejný krok, který posíláme jednomu, jde do druhého. Co se mění je, že v jednom z motorů mám 8mm vřeteno a v druhém 2mm vřeteno. Je tedy zřejmé, že první s 8mm vřetenem jede rychleji. Na obrázku je stále displej a klávesnice 4x4, která musí být maticová.
Krok 15: Zdrojový kód
Zahrnutí knihoven a tvorba objektů
Máme zde Lib, který jsem udělal, což je StepDriver.h. Je připraven pro ovladače 8825, 4988 a také TB6600. V tomto kroku vytvořím objekt DRV8825, d1.
// Zobrazení odpovědí na biblioteca a další tiskové zprávy #zahrnutí // Zobrazení citace biblioteca pelos #include // Biblioteca responzel pela comunicacao do display #include // Configuracao de pinos do Display // pin 6 - Serial clock out (SCLK) // pin 5 - výstup sériových dat (DIN) // pin 4 - výběr dat/příkazů (D/C) // pin 3 - výběr čipu LCD (CS/CE) // pin 2 - reset LCD (RST) Displej Adafruit_PCD8544 = Adafruit_PCD8544 (6, 5, 4, 3, 2); // Biblioteca de motor de passo #include // Instancia o driver DRV8825 DRV8825 d1;
Konstanty a globální proměnné
V této části kódu zpracovávám matici, kterou jsem učil v jiné video lekci (KLÁVESNICE ODKAZU). Přesto mluvím o objektu Klávesnice, kromě vzdálenosti a rychlosti.
konstantní bajt LINHAS = 4; // número de linhas do 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] = {{'A', '1', '2', 3 '}, { 'B', '4', '5', '6'}, {'C', '7', '8', '9'}, {'D', 'c', '0', 'e '}}; bajt 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 de Keypad, responseável por capturar and tecla pressionada Keypad customKeypad = Keypad (makeKeymap (SIMBOLOS), PINOS_LINHA, PINOS_COLUNA, LINHAS, COLUNAS); // variáveis resposnsáveis por armazenar o valor digitado char customKey; dlouhá vzdálenost bez znaménka = 0; nepodepsaná dlouhá velocidáda = 2000;
Funkce čtení z klávesnice
V tomto kroku máme kód odkazující na displej, který funguje s rostoucím a klesajícím tiskem.
// Funcao responsavel por ler o valor do usuario pelo teclado -------------------------------------- --- unsigned long lerValor () {// Escreve o submenu que coleta os valores no display display.clearDisplay (); display.fillRect (0, 0, 84, 11, 2); display.setCursor (27, 2); display.setTextColor (BÍLÁ); display.print („VALOR“); display.setTextColor (ČERNÁ); display.fillRect (0, 24, 21, 11, 2); display.setCursor (2, 26); display.setTextColor (BÍLÁ); display.print („CLR“); display.setTextColor (ČERNÁ); display.setCursor (23, 26); display.print („LIMPAR“); display.fillRect (0, 36, 21, 11, 2); display.setCursor (5, 38); display.setTextColor (BÍLÁ); display.print („F4“); display.setTextColor (ČERNÁ); display.setCursor (23, 38); display.print („VOLTAR“); display.setCursor (2, 14); display.display (); String valor = ""; char tecla = false;
opakování čekání na stisknutí klávesy
Zde vysvětlujeme programování smyčky, to znamená, kde zadáváte hodnoty.
// Smyčka infinito enquanto nao chamar o return while (1) {tecla = customKeypad.getKey (); if (tecla) {switch (tecla) {// Se teclas de 0 a 9 forward pressionadas case '1': case '2': case '3': case '4': case '5': case '6': případ '7': případ '8': případ '9': případ '0': valor += tecla; display.print (tecla); display.display (); přestávka; // Se tecla CLR foi pressionada case 'c': // Limpa a string valor valor = ""; // Apaga o valor do display display.fillRect (2, 14, 84, 8, 0); display.setCursor (2, 14); display.display (); přestávka; // Se tecla ENT foi pressionada case 'e': // Retorna o valor return valor.toInt (); přestávka; // Se tecla F4 (ESC) foi pressionada case 'D': return -1; výchozí: break; }} // Limpa o char tecla tecla = false; }}
Funkce motorového pohonu
V tomto kroku se pracuje na funkci „tah“. Zjistím počet impulsů a směr a pak udělám „pro“.
// Odpověď Funcao na pohyb o motor -------------------------------------- neplatný přesun (bez znaménka long pulsos, bool direcao) {for (unsigned long i = 0; i <pulsos; i ++) {d1.motorMove (direcao); }}
založit ()
Nyní přesunu displej a konfiguraci ovladače a dokonce jsem vložil připnutí do zdrojového kódu, aby to bylo jednodušší. Inicializuji určité hodnoty a zabývám se metodami, které generují nastavení.
neplatné nastavení () {// Configuracao do display ---------------------------------------- -------- display.begin (); display.setContrast (50); display.clearDisplay (); display.setTextSize (1); display.setTextColor (ČERNÁ); // Konfigurace ovladače DRV8825 ----------------------------------------- // pin GND - Enable (ENA) // pin 13 - M0 // pin 12 - M1 // pin 11 - M2 // pin 10 - Reset (RST) // pin 9 - Sleep (SLP) // pin 8 - Step (STP) // pin 7 - Direction (DIR) d1.pinConfig (99, 13, 12, 11, 10, 9, 8, 7); d1.spánek (NÍZKÝ); d1.reset (); d1.stepPerMm (100); d1.stepPerRound (200); d1.stepConfig (1); d1.motionConfig (50, velocidáda, 5000); }
smyčka () - 1. část - Nabídka kreslení
void loop () {// Escreve o Menu do Programa no display ----------------------------------- display.clearDisplay (); display.fillRect (0, 0, 15, 11, 2); display.setCursor (2, 2); display.setTextColor (BÍLÁ); display.print („F1“); display.setTextColor (ČERNÁ); display.setCursor (17, 2); display.print ("CRESCENTE"); display.fillRect (0, 12, 15, 11, 2); display.setCursor (2, 14); display.setTextColor (BÍLÁ); display.print ("F2"); display.setTextColor (ČERNÁ); display.setCursor (17, 14); display.print („DECRESCENTE“); display.fillRect (0, 24, 15, 11, 2); display.setCursor (2, 26); display.setTextColor (BÍLÁ); display.print („F3“); display.setTextColor (ČERNÁ); display.setCursor (17, 26); display.print („VELOCIDADE“);
loop () - Část 2 - Nabídka kreslení
display.fillRect (0, 36, 15, 11, 2); display.setCursor (2, 38); display.setTextColor (BÍLÁ); display.print („F4“); display.setTextColor (ČERNÁ); display.setCursor (17, 38); display.print („ESC“); display.display (); bool esc = false;
loop () - Část 3 - Běh
// Loop enquanto a tecla F4 (ESC) nao for pressionada while (! Esc) {// captura 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 = true; } else {// Escreve a tela "Movendo" no display display.clearDisplay (); display.fillRect (0, 0, 84, 11, 2); display.setCursor (21, 2); display.setTextColor (BÍLÁ); display.print („MOVENDO“); display.setTextColor (ČERNÁ); display.setCursor (2, 14); display.print (vzdálenost); display.print („Passos“); display.display ();
loop () - Část 4 - Běh
// Move or motor mover (distancia, LOW); // Volta ao menu esc = true; } přestávka; // Se tecla F2 foi pressionada case 'B': distancia = lerValor (); // Se tecla ESC foi pressionada if (distancia == -1) {esc = true; } else {// Escreve a tela "Movendo" no display display.clearDisplay (); display.fillRect (0, 0, 84, 11, 2); display.setCursor (21, 2); display.setTextColor (BÍLÁ); display.print („MOVENDO“); display.setTextColor (ČERNÁ); display.setCursor (2, 14); display.print (vzdálenost); display.print („Passos“); display.display ();
loop () - Část 5 - Běh
// Move or motor mover (distancia, HIGH); // Volta ao menu esc = true; } přestávka; // Se tecla F3 foi pressionada case 'C': velocidade = lerValor (); if (velocidade == -1) {esc = true; } else {// Escreve a tela "Velocidade" no display display.clearDisplay (); display.fillRect (0, 0, 84, 11, 2); display.setCursor (12, 2); display.setTextColor (BÍLÁ); display.print („VELOCIDADE“); display.setTextColor (ČERNÁ); display.setCursor (2, 14); display.print (velocidáda); display.print (char (229)); display.print ("s");
loop () - Část 6 - Běh
display.fillRect (31, 24, 21, 11, 2); display.setCursor (33, 26); display.setTextColor (BÍLÁ); display.println („OK!“); display.setTextColor (ČERNÁ); display.display (); // Configura nova velocidade ao motor d1.motionConfig (50, velocidade, 5000); zpoždění (2000); // Volta ao menu esc = true; } přestávka; // Se tecla F4 (ESC) for case pressionada case 'D': // Se tecla CLR foi pressionada case 'c': // Se tecla ENT foi pressionada case 'e': // Volta ao menu esc = true; výchozí: break; }} // Limpa o char customKey customKey = false; }}
Krok 16: O vřetenech - konfigurace stroje
U CNC strojů, jako jsou například 3D tiskárny a směrovače, potřebuje program zodpovědný za řízení polohování vědět, jak k pohybům dojde v závislosti na počtu impulzů daných krokovému motoru.
Pokud ovladač krokového motoru umožňuje použití mikrokroků, musí být tato konfigurace vzata v úvahu při výpočtu vytvořeného výtlaku.
Pokud je například 200krokový motor na otáčku připojen k ovladači nastavenému na 1/16, bude na jednu otáčku vřetena zapotřebí 16 x 200 impulzů, tj. 3200 impulzů na každou otáčku. Pokud má toto vřeteno stoupání 2 mm na otáčku, bude trvat 3200 impulsů v ovladači, aby se matice posunula o 2 mm.
Softwarové ovladače ve skutečnosti často používají důvod pro specifikaci tohoto poměru, „počet pulzů na milimetr“nebo „kroky / mm“.
Krok 17: Marlin
V Marlinovi například vidíme v sekci @section motion:
/ **
* Výchozí kroky osy na jednotku (kroky / mm)
* Přepsat s M92
* X, Y, Z, E0 [, E1 [, E2 [, E3 [, E4]
* /
#define DEFAULT_AXIS_STEPS_PER_UNIT {80, 80, 3200, 100}
V tomto případě můžeme dojít k závěru, že osy X a Y mají přesnost 80 pulsů k pohybu o 1 mm, zatímco Z potřebuje 3200 pulzů a extruder E0 potřebuje 100.
Krok 18: GRBL
Níže vidíme konfigurační příkazy GRBL. Pomocí příkazu $ 100 můžeme upravit počet impulsů potřebných k tomu, aby na ose X došlo k odsazení o jeden milimetr.
V níže uvedeném příkladu vidíme, že aktuální hodnota je 250 pulzů na mm.
Osy Y a Z lze nastavit respektive 101 $ a 102 $.
Doporučuje:
Krokový motorem řízený krokový motor bez mikrokontroléru!: 6 kroků
Krokový motorem řízený krokový motor bez mikrokontroléru !: V tomto rychlém návodu vyrobíme jednoduchý ovladač krokového motoru pomocí krokového motoru. Tento projekt nevyžaduje žádné složité obvody ani mikrokontrolér. Takže bez dalších okolků začneme
Trikoptéra s předním výklopným motorem .: 5 kroků (s obrázky)
Trikoptéra s předním naklápěcím motorem: Takže toto je malý experiment, který snad povede k hybridní trikoptéře/gyrokoptéře? Takže na této trikoptéře není nic nového, je v podstatě stejná jako moje normální trikoptéra, jak ukazuje tento návod. Nicméně to byla délka
Krokový motorem řízený krokový motor bez mikrokontroléru (V2): 9 kroků (s obrázky)
Krokový motorem řízený krokový motor bez mikrokontroléru (V2): V jednom z mých předchozích Instructables jsem vám ukázal, jak ovládat krokový motor pomocí krokového motoru bez mikrokontroléru. Byl to rychlý a zábavný projekt, ale přišel se dvěma problémy, které budou v tomto Instructable vyřešeny. Takže vtip
Lokomotiva řízená krokovým motorem - Krokový motor jako rotační kodér: 11 kroků (s obrázky)
Lokomotiva řízená krokovým motorem | Krokový motor jako rotační kodér: V jednom z předchozích Instructables jsme se naučili používat krokový motor jako rotační kodér. V tomto projektu nyní použijeme rotační kodér otočený krokovým motorem k ovládání modelové lokomotivy pomocí mikrokontroléru Arduino. Takže bez fu
Ovládejte počítač krokovým motorem!: 9 kroků (s obrázky)
Ovládejte svůj počítač krokovým motorem !: V jednom z mých předchozích Instructables jsem vám ukázal, jak můžete použít krokový motor jako rotační kodér. V tomto Instructable se naučíme, jak jej můžeme použít k ovládání našeho počítače. Takže bez dalších okolků začneme