Indholdsfortegnelse:

Planetary Gear Clock: 6 trin (med billeder)
Planetary Gear Clock: 6 trin (med billeder)

Video: Planetary Gear Clock: 6 trin (med billeder)

Video: Planetary Gear Clock: 6 trin (med billeder)
Video: seeing wife face for first time #shorts 2024, November
Anonim
Planetgear
Planetgear
Planetgear
Planetgear
Planetgear
Planetgear

(Gamle) mekaniske urværker er utroligt interessante og behagelige at se, men er desværre næsten umulige at bygge selv. Mekaniske ure mangler også skødesløsheden ved den præcise digitale teknologi, der er tilgængelig i dag. Denne instruktør viser dig en måde at kombinere det bedste fra begge verdener; ved at køre mekaniske urvisere gennem en planetgear med en trinmotor og en Arduino!

Forbrugsvarer

Generelle komponenter:

  • 5 mm træ og akrylplade
  • M5 bolte (forsænket), skiver og møtrikker
  • PCB standoffs
  • M3 skruer til trinmotoren

Elektriske komponenter:

  • Stepper driver (jeg brugte L293d)
  • Enhver type Arduino
  • Real Time Clock (jeg brugte DS3231)
  • Hall effekt sensor (jeg brugte A3144)
  • 5 mm neodium magnet
  • Knapper til brugerinput
  • 10K modstand
  • 100uf 25V kondensator
  • DC -stik
  • 5V 2A DC strømforsyning
  • Batteri til RTC (cr2032 i mit tilfælde)

Mekaniske komponenter:

  • Enhver type trinmotor på 1,8 grader/trin med 5 mm aksel
  • GT2 400 mm tandrem
  • GT2 60 tand 5 mm aksel remskive
  • GT2 20 tand 5mm aksel remskive
  • 5x16x5 mm leje (3x)
  • 5x16x5 mm flangeleje (2x)
  • M5x50 gevindstang

Trin 1: Design og fremstilling af gear

Image
Image
Design og fremstilling af gear
Design og fremstilling af gear
Design og fremstilling af gear
Design og fremstilling af gear

Et af målene med dette projekt var at have en motor, der driver hele uret, svarende til et rigtigt mekanisk ur, hvor en flugtmekanisme driver det komplette ur. Minutviseren skal dog foretage 12 omdrejninger i den tid, timeviseren gør 1 rotation. Det betyder, at der er behov for en 1:12 reduktionsgearkasse for at køre begge hænder med en motor. Jeg besluttede at gøre dette med en planetgear, den medfølgende video forklarer smukt, hvordan denne type gearkasse fungerer.

Det næste trin for mig var at bestemme tandtællingen for de forskellige gear for at skabe et forhold på 1:12. Dette websted var meget nyttigt og indeholder alle de nødvendige formler. Jeg fastgjorde soludstyret til minutviseren og planetbæreren til timeviseren og efterlod ringudstyret stationært. Lad os lave en lille smule matematik!

  • S = antal tænder på solhjulet
  • R = antal tænder på ringhjulet
  • P = antal tænder på planetgearet

Udvekslingsforholdet (i) bestemmes af:

i = S/R+S

Bemærk, at antallet af tænder på planetgearet ikke betyder noget for gearforholdet i dette tilfælde, men vi er nødt til at respektere den generelle begrænsning:

P = (R - S)/2

Efter lidt forundring endte jeg med at bruge følgende tal: S = 10; R = 110; P = 50; De ser ud til at være på kanten af det, der er muligt, da der er meget lille afstand mellem planetgearene, men det virker!

Du kan tegne gearene i dit yndlings CAD -program, de fleste af dem har specielle gear plugins. Du kan også bare bruge de filer, der er vedhæftet denne instruktionsbog. selvfølgelig. Bemærk, at alle gear, selvom de er forskellige i størrelser, har samme tandhældning.

Jeg tænkte, at det ville være fantastisk at lave disse tandhjul af 5 mm aluminium og kontaktede en lokal butik med en vandstråle, hvis de kunne skære disse gear til mig. Normalt ville du aldrig lave tandhjul med vandskærere, men det er gear med meget lav ydeevne. Overraskende blev de enige om at prøve, men denne plan mislykkedes frygteligt. Dele var simpelthen for små til vandstrålen og begyndte at bevæge sig rundt, mens den skar.

Dette tilbageslag betød, at det var tid til plan B, så jeg købte noget 5 mm røgsort akryl og fandt et sted med en laserskærer, hvilket ikke havde noget problem at skære i mine gear. Hvis du ikke har en laserskærer til rådighed, kan du sandsynligvis også bruge en 3D-printer til disse gear, jeg inkluderede STL-filerne (ringgearet skal muligvis opdeles i 3 dele).

Efter skæring presser jeg monterede lejer ind i planetgearene. For at få den rigtige pasform lavede jeg et teststykke af akryl med flere huller, som hver havde en lidt større diameter (0,05 mm trin). Efter at have fundet indstillingen med den korrekte pasform ændrede jeg hulstørrelsen i planetgearene til denne indstilling. Dette er noget, der adskiller sig med materiale og maskintype, så du bør altid gøre dette selv.

Trin 2: Montering af gearsystemet

Montering af gearsystemet
Montering af gearsystemet
Montering af gearsystemet
Montering af gearsystemet
Montering af gearsystemet
Montering af gearsystemet
Montering af gearsystemet
Montering af gearsystemet

For at samle gearene er urets ramme nødvendig. Nu er dette den del, hvor du kan lade din kreativitet gå vild, da rammens form er relativt uvæsentlig, så længe alle bolthullerne er på det rigtige sted. Jeg valgte at lave mange huller i skivepladen og bagpladen for at understrege gearmekanismen. Dette er også grunden til at planetbærerne og minutviseren er lidt gennemsigtige, men det ser også bare fedt ud!

Jeg brugte igen laserskæreren til at lave disse dele, og da akryldelene var 5 mm tykke, lavede jeg også trædelene 5 mm tykke. Alle huller i skivepladen og planetbæreren var forsænket for at rumme matchende bolte.

Urets midteraksel kører i to lejer inde i planetbærerne. Siden jeg lavede denne aksel fra 5 mm stang, har den en rigtig tæt pasform inde i lejerne, og jeg kunne ikke adskille disse komponenter længere. Det ville være meget lettere at bare bruge et stykke M5 -tråd, da du heller ikke længere skulle skære din egen tråd (hvis jeg først var klar over det på forhånd …). For at stoppe solhjulet fra at rotere rundt om akslen har det et D-formet hul, så akslen skal også gemmes i denne D-form. Når solhjulet passer rundt om akslen, kan du samle akslen, glem ikke planetbærerne, hvis du bruger flangelejer! Tjek den eksploderede visning for monteringsinstruktioner.

Når midteraksen er monteret, er det tid til planeten. Disse har også brug for de små skiver, ligesom den centrale aksel, for at sikre at gearene kører problemfrit. Når alt er monteret på planetbærerne, skal du kontrollere, om planetens gear og soludstyr kører problemfrit.

Den centrale del kan nu monteres i urrammen. Dette er et kedeligt job, men det hjælper meget at stikke boltene gennem frontpladen og tape dem på plads. Det kan også være nyttigt at hæve frontpladen for at skabe plads til minutviseren. Billederne viser, at jeg lagde seks små stykker papir mellem gearringen og bagpladen for at give en lille smule frihed til gearene. Når du sætter planetbæreren i, skal du sørge for, at urskiverne peger på et fornuftigt sted (hvis din minutviser peger på 12, bør timeviseren ikke være mellem to timers eksempel)

Trin 3: Tilslutning af trin og sensor

Tilslutning af trin og sensor
Tilslutning af trin og sensor
Tilslutning af trin og sensor
Tilslutning af trin og sensor
Tilslutning af trin og sensor
Tilslutning af trin og sensor
Tilslutning af trin og sensor
Tilslutning af trin og sensor

Nu hvor vi har en gearmekanisme, der driver hænderne korrekt, skal vi stadig køre gearmekanismen korrekt. Forskellige typer elmotorer kunne bruges, jeg valgte en steppermotor, da den kan foretage præcise bevægelser uden konstante vinkelfeedback -sensorer. En trinmotor kan også lave en ægte "Click" -lyd, hvilket er fantastisk til det semimekaniske ur!

En almindelig trinmotor kan lave 200 trin pr. Omdrejning, hvilket betyder 200 trin i timen, hvis vi forbinder den med minutviseren. Dette ville betyde et interval på 18 sekunder pr. Trin, hvilket endnu ikke lyder som et tikkende ur. Derfor brugte jeg en 1: 3 transmission mellem steppermotoren og minutviserne, så stepper motoren skulle lave 600 trin i timen. Ved hjælp af halvtrinsfunktionen kan dette øges til 1200 trin i timen, hvilket svarer til et trin pr. 3 sekunder. Lyder bedre!

Et problem med stepper motorer er, at du aldrig ved, hvor de er, når du tænder din Arduino. Det er derfor, at alle 3D-printere har endestop, så du kan flytte din printer til en kendt position og derefter fortsætte fra det punkt. Dette er også nødvendigt for uret, kun et slutstop virker ikke, da et ur skal foretage kontinuerlige rotationer. For at realisere denne positionsføling brugte jeg en A3144 Hall-effekt sensor, der registrerer en magnet (tjek polariteten! …) fastgjort til planetbæreren. Dette bruges til at flytte hænderne til en bestemt position ved opstart, hvorefter de kan flytte til den nødvendige tid.

Montering er meget enkel; Fastgør trinmotoren til bagpladen, og lad skruerne være lidt løse. Derefter kan du montere den lille remskive på stepper motorakslen og kontrollere, om tandremmen kører lige. Nu kan du glide trinmotoren for at justere spændingen på tandremmen. Tandremmen har brug for en lille smule spil for at sikre, at du ikke belaster gearene. Spil med denne indstilling, indtil du er tilfreds, og stram derefter skruerne på trinmotoren helt.

Hall-effekt sensoren er limet på plads. Det er bedst at lodde tre ledninger til sensoren først, og sørg for at lægge varmekrympende omkring hvert ben af sensoren, så de ikke kan kortslutte hinanden. Efter lodning kan sensoren limes på plads. Det er ikke ligegyldigt hvilken side der er oppe, så længe du ikke har fastgjort magneten endnu. Når du har limet sensoren på plads, skal du slutte den til en Arduino eller et lille LED -kredsløb for at teste, om den virker. (BEMÆRK: hall -effektsensoren fungerer kun, hvis magnetfeltlinjerne går i den rigtige retning). Ved hjælp af dette testkredsløb skal du kontrollere, hvordan magneten skal limes. Når du er helt sikker på, hvilken side af din magnet der skal vende mod sensoren, limes magneten på plads.

Trin 4: Elektronikken, der får uret til at krydse

Elektronikken, der får uret til at tikke
Elektronikken, der får uret til at tikke
Elektronikken, der får uret til at tikke
Elektronikken, der får uret til at tikke
Elektronikken, der får uret til at tikke
Elektronikken, der får uret til at tikke
Elektronikken, der får uret til at tikke
Elektronikken, der får uret til at tikke

Du kan bruge en meget enkel Arduino -kode, der tager et halvt trin med motoren og derefter tager en forsinkelse på 3000 millisekunder til næste trin. Dette ville fungere, men det er ikke særlig præcist, da det interne Arduino -ur ikke er ultrapræcist. For det andet ville Arduino glemme tiden, hver gang den mister strømmen.

For at holde styr på tiden er det derfor bedst at bruge et ur i realtid. Disse ting er specialdesignede chips med et reservebatteri, der præcist holder styr på tiden. Til dette projekt valgte jeg DS3231 RTC, som kan kommunikere med en Arduino via i2c, hvilket gør ledninger let. Når du har indstillet tiden korrekt på hans chip, glemmer den aldrig, hvad klokken er (så længe cr2032 -batteriet har lidt juice tilbage). Tjek dette websted for alle detaljer om dette modul.

Kørsel af trinmotoren sker med en L293d -motordriver. Nogle mere avancerede trinmotordrivere bruger et PWM-signal til mikro-trin og strømbegrænsning. Dette PWM -signal kan lave den irriterende pipestøj, som alle producenter kender (især hvis du ejer en 3D -printer). Da dette ur formodes at blive en del af dit interiør, er ubehagelige lyde ikke ønsket. Derfor besluttede jeg at bruge den lavteknologiske l293d-motordriver til at sikre, at mit ur er lydløst (udover trinvis hvert 3. sekund, men det er faktisk sjovt!). Tjek dette websted for en detaljeret beskrivelse af l293d -chippen. Bemærk, at jeg kører min steppermotor ved 5V, hvilket sænker trinforbrugets strømforbrug og temperatur.

Som tidligere nævnt bruger jeg en Hall-effekt sensor til at detektere en magnet, der er limet til planetbæreren. Sensorens betjeningsprincip er meget enkelt, det ændrer tilstand, når en magnet er tæt nok. På denne måde kan din Arduino registrere en digital høj eller lav og derfor opdage, om en magnet er tæt. Tjek dette websted, der viser, hvordan sensoren tilsluttes, og viser den enkle kode, der bruges til magnetdetektering.

Sidst men ikke mindst tilføjede jeg 4 knapper til brugerinput til printkortet. De bruger Arduino interne pull-up modstande til at forenkle ledningerne. Mit printkort har også headers i en Uno -konfiguration, så jeg kunne tilføje Arduino -skjolde til mulige udvidelser (jeg har ikke gjort dette hidtil).

Jeg testede først alt på mit brødbræt, og derefter designede og bestilte jeg et brugerdefineret printkort til dette projekt, da det ser fantastisk ud! Du kan også montere printkortet på bagsiden af dit ur, hvis du ikke vil se på det.

Gerber -filerne til printkortet kan downloades fra mit drev, Instructables lader mig ikke uploade dem af en eller anden grund. Brug dette link til mit google -drev.

Trin 5: Programmering af Arduino

Programmering af Arduino
Programmering af Arduino

Grundkoden for Arduino er faktisk meget enkel. Jeg vedhæftede et skema, der visualiserer, hvad der sker inde i Arduino, og hvordan Arduino interagerer med de andre enheder. Jeg brugte flere biblioteker til at forenkle kodningen.

  • Accelstepper -> håndterer steppermotorens trinforløb, lader dig give intuitive kommandoer som: Stepper.runSpeed () eller Stepper.move (), som lader dig bevæge sig med en bestemt hastighed eller til en bestemt position.
  • Wire -> dette er nødvendigt for i2c -kommunikation, selv når du bruger RTClib
  • RTClib -> håndterer kommunikationen mellem Arduino og RTC, lader dig give intuitive kommandoer som rtc.now (), der returnerer den aktuelle tid.
  • OneButton -> Håndterer knapindgangen, registrerer tryk og kører derefter et forud specificeret tomrum for at gøre noget. Kan registrere enkelt, dobbelt eller langt tryk.

Når du skriver kode til et ur, er det meget vigtigt at undgå at have variabler, der bliver ved med at stige. Da Arduino -koden kører 24/7, vil disse variabler hurtigt blive større og større og i sidste ende forårsage et overløb. Stepper motoren er f.eks. Aldrig befalet at gå til en bestemt position, da denne position kun ville stige med tiden. I stedet beordres steppermotoren til at flytte et bestemt antal trin i en bestemt retning. På denne måde er der ingen positionsvariabel, der stiger over tid.

Første gang du tilslutter RTC'en, skal du indstille tidspunktet for chippen, der er et stykke kode, du kan fjerne en kommentar, der indstiller RTC -tiden til din computertid (tidspunktet i det øjeblik, du kompilerer koden). Bemærk, at når du lader dette være ukommenteret, vil RTC -tiden blive nulstillet til det tidspunkt, hvor du kompilerede din kode hver gang. Så kommenter dette, kør det en gang, og kommenter det derefter igen.

Jeg vedhæftede min kode til denne instruks, jeg kommenterede den grundigt. Du kan uploade det uden ændringer eller tjekke det ud og se, hvad du synes!

Trin 6: Nyd lyden af dit ur, der tikker for første gang

Image
Image

Efter tilslutning af al elektronik og upload af koden er dette resultatet!

Det grundlæggende design af dette ur er meget enkelt, og det kan laves i mange forskellige former og størrelser. Da der er en Arduino om bord, kan du også nemt tilføje ekstra funktioner. Indstil en alarm, lad uret tænde din kaffemaskine på et bestemt tidspunkt, internetforbindelse, fede demotilstande, der fremhæver den mekaniske bevægelse, der viser dit design til andre og meget mere!

Som du måske har bemærket i hele denne instruks, var jeg nødt til at tage mit ur fra hinanden for at skrive denne instruktør. Selvom jeg er uheldig for denne instruktive, kan jeg i det mindste garantere, at designet fungerer meget godt på lang sigt, da dette ur har tikket væk i mere end 3 år i min stue uden problemer!

Lad mig vide i kommentarerne, hvis du kunne lide denne Instructable, det er første gang, jeg skriver en. Også hvis du har nogle tips eller spørgsmål, så send mig bare en besked. Og håber jeg inspirerede nogen til også at bygge et halvmekanisk ur en dag!

Ur konkurrence
Ur konkurrence

Første præmie i urkonkurrencen

Anbefalede: