Citat autora: "
Ideja je da se koristi po jedan shift registar za svaki segment. Serijski izlaz iz prvog registra se veže na data ulaz od drugog itd. Sad samo mikrokontroler treba napuniti te registre sa podacima i to se prikaže na izlazu.


Najvažnije prednosti ovakvog pristupa je što se segmenti ne trebaju stalno refreshati, nego samo kada je to potrebno pri promjeni stanja, čime se dobije na svjetlini displeja, eliminira se eventualni flickering i oslobađaju se resursi mikrokontrolera da može vršiti za to vrijeme neke druge kalkulacije. Isto tako potrebne su samo dvije linije za upis podataka, što može biti korisno ako ne raspolažemo sa više I/O linija. Eventualna mana je što ovako segmenti vuku nešto više struje nego u multipleksu.
Na ovakav spoj sam još dodao ispravljač napona, relej i piezo.


Segmente sam na kraju spojio ovako čudno zato jer mi se tako na PCB-u ne sijeku vodovi pa imam manje kratkospojnika. Ustvari mogu se spojiti bilo kako samo što treba je prepraviti tablicu s brojevima. Još sam dodao i str (store) upravljačku liniju zato jer pri upisu podataka segmenti na djelić sekunde zasvijetle (jedva primjetno, ali me je to kopkalo :D), a ovako se pričeka dok se svi registri ne popune pa tek onda se, sa store, vrijednosti iz registara prebace na izlaze čipa.
Kod sam pisao u bascomu-avr, koji mi najviše odgovara zbog jednostavnosti, koristeći flag system iliti po naški princip zastavica. Između ostalog u atachmentu ispod su i hex i source kojeg sam se potrudio dobro izkomentirati kako bi bio lakše shvatljiv za eventualne samograditelje.
Funkcije uređaja:
-dvije tipke su za namještanje vremena u koraku od 10s
-treća tipka je start/stop
-timer naravno odbrojava od zadane vrijednosti do nule kada isključi relej i aktivira zvučni alarm
-tipke za podešavanje vremena su onemogućene za vrijeme odbrojavanja
-zadano vrijeme se sprema u EEPROM tako da je dovoljno samo jednom namjestiti vrijeme. EEPROM čuva vrijednost i kad nema struje tako da pri ponovnom uključivanju se odmah prikaže zadana vrijednost.
-mikrokontroler se gasi nakon dvije minute neaktivnosti, tada je ukupna potrošnja manja od 5mA.
-trenutno se budi pritiskom na tipku start/stop"


Forum projekt
[ Izvor: Kizo ]
Darkroom timer for PCB exposure
Link
komentar [4]
- Napisao kizo na datum 11-11-2009 u 18:59:53
I have by mistake type in mega8 datasheet, instead of tiny2313, but still 128 prescaler does
not exist for AVR family. Only for timer2 in megas.
IP: n/a
komentar [3]
- Napisao kizo na datum 11-11-2009 u 18:46:38
s is is not a clock.
2)better result could be achieved with 4 bulbs, but even with 2 uniformity of light is good
enough to illuminate even bigger pcb's. There are some pictures of this on forum so u might
check it out.
If you have any more questions regarding this project feel free to ask.
Best regards,
Kizo
IP: n/a
komentar [2]
- Napisao kizo na datum 11-11-2009 u 18:45:01
Hello
First i got to say that im glad that my project have such a big interest.
Regarding your questions:
1)im aware of that 10us error every half a second, and you are right that with this settings
error would be zero. But you overcome one small detail. 128 prescaler value for timer1 does not
exist. 1, 8, 64, 256 and 1024 are only valid ones (check the atmega8 datasheet)! Alternative is
to use 64 or lower, but then u cant achieve 0.5s ISR.
I don't see reason why this 10us is souch a problem, since thi
IP: n/a
komentar [1]
- Napisao basti na datum 11-11-2009 u 17:55:10
Hi,
1) had a quick look at your source code. The timer is configured wrong. Like it is, it gives a
10µsec error on each interrupt. Rather use prescaler=128 and 46874 as compare
2) Do you get bigger pcb's even enough with only 2 bulbs?
IP: 195.82.37.40
dodaj komentar