Indholdsfortegnelse:

Urværk: 7 trin
Urværk: 7 trin

Video: Urværk: 7 trin

Video: Urværk: 7 trin
Video: URVÆRKET 2024, Juni
Anonim
Urværk
Urværk

Denne instruerbare blev oprettet for at opfylde projektkravet fra Makecourse ved University of South Florida (www.makecourse.com).

Trin 1: Koncept

Da jeg prøver at brainstorme om en idé til dette projekt, besluttede jeg at lave noget, der er brugbart og kan være nyttigt i mit daglige liv. Ikke mange lignende ting kan have et krav om to graders frihed, så jeg besluttede at lave et simpelt ur for at opfylde kravet samt få det vist på mit skrivebord for at vise tiden. Oprindeligt var tanken at lave et armbåndsur, men den 3D -printede del ville være for lille, og de motorer, der driver uret, ville stadig være for store til et armbåndsur.

Derfor fandt jeg dette projekt, og jeg fandt reservedele rundt i min lejlighed og besluttede at arbejde med dette.

Trin 2: Dele

- 3D -trykte dele

- 2 28BYJ-48 5V DC trinmotor

- 2 ULN2003 Stepper Motor Driver Board

- Arduino Uno

- HC-05 Bluetooth-modul

Alle disse dele er lavet af mig undtagen urets hænder. Jeg er ikke særlig kreativ. Nedenfor er linket til dets skaber.

www.thingiverse.com/thing:1441809

Trin 3: Montering af dele

Montering af dele
Montering af dele

(1)- Du skal sætte Gear_1 og 2 til trinmotorerne. De vil have en tæt pasform, så der er brug for en lille smule kraft for at de kan blive på plads.

(2)- Base_0 bliver i bunden af samlingen.

(3)- Base_1 placeres oven på SpurGear_1, dette er hovedkomponenten for minutviseren. Du kan lime disse to komponenter sammen, sørg for at basen er oven på gearet.

(4)- Base_2 placeres oven på SpurGears_2, dette er hovedkomponenten til timeviseren. Det samme gælder for denne del som trin (3)

(5)- Urene kan være lim oven på Base_1 og Base_2, eller du kan bore et lille hul for at få dem til at sidde på plads.

(6)- For at få minutviseren til at matche tandhjulet, skal du bruge en 1 cm platform for at sætte hele samlingen ovenpå med en af trinmotorerne.

Grunden til dette er, fordi hovedbasen ikke kan være høj, da den anden trinmotor ikke ville kunne nå det høje gear. Uanset hvad, er der brug for en platform til en af stepper motorerne.

Trin 4: Bibliotek til Arduino IDE

Koden til dette projekt er baseret på et bibliotek af tyhenry kaldet CheapStepper.h

github.com/tyhenry/CheapStepper

For at installere dette bibliotek til din arduino. Klik på klon eller download på linket ovenfor, og download det som en zip -fil.

I Arduino IDE. Skitse -> Inkluder bibliotek -> Tilføj. ZIP -bibliotek

Ud af alt det bibliotek, der fungerer, udnyttede denne steppermotoren bedst og ekstremt let at bruge.

Trin 5: Opsætning af brødbræt

Opsætning af brødbræt
Opsætning af brødbræt
Opsætning af brødbræt
Opsætning af brødbræt

Jeg brugte et Arduino -skjold til at følge med min Arduino UNO. Det ser mere rent ud, men du kan få et lille brødbræt og placere det oven på Arduino UNO i stedet. Følg farven på skematikken, da nogle ledninger ligger oven på hinanden. Stifter 4-7 er til en trin og stifter 8-11 er til den anden trin.

Bluetooth -modulet skal være tilsluttet RX -> TX og TX -> RX til Arduino -kortet.

Blå ledninger er forbindelser fra driverne til Arduino UNO

Grønne ledninger er RX- og TX -forbindelserne

Sorte ledninger slibes.

Røde ledninger er 5V.

Trin 6: Kode

Nedenfor er koden til dette projekt.

Forklaringen af koden vil være på her.

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

boolsk moveClockwise = true;

//37,5 min = 4096;

// 1 min = 106,7;

// 5 min = 533,3;

// 15 min = 1603;

// 30 min = 3206;

// 60 min = 6412;

int fuld = 4096;

int halv = fuld/2; // 2048

float full_time = 6412; // 1 time

float half_time = fuld_time/2; // 30 min 3026

float fif_time = half_time/2; // 15 min 1603

float one_time = fuld_time/60; // 1 min. 106

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

float one_sec = one_time/60; // 1 sek 1.78

// vi kan gøre 30 minutter hver ved at dreje motoren 3206 og nulstille

Dette er hovedberegningen for dette projekt. Stepper ville tage 4096 trin for at rotere hele 360 grader, men fordi tandhjulene er større end tandhjulene, der er fastgjort til stepperen, så det tager flere trin for en fuld rotation. Da tandhjulet er hovedkomponenten, der drejer hænderne. Jeg skal udføre forskellige test for at sikre, at værdierne er korrekte.

full_time er variablen, som jeg tildelte til en fuld rotation af hånden. Dette er ganske konsekvent, men da trinene deles med 2 for at få specifik bevægelse, bliver flydeværdien mindre, hvilket gjorde det sværere for føreren at udføre sit job.

Bevægelsen med uret = sandt; er at få trinmotoren til at bevæge sig med uret, men fordi den drejer tandhjulet mod uret, skal vi gøre boolean falsk i opsætningen. Du kan også erklære det forkert i starten, men dette er for at forklare, hvordan det fungerer.

ugyldig opsætning () {Serial.begin (9600);

Serial.println ("Klar til at begynde at flytte!");

pos = en_tid; del = 900; forhold = 60;

moveClockwise = falsk; }

Her erklærer jeg bevægelsen med uret boolsk falsk. pos vil være antallet af trin, del vil være forsinkelsen, og forholdet er enten i minut/sek = 60 eller time/min = 12

Vi styrer hænderne med Bluetooth -modulet. Først skal du bruge en seriel Bluetooth -terminal fra din Android -enhed. Opret forbindelse til Hc-05 med PIN 0000 eller 1234. Du kan bruge et eksempelkode fra Arduino IDE for at se, om den fungerer korrekt. Når den er tilsluttet, skal den blinke meget langsomt i stedet for hurtigt, når den ikke er tilsluttet.

void loop () {tilstand = 0;

hvis (Serial.available ()> 0) {

tilstand = Seriel.læsning (); }

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

stepper.step (bevæg med uret); }

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

stepper_2.step (bevæg med uret); }

forsinkelse (del);

Serial.available ()> 0 er vigtig, da det er hvordan dit Bluetooth -modul fungerer. Denne if -erklæring vil være sand, når der er kommunikation mellem Arduino og din enhed. Tilstandsvariablen bestemmer de 3 andre variabler, jeg erklærede øverst i opsætningen (), den udskriver også, hvilken operation koden kører. De to for loop er hovedfunktionen, der driver, hvordan trinmotoren vil bevæge sig.

hvis (tilstand == '1') {

pos = en_tid; del = 0; forhold = 12;

Serial.println ("Operation 1: Ingen forsinkelse"); }

Dette er et eksempel på at bruge input fra din Bluetooth -enhed til at ændre, hvordan systemet fungerer. Du kan redigere disse variabler, men du vil styre hænderne.

Trin 7: Demo og konklusion

Image
Image
Demo og konklusion
Demo og konklusion

Dette er en demo af systemet, der viser, hvordan det fungerer. Til kabinettet kan du bruge alt, hvad der passer til alle komponenterne indeni. Dette projekt var enkelt og sjovt at lave, da det er første gang, jeg 3D -printede. Bluetooth -modulet var sjovt at finde ud af og bruge. Der er et par fejl, jeg lavede, der var for sent til at ændre, men det endelige produkt er fint.

Anbefalede: