Cuprins:

Ceas de perete magnetic fascinant: 24 de pași (cu imagini)
Ceas de perete magnetic fascinant: 24 de pași (cu imagini)
Anonim
Ceas de perete magnetic fascinant
Ceas de perete magnetic fascinant
Ceas de perete magnetic fascinant
Ceas de perete magnetic fascinant

Ceasurile mecanice m-au fascinat dintotdeauna. Modul în care toate treptele de viteză, arcurile și evacuările interne funcționează împreună pentru a rezulta într-un ceas constant de încredere a părut întotdeauna în afara accesului pentru setul meu de abilități limitate. Din fericire, componentele electronice moderne și piesele imprimate 3D pot elimina decalajul pentru a crea ceva simplu care nu se bazează pe piese metalice precise.

Acest ceas de perete minimalist ascunde o pereche de roți dințate imprimate 3D acționate de motoare pas cu pas ieftine care rotesc magneții în spatele unui furnir clasic de nuc.

Inspirat inițial de STORY Clock, am vrut o piesă de timp care să indice ora din zi folosind doar rulmenți cu bile față de citirea digitală și cu bile cu mișcare lentă care utilizează produsele lor.

Imagine
Imagine

Pasul 1: Instrumente și materiale

Instrumente și materiale
Instrumente și materiale
Instrumente și materiale
Instrumente și materiale
Instrumente și materiale
Instrumente și materiale
Instrumente și materiale
Instrumente și materiale

Materiale:

  • 13 x 13 x 2 in. Placaj / plăci aglomerate (am lipit 3 bucăți de resturi de lemn)
  • 13 x 13 in. Panou dur
  • Arduino Nano
  • Ceas în timp real
  • Motoare și drivere pas cu pas
  • Senzori de efect Hall
  • Magneți
  • Cablu de alimentare
  • Adaptor de curent alternativ
  • Priza
  • Șuruburi pentru mașini asortate
  • Șuruburi pentru lemn asortate
  • Piese tipărite 3D (ultimul pas)
  • Furnir (12 x 12 inci - față, bandă lungă de 40 inci)
  • Lac de pulverizare
  • Vopsea cu spray negru

Instrumente:

  • imprimantă 3d
  • Busolă
  • Cuțit X-acto
  • Lipici
  • Cleme
  • Cerc de tăiere a cercului
  • Hack Saw
  • Disc Sander
  • Clemă cu clichet
  • Daltă
  • Rigla
  • Sander
  • Burghie
  • Șurubelnițe
  • Ciocan de lipit
  • Hot Glue Gun

Pasul 2: lipiți împreună cadru din lemn

Lipiți împreună cadru din lemn
Lipiți împreună cadru din lemn
Lipiți împreună cadru din lemn
Lipiți împreună cadru din lemn
Lipiți împreună cadru din lemn
Lipiți împreună cadru din lemn
Lipiți împreună cadru din lemn
Lipiți împreună cadru din lemn

Lipiți împreună trei bucăți de lemn care vor forma cadrul ceasului. Am folosit plăci aglomerate recuperate dintr-un cadru vechi de pat.

Pasul 3: Tăiați cadrul folosind Jigul de tăiere cerc

Tăiați cadrul folosind jigul de tăiere în cerc
Tăiați cadrul folosind jigul de tăiere în cerc
Tăiați cadrul folosind jigul de tăiere în cerc
Tăiați cadrul folosind jigul de tăiere în cerc
Tăiați cadrul folosind jigul de tăiere în cerc
Tăiați cadrul folosind jigul de tăiere în cerc
Tăiați cadrul folosind jigul de tăiere în cerc
Tăiați cadrul folosind jigul de tăiere în cerc

Marcați centrul plăcii și montați pe un dispozitiv de tăiere circular. Tăiați cinci cercuri cu următoarele diametre:

  • 12 in.
  • 11 1/4 in.
  • 9 1/4 in.
  • 7 1/4 in.
  • 5 3/8 in.

Pasul 4: Imprimați și asamblați unelte

Imprimați și asamblați unelte
Imprimați și asamblați unelte
Imprimați și asamblați unelte
Imprimați și asamblați unelte

Angrenajele inelare sunt împărțite în segmente, astfel încât să poată fi imprimate pe o imprimantă mică și fixate împreună. Toate piesele au fost tipărite în ABS pentru a ajuta la procesul de fuzionare prezentat în pasul următor. Șlefuiți toate marginile și suprafețele pieselor.

Imprimați următoarele cantități de piese găsite în pasul 22:

  • 1 - Magnet segment segment inel orar
  • 6 - Segment de viteză inel orar de bază
  • 1 - Montaj pas cu pas pentru segmentul inelului de fixare
  • 6 - Segment de inel de reținere a orelor de bază
  • 1 - Suport senzor de efect Hall
  • 1 - Magnet segment segment inel de minut
  • 7 - Minute Ring Gear Segment Basic
  • 1 - Suport pas cu pas pentru segmentul inelului de reținere
  • 6 - Segment de inel de reținere de minute de bază
  • 1 - Suport senzor de efect Hall Minute
  • 2 - Gear Spur
  • 1 - Suport electronic

Pasul 5: secțiunile „lipici” împreună

Imagine
Imagine
Imagine
Imagine
Imagine
Imagine

Într-o sticlă de sticlă cu puțină acetonă, dizolvați materialele vechi de imprimare defecte, etc. Vopsiți amestecul de acetonă pe fiecare cusătură pentru a contopi bucățile. Odată vindecat, șlefuiți fiecare cusătură.

Pasul 6: Tăiați reliefurile în cadru

Tăiați reliefurile în cadru
Tăiați reliefurile în cadru
Tăiați reliefurile în cadru
Tăiați reliefurile în cadru
Tăiați reliefurile în cadru
Tăiați reliefurile în cadru

Așezați roțile dințate și inelele de fixare în cadru și tăiați reliefurile pentru motoarele pas cu pas. Am măsurat și am tăiat inelul interior prea mare, așa că l-am redus la dimensiuni folosind niște benzi de margine de arțar pe care le aveam în jurul magazinului.

Pasul 7: Tăiați spațiul liber pentru senzorii de efect Hall

Eliminați tăierea pentru senzorii de efect Hall
Eliminați tăierea pentru senzorii de efect Hall
Eliminați tăierea pentru senzorii de efect Hall
Eliminați tăierea pentru senzorii de efect Hall
Eliminați distanța pentru senzorii de efect Hall
Eliminați distanța pentru senzorii de efect Hall

Tăiați o gaură de degajare prin inelul interior pentru senzorul de efect de hală minut și fanta pentru senzorul de efect de hol de oră. Am folosit o dalta, un dosar și un ferăstrău de mână mic pentru a tăia aceste distanțe.

Pasul 8: lipiți inelul exterior

Adeziv Inel exterior
Adeziv Inel exterior

Lipiți și lipiți inelul exterior de mărimea inelului de fixare a minutelor.

Pasul 9: Tăiați șuruburile de reglare a senzorului de efect Hall

Șuruburi de reglare a senzorului de efect Hall tăiat
Șuruburi de reglare a senzorului de efect Hall tăiat

Tăiați șuruburile mașinii cu un ferăstrău, astfel încât acestea să fie mai lungi decât grosimea inelului de fixare și a suportului senzorului de efect de hol. Tăiați o fantă în fire, astfel încât să poată fi reglată de la capătul filetat cu o șurubelniță plană.

Pasul 10: lipiți inelele pe panoul dur

Inele de lipire pe hardboard
Inele de lipire pe hardboard
Inele de lipire pe hardboard
Inele de lipire pe hardboard
Inele de lipire pe hardboard
Inele de lipire pe hardboard

Tăiați un cerc de panou tare mai mare decât inelul exterior. Lipiți inelul exterior și interior pe fața panoului dur. Utilizați inelul de fixare a minutelor și angrenajul inelar pentru a plasa inelul interior. Acordați o atenție mai bună decât am făcut-o pentru a nu lipi inelul interior pe spate. Imaginea a doua prezintă o nouă tăietură a slotului pentru senzorul de efect de hală minut.

Utilizați o mașină de șlefuit pentru a tăia placa dură până la dimensiunea inelului exterior.

Pasul 11: lipiți discul interior

Lipici interior disc
Lipici interior disc
Lipici interior disc
Lipici interior disc

Lipiți discul interior cu ajutorul inelului de fixare a orelor și a angrenajului pentru a plasa discul interior.

Pasul 12: Atașați furnir

Atașați furnir
Atașați furnir
Atașați furnir
Atașați furnir
Atașați furnir
Atașați furnir
Atașați furnir
Atașați furnir

Tăiați o fâșie de furnir mai lată decât ceasul este suficient de adânc și suficient de lung pentru a înfășura ceasul (diametrul 3,14 * al ceasului, va restitui lungimea necesară. Adăugați un centimetru pentru a vă asigura că aveți suficient.) Montați uscat furnirul la tăiat la lungime. Aplicarea unui adeziv suficient pentru furnir și clemă în loc cu o clemă pentru curea. Lăsați să se usuce câteva ore pentru a asigura aderența.

Pasul 13: Decupați furnirul

Decupați furnirul
Decupați furnirul

Folosind o dalta ascuțită, tăiați excesul de furnir din partea din față și din spate a ceasului.

Pasul 14: Tăiați furnirul

Tăiați furnirul
Tăiați furnirul
Tăiați furnirul
Tăiați furnirul

Furnirul meu avea câteva fisuri. Pentru a ușura lucrul, am aplicat bandă pentru pictori pentru ao ține împreună. Folosind un cuțit x-acto într-o busolă, tăiați furnirul doar mai mare decât fața ceasului.

Pasul 15: lipiți furnirul

Lipici furnir
Lipici furnir
Lipici furnir
Lipici furnir

Utilizați inelele tăiate pentru a răspândi presiunea pe fața ceasului. Aplicați adeziv suficient pe partea fără bandă a furnirului. Orientați bobul vertical pe fața ceasului și aplicați multe cleme strângând fiecare câte o dată. Acest lucru va asigura furnirul nu se schimbă și are chiar presiune pe față.

Am folosit câteva scânduri plate pe fața ceasului și niște cauluri pe spate.

Pasul 16: Nisipează și termină

Nisipează și termină
Nisipează și termină
Nisipează și termină
Nisipează și termină

Folosind hârtie de șlefuit, îndepărtați cu atenție excesul de furnir de pe fața ceasului și șlefuiți începând de la 220 grit până la 600 grit.

Aplicați între 10 și 20 de straturi de lac. Aceasta va construi suprafața pe care rulează bile. Inevitabil din cauza prafului și a altor particule din aer, cred că vor apărea linii de-a lungul traseului fiecărui rulment cu bile. Aplicarea mai multor straturi de finisare ar trebui să întârzie acest lucru cât mai mult posibil. De asemenea, va facilita viitoarele finisări. Voi actualiza acest pas dacă apar vreodată linii pe ceasul meu.

Pasul 17: Instalați alimentarea

Instalați alimentarea
Instalați alimentarea
Instalați alimentarea
Instalați alimentarea

Folosind un burghiu de 27/64 in, găuriți o gaură în partea de jos a ceasului și înșurubați fișa de alimentare în poziție.

Pasul 18: Asamblați electronice

Asamblați electronice
Asamblați electronice
Asamblați electronice
Asamblați electronice
Asamblați electronice
Asamblați electronice
Asamblați electronice
Asamblați electronice

Atașați driverele pas cu pas și ceasul în timp real la placa electronică. Trebuia să găsesc o modalitate de a asigura Arduino, astfel încât să fie găurite găuri și să fie tăiată o fantă pentru o cravată cu fermoar. Aceste caracteristici au fost adăugate la fișierul găsit la pasul 22.

Pasul 19: lipiți și conectați electronice

Electronice de lipit și conectați
Electronice de lipit și conectați
Electronice de lipit și conectați
Electronice de lipit și conectați
Soluție și conectare electronică
Soluție și conectare electronică

Urmând schema bloc, lipiți toate componentele împreună. Lipiți inelele fierbinți în poziție și fixați orice fire fără stăpân și cu lipici fierbinte.

Imagine
Imagine

Pasul 20: Placa din spate

Placa din spate
Placa din spate
Placa din spate
Placa din spate
Placa din spate
Placa din spate

Creați placa din spate tăind un alt cerc de 1/2 inch mai mare decât fața ceasului și un inel cu diametrul interior la fel ca partea din spate a ceasului. Lipiți inelul și cercul împreună cu câteva cleme de arc.

Odată uscat, scrieți o linie de 1/8 in mai mare decât inelul interior și tăiați la dimensiune folosind ferăstrăul cu bandă sau șlefuitorul de disc.

Tăiați un slot de 1 in. Lung de 1/4 in. În partea de sus a spatelui folosind un router sau burghie. Răsuciți patru găuri pentru a fixa partea din spate în cadrul ceasului.

Aplicați vopsea neagră și atașați-o la ceas odată uscată.

Pasul 21: Cod Arduino

Codul arduino este comentat cât mai bine posibil. Rețineți că nu sunt programator, am o experiență minimă de arduino (fiți amabili). Codul rulează continuu verificând dacă ora curentă se potrivește cu „Reset Time”. Deoarece nu mi-am putut gândi la o modalitate de a traduce ora curentă în pași, se corectează doar o dată pe zi (la miezul nopții în mod implicit). La miezul nopții uneltele se rotesc în poziția de miezul nopții, apoi așteptați până la 00:01 trecând la acel moment, apoi continuă de acolo. Pe măsură ce se așează în prezent, ceasul pierde doar aproximativ 5 secunde într-o perioadă de 24 de ore.

Veți avea nevoie de bibliotecile Stepper și RTClib instalate.

Știu că codul poate fi optimizat de cineva cu mai multă experiență decât mine. Dacă sunteți la înălțimea provocării, vă rugăm să recreați acest proiect pentru dvs. și să vă împărtășiți cunoștințele.

#include

#includeți "RTClib.h" RTC_DS1307 rtc; #define oneRotation 2038 // numărul de pași într-o rotație a motorului pas cu pas 28BYJ-48 Stepper hourHand (oneRotation, 3, 5, 4, 6); Stepper minuteHand (oneRotation, 7, 9, 8, 10); #define hourStopSensor 12 #define minuteStopSensor 11 int endStep = 0; // Timpul amețit pentru viteza ceasului. int setDelay1 = 168; int setDelay2 = 166; int setDelay3 = 5; // Ora curentă pentru a face matematică. float hr = 0; plutitor mn = 0; plutitor sc = 0; // Setați ora din zi pentru resetarea ceasului (format 24 de ore). int resetHour = 0; int resetMinute = 0; // Variabile pentru a seta ora corectă la pornire și resetare. float setTimeStepHour = 0; float setTimeStepMinute = 0; float handDelay = 0; float hourTest = 0; float minuteTest = 0; void setup () {Serial.begin (115200); // Configurați ceasul în timp real și resetați senzorii de efect de sală. pinMode (hourStopSensor, INPUT_PULLUP); pinMode (minuteStopSensor, INPUT_PULLUP); rtc.begin (); // Decomentați linia de mai jos pentru a seta ora. // rtc.adjust (DateTime (2020, 2, 19, 23, 40, 30)); // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_)))); // Setați viteza maximă a motoarelor pas cu pas. hourHand.setSpeed (15); minuteHand.setSpeed (15); // Buclați până când minutul și ora sunt la amiază în timp ce (digitalRead (hourStopSensor) == LOW || digitalRead (minuteStopSensor) == LOW) {if (digitalRead (hourStopSensor) == LOW) {hourHand.step (2); } else {delay (3); } if (digitalRead (minuteStopSensor) == LOW) {minuteHand.step (3); } else {delay (4); }} while (digitalRead (hourStopSensor)! = LOW || digitalRead (minuteStopSensor)! = LOW) {if (digitalRead (hourStopSensor)! = LOW) {hourHand.step (2); } else {delay (3); } if (digitalRead (minuteStopSensor)! = LOW) {minuteHand.step (3); } else {delay (4); }} // Obțineți ora curentă DateTime acum = rtc.now (); hr = now.hour (); mn = now.minute (); sc = now.second (); // Treceți la formatul de 12 ore dacă (hr> = 12) {hr = hr - 12; } // Vedeți ce mână trebuie să călătorească peste față mai departe și utilizați acea distanță // pentru a regla timpul setat în consecință. hourTest = hr / 12; minuteTest = mn / 60; if (hourTest> minuteTest) {handDelay = hourTest; } else {handDelay = minuteTest; } // Setați ora curentă setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // Setați minutul curent setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Testați care mână va avea nevoie de mai mulți pași și setați-o la cel mai lung număr de pași pentru bucla for. if (setTimeStepHour> setTimeStepMinute) {endStep = setTimeStepHour; } else {endStep = setTimeStepMinute; } for (int i = 0; i <= endStep; i ++) {if (i <setTimeStepHour) {hourHand.step (2); } else {delay (3); } if (i <setTimeStepMinute) {minuteHand.step (3); } else {delay (4); }} // Setați ceasul care rulează RPM hourHand.setSpeed (1); minuteHand.setSpeed (1); } void loop () {// Începeți bucla de rulare a ceasului. for (int i = 0; i <22; i ++) {minuteHand.step (1); întârziere (setDelay1); // Testați timpul de resetare, dacă este gata de resetare, rupeți. if (rtc.now (). hour () == resetHour && rtc.now (). minute () == resetMinute) {pauză; }} întârziere (setDelay3); for (int i = 0; i <38; i ++) {hourHand.step (1); întârziere (setDelay1); // Testați timpul de resetare, dacă este gata de resetare, rupeți. if (rtc.now (). hour () == resetHour && rtc.now (). minute () == resetMinute) {pauză; } pentru (int i = 0; i <20; i ++) {minuteHand.step (1); întârziere (setDelay2); // Testați timpul de resetare, dacă este gata de resetare, rupeți. if (rtc.now (). hour () == resetHour && rtc.now (). minute () == resetMinute) {pauză; }}} // Resetați ceasul la ora de resetare dacă (rtc.now (). Hour () == resetHour && rtc.now (). Minute () == resetMinute) {// Modificați viteza ceasului hourHand.setSpeed (10); minuteHand.setSpeed (10); // Buclați până când minutele și orele ajung la prânz. while (digitalRead (hourStopSensor) == LOW || digitalRead (minuteStopSensor) == LOW) {if (digitalRead (hourStopSensor) == LOW) {hourHand.step (2); } else {delay (3); } if (digitalRead (minuteStopSensor) == LOW) {minuteHand.step (3); } else {delay (4); }} while (digitalRead (hourStopSensor)! = LOW || digitalRead (minuteStopSensor)! = LOW) {if (digitalRead (hourStopSensor)! = LOW) {hourHand.step (2); } else {delay (3); } if (digitalRead (minuteStopSensor)! = LOW) {minuteHand.step (3); } else {delay (4); }} // Așteptați aici până când a trecut timpul de resetare. while (rtc.now (). minute () == resetMinute) {întârziere (1000); } // Obțineți ora curentă DateTime acum = rtc.now (); hr = now.hour (); mn = now.minute (); sc = now.second (); // Treceți la formatul de 12 ore dacă (hr> = 12) {hr = hr - 12; } // Vedeți ce mână trebuie să călătorească peste față mai departe și utilizați acea distanță // pentru a regla timpul setat în consecință. hourTest = hr / 12; minuteTest = mn / 60; if (hourTest> minuteTest) {handDelay = hourTest; } else {handDelay = minuteTest; } // Setați ora curentă setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // Setați minutul curent setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Testați care mână va avea nevoie de mai mulți pași și setați-o la cel mai lung număr de pași pentru bucla for. if (setTimeStepHour> setTimeStepMinute) {endStep = setTimeStepHour; } else {endStep = setTimeStepMinute; } for (int i = 0; i <= endStep; i ++) {if (i <setTimeStepHour) {hourHand.step (2); } else {delay (3); } if (i <setTimeStepMinute) {minuteHand.step (3); } else {delay (4); }} hourHand.setSpeed (1); minuteHand.setSpeed (1); }}

Pasul 22: Fișiere STL

Va trebui să imprimați următoarele cantități de fișiere:

  • 1 - Magnet segment segment inel orar
  • Segment de angrenaj inelar 6 ore de bază
  • 1 - Montare pas cu pas pentru segmentul inelului de fixare
  • 6 - Segmentul de bază al inelului de reținere a orelor
  • 1 - Suport senzor de efect Hall
  • 1 - Magnet segment segment inel de minut
  • 7 - Minute Ring Gear Segment Basic
  • 1 - Suport pas cu pas pentru segmentul inelului de reținere
  • 6 - Segment de inel de reținere de minute de bază
  • 1 - Suport senzor de efect Hall Minute
  • 2 - Gear Spur
  • 1 - Suport electronic

Pasul 23: Fișiere Solidworks

Acestea sunt fișierele originale Solidworks folosite pentru a crea STL-urile găsite în pasul anterior. Simțiți-vă liber să editați și să modificați fișierele după cum doriți.

Pasul 24: Concluzie

Acest ceas a ieșit mai bine decât anticipasem. Având o experiență minimă în Arduino, mă bucur cum s-a dovedit și cât de exactă este. Arată minunat și funcționează exact așa cum am sperat.

Recomandat: