Działanie:
Schemat sterownika zegara został przedstawiony na rysunku 1. Sercem układu jest mikrokontroler U3 (ATMEGA8-PU), pracujący z wewnętrznym taktowaniem 8MHz. Piny rezonatora kwarcowego wykorzystano jako klasyczne porty wyjściowe. Za prawidłową polaryzację nóżki resetu mikrokontrolera odpowiada rezystor R3 (10k). Prawidłowe zasilanie mikrokontrolera U3 generowane jest za pomocą stabilizatora liniowego U2 (78L05) oraz filtrowane za pomocą kondensatorów C2 (100uF/25V), C3 (47uF/25V) i C5 (100nF). Złączem zasilania (typowo 9-12V) jest tutaj gniazdo GP1 (NS25-W2). Liczeniem czasu zajmuje się dedykowany układ zegara czasu rzeczywistego U1 (PCF8583), który komunikuje się z mikrokontroleram za pomocą magistrali I2C. Nad poprawną polaryzacją linii SCL i SDA tej magistrali czuwają rezystory podciągające R1 (3,3k) i R2 (3,3k). Układ zegara taktowany jest rezonatorem kwarcowym X1 (32,768kHz), wspomaganym pojemnością C1 (22pF). Kondensator C4 (100nF) filtruje dodatkowo zasilanie samego zegara U1, który za pośrednictwem diod D1 (BAT85) i D2 (BAT85), może pracować na zasilaniu bateryjnych BT1 (CR2032), bądź pochodzącym ze stabilizatora U2.Budowa:
Widok płytki drukowanej sterownika od strony druku (od spodu) dostępny jest tutaj. Odbicie lustrzane płytki można pobrać tutaj, natomiast podczas lutowania płytki od strony elementów (od góry) z pewnością przyda się schemat montażowy dostępny tutaj. Montowanie płytki od strony druku (od spodu) warto oprzeć o rysunek dostępny tutaj. Lutowanie płytki należy rozpocząć od złącz GP2 i GP3, które mają być wlutowane od strony druku. Należy przy tym zachować szczególną uwagę aby listwa goldpin została zamontowana prostopadle do płytki i na tej samej wysokości. Przed włożeniem złącza można delikatnie pokryć cyną wszystkie pola lutownicze aby ułatwić montaż. W dalszej kolejności warto przejść od trzech zworek oznaczonych na schemacie montażowym jako "zw", po czym montujemy wszystkie rezystory i małe kondensatory. Pozostałe elementy mogą być przylutowane w dowolnej kolejności, zwracając uwagę na fakt, iż pod układy U1 oraz U3 warto zastosować podstawki. Widok płytki drukowanej wyświetlacza od strony druku (od spodu) dostępny jest tutaj, natomiast jej odbicie lustrzane można znaleźć tutaj. Rysunek dostępny tutaj z pewnością przyda się podczas lutowania płytki od strony druku (od spodu), natomiast podczas lutowania od strony elementów (od góry) z pewnością przyda się rysunek dostępny tutaj. Montaż w tym przypadku należy rozpocząć od strony elementów, lutując najpierw trzy zworki, potem rezystory i diody a na końcu pozostałe elementy. Złącza szufladkowe GP2 i GP3 montujemy na samym końcu. Lampy Nixie V3 i V4 oraz wskaźniki neonowe V1 (NEON) i V2 montowane są od strony druku. Nie zaleca się tutaj lutowania lamp bezpośrednio w płytkę, a montaż w podstawkach. Podstawki należy wykonać samodzielnie wyciągając pojedyncze piny z podstawek precyzyjnych pod układy scalone. Takie rozwiązanie pozwoli na precyzyjne ustawienie lamp i neonówek względem siebie, a także pozwoli na łatwą wymianę lampy w przypadku jej zniszczenia.Programowanie:
Program został napisany w dobrze znanym programie BASCOM AVR . Zajmuje on około 30% dostępnej pamięci mikrokontrolera. Poniżej przedstawione są jedynie ciekawe fragmenty programu. Poniżej przedstawiona została pętla główna:
Do
'****************************
If F4ms = 1 Then
F4ms = 0
Gosub ShowMux
Gosub Switches
End If
'********************************
If F500ms = 1 Then
F500ms = 0
Reset Watchdog
Toggle BlinkState
If MenuPos=0 Then Gosub ReadRTC
End If
'********************************
If F200ms = 1 Then
F200ms = 0
Select Case MenuPos
Case 0:
'Normal displaing, time and temperature....
Incr AnCounter
If AnCounter > AnDelay Then
Incr AnScreen
If AnScreen >5 Then AnScreen=1
AnCounter=0
End If
Select Case AnScreen
Case 1:
DispEna=1
PresVal=TimeH
NeonL=1 : NeonR=0
AnDelay=5'*200ms
Case 2:
DispEna=1
PresVal=TimeM
NeonL=0 : NeonR=1
AnDelay=5'*200ms
Case 3:
DispEna=1
PresVal=TimeS
NeonL=0 : NeonR=0
AnDelay=15'*200ms
Case 4:
DispEna=0
NeonL=0 : NeonR=0
AnDelay=3'*200ms
Case 5:
DispEna=1
Hi = T Mod 10
If Hi >= 5 Then NeonR=1 Else NeonR=0
NeonL=0
Hi = T/10
PresVal=Hi
AnDelay=20'*200ms
End Select
Case 1:
'Hour settings
AnCounter=0 : AnScreen=0 : AnDelay=0
DispEna=1
PresVal=TimeH
NeonR=0
NeonL=BlinkState
Case 2:
'Minutes Setting
AnCounter=0 : AnScreen=0 : AnDelay=0
DispEna=1
PresVal=TimeM
NeonR=BlinkState
NeonL=0
End Select
End If
'********************************
Loop
End
ShowMux:
Incr Mux
If Mux = 5 Then Mux = 0
Select Case Mux
Case 0:
CathState = PresVal Mod 10
If DispEna=0 Then CathState=10
Gosub SetCathodes
Set A1
Case 1:
Reset A1
Case 2:
CathState = PresVal / 10
If DispEna=0 Then CathState=10
Gosub SetCathodes
Set A2
Case 3:
Reset A2
Gosub Temp
'Case 4: 'Dummy case to get more time for DS18B20
End Select
Return
SetCathodes:
Portb = Portb and &B00111000 : Portc = Portc and &B11000111 : Portd = Portd and &B00001111
Select Case CathState
Case 0: Portd.6 = 1
Case 1: Portd.5 = 1
Case 2: Portb.0 = 1
Case 3: Portd.4 = 1
Case 4: Portb.7 = 1
Case 5: Portb.6 = 1
Case 6: Portc.3 = 1
Case 7: Portc.4 = 1
Case 8: Portc.5 = 1
Case 9: Portd.7 = 1
End Select
Return
Ustawienia Fusebitów:
Wersje Oprogramowanie uC:
- 0.95 - Pierwsza wersja jaka ma pełną funkcjonalność. Zegar działa a wszystkie jego funkcje są oprogramowane. Wyświetlanie danych jest sekwencyjne: Godziny, minuty, sekundy a następnie temperatura.
Obsługa:
Obsługa zegara jest banalnie prosta i odbywa się za pomocą trzech przycisków (+, Menu, -). Naciśnięcie przycisku Menu (SW2) powoduje wejście do ustawień czasu, a dokładniej do ustawiania godzin. Miga wtedy neonówka po lewej stronie wyświetlacza, a przyciskami + (SW3) oraz - (SW1) dokonujemy nastaw. Ponowne naciśnięcie Menu przechodzi do ustawień minut (miga neonówka po prawej stronie wyświetlacza), natomiast trzecie naciśnięcie wychodzi z trybu ustawień i zeruje licznik sekund. Podczas normalnego sekwencyjnego wyświetlania czasu i temperatury neonówki V1 i V2 pozwalają na lepszą interpretację wskazań na wyświetlaczu zegara. Sekwencja jest następująca:- Godziny, świeci neonówka z lewej (około 1s)
- Minuty, świeci neonówka z prawej (około 1s)
- Sekundy, nie świeci żadna neonówka (około 3s)
- Przerwa (około 0.6s)
- Temperatura, neonówka z prawej oznacza +0.5 stopnia (około 4s)
Zdjęcia Projektu:
Wykaz Elementów:
Elementy Nixie:
Elementy Sterownika:
Załączniki:
Projekt Płytki: | ||
AB AB AB | Płytka Sterownika (strona druku,termotransfer) | 25.8 kB |
AB AB AB | Płytka Nixie (strona druku,termotransfer) | 35.7 kB |
AB AB AB | Płytka Nixie (strona druku,odbicie lustrzane) | 36.0 kB |
AB AB AB | Płytka Sterownika (strona druku,odbicie lustrzane) | 25.9 kB |
AB AB AB | Płytka Sterownika (strona druku, kilka na stronie, termotransfer) | 134.7 kB |
AB AB AB | Płytka Nixie (strona druku, kilka płytek na stronie, termotransfer) | 214.0 kB |
AB AB AB | Montowanie Sterownika (strona elementów) | 44.2 kB |
AB AB AB | Montowanie Nixie (strona elementów) | 69.5 kB |
AB AB AB | Montowanie Sterownika (strona druku) | 38.3 kB |
AB AB AB | Montowanie Nixie (strona druku) | 58.3 kB |
AB AB AB | Warstwa Opisowa Sterownika (strona elementów) | 63.8 kB |
AB AB AB | Warstwa Opisowa Nixie (strona elementów) | 113.2 kB |
AB AB AB | Warstwa Opisowa Nixie (strona druku) | 19.3 kB |
AB AB AB | Warstwa Opisowa Sterownika (strona druku) | 13.9 kB |
AB AB AB | Soldermaska Sterownika (strona druku) | 53.0 kB |
AB AB AB | Soldermaska Nixie (strona druku) | 89.8 kB |
Dokumentacja: | ||
AB AB AB | Schemat Ideowy Sterownika | 141.6 kB |
AB AB AB | Schemat Ideowy Nixie | 110.8 kB |
AB AB AB | Lista Elementów Sterownika | 1.2 kB |
AB AB AB | Lista Elementów Nixie | 824 B |
AB AB AB | Lista Montażowa Nixie | 981 B |
AB AB AB | Lista Montażowa Sterownika | 1.2 kB |
Programowanie: | ||
AB AB AB | Kod Źródłowy (BASCOM-AVR) | 8.1 kB |
AB AB AB | Program wynikowy (BIN BASCOM-AVR) | 2.5 kB |
AB AB AB | Program wynikowy (HEX) | 7.1 kB |
AB AB AB | Ustawienia Fusebitów (burn-o-mat) | 12.1 kB |
Pozostałe: | ||
AB AB AB | Przewodnik Wierceń Sterownika | 11.7 kB |
AB AB AB | Przewodnik Wierceń Nixie | 12.7 kB |
Pytania i Komentarze:
comments powered by Disqus
Lipiec 19, 2018
Zasilacz do wzmacniaczy już opisany ...
Więcej …
Czerwiec 20, 2018
Moduł wykonawczy już opisany...
Więcej …
Więcej nowinek …
Zasilacz do wzmacniaczy już opisany ...
Więcej …
Czerwiec 20, 2018
Moduł wykonawczy już opisany...
Więcej …
Więcej nowinek …
Polecane Strony