Obsah:

Hodinový strojček: 7 krokov
Hodinový strojček: 7 krokov

Video: Hodinový strojček: 7 krokov

Video: Hodinový strojček: 7 krokov
Video: Hodinový strojček s tichým a plynulým chodom 2024, Jún
Anonim
Hodinový stroj
Hodinový stroj

Tento pokyn bol vytvorený ako splnenie projektovej požiadavky Makecourse na University of South Florida (www.makecourse.com).

Krok 1: Koncept

Keď sa pokúšam brainstormingovať o myšlienke tohto projektu, rozhodol som sa vytvoriť niečo, čo bude použiteľné a užitočné pre môj každodenný život. Niekoľko takýchto vecí môže mať požiadavku na dva stupne voľnosti, a preto som sa rozhodol vytvoriť jednoduché hodiny, ktoré túto požiadavku splnia, a tiež ich nechať zobraziť na stole, aby ukazovali čas. Pôvodne mala byť výroba náramkových hodiniek, ale 3D tlačená časť by bola príliš malá a motory poháňajúce hodinky by boli na náramkové hodinky stále príliš veľké.

Preto som tento projekt našiel okolo svojho bytu náhradné diely a rozhodol som sa na tom zapracovať.

Krok 2: Diely

- 3D tlačené diely

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

- 2 doska ovládača krokového motora ULN2003

- Arduino Uno

- Modul Bluetooth HC-05

Všetky tieto časti som vyrobil ja, okrem ručičiek hodín. Nie som veľmi kreatívny. Nasleduje odkaz na jeho tvorcu.

www.thingiverse.com/thing:1441809

Krok 3: Zostavenie dielov

Montáž dielov
Montáž dielov

(1)- K krokovým motorom musíte zaradiť Gear_1 a 2. Budú tesne priliehať, takže na to, aby zostali na mieste, je potrebná trocha sily.

(2)- Base_0 zostane v spodnej časti zostavy.

(3)- Base_1 bude umiestnený na vrchu SpurGear_1, to je hlavná súčasť minútovej ručičky. Tieto dve zložky môžete prilepiť dohromady a uistite sa, že základňa je na vrchu prevodu.

(4)- Base_2 bude umiestnená na vrchu SpurGears_2, čo je hlavná súčasť hodinovej ručičky. To isté platí pre túto časť ako krok (3)

(5)- Ručičky hodín môžu byť nalepené na základňu Base_1 a Base_2 alebo môžete vyvŕtať malý otvor, aby zapadli na miesto.

(6)- Na to, aby sa prevod minútovej ručičky zhodoval s čelným ozubeným kolesom, potrebujete platformu s priemerom 1 cm, pomocou ktorej môžete celú zostavu navrch položiť pomocou jedného z krokových motorov.

Dôvodom je to, že hlavná základňa nemôže byť nijako vysoká, pretože druhý krokový motor by nebol schopný dosiahnuť vysoký prevodový stupeň. Tak či onak, pre jeden z krokových motorov je potrebná platforma.

Krok 4: Knižnica pre Arduino IDE

Kód pre tento projekt je založený na knižnici od tyhenry s názvom CheapStepper.h

github.com/tyhenry/CheapStepper

Ak chcete nainštalovať túto knižnicu pre svoje arduino. Kliknite na klonovať alebo stiahnuť na vyššie uvedenom odkazu a stiahnite si ho ako súbor zip.

V Arduino IDE. Skica -> Zahrnúť knižnicu -> Pridať. ZIP knižnicu

Zo všetkej knižnice, ktorá funguje, táto využívala krokový motor najlepšie a extrémne ľahko sa používa.

Krok 5: Nastavenie Breadboard

Nastavenie Breadboard
Nastavenie Breadboard
Nastavenie Breadboard
Nastavenie Breadboard

Spolu s Arduino UNO som použil štít Arduino. Vyzerá to čistejšie, ale môžete si zaobstarať malú dosku a namiesto toho ju umiestniť na Arduino UNO. Postupujte podľa farby na schéme, pretože niektoré drôty sú na sebe. Kolíky 4-7 sú pre jeden stepper a kolíky 8-11 sú pre druhý stepper.

Modul Bluetooth musí byť k doske Arduino zapojený RX -> TX a TX -> RX.

Modré vodiče sú pripojenia z ovládačov k Arduino UNO

Zelené vodiče sú pripojenia RX a TX

Čierne vodiče sú uzemnené.

Červené vodiče sú 5V.

Krok 6: Kód

Nasleduje kód tohto projektu.

Vysvetlenie kódu bude tu.

CheapPteper stepper (8, 9, 10, 11); CheapSteper 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 polovica = plná/2; // 2048

float full_time = 6412; // 1 hodina

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

float fif_time = polčas_č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 urobiť 30 minút otočením motora 3206 a resetom

Toto je hlavný výpočet tohto projektu. Krokovač by potreboval 4096 krokov na otočenie o celých 360 stupňov, ale pretože čelné ozubené kolesá sú väčšie ako prevody pripevnené k stepperu, na úplné otočenie potrebuje viac krokov. Pretože čelné ozubené koleso je hlavnou súčasťou, ktorá roztočí ruky. Musím urobiť rôzne testy, aby som sa uistil, že hodnoty sú správne.

full_time je premenná, ktorú som priradil k úplnému otočeniu ruky. Je to celkom konzistentné, ale keď sa kroky rozdelia na 2, aby sa dosiahol konkrétny pohyb, hodnota plávania sa zmenšuje, čo vodičovi sťažovalo prácu.

MoveClockwise = true; je to, aby sa krokový motor pohyboval v smere hodinových ručičiek, ale pretože točí čelným ozubeným kolesom proti smeru hodinových ručičiek, musíme v nastavení urobiť booleovskú hodnotu false. Na začiatku ho môžete tiež vyhlásiť za falošný, ale tým sa vysvetľuje, ako funguje.

void setup () {Serial.begin (9600);

Serial.println („Pripravený začať sa pohybovať!“);

pos = one_time; del = 900; pomer = 60;

moveClockwise = false; }

Tu vyhlasujem boolean za moveClockwise. pos bude počet krokov, del bude oneskorenie a pomer bude buď pre minútu/s = 60 alebo hodinu/min = 12

Ruky ovládame pomocou modulu Bluetooth. Najprv potrebujete zo svojho zariadenia Android sériový terminál Bluetooth. Pripojte sa k Hc-05 pomocou kódu PIN 0000 alebo 1234. Môžete použiť príklad kódu z Arduino IDE, aby ste zistili, či funguje správne. Keď je pripojené, malo by blikať veľmi pomaly, nie rýchlo, keď nie je pripojené.

void loop () {stav = 0;

ak (Serial.available ()> 0) {

state = Serial.read (); }

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

stepper.step (pohyb v smere hodinových ručičiek); }

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

stepper_2.step (moveClockwise); }

oneskorenie (del);

Serial.available ()> 0 je dôležitý, pretože ako bude fungovať váš modul Bluetooth. Toto vyhlásenie if bude pravdivé, ak prebieha komunikácia medzi Arduinom a vašim zariadením. Stavová premenná určí ďalšie 3 premenné, ktoré som deklaroval v hornej časti setup (), a tiež vytlačí, akú operáciu kód beží. Cyklus dve pre je hlavnou funkciou, ktorá riadi, ako sa krokový motor bude pohybovať.

if (state == '1') {

pos = one_time; del = 0; pomer = 12;

Serial.println ("Operácia 1: Bez zdržania"); }

Toto je jeden príklad použitia vstupu zo zariadenia Bluetooth na zmenu fungovania systému. Tieto premenné môžete upravovať, akokoľvek chcete ovládať ruky.

Krok 7: Demo a záver

Image
Image
Demo a záver
Demo a záver

Toto je ukážka systému, ktorý ukazuje, ako funguje. Na kryt môžete použiť čokoľvek, čo by sa zmestilo do všetkých komponentov vo vnútri. Vytvorenie tohto projektu bolo jednoduché a zábavné, pretože ide o prvé 3D tlačenie. Modul Bluetooth bol zábavný na zisťovanie a používanie. Urobil som niekoľko chýb, ktoré bolo príliš neskoro zmeniť, ale konečný produkt je v poriadku.

Odporúča: