Inhoudsopgave:
- Stap 1: Gereedschappen en materialen
- Stap 2: Lijm aan elkaar houten frame
- Stap 3: Frame snijden met cirkelsnijmal
- Stap 4: Print en monteer tandwielen
- Stap 5: "Lijm" secties aan elkaar
- Stap 6: snij reliëfs in frame
- Stap 7: vrije ruimte voor Hall-effectsensoren snijden
- Stap 8: Lijm buitenste ring
- Stap 9: Afstelschroeven voor Hall-effectsensor snijden
- Stap 10: Lijm ringen op hardboard
- Stap 11: Lijm de binnenste schijf
- Stap 12: Bevestig fineer
- Stap 13: Fineer bijsnijden
- Stap 14: Fineer snijden
- Stap 15: Lijm fineer
- Stap 16: schuren en afwerken
- Stap 17: Stroom installeren
- Stap 18: elektronica monteren
- Stap 19: Soldeer en sluit elektronica aan
- Stap 20: Achterplaat
- Stap 21: Arduino-code
- Stap 22: STL-bestanden
- Stap 23: Solidworks-bestanden
- Stap 24: Conclusie
Video: Betoverende magnetische wandklok - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Mechanische klokken hebben me altijd gefascineerd. De manier waarop alle interne tandwielen, veren en echappementen samenwerken om te resulteren in een constant betrouwbaar uurwerk, leek altijd onbereikbaar voor mijn beperkte vaardigheden. Gelukkig kunnen moderne elektronica en 3D-geprinte onderdelen de kloof overbruggen om iets eenvoudigs te creëren dat niet afhankelijk is van kleine precieze metalen onderdelen.
Deze minimalistische wandklok verbergt een paar 3D-geprinte ringtandwielen aangedreven door goedkope stappenmotoren die magneten draaien achter een klassiek walnootfineer.
Aanvankelijk geïnspireerd door STORY Clock, wilde ik een uurwerk dat de tijd van de dag aangaf met alleen kogellagers versus de digitale uitlezing en langzaam bewegende kogellagers die hun product gebruikt.
Stap 1: Gereedschappen en materialen
Materialen:
- 13 x 13 x 2 inch Multiplex / spaanplaat (ik heb 3 stukjes sloophout aan elkaar gelijmd)
- 13 x 13 inch hardboard
- Arduino Nano
- Realtime klok
- Stappenmotoren en stuurprogramma's
- Hall-effectsensoren
- Magneten
- Stroomkabel
- AC-adapter
- Plug
- Diverse machineschroeven
- Diverse houtschroeven
- 3D-geprinte onderdelen (laatste stap)
- Fineer (12 x 12 inch - gezicht, 40 inch lange strook)
- Spuitlak
- Zwarte spuitverf
Gereedschap:
- 3D-printer
- Kompas
- X-acto mes
- Lijm
- Klemmen
- Cirkel snijden Jig
- Hack zaag
- Schijfschuurmachine
- Ratelklem
- Beitel
- Heerser
- Schuurmachine
- Boren
- Schroevendraaiers
- Soldeerbout
- Heet lijmpistool
Stap 2: Lijm aan elkaar houten frame
Lijm drie stukken hout aan elkaar die het frame van de klok zullen vormen. Ik gebruikte teruggewonnen spaanplaat van een oud bedframe.
Stap 3: Frame snijden met cirkelsnijmal
Markeer het midden van het bord en monteer het op een cirkelzaagmal. Snijd vijf cirkels met de volgende diameters:
- 12 inch.
- 11 1/4 inch.
- 9 1/4 inch.
- 7 1/4 inch.
- 5 3/8 inch.
Stap 4: Print en monteer tandwielen
De ringtandwielen zijn in segmenten verdeeld, zodat ze op een kleine printer kunnen worden afgedrukt en aan elkaar kunnen worden geklikt. Alle onderdelen zijn gedrukt in ABS om te helpen bij het smeltproces dat in de volgende stap wordt getoond. Schuur alle randen en oppervlakken van de onderdelen.
Druk de volgende hoeveelheden onderdelen af die u in stap 22 hebt gevonden:
- 1 - uur Ring Gear Segment-magneet
- 6 - Uur Ring Gear Segment Basic
- 1 - Uur borgring Segment Stepper Mount
- 6 - Uur borgringsegment Basis
- 1 - uur Hall-effect sensorhouder
- 1 - Minuut Ring Gear Segment-magneet
- 7 - Minute Ring Gear Segment Basic
- 1 - Minute borgring Segment Stepper Mount
- 6 - Minuut borgringsegment Basis
- 1 - Minuut Hall-effect sensorhouder
- 2 - Tandwiel
- 1 - Elektronica montage
Stap 5: "Lijm" secties aan elkaar
Los mislukte afdrukken op in een glazen fles met wat aceton, enz. Verf het acetonmengsel op elke naad om de stukjes aan elkaar te smelten. Eenmaal uitgehard, schuur elke naad plat.
Stap 6: snij reliëfs in frame
Plaats de tandwielen en borgringen in het frame en snij de reliëfs voor de stappenmotoren uit. Ik heb de binnenring te groot gemeten en gesneden, dus ik heb hem op maat gemaakt met wat esdoornranden die ik in de winkel had.
Stap 7: vrije ruimte voor Hall-effectsensoren snijden
Snijd een opening door de binnenring voor de minuut-hal-effectsensor en een gleuf voor de uur-hal-effectsensor. Ik gebruikte een beitel, vijl en kleine handzaag om deze spelingen te snijden.
Stap 8: Lijm buitenste ring
Lijm en tape de buitenste ring ter grootte van de minuut borgring.
Stap 9: Afstelschroeven voor Hall-effectsensor snijden
Snijd machineschroeven met een ijzerzaag zodat ze net langer zijn dan de dikte van de borgring en de hall-effectsensorhouder. Snijd een gleuf in de schroefdraad zodat deze met een platte schroevendraaier vanaf het schroefdraaduiteinde kan worden afgesteld.
Stap 10: Lijm ringen op hardboard
Snijd een cirkel van hardboard die net groter is dan de buitenste ring. Lijm de buiten- en binnenring op de hardboardplaat. Gebruik de minuutborgring en het ringtandwiel om de binnenring te plaatsen. Let er beter op dan ik om de binnenring niet achterstevoren vast te lijmen. Afbeelding twee toont een nieuwe sleuf voor een minuut-hal-effectsensor.
Gebruik een schijfschuurmachine om het hardboard tot de maat van de buitenste ring af te knippen.
Stap 11: Lijm de binnenste schijf
Lijm de binnenschijf op zijn plaats met behulp van de uurborgring en het tandwiel om de binnenschijf te plaatsen.
Stap 12: Bevestig fineer
Snijd een strook fineer die breder is dan de klok diep en lang genoeg is om rond de klok te wikkelen (3,14 * diameter van de klok, geeft de benodigde lengte terug. Voeg een inch toe om er zeker van te zijn dat je genoeg hebt.) Droog het fineer op op lengte gesneden. Breng voldoende lijm aan op het fineer en klem op zijn plaats met een riemklem. Laat een paar uur drogen om de hechting te verzekeren.
Stap 13: Fineer bijsnijden
Knip met een scherpe beitel het overtollige fineer van de voor- en achterkant van de klok af.
Stap 14: Fineer snijden
Er zaten scheuren in mijn fineer. Om het gemakkelijker te maken om mee te werken, heb ik schilderstape aangebracht om het bij elkaar te houden. Snijd met een x-acto-mes in een kompas het fineer net groter dan het gezicht van de klok.
Stap 15: Lijm fineer
Gebruik de uitgesneden ringen om de druk over de wijzerplaat van de klok te verdelen. Breng voldoende lijm aan op de niet-tape-kant van het fineer. Oriënteer de nerf verticaal op de wijzerplaat en breng veel klemmen aan die ze stuk voor stuk strakker aandraaien. Dit zorgt ervoor dat het fineer niet verschuift en gelijkmatig over het gezicht wordt gedrukt.
Ik gebruikte een paar platte planken aan de voorkant van de klok en wat cauls op de achterkant.
Stap 16: schuren en afwerken
Verwijder voorzichtig het overtollige fineer van de wijzerplaat met schuurpapier en schuur vanaf korrel 220 tot korrel 600.
Breng tussen de 10 en 20 lagen lak aan. Dit zal het oppervlak opbouwen waar het kogellager langs zal rijden. Onvermijdelijk als gevolg van stof en andere deeltjes in de lucht, denk ik dat er lijnen langs het pad van elk kogellager zullen verschijnen. Het aanbrengen van meer afwerklagen moet dit zo lang mogelijk uitstellen. Het zal ook toekomstige overspuiten gemakkelijker maken. Ik zal deze stap bijwerken als er ooit lijnen op mijn klok verschijnen.
Stap 17: Stroom installeren
Boor met een boor van 27/64 inch een gat in de onderkant van de klok en schroef de stekker op zijn plaats.
Stap 18: elektronica monteren
Bevestig stepper drivers en real-time klok aan het elektronische bord. Ik moest een manier vinden om de Arduino vast te zetten, zodat er gaten werden geboord en een gleuf werd gesneden voor een ritssluiting. Deze functies zijn toegevoegd aan het bestand in stap 22.
Stap 19: Soldeer en sluit elektronica aan
Volg het blokschema en soldeer alle componenten aan elkaar. Heet lijm de ringen op hun plaats en zet eventuele losse draden ook vast met hete lijm.
Stap 20: Achterplaat
Maak de achterplaat door nog een cirkel 1/2 inch groter dan het gezicht van de klok en een ring met dezelfde binnendiameter als de achterkant van de klok te snijden. Lijm de ring en cirkel samen met enkele veerklemmen.
Eenmaal droog, schrijf een lijn die 1/8 inch groter is dan de binnenring en trim op maat met behulp van de lintzaag of schijfschuurmachine.
Snijd een sleuf van 1 inch lang 1/4 inch breed aan de bovenkant van de achterkant met behulp van een router of boren. Verzink vier gaten om de achterkant in het frame van de klok te bevestigen.
Breng zwarte spuitverf aan en bevestig deze na droging aan de klok.
Stap 21: Arduino-code
De arduino-code is zo goed mogelijk becommentarieerd. Houd er rekening mee dat ik geen programmeur ben, ik heb minimale arduino-ervaring (wees aardig). De code wordt continu gecontroleerd om te zien of de huidige tijd overeenkomt met de "Reset Time". Omdat ik geen manier kon bedenken om de huidige tijd in stappen te vertalen, corrigeert het zichzelf slechts eenmaal per dag (standaard middernacht). Om middernacht draaien de tandwielen naar de middernachtpositie, wacht dan tot 00:01 en ga dan verder vanaf daar. Zoals het er nu uitziet, verliest de klok slechts ongeveer 5 seconden over een periode van 24 uur.
U moet de Stepper- en RTClib-bibliotheken geïnstalleerd hebben.
Ik weet dat de code kan worden geoptimaliseerd door iemand met meer ervaring dan ikzelf. Als je de uitdaging aankunt, maak dan dit project voor jezelf opnieuw en deel je kennis.
#erbij betrekken
#include "RTClib.h" RTC_DS1307 rtc; #define oneRotation 2038 // het aantal stappen in één omwenteling van 28BYJ-48 stappenmotor Stepper hourHand (oneRotation, 3, 5, 4, 6); Stepper minuteHand (één rotatie, 7, 9, 8, 10); #define hourStopSensor 12 #define minuteStopSensor 11 int endStep = 0; // Tijddeal voor de snelheid van de klok. int setDelay1 = 168; int setDelay2 = 166; int setDelay3 = 5; // Huidige tijd om wiskunde mee te doen. vlotter uur = 0; vlotter mn = 0; zweven sc = 0; // Stel de tijd van de dag in om de klok opnieuw in te stellen (24-uurs formaat). int resetHour = 0; int resetMinuut = 0; // Variabelen om de juiste tijd in te stellen bij het opstarten en resetten. float setTimeStepHour = 0; float setTimeStepMinute = 0; float handDelay = 0; float uurTest = 0; float minuutTest = 0; void setup() { Serial.begin(115200); // Stel real-time klok in en reset hall-effectsensoren. pinMode (hourStopSensor, INPUT_PULLUP); pinMode (minuteStopSensor, INPUT_PULLUP); rtc.begin(); // Uncomment regel hieronder om de tijd in te stellen. // rtc.adjust(DateTime(2020, 2, 19, 23, 40, 30)); // rtc.adjust(DateTime(F(_DATE_), F(_TIME_))); // Stel de topsnelheid van stappenmotoren in. uurHand.setSpeed (15); minutenwijzer.setSpeed(15); // Loop tot minuut- en uurwijzer om 12.00 uur zijn terwijl (digitalRead (hourStopSensor) == LAAG || digitalRead (minuteStopSensor) == LAAG) {if (digitalRead (hourStopSensor) == LAAG) { hourHand.step (2); } anders { vertraging (3); } if (digitalRead(minuteStopSensor) == LAAG) {minuteHand.step (3); } anders { vertraging(4); } } while (digitalRead (hourStopSensor) != LAAG || digitalRead (minuteStopSensor) != LAAG) { if (digitalRead (hourStopSensor) != LAAG) { hourHand.step(2); } anders { vertraging (3); } if (digitalRead (minuteStopSensor)! = LAAG) {minuteHand.step (3); } anders { vertraging(4); } } // Krijg de huidige tijd DateTime nu = rtc.now(); hr = nu.uur(); mn = nu.minuut(); sc = nu.seconde(); // Wijzig naar 12-uurs formaat als (hr >= 12) { hr = hr - 12; } // Kijk welke hand verder over het gezicht moet gaan en gebruik die afstand // om de ingestelde tijd dienovereenkomstig aan te passen. uurTest = uur / 12; minuutTest = mn / 60; if (hourTest > minuteTest) { handDelay = hourTest; } else { handDelay = minuteTest; } // Stel het huidige uur in setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // Stel huidige minuut in setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Test welke hand meer stappen nodig heeft en stel dat in op het langste aantal stappen voor de for-lus. if (setTimeStepHour > setTimeStepMinute) { endStep = setTimeStepHour; } else { endStep = setTimeStepMinute; } for (int i = 0; i <= endStep; i++) { if (i < setTimeStepHour) { hourHand.step(2); } anders { vertraging (3); } if (i < setTimeStepMinute) {minuteHand.step (3); } anders { vertraging(4); } } // Stel de klok in met RPM hourHand.setSpeed(1); minuutHand.setSpeed(1); } void loop () { // Start de lopende lus van de klok. for (int i = 0; i < 22; i++) {minuteHand.step(1); vertraging (setDelay1); // Test voor resettijd, indien klaar om te worden gereset, pauze. if (rtc.now().hour() == resetHour && rtc.now().minute() == resetMinute) { break; } } vertraging (setDelay3); for (int i = 0; i < 38; i++) { hourHand.step(1); vertraging (setDelay1); // Test voor resettijd, indien klaar om te worden gereset, pauze. if (rtc.now().hour() == resetHour && rtc.now().minute() == resetMinute) { break; } for (int i = 0; i <20; i++) {minuteHand.step(1); vertraging (setDelay2); // Test voor resettijd, indien klaar om te worden gereset, pauze. if (rtc.now().hour() == resetHour && rtc.now().minute() == resetMinute) { break; } } } // Reset klok op resettijd if (rtc.now().hour() == resetHour && rtc.now().minute() == resetMinute) { // Verander snelheid van klok hourHand.setSpeed(10); minutenwijzer.setSpeed(10); // Loop tot de minuut- en uurwijzer het middaguur bereikt. while (digitalRead (hourStopSensor) == LAAG || digitalRead (minuteStopSensor) == LAAG) {if (digitalRead (hourStopSensor) == LAAG) {hourHand.step (2); } anders { vertraging (3); } if (digitalRead(minuteStopSensor) == LAAG) {minuteHand.step (3); } anders { vertraging(4); } } while (digitalRead (hourStopSensor) != LAAG || digitalRead (minuteStopSensor) != LAAG) { if (digitalRead (hourStopSensor) != LAAG) { hourHand.step(2); } anders { vertraging (3); } if (digitalRead (minuteStopSensor)! = LAAG) {minuteHand.step (3); } anders { vertraging(4); } } // Wacht hier tot de resettijd is verstreken. while (rtc.now().minute() == resetMinute) { delay(1000); } // Krijg de huidige tijd DateTime nu = rtc.now (); hr = nu.uur(); mn = nu.minuut(); sc = nu.seconde(); // Wijzig naar 12-uurs formaat als (hr>= 12) { hr = hr - 12; } // Kijk welke hand verder over het gezicht moet gaan en gebruik die afstand // om de ingestelde tijd dienovereenkomstig aan te passen. uurTest = uur / 12; minuutTest = mn / 60; if (hourTest > minuteTest) { handDelay = hourTest; } else { handDelay = minuteTest; } // Stel het huidige uur in setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // Stel huidige minuut in setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Test welke hand meer stappen nodig heeft en stel dat in op het langste aantal stappen voor de for-lus. if (setTimeStepHour > setTimeStepMinute) { endStep = setTimeStepHour; } else { endStep = setTimeStepMinute; } for (int i = 0; i <= endStep; i++) { if (i < setTimeStepHour) { hourHand.step(2); } anders { vertraging (3); } if (i < setTimeStepMinute) {minuteHand.step (3); } anders { vertraging(4); } } uurHand.setSpeed(1); minuutHand.setSpeed(1); } }
Stap 22: STL-bestanden
U moet de volgende hoeveelheden van de bestanden afdrukken:
- 1 - uur Ring Gear Segment-magneet
- 6 - Uur Ring Gear Segment Basis
- 1 - Uur borgring Segment Stepper Mount
- 6 - Uur borgringsegment Basis
- 1 - uur Hall-effect sensorhouder
- 1 - Minuut Ring Gear Segment-magneet
- 7 - Minute Ring Gear Segment Basic
- 1 - Minute borgring Segment Stepper Mount
- 6 - Minuut borgringsegment Basis
- 1 - Minuut Hall-effect sensorhouder
- 2 - Tandwiel
- 1 - Elektronica montage
Stap 23: Solidworks-bestanden
Dit zijn de originele Solidworks-bestanden die zijn gebruikt om de STL's te maken die in de vorige stap zijn gevonden. Voel je vrij om mijn bestanden te bewerken en te wijzigen zoals je wilt.
Stap 24: Conclusie
Deze klok is beter geworden dan ik had verwacht. Met minimale Arduino-ervaring ben ik blij met hoe het is geworden en hoe nauwkeurig het is. Het ziet er geweldig uit en functioneert precies zoals ik had gehoopt.
Aanbevolen:
Betoverende videofeedback-mandala: 6 stappen
Betoverende video-feedback-mandala: in deze Instructable laat ik je zien hoe je een betoverende, generatieve video-mandala kunt maken met alleen een camera en een monitor, die je meestal voor ongeveer $ 50 in een kringloopwinkel kunt vinden. Het beeld op het scherm wordt gemaakt met niets
Wandklok in kleur 7 stappen (met afbeeldingen)
Kleur wandklok: deze keer presenteer ik u een analoge wandklok in kleur voor kinderen met led-strips. De basis van de klok is om drie led-strips en verschillende kleuren te gebruiken om de tijd weer te geven: in de ronde led-strip is de groene kleur gebruikt om de uren te tonen, de
Spelen met de hand-wandklok: 14 stappen
Spelen met hand-wandklok: Elektronische hand-wandklok (commerciële markeringskwarts) is tegenwoordig niets bijzonders. Het kan in veel winkels worden gekocht. In sommige zijn ze extreem goedkoop; met een prijs van ongeveer €2 (50CZK). Die lage prijs kan een motivatie zijn om de
O-R-A RGB Led Matrix Wandklok en meer **bijgewerkt juli 2019**: 6 stappen (met afbeeldingen)
O-R-A RGB Led Matrix Wandklok en meer **bijgewerkt juli 2019**: Hallo. Hier ben ik met een nieuw project met de naam O-R-AIt is een RGB LED Matrix-wandklok die het volgende weergeeft: uur: minuut temperatuur vochtigheid huidige weersomstandigheden pictogram Google Agenda-evenementen en herinneringsmeldingen van 1 uur op een specifiek tijdstip waarop wordt weergegeven:
Een wandklok lichtgevende wijzers en tijdsintervalmarkeringen geven: 14 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Hoe geef je een wandklok lichtgevende wijzers en tijdsintervalmarkeringen: We wilden een slaapkamerwandklok met lichtgevende wijzers en een weergave van intervallen van vijf minuten en een kwartier. Het moest moeiteloos leesbaar zijn vanuit het bed en de helderheid moest de hele nacht duren. De lichtgevende verf die op moderne klokken wordt gebruikt, neigt