Digital väckarklocka *Uppdaterad 25.01.2007*
Jag har nu också gjort en egen uv-box för att belysa kretskorten med. Idag gjorde jag kretskortet för displaymodulen. Första försöket någonsin! Det blev ganska lyckat tycker jag. Bara att börja borra och löda fast komponenterna då

UV-box.

Första försöket på att tillverka ett kretskort, det blev ju t.o.m. användbart!

Testar rutinen för att läsa av en rotationssensor.


UV-box.

Första försöket på att tillverka ett kretskort, det blev ju t.o.m. användbart!

Testar rutinen för att läsa av en rotationssensor.
Problem!
Nu har jag kommit så långt att jag har etsat och lött "kontrollerkort"/styrkort och displaykortet och kopplat ihop dem. Efter det har jag stött på ett par problem med designen.
För det första ger 4511:orna ut ~4,8V spänning som läggs direkt över displayerna. Detta fungerade bra med de displayer som jag hade tänkt använda från början, men inte med de jag använder nu då spänningen över dessa bör vara 2,1V. Vet någon om det finns nån annan BCD to 7-segment krets som ger en lägre utspänning än 4511:an? Eller finns det kanske andra 14,2mm displayer som i motsats till de jag har nu går att köra på ~4.8V? Annars blir det väl att koppla in motstånd mellan 4511:orna och displayerna; finns det i så fall någon "motståndsmodul" som innehåller fler än 1 motstånd? Det behövs 7st/display. Att spänningen över displayerna var för hög märkte jag först när jag inte fick det att fungera som jag ville och jag kände på displayerna och märkte att de var varma. Hela klockan drog nästan 1A när alla displayerna lyste
Ett annat problem jag märkte var att jag hade köpt en SN74ACT04 (inverterare). Det jag inte visste om denna krets när jag köpte den var att den är tänkt för CMOS-nivåer (tillåter även TTL-in nivåer om jag förstod databladet rätt). Som tur var hittade jag i alla fall en annan krets från ett gammalt kort som jag tycker borde passa bättre ihop med resten av elektroniken; en SN74LS04. Så när jag har löst första problemet borde detta inte vara något problem.
Jag skall försöka lägga upp lite bilder senare när jag har tid/tillgång till kamera.
Nybörjarproblem från början till slut, men så hade jag aldrig heller kunnat föreställa mig att allt skulle bli rätt första gången. Men om någon har en idé om hur man smidigast löser problemet med displayerna är jag tacksam om delar med er!
EDIT: lade till bilderna

Framsidan av displaymodulen och styrkortet. Inte så trevligt med alla kablar...

Baksidan. Tur att bilden inte blev så skarp så lödningarna syns alltför bra!
Nu har jag kommit så långt att jag har etsat och lött "kontrollerkort"/styrkort och displaykortet och kopplat ihop dem. Efter det har jag stött på ett par problem med designen.
För det första ger 4511:orna ut ~4,8V spänning som läggs direkt över displayerna. Detta fungerade bra med de displayer som jag hade tänkt använda från början, men inte med de jag använder nu då spänningen över dessa bör vara 2,1V. Vet någon om det finns nån annan BCD to 7-segment krets som ger en lägre utspänning än 4511:an? Eller finns det kanske andra 14,2mm displayer som i motsats till de jag har nu går att köra på ~4.8V? Annars blir det väl att koppla in motstånd mellan 4511:orna och displayerna; finns det i så fall någon "motståndsmodul" som innehåller fler än 1 motstånd? Det behövs 7st/display. Att spänningen över displayerna var för hög märkte jag först när jag inte fick det att fungera som jag ville och jag kände på displayerna och märkte att de var varma. Hela klockan drog nästan 1A när alla displayerna lyste

Ett annat problem jag märkte var att jag hade köpt en SN74ACT04 (inverterare). Det jag inte visste om denna krets när jag köpte den var att den är tänkt för CMOS-nivåer (tillåter även TTL-in nivåer om jag förstod databladet rätt). Som tur var hittade jag i alla fall en annan krets från ett gammalt kort som jag tycker borde passa bättre ihop med resten av elektroniken; en SN74LS04. Så när jag har löst första problemet borde detta inte vara något problem.
Jag skall försöka lägga upp lite bilder senare när jag har tid/tillgång till kamera.
Nybörjarproblem från början till slut, men så hade jag aldrig heller kunnat föreställa mig att allt skulle bli rätt första gången. Men om någon har en idé om hur man smidigast löser problemet med displayerna är jag tacksam om delar med er!
EDIT: lade till bilderna

Framsidan av displaymodulen och styrkortet. Inte så trevligt med alla kablar...

Baksidan. Tur att bilden inte blev så skarp så lödningarna syns alltför bra!
Snyggt
Lysdioder kan inte drivas med spänning utan aktiv reglering av strömmen eller med motstånd som begränsar strömmen.
Så det räcker inte med att ge displayerna lägre spänning (en lysdiod som är specad till 2.1V brinner upp av 2.3V).
Det kan finnas en krets som har inbyggd strömbegränsning men motstånd är billiga så jag tror ändå det billigaste är att använda motstånd, haken är väl att du måste göra ett nytt kort.

Lysdioder kan inte drivas med spänning utan aktiv reglering av strömmen eller med motstånd som begränsar strömmen.
Så det räcker inte med att ge displayerna lägre spänning (en lysdiod som är specad till 2.1V brinner upp av 2.3V).
Det kan finnas en krets som har inbyggd strömbegränsning men motstånd är billiga så jag tror ändå det billigaste är att använda motstånd, haken är väl att du måste göra ett nytt kort.
Att göra ett nytt kort är ju slöseri.
Antingen så kapar du sladdarna till displayen på mitten & löder fast resistorer i serie & sedan en liten krympslang över.
Eller så kapar du ledningsbanorna mellan 4511an & anslutningspunkterna till sladdarna, & löder dit resistorerna där i mellan på undersidan av kortet.
Edit
Det behöver inte bli oproffsigt eller fult!.
Om du använder mitt sista alternativ, så kan du ju löda dit ytmonterade resistorer på ledningsbanorna, vilket blir läckert & döljer misstaget helt!.
Antingen så kapar du sladdarna till displayen på mitten & löder fast resistorer i serie & sedan en liten krympslang över.
Eller så kapar du ledningsbanorna mellan 4511an & anslutningspunkterna till sladdarna, & löder dit resistorerna där i mellan på undersidan av kortet.
Edit
Det behöver inte bli oproffsigt eller fult!.
Om du använder mitt sista alternativ, så kan du ju löda dit ytmonterade resistorer på ledningsbanorna, vilket blir läckert & döljer misstaget helt!.
Om drivsignalerna till segmenten ligger "snyggt" på kortet så kanske du inte måste göra om kortet för att få in motstånd. Kanske kan du bara kapa ledningsbanorna och lägga motstånden på undersidan av kortet. Visserligen ingen snygg lösning, men för att få ett fungerande exemplar utan att göra nytt kort så kanske det duger.
Så småningom upptäcker du säkert fler saker du skulle vilja ändra på och då kan man göra allting på en gång.
Edit: För långsam....

Så småningom upptäcker du säkert fler saker du skulle vilja ändra på och då kan man göra allting på en gång.
Edit: För långsam....


Visst kan jag lägga upp schema och kod, men jag väntar helst med det tills jag ser att det fungerar åtminstone ungefär som tänkt. Om du ändå vill ha halvfärdig/felaktig kod + scheman så får du skicka ett PM.
Jag får väl delarna från elfa i början av nästa vecka så då kan jag börja testa lite mer, om det inte blir mer oförutsedda problem.
Stuggi: Just nu (när jag studerar) bor jag i Åbo och inte i Jakobstad, har inte uppdaterat min profil bara. Men "hemma" i Jakobstad bor jag i Skutnäs.
Jag får väl delarna från elfa i början av nästa vecka så då kan jag börja testa lite mer, om det inte blir mer oförutsedda problem.
Stuggi: Just nu (när jag studerar) bor jag i Åbo och inte i Jakobstad, har inte uppdaterat min profil bara. Men "hemma" i Jakobstad bor jag i Skutnäs.
Då var det igen dags för en liten uppdatering. Demultiplexern jag använde var tydligen också för CMOS-nivåer, så jag fick skaffa en ny sådan också. En 74LS138 blev det och den verkar fungera bra. Utsignalerna är dock inverterade med avseende på 4051:ans, så jag slipper inverteraren också, vilket ju i princip är bra. Den nya multiplexerna har dock inte samma "benkonfiguration" så det blir att fixa till kretskortet lite (igen).
Troligtvis gör jag ett nytt kretskort när jag har fått allt att fungera som jag vill. Det har ju blivit en hel del ändringar redan jämfört med den ursprungliga versionen. Då kanske jag också kunde tänka på att passa in någon sorts strömkälla (transformator och "backupbatteri"). Vet ni om någon sida var en strömkälla som motsvarar mina behov (+5V, <0.5A typ) beskrivs, gärna med schema?
Upptäckte även ett litet fel på displaykortet, men det är inga problem att rätta till det. Med mina enkla testprogram verkar allt fungera som det skall, så nu får jag börja försöka fixa till mjukvaran. Bara jag har tid skall det inte ta så länge förrän jag åtminstone kan visa och ställa in tiden. Men nu ett par bilder.

Gamla ledarna är avborrade, och ytmonterade motstånd är lödda.

Testar att allt fungerar som det skall med den nya demultiplexern (74LS138).
Troligtvis gör jag ett nytt kretskort när jag har fått allt att fungera som jag vill. Det har ju blivit en hel del ändringar redan jämfört med den ursprungliga versionen. Då kanske jag också kunde tänka på att passa in någon sorts strömkälla (transformator och "backupbatteri"). Vet ni om någon sida var en strömkälla som motsvarar mina behov (+5V, <0.5A typ) beskrivs, gärna med schema?
Upptäckte även ett litet fel på displaykortet, men det är inga problem att rätta till det. Med mina enkla testprogram verkar allt fungera som det skall, så nu får jag börja försöka fixa till mjukvaran. Bara jag har tid skall det inte ta så länge förrän jag åtminstone kan visa och ställa in tiden. Men nu ett par bilder.

Gamla ledarna är avborrade, och ytmonterade motstånd är lödda.

Testar att allt fungerar som det skall med den nya demultiplexern (74LS138).
Nu har jag igen kommit en bit längre på detta projekt. Det här är väl första gången jag inte har stött på några "designmissar" på vägen
En ganska stor del av mjukvaran är nu skriven. I dagsläget håller klockan tiden (när jag inte har snabbat upp den för att underlätta felsökningen) med ett fel på max en halvsekund per timme, uppmätt med ögonmått mot klockan på min dator. Det går att ställa in tiden och alarmtiden. Själva (a)larmet behöver dock poleras på lite ännu för att det skall fungera som på en normal väckarklocka. För tillfället består larmet av en lysdiod som tänds. Kanske man kunde tejpa fast den på ögonlocket när man går och lägger sig
Jag spelade också in en kort filmsnutt som visar:
1) inställning av tiden
2) inställning av larmet
3) vanliga klockan igen efter 2 sekunder utan "beröring"
Snart skulle jag också behöva en låda att lägga klockan i, men eftersom jag inte har möjlighet att tillverka denna på studieorten får det väl duga med en mjölkpaketslåda eller någonting i den stilen tills jag far hem (till julen). På tal om julen, så var ju den min "deadline" för klockan, och om jag inte stöter på några stora problem ännu ska det inte vara några problem med att hålla den.

En ganska stor del av mjukvaran är nu skriven. I dagsläget håller klockan tiden (när jag inte har snabbat upp den för att underlätta felsökningen) med ett fel på max en halvsekund per timme, uppmätt med ögonmått mot klockan på min dator. Det går att ställa in tiden och alarmtiden. Själva (a)larmet behöver dock poleras på lite ännu för att det skall fungera som på en normal väckarklocka. För tillfället består larmet av en lysdiod som tänds. Kanske man kunde tejpa fast den på ögonlocket när man går och lägger sig

Jag spelade också in en kort filmsnutt som visar:
1) inställning av tiden
2) inställning av larmet
3) vanliga klockan igen efter 2 sekunder utan "beröring"
Snart skulle jag också behöva en låda att lägga klockan i, men eftersom jag inte har möjlighet att tillverka denna på studieorten får det väl duga med en mjölkpaketslåda eller någonting i den stilen tills jag far hem (till julen). På tal om julen, så var ju den min "deadline" för klockan, och om jag inte stöter på några stora problem ännu ska det inte vara några problem med att hålla den.