Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: 3D -tulostetut osat
- Vaihe 2: CNC -askelmoottorisuojan valmistelu
- Vaihe 3: Askelmoottorin muutokset
- Vaihe 4: RTC: n ja kytkimien lisääminen
- Vaihe 5: Kaavio
- Vaihe 6: Puukalvojen valmistelu
- Vaihe 7: Numeroiden laserkaiverrus
- Vaihe 8: Telineiden lisääminen puukalvoihin
- Vaihe 9: Kellon kokoaminen
- Vaihe 10: Ohjelmisto
- Vaihe 11: Käyttö
- Vaihe 12: Johtopäätös
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Nautin suunnittelusta ja rakentamisesta mielenkiintoisia kelloja ja etsin aina ainutlaatuisia tapoja näyttää aika. Tämä kello käyttää neljää pystysuoraa diaa, jotka sisältävät numeroita. Neljä askelmoottoria sijoittaa luistit siten, että oikea aika näkyy kellon näyttöalueella. Steppereitä ohjataan Arduino Unolla, jossa on CNC -kilpi. Se käyttää Adafruit PCF8523 RTC -korttia ajan pitämiseen. Kotelo ja mekaaniset piirteet ovat kaikki 3D -tulostettuja ja numerot näyttävät diat on valmistettu puusta ja laserkaiverretut numerot. Käytin 3D -painettuja teline- ja hammaspyörävaihteita, jotka oli asennettu puukalusteiden taakse, liikuttamaan dioja ylös ja alas. Hammastankojärjestelmä on johdettu tästä Trigubovichin Thingiversesta valmistamasta lineaarisesta liikelaitteesta.
Salaperäinen versio
Tein kaksi versiota, joista yksi käytettiin tavallisia numeroita ja salaperäinen versio, joka perustui cfb70: n Cryptic Calendar Instructable -ohjelmaan.
Tarvikkeet
- Ardunio Uno
- CNC -moottorisuoja
- A4988 Moottorin ohjain (määrä 4)
- Adafruit PCF8523 RTC
- Askelmat 28BYJ 5V (määrä 4)
- Virtaliitin - tynnyrityyppi
- Painonappikytkin (määrä 2)
- Virtalähde 12v
- Muut 3 mm pultit ja mutterit
- 2 mm: n ruuvit RTC -levylle (määrä 2)
- 1,5 lautan jalkaa 4/4 kovapuuta (käytin Birdseye Maplea)
Vaihe 1: 3D -tulostetut osat
Yhteensä on 14 - 3D -tulostettuja osia. Tulostin ne PLA: lla Prusa i3 Mk3 -tulostimella.
- Moottoriajoneuvo
- Hammaspyörävaihteet (4 kpl)
- Hammaspyörät (määrä 7)
- Takakansi
- Kehys
Liukutelineet olivat liian pitkiä mahtuakseni 3D -tulostinpatjaan, joten rikkoin ne puoliksi ja käytin lohenpyrstöliitosta kahden puolikkaan (A & B) yhdistämiseen.
- Rack Slide A - 500 mm (määrä 2)
- Teline B - 500 mm (2 kpl)
- Rack Slide A - 300 mm (määrä 2)
- Teline B - 300 mm
Diakellon STL -tiedostot löytyvät osoitteesta
Vaihe 2: CNC -askelmoottorisuojan valmistelu
A4988 -askelohjaimien lisääminen
CNC -askelmoottorikilpi voi käyttää erilaisia askelmoottoreita. Käytän Pololu A4988 askelohjaimia. Ajan moottoreita täydellä askeleella.
Kun olet asentanut, muista asettaa Vref -jännite rajoittamaan moottorien virtaa. Asetin Vref -asetukseksi.15v Moottorin asettaminen itsenäiseksi
Moottorisuoja tukee neljää moottoria, "A" -moottoria voidaan käyttää toisena moottorina, joka jäljittelee yhtä ensisijaisista X-, Y- tai Z -moottoreista, tai se voi olla itsenäinen moottori. Liukukellolle sen pitäisi olla riippumaton ja sitä ohjaavat Arduinon D12 ja D13.
Jotta ne olisivat itsenäisiä puseroita, on asennettava yllä olevan kuvan mukaisesti, jotta A. Stp- ja A. Dir -nastat liitetään D12- ja D13 -liittimiin.
Askelmoottorin teho
5 V: n askelmoottoreita käytetään itse asiassa 12 V: n jännitteellä. Tämä 12 V: n syöttö on kytketty CNC Motor Shield -moottorin virtaliittimeen.
Virtaa Arduino Unolle
Arduino Unon virransyöttö saadaan 12 voltin virransyötöstä, joka on kytketty CNC -moottorisuojaan. Kilven Vin -tappi on auki eikä sitä ole liitetty kilven otsikkoon. Joten johdin liitettiin 12 V: n positiivisesta liittimestä ja juotettiin kilven Vin -nastaan, kuten yllä olevassa kuvassa.
Vaihe 3: Askelmoottorin muutokset
28BYJ-askelmoottorit ovat bipolaarisia moottoreita ja niissä on 5-napainen liitin. Liittääksesi askelmat suoraan suojaan muutin askelliittimen johdotusta. Johdot #2 (vaaleanpunainen) ja #3 (keltainen) on vaihdettava. Tätä varten käytin pientä ruuvimeisseliä työntääkseni kielekettä, joka pitää johtimen liittimen kotelossa, ja vedin sen ulos kotelosta ja vaihdoin molemmat. Laitoin sitten merkin liittimeen tietääkseni, että sitä on muutettu.
Kun kytket moottorin pistokkeen suojaan, punaista johtoa ei käytetä, joten asetin pistokkeen otsakkeeseen niin, että vain nastat 1-4 oli kytketty ja punainen nasta 5 kellui.
Slide Clock -moottorit kytketään seuraavasti:
X -akseli = minuutin liukusäädinY -akseli = kymmenien minuuttien liukusäädinZ -akseli = tunnin liukusäädinA -akseli = kymmenien tuntien liukusäädin
Vaihe 4: RTC: n ja kytkimien lisääminen
Reaaliaikainen kelloyhteys
Adafruit PFC8523 Real Time Clock käyttää I2C: tä kommunikoidakseen Arduinon kanssa, mutta CNC Motor Shield ei muodosta yhteyttä Arduinon I2C SDA- ja SCL -nastoihin. Tämän ratkaisemiseksi käytin kahta langallista hyppääjää, joissa oli nastaliittimet, ja asetin ne Arduino -levyn SDA- ja SCL -otsikoihin ja asensin sitten suojan päälle.
Painonappiliitännät
Nämä kaksi painiketta on liitetty Arduinon A1- ja A2 -painikkeisiin. CNC -moottorisuoja tuo nämä nastat kilven reunassa olevaan otsikkoon ja kutsuu niitä pitoon ja jatka. Kytkimet on kytketty tähän otsikkoon.
Vaihe 5: Kaavio
Vaihe 6: Puukalvojen valmistelu
Ostin dioille 4/4 Birdseye Maple. Saavuttaakseni oikean paksuuden sahasin puun puoliksi ja käytin sitten rumpuhiomakoneella tasaisen paksuuden 9,5 mm 3/8 tuumaa kaikille ensimmäisille levyille. Tein sitten viimeistelyhionnan 150 karkeudella.
Levyt repesivät ja leikkaavat alla olevien mittojen mukaan.
- Minuutin dia: 500 mm x 40 mm x 9,5 mm
- Kymmenen minuutin dia: 300 mm x 40 mm x 9,5 mm
- Tunnit dia: 500 mm x 40 mm x 9,5 mm (sama kuin minuutit)
- Kymmenien tuntien dia: 150 mm x 40 mm x 9,5 mm
Vaihe 7: Numeroiden laserkaiverrus
Ennen lasien kaiverrusta levitin levyn yläpinnalle sinistä maalarinteippiä. Tämä auttaa estämään palamista ja jäännöksiä numeroiden reunoilla.
Käytin 45W Epilog Helix Laseria, jonka sängyn koko on 24 "x 18". Koska minuuttien ja tuntien diat ovat pidempiä kuin 18 "pyöritin kaikkia dioja 90* kaiverruessani. Laserasetukseni olivat nopeus 13 ja teho 90.
Hioin kaiverretut diat 150 ja 180 hiekkapaperilla viimeistelyn valmistelemiseksi.
A.dxf numeroille löytyy tämän projektin Github -arkistostahttps://github.com/moose408/SlideClock
Kaiverruksen jälkeen hiomasin puun 180 karkeuteen ja levitin sitten keitettyä pellavansiemenöljyä (BLO), odotin 10 minuuttia pyyhkimällä sen pois ja annan sen kovettua 24 tuntia, sitten hioin uudelleen 180 karkeudella ja levitin toisen kerroksen BLO: ta ja pyyhin, odotin 24 tuntia, hiottu 180 asteeseen ja levitetty kirkkaan kiiltävällä polyuretaanilla. Kun se oli kovettunut, hioin rakeet 180: stä 600: een saadakseni kauniin kiillon.
Vaihe 8: Telineiden lisääminen puukalvoihin
Hammavaihteet lisätään puukalusteiden takaosaan, ne on keskitetty taakse sekä pysty- että vaakasuunnassa.
- Minuutin ja tunnin liukua varten kaksi 500 mm: n telineen puoliskoa on yhdistettävä toisiinsa.
- Kymmeniä minuuteja varten kaksi 300 mm: n telineestä on liitetty yhteen.
- Kymmenien tuntien diaan käytän toista 300 mm: n telineen puolikkaista.
Hammaspyörän hampaiden tulee sijaita oikealla puolella, kun katsot luistin takaosaa.
Vaihe 9: Kellon kokoaminen
Kokoonpano on melko suoraviivaista. Käytin 3 mm kuusiokoloruuvia koko kokoonpanossa. Seuraavassa luetellaan kokoonpanovaiheet
- Asenna askelmat moottorin telineeseen
- Lisää pinon -hammaspyörät moottoreihin, ne ovat löysällä ja telineen luisti pitää ne paikallaan
-
Asenna elektroniikka takakanteen
- Arduino on kiinnitetty ruuveilla selän läpi ja muttereilla laudan pitämiseksi
- RTC käyttää kahta 2 mm: n ruuvia muoviin
- Virtaliitin on puristettu koteloon
- Kytkimet on asennettu kahteen reikään.
- Takakannessa on lohenpyrstöliitos, joka kiinnittyy moottoritelineen taakse, ja toinen puoli taipuu, jotta molemmat puolet voivat tarttua lohenpyrstöihin. 3 mm: n pultit ruuvataan etupuolelta takakannen kiinnittämiseksi.
- Lisää kehys
- Numerolevyt asetetaan uriin ja lepää hammaspyörien reunalla. Ne kytkeytyvät päälle, kun kelloon kytketään virta.
Takakannessa on avaimenreiät, joissa kello ripustetaan seinälle. STL-tiedostot sisältävät valinnaisen L-kiinnikkeen, jota voidaan käyttää kellon kiinnittämiseen taulukkoon tai työpöydälle testausta varten.
Vaihe 10: Ohjelmisto
Lähdekoodi löytyy GitHubista osoitteessa
Kirjastot
Diakello käyttää Stan Reifelin SpeedyStepper-kirjastoa, joka löytyy osoitteestahttps://github.com/Stan-Reifel/SpeedyStepper
Yritin alun perin käyttää AccelStepper -kirjastoa, koska näyttää siltä, että monet ihmiset käyttävät sitä. Se toimi hyvin yhdellä askelmalla, mutta kun yritin siirtää kaikkia neljää askelmaa samanaikaisesti, se hidastui ryömintäksi. Joten vaihdoin SpeedyStepper -kirjastoon ja olin erittäin tyytyväinen. Käytän tätä kirjastoa kaikkiin stepper -tarpeisiini jatkossa.
Aloittaa
Käynnistyksen yhteydessä koodi etsii näppäinpainallusta sarjaportista.
- Jos käyttäjä painaa näppäintä, se ottaa käyttöön virheenkorjausvalikon, joka mahdollistaa kaikkien askelmoottoreiden manuaalisen ohjauksen.
- Jos sarjaportissa ei ole toimintaa, ohjelmisto alustaa kellon asettamalla dioja ja näyttää sitten nykyisen ajan.
Diojen esittely
Kun käytät askelmoottoreita, sinun on alustettava ne "kotiasentoon", jotta ohjelmisto tietää kunkin dian fyysisen sijainnin. Aioin alun perin lisätä halliefektianturit ja magneetin jokaiseen diaan kotiasennon havaitsemiseksi. Tämä vaati lisäelektroniikkaa ja pienen miettimisen jälkeen tajusin, että voin vain ajaa liukumäen aina yläosaan maksimiaskelmäärän saavuttamiseksi. Jos luisti pääsee sinne ennen enimmäismäärää askelia, se pomppii hammaspyörään ja kun moottorit pysähtyvät, kaikki luistit lepäävät hammaspyörällä raja -arvon yläosassa. Se on hieman meluisa ja saattaa ajan myötä aiheuttaa hammaspyörien kulumista, mutta se on riittävän harvinaista, jotta siitä ei pitäisi aiheutua ongelmia.
Vaihe 11: Käyttö
Kellon käynnistäminen
Kun kello kytketään ensimmäisen kerran, se näyttää kaikki neljä diaa ja näyttää sitten nykyisen ajan.
Kellonajan asettaminen
Voit asettaa ajan painamalla kellon pohjassa olevaa sinistä tilapainiketta 1 sekunnin ajan. Kymmenien tuntien liukusäädin liikkuu ylös ja alas 1/2 osoittaakseen, että se on valittu. Muuta aikaa painamalla keltaista valintapainiketta tai siirry seuraavaan diaan (tunteja) painamalla Tila -painiketta. Toista kunnes on asetettu ja käynnistä sitten kello painamalla Mode -painiketta viimeisen kerran.
Vaihe 12: Johtopäätös
Tämän suunnittelun avulla voidaan tutkia monia vaihtoehtoja. Yksi idea on korvata numerot kirjaimilla ja käyttää sitä näyttämään nelikirjaimisia sanoja, jotka välittävät tietoja, kuten sää, osakemarkkinat tai vakuutukset.
Esimerkiksi vaimoni haluaa minun tekevän version, joka näyttää hänen työtilansa; Varattu, ilmainen, puhelu jne. Tämä voidaan helposti tehdä vain vaihtamalla dioja ja vaihtamalla pieni ohjelmisto. Mahdollisuudet ovat rajattomat.
Remix -kilpailun toinen palkinto