Innehållsförteckning:

Urverk: 7 steg
Urverk: 7 steg

Video: Urverk: 7 steg

Video: Urverk: 7 steg
Video: Что будет, если ржавый гвоздь воткнется вам в ногу? 2024, November
Anonim
Urverk
Urverk

Denna instruerbara skapades för att uppfylla projektkravet för Makecourse vid University of South Florida (www.makecourse.com).

Steg 1: Koncept

När jag försöker brainstorma en idé för det här projektet bestämde jag mig för att göra något som är användbart och kan vara användbart för mitt dagliga liv. Det är inte så många saker som kan ha två graders frihetskrav så jag bestämde mig för att göra en enkel klocka för att uppfylla kraven samt att den ska visas på mitt skrivbord för att visa tiden. Ursprungligen var tanken att göra ett armbandsur, men den 3D -tryckta delen skulle vara för liten och motorerna som driver klockan skulle fortfarande vara för stora för ett armbandsur.

Därav detta projekt, jag hittade reservdelar runt min lägenhet och bestämde mig för att arbeta med detta.

Steg 2: Delar

- 3D -tryckta delar

- 2 28BYJ-48 5V DC stegmotor

- 2 ULN2003 stegmotordrivrutin

- Arduino Uno

- HC-05 Bluetooth-modul

Alla dessa delar är gjorda av mig utom klockans händer. Jag är inte särskilt kreativ. Nedan är länken till dess skapare.

www.thingiverse.com/thing:1441809

Steg 3: Montering av delar

Montering av delar
Montering av delar

(1)- Du måste sätta Gear_1 och 2 till stegmotorerna. De kommer att passa tätt så lite kraft krävs för att de ska hålla sig på plats.

(2)- Base_0 stannar längst ner på enheten.

(3)- Base_1 kommer att placeras ovanpå SpurGear_1, detta är huvudkomponenten för minutvisaren. Du kan limma ihop dessa två komponenter, se till att basen ligger ovanpå växeln.

(4)- Base_2 kommer att placeras ovanpå SpurGears_2, detta är huvudkomponenten för timvisaren. Detsamma gäller för denna del som steg (3)

(5)- Klockornas händer kan vara lim ovanpå Base_1 och Base_2, eller så kan du borra ett litet hål så att de passar på plats.

(6)- För att få minutväxelns växel att stämma överens med kugghjulet behöver du en 1 cm plattform för att sätta upp hela enheten med en av stegmotorerna.

Anledningen till detta är att huvudbasen inte kan vara högre eftersom den andra stegmotorn inte skulle kunna nå högväxeln. Hur som helst behövs en plattform för en av stegmotorerna.

Steg 4: Bibliotek för Arduino IDE

Koden för detta projekt är baserad på ett bibliotek av tyhenry som heter CheapStepper.h

github.com/tyhenry/CheapStepper

För att installera detta bibliotek för din arduino. Klicka på klona eller ladda ner på länken ovan och ladda ner den som en zip -fil.

I Arduino IDE. Skiss -> Inkludera bibliotek -> Lägg till. ZIP -bibliotek

Av allt bibliotek som fungerar använde den här stegmotorn bäst och extremt lätt att använda.

Steg 5: Inställning av brödbräda

Inställning av brödbräda
Inställning av brödbräda
Inställning av brödbräda
Inställning av brödbräda

Jag använde en Arduino -sköld till min Arduino UNO. Det ser mer rent ut men du kan få en liten brödbräda och placera den ovanpå Arduino UNO istället. Följ färgen på schemat eftersom vissa trådar ligger ovanpå varandra. Stift 4-7 är för en steg och stift 8-11 är för den andra steget.

Bluetooth -modulen måste vara ansluten RX -> TX och TX -> RX till Arduino -kortet.

Blå ledningar är anslutningar från drivrutinerna till Arduino UNO

Gröna ledningar är RX- och TX -anslutningarna

Svarta ledningar slipas.

Röda ledningar är 5V.

Steg 6: Kod

Nedan finns koden för detta projekt.

Förklaringen av koden finns här.

CheapStepper 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 fullt = 4096;

int halv = full/2; // 2048

float full_time = 6412; // 1 timme

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

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

float one_time = full_time/60; // 1 min 106

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

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

// vi kan göra 30 min vardera genom att rotera motorn 3206 och återställa

Detta är huvudberäkningen för detta projekt. Stegmaskinen skulle ta 4096 steg för att rotera hela 360 grader, men eftersom kugghjulen är större än kugghjulen som är fästa vid steget så tar det fler steg för en fullständig rotation. Eftersom drivhjulet är huvudkomponenten som snurrar händerna. Jag måste göra olika tester för att se till att värdena är korrekta.

full_time är variabeln som jag tilldelade för en full rotation av handen. Detta är ganska konsekvent men när stegen delas med 2 för att få specifik rörelse blir flottörvärdet mindre, vilket gjorde det svårare för föraren att göra sitt jobb.

MoveClockwise = true; är att få stegmotorn att röra sig medurs, men eftersom den snurrar kugghjulet moturs måste vi göra den booleska falsk i installationen. Du kan också förklara det falskt i början men detta är för att förklara hur det fungerar.

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

Serial.println ("Redo att börja flytta!");

pos = en_tid; del = 900; förhållande = 60;

moveClockwise = false; }

Här förklarar jag flytten medsols boolean falsk. pos kommer att vara antalet steg, del är fördröjningen och förhållandet är antingen för minut/sek = 60 eller timme/min = 12

Vi styr händerna med Bluetooth -modulen. Först behöver du en seriell Bluetooth -terminal från din Android -enhet. Anslut till Hc-05 med PIN 0000 eller 1234. Du kan använda någon exempelkod från Arduino IDE för att se om den fungerar korrekt. När den är ansluten ska den blinka mycket långsamt istället för snabbt när den inte är ansluten.

void loop () {state = 0;

if (Serial.available ()> 0) {

state = Serial.read (); }

för (float s = 0; s <(pos); s ++) {

stepper.step (flytta medurs); }

för (float s = 0; s <(pos/ratio); s ++) {

stepper_2.steg (flytta medurs); }

fördröjning (del);

Serial.available ()> 0 är viktigt eftersom det är hur din Bluetooth -modul fungerar. Detta if -uttalande kommer att vara sant när det finns kommunikation mellan Arduino och din enhet. Tillståndsvariabeln kommer att avgöra de tre andra variablerna som jag förklarade överst i setup (), det kommer också att skriva ut vilken operation koden kör. De två för slingan är huvudfunktionen som driver hur stegmotorn kommer att röra sig.

if (state == '1') {

pos = en_tid; del = 0; förhållande = 12;

Serial.println ("Operation 1: No Delay"); }

Detta är ett exempel på hur du använder ingången från din Bluetooth -enhet för att ändra hur systemet fungerar. Du kan redigera dessa variabler hur du än vill kontrollera händerna.

Steg 7: Demo och slutsats

Image
Image
Demo och slutsats
Demo och slutsats

Detta är en demo av systemet som visar hur det fungerar. För höljet kan du använda allt som passar alla komponenter inuti. Detta projekt var enkelt och roligt att göra eftersom det är första gången jag 3D -tryckt. Bluetooth -modulen var rolig att lista ut och använda. Det är några misstag jag gjorde som var för sent att ändra men slutprodukten är bra.

Rekommenderad: