Innehållsförteckning:

SMÅ 3D-tryckta OLED-armbandsur: 6 steg
SMÅ 3D-tryckta OLED-armbandsur: 6 steg

Video: SMÅ 3D-tryckta OLED-armbandsur: 6 steg

Video: SMÅ 3D-tryckta OLED-armbandsur: 6 steg
Video: 15 полезных советов по демонтажным работам. Начало ремонта. Новый проект.# 1 2024, Juli
Anonim
SMÅ 3D-tryckta OLED-armbandsur
SMÅ 3D-tryckta OLED-armbandsur
SMÅ 3D-tryckta OLED-armbandsur
SMÅ 3D-tryckta OLED-armbandsur

Hej, gillar du att bygga din egen armbandsur?

Det är verkligen en utmaning att bygga en liten DIY armbandsur så här. Fördelen är nöjet att ha gjort din egen idé verklig och vara stolt över att nå denna kompetensnivå …

Anledningen till att jag gjorde min egen klocka var att min billiga smart-klocka-uppges vara vattentät-gav upp sitt stackars spöke när den doppade i en pool …: (Så jag var arg för att köpa klockor (en annan dyr "solcell) "-klockan gav också upp-dess proprietära små batteri hade ingen chans att bytas ut …).

På andra sidan var befintliga DIY-Watch-projekt för min smak mestadels för tunga eller för rustika-så jag bestämde mig för att bygga min egen klocka, med möjlighet att inkludera mina föredragna funktioner!

Om du vill kan du ändra programvaran för att förverkliga dina egna idéer: Jag har kommenterat varje rad (beroende på valt program mellan 700-800 rader …)-Men varnas: Detta projekt är verkligen utmanande och säkert inte för nybörjare ! Den lilla och ljusa formen (30 x 30 x 10 mm) kräver exakt hantering av 3D-tryckt fodral och noggrann lödning av det tvåsidiga kortet: även om det finns möjlighet för PCB-beställning av kortet (Eagle- och Gerber-filer ingår) här gjorde jag det med min specialiserade Toner-Direct-metod-instruktion ingår därför också här).

Klockans egenskaper:

-128x64px OLED-displayen visar en digital och analog klocka, aktiverad med den högra knappen, som visar datum, tid, batterinivå och handledstemperatur. Alternativt (om du vill) kan det inkludera ett larm eller en timer.

-En komplett månadskalender visas genom att trycka på vänster-knappen mer än 0,6 sekunder, vilket markerar den faktiska veckodagen.

- Genom att trycka på vänster knapp väljs en enkel meny för att välja datum, tid (och alarm eller timer, om det väljs att inkludera i programmet), värden som ska ställas in med högerknappen.

-Genom att trycka på högerknappen två gånger aktiveras en liten LED- "Torch" -Ljus, (bra för svarta nätter).

-Mellan 22:00 och 07:00 dämpas OLED-displayen automatiskt, (se där, med den medföljande speciella dimfunktionen!) Så att den inte blir blind på natten.

- Li-Ion-batteriet räcker i nästan 2 år, förutsatt att displayen+elektronik förbrukar cirka 25 mA som varar i 5 sekunder och visar klockan cirka 10 gånger per dag.

Steg 1: Dellista

Reservdelar
Reservdelar
Reservdelar
Reservdelar

Verktyg som behövs:

Om du gillar att experimentera själv med hård- och programvara behöver du:

• Brödbräda 8,2 x 5,5 cm AliExpress

• 3, 3V reglerad strömkälla, så här på schemat ovan eller en liknande, från t.ex. från en 5V-USB-kontakt (500mA). ⇒ AMS1117-Adj ⇒ ebay

• SMD SOIC-8 till DIP-8-stifts adapter för RTC-Chip ebay

• Atmel ISP -programmerare gillar "USBTiny" - AliExpress

• Arduino Pro Mini AliExpress

• Brödbräda Jumper-Wires Banggood

(Elektronisk-) Delar som behövs:

• ⇒ se Html-BOM-fil för elektroniska delar (Ladda ner).

• Det tvåsidiga kortet för själva klockan: ⇒ se steg "Hur man gör ett dubbelsidigt kort med Toner-Direct-metoden".

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

• #25 mm Kapton / Polymid-tejp för isolering mellan kort / batteri och OLED-kort

• 1x armband 20 mm - jag rekommenderar en "Milanaise rostfritt stål armbandsur" - ebay

• 3D-tryckt fodral: ⇒ se Nedladdningsfil med instruktioner (steg).

En tavla av två?

Om du vill göra ett kort av två (uC, RTC, andra delar OCH OLED-styrkortet i ett), kan du använda min krets + kort-layout för SSD1306-I2C-Display (se Ladda ner: OLED-Display_SSD1306-I2C-Circuit.zip). Använd de två hela lagren och isolera dem mot skärmen och batteriet med Kapton Tape, så att klockan kan vara ungefär 1,5 mm plattare än.

Steg 2: Elektronisk krets

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

Först och främst måste vi känna till grunderna:

Denna OLED-klocka är gjord med ett DS3231 RTC-chip (Real Time Clock i en mindre SMD SO-8-form), häxan styrs av den välkända ATMega328P- (Arduino) -µController, och-i motsats till normalt använd mjuk -StandBy (av µController) - denna klocka är försedd med en fullständig elektrisk avstängning efter 5 sekunder, förutom RTC. Jag gjorde denna avstängning med två mosfet-transistorer, som fungerar som en "vippströmbrytare" i kombination med uC och höger knapp (D8).

Två små tryckknappar på båda sidor av fodralet (D6 och D8) fungerar som ingångar, häxan hanterar menyn och klockans inställningar.

Klockan har en Date+Time Display, (Alarm -Display - om den ingår i programmet), en ficklampa och en kalender för faktisk månad+dag. I 2: a. version Jag inkluderade ett larm, det kan också ersättas med en timer.

Displayen är nedtonad mellan 23:00 och 07:00 (23:00 och 07:00) på natten.

Funktion för de två knapparna (till vänster och till höger):

• CHANGE-knapp D8, (höger sida), tryck på:

1x = aktivering av uC/Display, så visning av tid+datum etc. i ca 5 sekunder innan avstängning (= display mörk).

2x = tänd ficklampan/ficklampan.

3x = återgå till normalläge (= läge-0).

• SELECT-knapp D6 (vänster):

Genom att trycka på D6 en gång väljs MODE, rullar lägena från 1-10, för att ändra datum/tid, etc (dag, dag, år, tid, sekunder, alarm … på/av).

Knapp-D8 till höger höjer de valda MODE-värdena, ställer in och sparas genom att välja nästa MODE (med vänster knapp-D6) …

För att ändra sekunder, ställ in klockan +1 minut, tryck sedan på höger knapp (D8) i 59 sekunder för att synkronisera till en extern tid.

Synkronisering av tid/datum är också möjligt att ladda ner PC-tid per batchfil: Serial-Connection till en extern Arduino-därifrån till de fyra I2C-Pins på Clock-OLED. (Klockans uC förblir inaktiverad under denna tid, för detta ändamål inkluderade jag 2 R: erna 4,7kΩ, R7 och R8 - överbrygg dem om de inte används!) …

• Månad / datum kalender:

Om den vänstra knappen (D6) trycks in mer än 0,6 sekunder, visas en faktisk månadskalender. Ingen självaktivering! Om en av de två knapparna trycks in en gång till, lämnas kalendern kvar.

• LARM: (om den ingår i mjukvaruprogrammet + levereras med en hårdvara-diskant eller mikropiezo-pip)

Kan ställas in för att pipa i tid varje dag vid samma tid (24h, 60m). En asterix längst upp till höger på displayen indikerar om larmet är "På" eller inte. Ett användbart alternativ till larmprogrammet skulle kanske vara en timer … (att göra).

• Batteri:

Batteriet är ett CR2430 litiumbatteri (ø24x3mm) med cirka 300mA effekt. En batterisymbol anger batteriets (analoga) nivå (3, 25V = full, 2, 75V = tom). Klockan arbetar med spänningar från +5, 0V ner till +2, 0V (standard: 3, 0V). Endast Flash-LED fungerar från max. +4, 0V ner till +2, 7V. Varning: Aktivera inte den med 5V! - detta är för mycket för lysdioden - det går ut på några sekunder, även om det är försett med ett 33Ω -motstånd. Absolut max. Spänning för processorn och RTC är 5, 25V (+5V USB för att programmera uC direkt per ISP, utan bootloader!).

• Temperatur:

RTC har en inbyggd temperatursensor (för att korrigera temp. Avvikelse för den inbyggda kristallen), så att vi kan använda den för att visa (handleden) temperaturen.

• Blixt-LED:

Om CHANGE-knappen (D8) trycks in två gånger lyser ett relativt starkt ljus "i mörkret". Att.: Ingen självavaktivering! Genom att bara trycka på den här högra knappen inaktiveras den här lysdioden igen, vilket visar den normala displayen i cirka 5 sekunder.

• Soft-Reset Pin: En Reset-Pin (D7) återställer all lagrad data om den är jordad (öppet fall: nedre högra sidan). Används vid programmeringstid, kort för en "mjuk återställning" av alla ingångsvärden …

Kretsen:

Om vi tittar på schemat, till vänster finns den nakna "Arduino" µController (ATMega328-P), aktiverad med höger knapp (D8) på ingång D12: Knapp-D8 drar P-Mosfets port ner genom motstånd R5 och diod D1, så P-Mosfet går "på" och ansluter VBAT med VCC: µController+Display får ström!

För att se "Toggle-Principle of the two Mosfets" har jag laddat upp denna "Flip-Flop with two Mosfets" (Eagle-files).

Efter 5 sekunder stängs µC av automatiskt genom Output-D5, som inaktiverar båda Mosfets och drar ner N-Mosfets port, så R5 (och Gate of P-Mosfet) går "högt" och P-Mosfet skär av strömmen för µC och OLED-displayen. VCC som går ner håller porten för N-Mosfet nere genom R3 och R6 (under hans Gate-tröskel-spänning), så kretsen förblir av.

På den övre vänstra sidan ser vi den "förstorade" VBAT-spänningen genom en enkel vit LED med cirka 2,5V, minskad med 100k från VBAT (ca 3, 2V) till ca 1, 1V (max), som används som intern analog ingång för att mäta den faktiska batterispänningen.

µController, RTC och OLED-Display kommunicerar genom I²C, en enkel och effektiv 2-trådskommunikation, implementerad per bibliotek.

För att löda SMD-delarna är det användbart att använda en liten pincett med spetsiga ändar, så att greppa de små SMD-delarna skulle vara lättare att hantera (positionering) och lödda sedan med en fin lödspets, lödning först på ena sidan av SMD -Del, förvärm lödpunkten till cirka 330 ° C innan du lägger till lågsmältande och fin tenntråd (ø 0,5 mm) till lödpunkten.

Ladda ner Circuit + Board-layout:

Steg 3: Hårdvara: Hur man gör ett dubbelsidigt kort med Toner-Direct-metoden

Hårdvara: Hur man gör ett dubbelsidigt kort med Toner-Direct-metoden
Hårdvara: Hur man gör ett dubbelsidigt kort med Toner-Direct-metoden
Hårdvara: Hur man gör ett dubbelsidigt kort med Toner-Direct-metoden
Hårdvara: Hur man gör ett dubbelsidigt kort med Toner-Direct-metoden
Hårdvara: Hur man gör ett dubbelsidigt kort med Toner-Direct-metoden
Hårdvara: Hur man gör ett dubbelsidigt kort med Toner-Direct-metoden

Om du gillar att köpa den 2-sidiga brädan finns Eagle + (behövs) Gerber-filer (Ladda ner).

Om du gillar att göra tavlan själv, visar jag dig en exakt metod för att göra en dubbelsidig tavla per "TonerDirect".

1. Skriv ut filen "OLED-Clock-2-nl_TonerDirect.pdf" på "Toneröverföringspapper", 2. Klipp ut de två ränderna på papperet, en rand för varje sida av brädet, 3. med ø 0,5 mm nålar sticka exakt de fyra hörnen på brädet (använd förstoringsglas med starkt ljus - det är mycket viktigt att sticka nålarna med bästa möjliga precision mitt i de fyra hörn -viorna!).

4. Skriv ut (på ett vanligt blankt papper) filen "OLED-Clock-2-nl_Frame.pdf" och bind resultatet på ett 2-sidigt kopparkort (0,5-0,8 mm tjockt). Sågar ut brädet med cirka 2-3 mm mer tolerans (här ca 35 x 35 mm), borra sedan de fyra hålen exakt på hörnen med en 0,6 mm borr. Efter detta steg, ta bort papperet med aceton och slipa de två kopparsidorna på brädet med fint slippapper (min. 400). Efter detta steg, rör inte brädet längre med tomma fingrar! Tillåtet är att greppa det i sidled (med rena fingrar).

5. Markera den överensstämmande riktningen för toner-överföringspappret på de två otryckta sidorna!

6. Stick nålarna genom papperet, sedan genom brädan och slutligen sticka dem genom det motsatta papperet.

7. Efter att ha fått de tre "lagren" exakt kongruenta, byt ut nålarna med 4 bitar av 0,5 mm koppartråd, böjda i ena änden 90 °, så att de inte spolas igenom. Efter detta steg böjs trådarna på andra sidan 90 ° och skär ändarna korta.

8. Så förberedd, denna bit kan gå 3 gånger genom en (modifierad) tonerlaminator, uppvärmd till 200 °!

9. Klipp av de små bitarna av 0,5 mm tråd och ta bort de återstående trådstöderna. Ta sedan bort de två pappren och voilá: tonern klistrar fast på kopparen.

10. Kontrollera rena linjer: Om en linje är trasig kan vi reparera den med en permanent vattenbeständig penna. I de flesta fall behöver bara större ytor stänga några små hål. Annars (om resultatet är otillfredsställande), ta bort tonern med hushållspapper och aceton och upprepa steg 1-9.

11. Ren etsning: Jag etsar mina DIY-koppar-brädor med en lösning av natriumpersulfat (en-två teskedar) med en nivå av cirka 5 mm vatten i en klassisk Pyrex-skål (1-1, 5L), denna lösning värms upp till cirka 80 ° C (jag vet, denna relativa höga temperatur förstör persulfatet, men det etsar mycket snabbare som med lägre temperaturer och gör skarpa och rena kanter på några minuter). Jag låter den återstående persulfatdämpningen efter att ha torkat helt och klia ut kristallerna och samla dem i en gammal burk för återvinning!

11. Styr kopparlinjerna och ytorna med ett förstoringsglas.

12. Ta bort de utskjutande kanterna med en vertikal bandslipmaskin (som i min första instruktion) och kontrollmått med en kaliber: de två knappsidorna måste vara parallella, ha 27,4 mm avstånd, men var försiktig så att du inte slipar ut de 2 knappkontakterna!

Steg 4: Programvara och blinkande

Programmering av styrelsen:

Programmet är skrivet i C ++, så vi kan ändra det med en enkel ASCII-Editor, och det behövdes, läs förklaringarna i slutet av varje rad …

Viktigt: Vi kan inte använda Arduino's Serial-Flashing för att programmera µC, eftersom startladdaren behöver för mycket tid mellan "Start" (tryckning på knapp D8) och "Display-On". Så vi måste blinka utan Bootloader (används normalt på alla Arduino -kort). Så, vi programmerar vårt kort per (Atmel) ISP-kontakt + programmerare. ISP-kontakten som görs här (ombord) är gjord med 6 mini-kontaktdon utbrutna i en rad och löds inuti på högra sidan av kortet, sedan ansluten med en (liten!) 6-polig stång (2,54 mm- rutnät), som på den sista bilden i föregående steg.

Du behöver inte bara Arduino-GUI, utan några fler bibliotek (för att ladda ner) för att kompilera programmet:

- Wire -biblioteket (finns i Arduino -programmet) - för kommunikation per I²C mellan två. µC, RTC och OLED-Display

- EEPROM -bibliotek (finns också i Arduino -programmet) - för att lagra flera värden på µController

- "Adafruit_GFX" + "Adafruit_SSD1306" - båda biblioteken för att styra OLED -skärmen

- EnableInterrupt- för att arbeta med Arduinos Port/Pin-Interrupts (⇒ Knappingångar)

-DS3231-RTC-chip: behöver inte ett bibliotek, jag har skrivit ut funktionerna på flera bibliotek som finns på Internet och är enklare att använda så. De ingår i slutet av huvudprogrammet ("OLED-Clock-2-nl.ino").

Observera: Adafruit-biblioteket har (hittills) inte riktigt en effektiv hantering för att dimma OLED-chipet, så jag kopierade en sträng från Internet och klistrade in den i slutet av "Adafruit_SSD1306" -biblioteket, med häxan kan man dimma display, lite mer användbar … (⇒ se tilläggshämtningen "Hur man ställer in ljusstyrkan på OLED display.zip", här i slutet).

Arbetar med 3, 2V - så att använda den interna 8Mhz (utan 16Mhz -Crystal):

ΜC här är tillräckligt snabbt för att fungera utan en 16MHz-kristall, så (med 3,2V från batteriet) kan vi använda den interna förprogrammerade 8MHz (en färre del för att löda:-).

Efter att ha laddat och sammanställt det medföljande programmet "OLED-Clock-2-nl.ino" i Arduino-GUI, (ladda ner), kopiera.hex-resultatet till avrdude-mappen.

(den sammanställda.hex-filen finns i datorns tillfälliga mapp, där i en undermapp som:

"C: / Tmp / arduino_build_646711 / xyz.ino"-däri hittar du den önskade kompilerade hex-filen, i detta fall vår "OLED-Clock-2-nl.ino.hex".

Hexfilen kan nu blinkas (här "manuellt" per avrdude på en kommandorad) via en ISP-kontakt, men du behöver en programmerare som USBTiny eller en AVRISP2 med en 6pin ISP-kontakt (min ISP-anslutning är DIY-out av en liten 6-Pin-Row Connector som visas på mitt senaste foto, så att du kan programmera om kortet när som helst om det behövs).

Anslut nu 6-stifts programmeraren till kortet (jag antar att jag har erfarenhet av Arduino-kort) …

Ansluten, i ett kommandofönster (i Windows ändras till avrdude-mappen och skriver sedan cmd)-klistra in följande rad:

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

När blinkningen av µController har slutförts måste lämpliga "säkringar" (hos µController) ställas in:

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

Om du vill ändra en av dessa inställningar kan du hitta mer om detta med den här online-säkringskalkylatorn.

Steg 5: Fallet

Fallet
Fallet
Fallet
Fallet

Inte bara att göra elektronikkortet är utmanande, inte mindre är ett litet och lätt fodral för detta kort!

Här för att ladda ner mitt avsedda fodral, med en möjlig CR2032-batteriadapter, för att sätta in ett mer vanligt använt batteri. Elektronikkortet och batteriet måste isoleras helt från varandra med ett Kapton-Polimid-band eller ett starkt alternativ. Använd inte enkel tejp, den är för svag för att isolera starkt och kan orsaka kortslutning av batteriet!

Jag har experimenterat med många layouter (för 3D-tryckt PLA) och avslutat med en väggtjocklek på cirka 1,3 mm. I denna form hålls krafterna från handledsremmen effektivt genom båda sidor av fodralet i kombination med snäpplocket. De andra sidorna kan vara tunnare, cirka 1,0 mm …

Så att ändra höjden på fodralet (i händelse av att ändra kortet …?) Ska inte vara ett stort problem.

Om du också vill ha ett larm eller en timer inuti behöver du ett annat fall, så jag lade fram ett förslag om hur du sätter in en liten piezo-diskant (eller t.ex. denna mikrohögtalare: CUI-15062S) … (Se Fall-2).

Efter att höljet har skrivits ut (med en rekommenderad lagerhöjd på 0,1 mm och cirka 50% fyllning med "väggöverlappning") måste du gräva de övervinnande sidosträngarna, fila kanterna tillräckligt runda, men inte för mycket … A lite mer utmanande är att fila de fyra små snap-ins av locket i en rätt ~ 100-120 ° -vinkel, så att de snäpper in i fodralet tillräckligt starkt, men utan att vidga eller bryta det-och heller inte att locket blir för litet att hålla sig fixad …

Det fyrkantiga hålet för OLED måste också arkiveras noggrant och matcha exakt konturen på OLED-glaset, utan att bryta det samtidigt som du försöker sätta in kort+OLED-display (nu tillsammans). Så var försiktig med att arkivera och försök upprepade gånger se om alla delar passar.

Resulterande rökrör avlägsnas bäst med en vass skärkniv.

Nu kan du sätta in handleden med en bit mässingstråd (ø1mm, längd: 28,5mm). För detta måste de två hålen i höljet-fästena borras ut på ett sådant sätt att tråden går igenom, men sedan sticker fast i konsolerna.

Innan du beväpnar fodralet med elektronik och remmar - är det möjligt att emaljera det med färg (jag rekommenderar bilspädare - det torkar snabbare och klistrar färre damm på ytorna!). Jag rekommenderar också att behandla det först med en (tunnare) jordspray, som sedan kan slipas ner till en finjämn yta utan tryckade linjer och brister. Själv föredrar jag en guld- eller silverfinish, eller också skulle en träfinish vara trevlig - det här är ditt val …

Steg 6: Slutsatser

Batteriöverväganden:

CR2432 Li-Ion-batteriet har cirka 300mAh kapacitet, så det håller i ungefär 2 år om klockan visas cirka 10 gånger (var á 5 sekunder) per dag. Så du kan byta ut det med ett mer vanligt tillgängligt (men mindre) CR2032 Li-Ion-batteri, som håller ca 1, 4 år med 210mA.

Jag sökte också efter en laddningsbar litiumknappcell som (vanliga) CR2430 och hittade detta: "LIR-2430". Detta batteri har bara cirka 50mA kapacitet, men är laddningsbart t.ex. genom en trådlös kraftöverföring … För det ändamålet gjorde jag en sond och du kan se resultatet i schematisk + layout som ingår. Själva kraftöverföringen gör jobbet mycket bra. Att etsa en platt spole med cirka 30 varv över ett platt epoxi-kortlock, förblir en ToDo … För att ladda batteriet föreslog jag en enkel laddningskrets med en vit LED och 2 Schottky-dioder för att begränsa slutladdningsspänningen för denna laddning till max ca 3,6V …

Slutligen - MYCKET viktigt:

!!! LADDA ALDRIG ETT INTE LADDBART LI-JONBATTERI !!! - det kan explodera och fatta eld!

Märkligt nog experimenterade jag med en (ej laddningsbar) CR2430 Li-Ion-knappcell,-som försiktighetsåtgärd-i en sluten burk … Efter ungefär en timme, laddning med konstant 3,3V, märkte jag en liten konvex deformation av fodralet … och även om spänningen på detta batteri ökade från 2,8 till 3,2V, så minskade kapaciteten i slutet kraftigt! -så en laddning är inte vettig: de här knappcellerna är verkligen INTE laddningsbara.

Remaing att göra:

• en (mjukvarubaserad) timerfunktion + (hårdvara + fodral) -Tweeter eller vibrator-motor

• en trådlös laddningskrets

• Glansig metall- eller träfinish.

Rekommenderad: