Obsah:

Hodinový stroj: 7 kroků
Hodinový stroj: 7 kroků

Video: Hodinový stroj: 7 kroků

Video: Hodinový stroj: 7 kroků
Video: Hodinky duplexní krok seconde morte 2024, Listopad
Anonim
Mechanický strojek
Mechanický strojek

Tento instruktážní dokument byl vytvořen v rámci splnění projektového požadavku Makecourse na University of South Florida (www.makecourse.com).

Krok 1: Koncept

Když se snažím přemýšlet o nápadu pro tento projekt, rozhodl jsem se vytvořit něco, co bude použitelné a užitečné pro můj každodenní život. Mnoho takových věcí může mít požadavek na dva stupně volnosti, a tak jsem se rozhodl vyrobit jednoduché hodiny, které splní požadavek, a také je nechat zobrazit na stole, aby ukazovaly čas. Původně byla myšlenka vyrobit náramkové hodinky, ale 3D tištěná část by byla příliš malá a motory pohánějící hodinky by byly na náramkové hodinky stále příliš velké.

Proto tento projekt našel náhradní díly kolem mého bytu a rozhodl se na tom zapracovat.

Krok 2: Díly

- 3D tištěné díly

- 2 28BYJ-48 5V DC krokový motor

- 2 deska ovladače krokového motoru ULN2003

- Arduino Uno

- Modul Bluetooth HC-05

Všechny tyto části jsem vyrobil já kromě ručiček hodin. Nejsem moc kreativní. Níže je odkaz na jeho tvůrce.

www.thingiverse.com/thing:1441809

Krok 3: Sestavení dílů

Montáž dílů
Montáž dílů

(1)- K krokovým motorům musíte dát Gear_1 a 2. Budou přiléhat, takže je potřeba trochu síly, aby zůstaly na svém místě.

(2)- Base_0 zůstane ve spodní části sestavy.

(3)- Base_1 bude umístěn na SpurGear_1, což je hlavní komponenta minutové ručičky. Tyto dvě součásti můžete slepit dohromady, ujistěte se, že základna je na horní části zařízení.

(4)- Base_2 bude umístěn na SpurGears_2, což je hlavní komponenta hodinové ručičky. To samé platí pro tuto část jako krok (3)

(5)- Ručičky hodin mohou být nalepeny na základnu Base_1 a Base_2, nebo můžete vyvrtat malý otvor, aby se vešly na místo.

(6)- Aby se výstroj minutové ručičky shodoval s čelním ozubeným kolem, potřebujete platformu o průměru 1 cm, aby byla celá sestava navrch s jedním z krokových motorů.

Důvodem je to, že hlavní základna nemůže být nijak vysoká, protože druhý krokový motor by nebyl schopen dosáhnout vysokého rychlostního stupně. Ať tak či onak, pro jeden z krokových motorů je nutná platforma.

Krok 4: Knihovna pro Arduino IDE

Kód pro tento projekt je založen na knihovně od tyhenry s názvem CheapStepper.h

github.com/tyhenry/CheapStepper

Chcete -li nainstalovat tuto knihovnu pro vaše arduino. Klikněte na klon nebo stáhněte na výše uvedeném odkazu a stáhněte jej jako soubor zip.

V Arduino IDE. Skica -> Zahrnout knihovnu -> Přidat knihovnu. ZIP

Ze všech knihoven, které fungují, využívala tato krokový motor to nejlepší a extrémně snadné použití.

Krok 5: Nastavení Breadboard

Nastavení Breadboard
Nastavení Breadboard
Nastavení Breadboard
Nastavení Breadboard

Ke svému Arduino UNO jsem použil štít Arduino. Vypadá to čistěji, ale můžete získat malý prkénko a umístit jej místo na Arduino UNO. Postupujte podle barvy na schématu, protože některé vodiče jsou na sobě. Piny 4-7 jsou pro jeden stepper a piny 8-11 jsou pro druhý stepper.

Modul Bluetooth musí být připojen RX -> TX a TX -> RX k desce Arduino.

Modré vodiče jsou připojení z ovladačů k Arduino UNO

Zelené vodiče jsou připojení RX a TX

Černé dráty jsou uzemněny.

Červené vodiče jsou 5V.

Krok 6: Kód

Níže je kód pro tento projekt.

Vysvětlení kódu bude zde.

CheapPteper stepper (8, 9, 10, 11); CheapStepper stepper_2 (4, 5, 6, 7);

boolean moveClockwise = true;

//37,5 min = 4096;

// 1 min = 106,7;

// 5 min = 533,3;

// 15 min = 1603;

// 30 min = 3206;

// 60 min = 6412;

int plný = 4096;

int polovina = plná/2; // 2048

float full_time = 6412; // 1 hodina

float half_time = plný_čas/2; // 30 min 3026

float fif_time = poločas/2; // 15 min 1603

float one_time = plný_čas/60; // 1 min 106

float five_time = one_time*5; // 5 min 534,3

float one_sec = one_time/60; // 1 s 1,78

// každý můžeme udělat 30 minut otočením motoru 3206 a resetem

Toto je hlavní výpočet tohoto projektu. Krokovač by potřeboval 4096 kroků k otočení o celých 360 stupňů, ale protože čelní ozubená kola jsou větší než ozubená kola připojená ke stepperu, pro úplné otočení to vyžaduje více kroků. Protože čelní ozubené kolo je hlavní složkou, která roztáčí ruce. Musím udělat různé testy, abych se ujistil, že hodnoty jsou správné.

full_time je proměnná, kterou jsem přiřadil plnému otočení ruky. To je docela konzistentní, ale jak se kroky dělí 2, aby se dosáhlo konkrétního pohybu, plovoucí hodnota se zmenšuje, což řidiči ztěžovalo práci.

MoveClockwise = true; je, aby se krokový motor pohyboval ve směru hodinových ručiček, ale protože točí čelním kolem proti směru hodinových ručiček, musíme v nastavení udělat booleovský false. Můžete to také prohlásit za nepravdivé na začátku, ale to má vysvětlit, jak to funguje.

neplatné nastavení () {Serial.begin (9600);

Serial.println („Připraveni začít se hýbat!“);

pos = one_time; del = 900; poměr = 60;

moveClockwise = false; }

Zde deklaruji logickou hodnotu moveClockwise. pos bude počet kroků, del bude zpoždění a poměr bude buď pro minutu/s = 60 nebo hodinu/min = 12

Ruce ovládáme pomocí modulu Bluetooth. Nejprve potřebujete ze svého zařízení Android sériový terminál Bluetooth. Připojte se k Hc-05 pomocí PIN 0000 nebo 1234. Chcete-li zjistit, zda funguje správně, můžete použít nějaký ukázkový kód z Arduino IDE. Když je připojen, měl by blikat velmi pomalu místo rychle, když není připojen.

void loop () {stav = 0;

pokud (Serial.available ()> 0) {

state = Serial.read (); }

pro (float s = 0; s <(pos); s ++) {

stepper.step (moveClockwise); }

for (float s = 0; s <(pos/ratio); s ++) {

stepper_2.step (moveClockwise); }

zpoždění (del);

Serial.available ()> 0 je důležitý, protože jak bude fungovat váš modul Bluetooth. Toto prohlášení if bude pravdivé, pokud probíhá komunikace mezi Arduinem a vaším zařízením. Stavová proměnná určí další 3 proměnné, které jsem deklaroval v horní části setup (), a také vytiskne, jakou operaci kód spouští. Smyčka dvě pro je hlavní funkcí, která řídí pohyb krokového motoru.

if (state == '1') {

pos = one_time; del = 0; poměr = 12;

Serial.println ("Operace 1: Žádné zpoždění"); }

Toto je jeden příklad použití vstupu ze zařízení Bluetooth ke změně fungování systému. Tyto proměnné můžete upravovat, jakkoli chcete ruce ovládat.

Krok 7: Demo a závěr

Image
Image
Demo a závěr
Demo a závěr

Toto je ukázka systému, která ukazuje, jak funguje. Pro skříň můžete použít cokoli, co by se vešlo do všech součástí uvnitř. Tento projekt byl jednoduchý a zábavný, protože je to poprvé, co jsem 3D tiskl. Modul Bluetooth byl zábavný při hledání a používání. Udělal jsem několik chyb, které bylo příliš pozdě na změnu, ale konečný produkt je v pořádku.

Doporučuje: