Innholdsfortegnelse:

SMÅ 3D-trykte OLED-armbåndsur: 6 trinn
SMÅ 3D-trykte OLED-armbåndsur: 6 trinn

Video: SMÅ 3D-trykte OLED-armbåndsur: 6 trinn

Video: SMÅ 3D-trykte OLED-armbåndsur: 6 trinn
Video: Парусная навигация и связь в море / Sextant-Ipad, SSB-Iridium Go! Патрик Чилдресс Парусный спорт 2024, Juli
Anonim
LITT 3D-trykt OLED armbåndsur
LITT 3D-trykt OLED armbåndsur
Liten 3D-trykt OLED armbåndsur
Liten 3D-trykt OLED armbåndsur

Hei, liker du å bygge din egen armbåndsur?

Det er absolutt en utfordring å bygge et lite DIY armbåndsur som dette. Fordelen er gleden av å ha gjort din egen idé virkelig og være stolt over å nå dette ferdighetsnivået …

Grunnen til at jeg skulle lage min egen klokke var at min billige smartklokke-angitt for å være vanntett-ga opp sitt stakkars spøkelse en gang dyppet ned i et svømmebasseng …: (Så jeg var sint for å kjøpe klokker (enda et dyrt "solarium) "-klokken ga også opp-det proprietære batteriet i liten størrelse hadde ingen sjanse til å bli byttet ut …).

På den andre siden var eksisterende DIY-Watch-prosjekter for min smak for det meste for tunge eller for rustikke-så jeg bestemte meg for å bygge min egen klokke, og hadde muligheten til å inkludere mine foretrukne funksjoner!

Hvis du vil, kan du endre programvaren for å realisere dine egne ideer: Jeg har kommentert hver linje (avhengig av valgt program mellom 700-800 linjer …)-Men vær advart: Dette prosjektet er virkelig utfordrende og absolutt ikke for nybegynnere ! Den lille og lette størrelsen (30 x 30 x 10 mm) krever presis håndtering av 3D-trykt etui og forsiktig lodding av det tosidige brettet: selv om det finnes mulighet for PCB-bestilling av brettet (Eagle- og Gerber-filer inkludert) her gjorde jeg det med min spesialiserte Toner-Direct-metode-instruksjon inkludert derfor også her).

Egenskaper for klokken:

-128x64px OLED-displayet viser en digital og analog klokke, aktivert med høyre knapp, som viser dato, klokkeslett, batterinivå og håndleddetemperatur. Alternativt (hvis du vil) kan det inkludere en alarm eller en tidtaker.

-En komplett månedskalender vises ved å trykke på Venstre-knappen mer enn 0,6 sekunder, og fremhever den faktiske ukedagen.

- Ved å trykke kort på venstre knapp velger du en enkel meny for å velge dato, klokkeslett (og alarm eller tidtaker, hvis du velger å inkludere det i programmet), verdier som skal angis med høyre knapp.

-Ved å trykke to ganger på høyre knapp aktiveres en liten LED- "Torch" -Light, (bra for svarte netter).

-Mellom 22.00 og 07.00 dempes OLED-skjermen automatisk, (se der, med inkludert spesiell dimfunksjon!), Slik at den ikke blir blind om natten.

- Li-ion-batteriet varer nesten 2 år, forutsatt at displayet+elektronisk bruker omtrent 25mA som varer i 5 sekunder, og viser klokken omtrent 10 ganger per dag.

Trinn 1: Deleliste

Deleliste
Deleliste
Deleliste
Deleliste

Nødvendige verktøy:

Hvis du liker å eksperimentere selv med hard- og programvaren, trenger du:

• Brødbrett 8,2 x 5,5 cm AliExpress

• 3, 3V regulert strømkilde, som dette på skjemaet ovenfor eller en lignende, hentet f.eks. fra en 5V-USB-kontakt (500mA). ⇒ AMS1117-Adj ⇒ ebay

• SMD SOIC-8 til DIP-8 pinners adapter for RTC-Chip ebay

• Atmel ISP -programmerer liker "USBTiny" - AliExpress

• Arduino Pro Mini AliExpress

• Breadboard Jumper-Wires Banggood

(Elektronisk-) Deler som trengs:

• ⇒ se Html-BOM-fil for elektroniske deler (nedlasting).

• Det tosidige kortet for selve klokken: ⇒ se trinn "Hvordan lage et tosidig brett med Toner-Direct-metoden".

• 1x - Batteri ø24 x 3mm - Litiumbatteri 3, 2V (knappcelle) - CR2430 - AliExpress

• #25 mm Kapton / Polymid-tape for isolasjon mellom brett / batteri og OLED-kort

• 1x armbåndsrem 20 mm - jeg anbefaler en "Milanaise rustfritt stål armbåndsurrem" - ebay

• 3D-trykt sak: ⇒ se Nedlastingsfil med instruksjoner (trinn).

Ett brett av to?

Hvis du ønsker å lage ett brett av to (uC, RTC, andre deler OG OLED-styret i ett), kan du bruke kretskortet + oppsettet for SSD1306-I2C-skjermen (se Last ned: OLED-Display_SSD1306-I2C-Circuit.zip). Bruk de to hele lagene og isoler dem mot display og batteri med Kapton Tape, så klokken kan være omtrent 1,5 mm flatere ennå.

Trinn 2: Elektronisk krets

Elektronisk krets
Elektronisk krets
Elektronisk krets
Elektronisk krets
Elektronisk krets
Elektronisk krets
Elektronisk krets
Elektronisk krets

Først av alt må vi kjenne det grunnleggende:

Denne OLED-klokken er laget med en DS3231 RTC-chip (sanntidsklokke i en mindre SMD SO-8-form), heksen styres av den velkjente ATMega328P- (Arduino) -µController, og-i motsetning til normalt brukt myk -StandBy (av µController) - denne klokken er utstyrt med en komplett elektrisk avstengning etter 5 sekunder, i tillegg til RTC. Jeg gjorde denne nedleggelsen med to mosfet-transistorer, som fungerer som en "vippebryter" i forbindelse med uC og høyre knapp (D8).

To små trykknapper på begge sider av saken (D6 og D8) fungerer som innganger, heksa håndterer menyen og klokkens innstillinger.

Klokken har en dato+klokkeslettvisning, (alarmvisning - hvis den er inkludert i programmet), en lommelykt og en kalender for faktisk måned+dag. I den andre. versjon jeg inkluderte en alarm, den kan også erstattes med en timer.

Displayet dempes mellom 23:00 og 07:00 (23:00 og 07:00) om natten.

Funksjonen til de to knappene (på venstre og på høyre side):

• CHANGE-knapp D8, (høyre side), trykk på:

1x = aktivering av uC/Display, så viser tid+dato osv. I omtrent 5 sekunder før den slås av (= displayet er mørkt).

2x = lys opp lommelykten/lommelykten.

3x = gå tilbake til normalmodus (= modus-0).

• SELECT-knapp D6 (venstre side):

Ved å trykke på D6 en gang velger du MODE, ruller modusene fra 1-10, for å endre dato/klokkeslett, osv. (Dow, day, year, time, seconds, alarm … on/off).

Knapp-D8 til høyre hever de valgte MODE-verdiene, sett og lagret ved å velge neste MODUS (med venstre knapp-D6) …

For å endre sekundene, still klokken +1 minutt, og trykk deretter på høyre knapp (D8) på 59 sekunder for å synkronisere med en ekstern tid.

Synkronisering av klokkeslett/dato er også mulig å laste ned PC-tid per batchfil: Seriell-tilkobling til en ekstern Arduino-derfra til de fire I2C-Pins på Clock-OLED. (UC på klokken forblir deaktivert i denne tiden, for dette formålet inkluderte jeg 2 R på 4,7kΩ, R7 og R8 - bro dem hvis de ikke brukes!) …

• Måned / dato -kalender:

Hvis du trykker på venstre knapp (D6) i mer enn 0,6 sekunder, vises en faktisk månedskalender. Ingen selvdeaktivering! Hvis du trykker på en av de to knappene igjen, er kalenderen igjen.

• ALARM: (hvis den er inkludert i programvareprogrammet + utstyrt med en harddisk-diskanthøyttaler eller mikro-piezo-pip)

Kan settes til å pipe i tide hver dag til samme tid (24t, 60m). En stjerne øverst til høyre på displayet indikerer om alarmen er "På" eller ikke. Et nyttig alternativ til alarmprogrammet er kanskje en timer … (å gjøre).

• Batteri:

Batteriet er et CR2430 litiumbatteri (ø24x3mm) med omtrent 300mA effekt. Et batterisymbol indikerer batteriets (analoge) nivå (3, 25V = fullt, 2, 75V = tomt). Klokken jobber med spenninger fra +5, 0V ned til +2, 0V (standard: 3, 0V). Bare Flash-LED fungerer fra maks. +4, 0V ned til +2, 7V. Advarsel: Ikke aktiver den med 5V! - dette er for mye for LED - det går ut på få sekunder, selv om det er utstyrt med en 33Ω -motstand. Absolutt maks. Spenning for prosessoren og RTC er 5, 25V (+5V USB for å programmere uC direkte per ISP, uten oppstartslaster!).

• Temperatur:

RTC har en innebygd temperatursensor (for å korrigere temp. Avvik for den innebygde krystallet), så vi kan bruke den til å vise (håndleddet) temperaturen.

• Blits-LED:

Hvis du endrer knappen CHANGE (D8) to ganger, lyser et relativt sterkt lys "i mørket". Att.: Ingen selvdeaktivering! Bare ved å trykke på denne høyre knappen deaktiveres denne LED -en igjen, og viser normal display i omtrent 5 sekunder.

• Soft-Reset Pin: En Reset-Pin (D7) tilbakestiller alle lagrede data hvis de er jordet (åpent tilfelle: nederst til høyre). Brukes på programmeringstid, kort sagt en "myk tilbakestilling" av alle inngangsverdier …

Kretsen:

Hvis vi ser på skjematikken, til venstre er den nakne "Arduino" µController (ATMega328-P), aktivert med høyre knapp (D8) på inngang D12: Knapp-D8 trekker porten til P-Mosfet ned gjennom motstand R5 og diode D1, så P-Mosfet går "på" og kobler VBAT til VCC: µController+Display får strøm!

For å se "Toggle-Principle of the two Mosfets Jeg har lastet opp denne" Flip-Flop with two Mosfets "(Eagle-files).

Etter 5 sekunder slår µC seg automatisk av gjennom Output-D5, som deaktiverer begge Mosfets, trekker porten til N-Mosfet ned, så R5 (og Gate of P-Mosfet) går "høyt" og P-Mosfet kutter strømmen til µC og OLED-displayet. VCC som går ned holder porten til N-Mosfet nede gjennom R3 og R6 (under gate-terskelspenningen), så kretsen forblir av.

På øvre venstre side ser vi den "forstørrede" VBAT-spenningen gjennom en enkel hvit LED med omtrent 2,5V, redusert med 100k fra VBAT (ca. 3, 2V) til omtrent 1, 1V (maks), som brukes som intern analog inngang for å måle den faktiske batterispenningen.

µController, RTC og OLED-Display kommuniserer gjennom I²C, en enkel og effektiv 2-trådskommunikasjon, implementert per bibliotek.

For å lodde SMD-delene er det nyttig å bruke en liten pinsett med stikkende ender, så det er lettere å håndtere (posisjonering) og lodde deretter med en fin loddetipp, lodde først på den ene siden av SMD -Del forvarme loddepunktet til ca. 330 ° C før du tilfører lavsmeltende og fin tinntråd (ø 0,5 mm) til loddepunktet.

Last ned Circuit + Board-layout:

Trinn 3: Maskinvare: Hvordan lage et tosidig brett med Toner-Direct-metoden

Maskinvare: Hvordan lage et tosidig brett med Toner-Direct-metoden
Maskinvare: Hvordan lage et tosidig brett med Toner-Direct-metoden
Maskinvare: Hvordan lage et tosidig brett med Toner-Direct-metoden
Maskinvare: Hvordan lage et tosidig brett med Toner-Direct-metoden
Maskinvare: Hvordan lage et tosidig brett med Toner-Direct-metoden
Maskinvare: Hvordan lage et tosidig brett med Toner-Direct-metoden

Hvis du liker å kjøpe det tosidige brettet, får du Eagle + (nødvendig) Gerber-filer (nedlasting).

Hvis du liker å lage brettet selv, viser jeg deg en presis metode for å lage et tosidig brett per "TonerDirect".

1. Skriv ut filen "OLED-Clock-2-nl_TonerDirect.pdf" på "Toner Transfer Paper", 2. Klipp ut de to stripene på papiret, en stripe på hver side av brettet, 3. med ø 0,5 mm nåler som stikker nøyaktig de fire hjørnene på brettet (bruk forstørrelsesglass med sterkt lys - det er veldig viktig å stikke nålene med best mulig presisjon midt i de 4 hjørne -viaene!).

4. Skriv ut (på et vanlig blankt papir) filen "OLED-Clock-2-nl_Frame.pdf" og lim resultatet på et tosidig kobberkort (0,5-0,8 mm tykt). Sag brettet ut med ca 2-3 mm mer toleranse (her ca 35 x 35 mm), og bor deretter de 4 hullene nøyaktig på hjørnene med en 0,6 mm bor. Etter dette trinnet fjern papiret med aceton og slip de to kobbersidene på brettet med fint slipepapir (min. 400). Etter dette trinnet, ikke berør brettet lenger med tomme fingre! Tillatt er å gripe den sidelengs (med rene fingre).

5. Merk den kongruente retningen til toner-overføringspapiret på de to ikke-trykte sidene!

6. Stikk nålene gjennom papiret, deretter gjennom brettet og til slutt stikker du dem gjennom motsatt papir.

7. Etter å ha fått de tre "lagene" nøyaktig kongruente, bytt ut nålene med 4 stykker 0,5 mm kobbertråd, bøyd i den ene enden 90 °, slik at de ikke skyller gjennom. Etter dette trinnet bøyd ledningene på den andre siden 90 ° og kutt endene korte.

8. Så forberedt, dette stykket kan gå 3 ganger gjennom en (modifisert) tonerlaminator, oppvarmet til 200 °!

9. Klipp av de små bitene av 0,5 mm-wire og fjern de resterende trådstøttene. Fjern deretter de to papirene og voilá: toneren sitter godt fast på kobberet.

10. Kontroller rene linjer: Hvis en linje er ødelagt, kan vi reparere den med en permanent vanntett penn. I de fleste tilfeller trenger bare større overflater å lukke noen små hull. Ellers (hvis resultatet er utilfredsstillende), fjern toneren med kjøkkenpapir og aceton og gjenta trinn 1-9.

11. Ren etsning: Jeg etser mine DIY-kobberplater med en løsning av natriumpersulfat (en-to teskjeer) med et nivå på omtrent 5 mm vann i en klassisk Pyrex-Dish (1-1, 5L), denne løsningen varmes opp til ca 80 ° C (jeg vet, denne relative høye temperaturen ødelegger persulfatet, men det etser mye raskere som med lavere temperaturer og lager skarpe og rene kanter på få minutter). Jeg lot den gjenværende persulfat -dempingen etter tørking helt skrape ut krystallene og samle dem i en gammel krukke for resirkulering!

11. Kontroller kobberlinjene og overflatene med et forstørrelsesglass.

12. Fjern utstikkingsrammene med en vertikal båndsliper (som i min første instruksjon) og kontrollmål med en vernier-tykkelse: de to knappsidene må være parallelle, ha en avstand på 27,4 mm, men vær forsiktig så du ikke sliper- ut de 2 knappkontaktene!

Trinn 4: Programvare og blinkende

Programmering av brettet:

Programmet er skrevet i C ++, så vi kan endre det med en enkel ASCII-editor, og det trengte, les forklaringene på slutten av hver linje …

Viktig: Vi kan ikke bruke Arduino's Serial-Flashing til å programmere µC, fordi bootloaderen trenger for lang tid mellom "Start" (trykk på knapp D8) og "Display-On". Så vi må blinke den uten en Bootloader (brukes normalt på alle Arduino -kort). Så, vi programmerer vårt styre per (Atmel) ISP-kontakt + programmerer. ISP-kontakten som er laget her (ombord) er laget med 6 mini-kontakt-kontakter som er brutt ut av en rad og loddet inne på høyre side av brettet, deretter koblet til en (liten!) 6-pinners stang (2,54 mm- grid), som på det siste bildet i forrige trinn.

Du trenger ikke bare Arduino-GUI, men noen få biblioteker mer (for å laste ned) for å kompilere programmet:

- Wire -biblioteket (inneholdt i Arduino -programmet) - for kommunikasjon per I²C mellom to. µC, RTC og OLED-display

- EEPROM -bibliotek (også inneholdt i Arduino -programmet) - for å lagre flere verdier på µController

- "Adafruit_GFX" + "Adafruit_SSD1306" - begge bibliotekene for å styre OLED -skjermen

- EnableInterrupt- for å jobbe med Arduino's Port/Pin-Interrupts (⇒ Knappinnganger)

-DS3231-RTC-chip: trenger ikke et bibliotek, jeg har skrevet ut funksjonene til flere biblioteker som finnes på Internett og er enklere å bruke. De er inkludert på slutten av hovedprogrammet ("OLED-Clock-2-nl.ino").

Oppmerksomhet: Adafruit-biblioteket har (frem til nå) egentlig ikke en effektiv håndtering for å dimme OLED-brikken, så jeg kopierte en streng fra Internett og limte den på slutten av "Adafruit_SSD1306" -biblioteket, med heks kan man dimme skjerm, litt mer nyttig … (⇒ se nedlastingen for tillegg "Slik stiller du inn lysstyrken på OLED display.zip", her på slutten).

Arbeider med 3, 2V - så bruk den interne 8Mhz (uten 16Mhz -Crystal):

ΜC her er rask nok til å fungere uten en 16MHz-krystall, så (med 3,2V fra batteri) kan vi bruke den interne forhåndsprogrammerte 8MHz (en færre del til lodding:-).

Etter at du har lastet ned og samlet det medfølgende programmet "OLED-Clock-2-nl.ino" i Arduino-GUI, (nedlasting), kopierer du.hex-resultatet til avrdude-mappen.

(den kompilerte.hex-filen finnes i PCens midlertidige mappe, der i en undermappe som:

"C: / Tmp / arduino_build_646711 / xyz.ino"-der finner du den ønskede kompilerte hex-filen, i dette tilfellet vår "OLED-Clock-2-nl.ino.hex".

Hexfilen kan nå bli blinket (her "manuelt" per avrdude på en kommandolinje) gjennom en ISP-kontakt, men du trenger en programmerer som USBTiny eller en AVRISP2 med en 6-pinners ISP-kontakt (min ISP-kontakt er DIY-out av en liten 6-pins-rad-kontakt som vist på mitt siste foto, slik at du kan omprogrammere tavlen når som helst om nødvendig).

Koble nå 6-pinners programmereren til brettet (jeg antar kjent erfaring med Arduino-kort) …

Tilkoblet, i et kommandovindu (i Windows bytt til avrdude-mappen, og skriv deretter cmd)-lim inn følgende linje:

avrdude.exe -C avrdude.conf -v -V -p m328p -c usbtiny -e -D -U flash: w: OLED -Clock -2 -nl.ino.ino.hex: i

Etter at blinkingen av µController er fullført, må det stilles inn passende "sikringer" (for µController):

avrdude -p atmega328p -c usbtiny -U lfuse: w: 0xFF: m -U hfuse: w: 0xD7: m -U efuse: w: 0xFF: m -U lock: w: 0x3F: m

Hvis du ønsker å endre en av disse innstillingene, kan du finne mer om dette med denne online sikringskalkulatoren.

Trinn 5: Saken

Saken
Saken
Saken
Saken

Ikke bare å lage det elektroniske kortet er utfordrende, ikke mindre er et lite og lett etui for dette kortet!

Her kan du laste ned den planlagte esken, med en mulig CR2032 batteriadapter, for å sette inn et mer vanlig brukt batteri. Elektronikk-kortet og batteriet må isoleres helt fra hverandre med et Kapton-Polimid-tape eller et sterkt alternativ. Ikke bruk enkelt tape, den er for svak til å isolere sterkt og kan forårsake kortslutning av batteriet!

Jeg har eksperimentert med mange oppsett (for 3D-trykt PLA) og konkludert med en veggtykkelse på ca 1,3 mm. I denne formen holder kreftene som kommer fra håndleddstroppen effektivt gjennom begge sider av saken i forbindelse med snap-in-lokket. De andre sidene kan være tynnere, omtrent 1,0 mm …

Så det vil ikke være et stort problem å endre høyden på saken (i tilfelle du endrer brettet …?).

Hvis du også vil ha en alarm eller en tidtaker inne, trenger du en annen sak, så jeg la et forslag om hvordan du setter inn en liten piezo-diskant (eller f.eks. Denne mikrohøyttaleren: CUI-15062S) … (Se Sak-2).

Etter at saken er skrevet ut (med en anbefalt laghøyde på 0,1 mm og ca. 50% fylling med "veggoverlapping") må du slipe de overvinnende sidestrengene og filere kantene rundt nok, men ikke for mye … A litt mer utfordrende er å arkivere de fire små snap-ins av lokket i en rett ~ 100-120 ° vinkel, slik at de klikker sterk nok inn i saken, men uten å utvide eller bryte det-og heller ikke føre til at lokket blir for lite å holde seg fast…

Det firkantede hullet til OLED må også arkiveres forsiktig ut, slik at det samsvarer nøyaktig med omrisset til OLED-glasset, uten å bryte det mens du prøver å sette inn brett+OLED-display (nå sammen). Så vær forsiktig med å arkivere og prøve flere ganger for å se om alle delene passer.

Resulterende røykrør tas best av med en skarp kniv.

Nå kan du sette inn håndleddstroppen med et stykke messingtråd (ø1mm, lengde: 28,5mm). For dette må de to hullene i kabinettbrakettene bores ut på en slik måte at ledningen går gjennom, men deretter stikker godt inn i brakettene.

Før du bevæpner saken med elektronikk og stropper - er det mulig å emaljere den med maling (jeg anbefaler bil -tynnere spray - den tørker raskere og stikker færre støv på overflatene!). Jeg anbefaler også å behandle det først med en (tynnere) jordingsspray, som deretter kan slipes ned til en finglatt overflate uten utskrevne linjer og feil. Selv foretrekker jeg en gyllen eller sølv finish, eller også er en trefinish fin - dette er ditt valg …

Trinn 6: Konklusjoner

Batterihensyn:

CR2432 Li-Ion-batteriet har omtrent 300mAh kapasitet, så det holder med en varighet på omtrent 2 år, hvis klokken vises omtrent 10 ganger (hver á 5 sekunder) per dag. Så du kan bytte den med et mer vanlig tilgjengelig (men mindre) CR2032 Li-Ion-batteri, som holder ca 1, 4 år med 210mA.

Jeg søkte også etter en oppladbar litiumknappcelle som (vanlig) CR2430 og fant denne: "LIR-2430". Dette batteriet har bare omtrent 50mA kapasitet, men er oppladbart f. Eks. gjennom en trådløs kraftoverføring … For det formålet laget jeg en sonde, og du kan se resultatet i skjematisk + oppsett inkludert. Selve kraftoverføringen gjør jobben veldig bra. Å etse en flat spole med omtrent 30 omdreininger over et flatt epoxi-board-lokk, er fortsatt en ToDo … For å lade batteriet foreslo jeg en enkel ladekrets med en hvit LED og 2 Schottky-dioder for å begrense sluttladningsspenningen for denne ladingen til maksimalt omtrent 3,6V …

Til slutt - VELDIG viktig:

!!! ALDRI LADE ET IKKE-OPLADBART LI-ION BATTERI !!! - det kan eksplodere og ta fyr!

Merkelig nok eksperimenterte jeg med en (ikke-oppladbar) CR2430 Li-Ion-Button-Cell,-som forsiktighetsregel-i en lukket krukke … Etter omtrent en time, lading med konstant 3,3V, la jeg merke til en liten konveks deformasjon av saken … og Selv om spenningen til dette batteriet økte fra 2,8 til 3,2V, ble kapasiteten på slutten massivt redusert! -så en lading er ikke fornuftig: disse knappcellene er virkelig IKKE oppladbare.

Remaing å gjøre:

• en (programvarebasert) Timer-funksjon + (maskinvare + etui) -Tweeter eller Vibrator-Motor

• en trådløs oppladningskrets

• Blank metall- eller trefinish.

Anbefalt: