Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: 3D-gedruckte Teile
- Schritt 2: Vorbereiten des CNC-Schrittmotorschilds
- Schritt 3: Schrittmotor-Modifikationen
- Schritt 4: Hinzufügen von RTC und Schaltern
- Schritt 5: Schaltplan
- Schritt 6: Vorbereiten der Holzrutschen
- Schritt 7: Lasergravur der Zahlen
- Schritt 8: Hinzufügen von Zahnstangen zu Holzrutschen
- Schritt 9: Zusammenbau der Uhr
- Schritt 10: Software
- Schritt 11: Betrieb
- Schritt 12: Fazit
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Ich genieße es, interessante Uhren zu entwerfen und zu bauen und bin immer auf der Suche nach einzigartigen Möglichkeiten, die Zeit anzuzeigen. Diese Uhr verwendet 4 vertikale Folien, die die Zahlen enthalten. Vier Schrittmotoren positionieren die Schieber so, dass die richtige Uhrzeit im Anzeigebereich der Uhr angezeigt wird. Die Stepper werden mit einem Arduino Uno mit CNC-Schild gesteuert. Es verwendet ein Adafruit PCF8523 RTC-Board, um die Zeit zu halten. Das Gehäuse und die mechanischen Aspekte sind alle 3D-gedruckt und die Dias mit den Zahlen bestehen aus Holz mit lasergravierten Zahlen. Ich habe 3D-gedruckte Zahnstangen und Ritzel verwendet, die auf der Rückseite der Holzrutschen montiert sind, um die Rutschen nach oben und unten zu bewegen. Das Zahnstangen- und Ritzelsystem wurde von diesem Linearbewegungsgerät von Trigubovich auf Thingiverse abgeleitet.
Kryptische Version
Ich habe zwei Versionen gemacht, eine mit normalen Ziffern und eine kryptische Version, die auf dem Cryptic Calendar Instructable von cfb70 basiert.
Lieferungen
- Ardunio Uno
- CNC-Motorschild
- A4988 Motortreiber (4 Stück)
- Adafruit PCF8523 RTC
- Stepper 28BYJ 5V (4 Stück)
- Stromanschluss - Fasstyp
- Drucktastenschalter (2 Stück)
- Netzteil 12V
- Verschiedene 3mm Schrauben und Muttern
- 2mm Schrauben für RTC-Platine (2 Stück)
- 1,5 Bretter aus 4/4 Hartholz (ich habe Birdseye Maple verwendet)
Schritt 1: 3D-gedruckte Teile
Es gibt insgesamt 14 - 3D-gedruckte Teile. Ich habe sie mit PLA auf einem Prusa i3 Mk3-Drucker gedruckt.
- Motorträger
- Ritzel (4 Stück)
- Zahnstangen (Menge 7)
- Rückseite
- Lünette
Die Objektträgergestelle waren zu lang, um auf mein 3D-Druckerbett zu passen, also brach ich sie in zwei Hälften und benutzte eine Schwalbenschwanzverbindung, um die beiden Hälften (A & B) miteinander zu verbinden.
- Zahnstangenführung A - 500 mm (2 Stück)
- Zahnstangenführung B - 500 mm (2 Stück)
- Zahnstangenführung A - 300 mm (2 Stück)
- Zahnstangenführung B - 300mm
Die STL-Dateien für die Slide Clock finden Sie unter
Schritt 2: Vorbereiten des CNC-Schrittmotorschilds
Hinzufügen der A4988 Stepper-Treiber
Das CNC-Schrittmotorschild kann verschiedene Arten von Schrittmotortreibern verwenden. Ich verwende die Pololu A4988 Stepper-Treiber. Ich fahre die Motoren mit Vollschritten.
Stellen Sie nach der Installation unbedingt die Vref-Spannung ein, um den zu den Motoren fließenden Strom zu begrenzen. Ich habe Vref auf 0,15 V eingestellt und den A-Motor auf unabhängig eingestellt
Der Motorschild unterstützt 4 Motoren, der "A"-Motor kann als zweiter Motor angetrieben werden, der einen der primären X-, Y- oder Z-Motoren nachahmt, oder er kann ein unabhängiger Motor sein. Für die Slide Clock sollte es unabhängig sein und wird von D12 und D13 vom Arduino gesteuert.
Um es unabhängig zu machen, müssen Jumper wie auf dem Foto oben gezeigt installiert werden, um die A. Stp- und A. Dir-Pins mit D12 und D13 zu verbinden.
Schrittmotorleistung
Die 5V-Schrittmotoren werden tatsächlich mit 12V betrieben. Diese 12-V-Versorgung wird an den Stromanschluss des CNC Motor Shield-Motors angeschlossen.
Stromversorgung des Arduino Uno
Die Stromversorgung des Arduino Uno erfolgt über die 12-V-Versorgung, die an das CNC-Motorschild angeschlossen ist. Der Vin-Pin auf der Abschirmung ist offen und nicht mit einem Header auf der Abschirmung verbunden. So wurde ein Draht vom 12-V-Pluspol angeschlossen und an den Vin-Pin auf der Abschirmung gelötet, wie auf dem Foto oben gezeigt.
Schritt 3: Schrittmotor-Modifikationen
Die 28BYJ Schrittmotoren sind bipolare Motoren und haben einen 5-Pin-Anschluss, das CNC Motor Shield ist für den Antrieb von unipolaren Motoren ausgelegt und hat 4-Pin-Header zum Anschluss der Motoren. Um die Stepper direkt an der Abschirmung zu befestigen, habe ich die Verdrahtung des Steppersteckers modifiziert. Insbesondere die Drähte #2 (rosa) und #3 (gelb) müssen vertauscht werden. Dazu habe ich mit einem kleinen Schraubendreher die Lasche, die den Draht im Steckergehäuse hält, gedrückt und aus dem Gehäuse gezogen und die beiden vertauscht. Ich habe dann den Stecker markiert, um zu wissen, dass er geändert wurde.
Beim Anschließen des Motorsteckers an die Abschirmung wird das rote Kabel nicht verwendet, daher habe ich den Stecker so positioniert, dass nur die Pins 1-4 verbunden waren und der rote Pin 5 schwebt.
Die Slide Clock-Motoren werden wie folgt angeschlossen:
X-Achse = Minuten-SchiebereglerY-Achse = Zehner-Minuten-SchiebereglerZ-Achse = Stunden-SchiebereglerA-Achse = Zehner-Stunden-Schieberegler
Schritt 4: Hinzufügen von RTC und Schaltern
Verbindung zur Echtzeituhr
Die Echtzeituhr Adafruit PFC8523 verwendet I2C, um mit dem Arduino zu kommunizieren, aber das CNC-Motorschild verbindet sich nicht mit den I2C-SDA- und SCL-Pins des Arduino. Um dies zu lösen, habe ich zwei Drahtbrücken mit Stiftsteckern verwendet und sie in die SDA- und SCL-Header-Positionen auf der Arduino-Platine eingefügt und dann die Abschirmung oben angebracht.
Drucktastenanschlüsse
Die beiden Taster sind am Arduino mit A1 und A2 verbunden. Das CNC Motor Shield bringt diese Pins zu einem Header am Rand des Shields und nennt sie Hold and Resume. In diesen Header werden die Switches eingesteckt.
Schritt 5: Schaltplan
Schritt 6: Vorbereiten der Holzrutschen
Ich habe 4/4 Birdseye Maple für die Folien gekauft. Um die richtige Dicke zu erreichen, habe ich das Holz in zwei Hälften gesägt und dann einen Trommelschleifer verwendet, um eine einheitliche Dicke von 3/8 (9,5 mm) für alle anfänglichen Bretter zu erzielen. Ich habe dann einen Endschliff mit 150er Körnung gemacht.
Die Bretter wurden dann gerippt und auf die unten angegebenen Maße zugeschnitten.
- Minutenschieber: 500 mm x 40 mm x 9,5 mm
- Zehner-Minuten-Folie: 300 mm x 40 mm x 9,5 mm
- Stundenschieber: 500 mm x 40 mm x 9,5 mm (wie Minuten)
- Zehnerstunden-Folie: 150 mm x 40 mm x 9,5 mm
Schritt 7: Lasergravur der Zahlen
Vor der Lasergravur der Dias habe ich blaues Malerband auf die Oberseite der Platte aufgetragen. Dies hilft, Anbrennen und Rückstände an den Rändern der Zahlen zu vermeiden.
Ich habe einen 45W Epilog Helix Laser verwendet, der eine Bettgröße von 24 "x 18" hat. Da die Minuten- und Stundendias länger als 18" sind, habe ich alle Dias beim Gravieren um 90 * gedreht. Meine Lasereinstellungen waren Geschwindigkeit 13 und Leistung 90.
Ich habe die gravierten Dias mit Schleifpapier der Körnung 150 und 180 geschliffen, um sie für die Endbearbeitung vorzubereiten.
Eine.dxf für die Zahlen finden Sie im Github-Repository für dieses Projekthttps://github.com/moose408/SlideClock
FinishingNach dem Gravieren habe ich das Holz auf 180er Körnung geschliffen, dann gekochtes Leinöl (BLO) aufgetragen, 10 Minuten gewartet, es abgewischt und 24 Stunden aushärten lassen, dann wieder mit 180er Körnung geschliffen und eine weitere Schicht BLO aufgetragen und abgewischt, 24. gewartet Stunden, geschliffen auf 180 und aufgetragenes Clear Gloss Polyurethane. Nach dem Aushärten habe ich die Körnung von 180 bis 600 geschliffen, um ein schönes Glanzfinish zu erhalten.
Schritt 8: Hinzufügen von Zahnstangen zu Holzrutschen
Die Zahnstangen werden an der Rückseite der Holzrutschen angebracht, sie werden sowohl vertikal als auch horizontal entlang der Rückseite zentriert.
- Für den Minuten- und Stundenschieber müssen die beiden 500-mm-Rackhälften miteinander verbunden werden.
- Für den Zehner-Minuten-Schlitten werden zwei der 300-mm-Rack-Hälften miteinander verbunden.
- Für die Tens of Hours Folie verwende ich eine der beiden Hälften der 300mm Rackrutsche.
Die Verzahnung sollte sich bei Blick auf die Rückseite des Schlittens auf der rechten Seite befinden.
Schritt 9: Zusammenbau der Uhr
Die Montage ist ziemlich einfach. Ich habe 3mm Sechskantschrauben für die gesamte Montage verwendet. Im Folgenden sind die Montageschritte aufgeführt
- Montieren Sie die Stepper am Motorträger
- Fügen Sie die Ritzel zu den Motoren hinzu, sie sind lose und werden vom Zahnstangenschlitten gehalten
-
Elektronik in die hintere Abdeckung einbauen
- Arduino ist mit Schrauben durch die Rückseite und Muttern befestigt, um das Board zu halten
- RTC verwendet zwei 2mm Schrauben in den Kunststoff
- Stromanschluss ist in das Gehäuse eingepresst
- Die Schalter werden in die zwei dafür vorgesehenen Löcher eingebaut.
- Die hintere Abdeckung hat eine Schwalbenschwanzverbindung, die an der Rückseite des Motorträgers befestigt wird, eine Seite biegt sich, damit beide Seiten in die Schwalbenschwänze eingreifen können. 3mm Schrauben werden von vorne eingeschraubt, um die Rückabdeckung zu befestigen.
- Fügen Sie die Lünette hinzu
- Die Zahlenschieber werden in die Schlitze eingelegt und liegen am Rand der Stirnräder auf. Sie werden aktiviert, wenn die Uhr mit Strom versorgt wird.
Auf der Rückseite befinden sich Schlüssellochschlitze, um die Uhr an einer Wand aufzuhängen. Die STL-Dateien enthalten eine optionale L-Halterung, mit der die Uhr zum Testen an einem Tisch oder einer Werkbank befestigt werden kann.
Schritt 10: Software
Den Quellcode finden Sie auf GitHub unter
Bibliotheken
Die Slide Clock verwendet die SpeedyStepper-Bibliothek von Stan Reifel, die unter https://github.com/Stan-Reifel/SpeedyStepper zu finden ist
Ich habe ursprünglich versucht, die AccelStepper-Bibliothek zu verwenden, da sie anscheinend von vielen Leuten verwendet wird. Es funktionierte gut für einen einzelnen Stepper, aber als ich versuchte, alle vier Stepper gleichzeitig zu bewegen, verlangsamte es sich zu einem Kriechen. Also wechselte ich zur SpeedyStepper-Bibliothek und war sehr zufrieden. Ich werde diese Bibliothek in Zukunft für alle meine Stepper-Bedürfnisse verwenden.
Anlaufen
Beim Start sucht der Code nach einem Tastendruck auf der seriellen Schnittstelle.
- Wenn der Benutzer eine Taste drückt, wird ein Debugging-Menü aktiviert, das die manuelle Steuerung aller Schrittmotoren ermöglicht.
- Wenn die serielle Schnittstelle nicht aktiv ist, initialisiert die Software die Uhr, indem sie die Objektträger referenziert und zeigt dann die aktuelle Uhrzeit an.
Referenzieren der Folien
Wenn Sie Schrittmotoren verwenden, müssen Sie diese auf eine "Ausgangsposition" initialisieren, damit die Software die physikalische Position jedes Schlittens kennt. Ursprünglich wollte ich jedem Schieber Hall-Effekt-Sensoren und einen Magneten hinzufügen, um die Ausgangsposition zu erkennen. Dies würde zusätzliche Elektronik erfordern und nachdem ich ein wenig darüber nachgedacht hatte, wurde mir klar, dass ich die Rutsche für die maximale Anzahl von Schritten einfach ganz nach oben fahren kann. Wenn der Schlitten vor der maximalen Anzahl von Schritten dort ankommt, prallt er auf dem Stirnrad und wenn die Motoren stoppen, ruhen alle Schlitten am oberen Ende ihrer Grenze auf dem Stirnrad. Es ist ein wenig laut und kann im Laufe der Zeit zu Verschleiß an den Stirnrädern führen, aber es ist selten genug, dass dies kein Problem sein sollte.
Schritt 11: Betrieb
Starten der Uhr
Wenn die Uhr zum ersten Mal eingesteckt wird, werden alle 4 Folien angezeigt und dann die aktuelle Uhrzeit angezeigt.
Einstellen der Uhrzeit
Um die Uhrzeit einzustellen, halten Sie die blaue Modustaste unten an der Uhr 1 Sekunde lang gedrückt. Der Schieberegler für die Zehnerstunden bewegt sich 1/2 nach oben und unten, um anzuzeigen, dass er ausgewählt ist. Drücken Sie die gelbe Auswahltaste, um die Uhrzeit zu ändern, oder drücken Sie die Modustaste, um zum nächsten Dia (Stunden) zu wechseln. Wiederholen Sie dies, bis die Uhrzeit eingestellt wurde und drücken Sie dann ein letztes Mal die Mode-Taste, um die Uhr zu starten.
Schritt 12: Fazit
Es gibt viele Möglichkeiten, die mit diesem Design erforscht werden könnten. Eine Idee ist, die Zahlen durch Buchstaben zu ersetzen und damit 4-Buchstaben-Wörter anzuzeigen, die Informationen wie das Wetter, die Börse oder Affirmationen vermitteln.
Zum Beispiel möchte meine Frau, dass ich eine Version erstelle, die ihren Arbeitsstatus anzeigt; Besetzt, Frei, Anruf usw. Dies könnte leicht geschehen, indem Sie einfach die Folien austauschen und ein wenig Software ändern. Die Möglichkeiten sind endlos.
Zweiter Preis beim Remix Contest