(7 głosujących) Urządzenie to jak każdy inny zagar służy do odmierzania czasu, jednak jego niezwykłość przejawia się w zastosowanym wyświetlaczu, którym są cztery lampy Nixie typu LC513. Odmierzaniem czasu zajmuje się układ zegara czasu rzeczywistego PCF8583 a całość sterowana jest za pomocą mikrokontrolera ATMega8. W celu poprawnego odliczania czasu podczas zaniku napięcia zasilającego zastosowano kondensator elektrolityczny o dużej pojemności. Lampy zasilane za pomocą Przetwornicy 9V/150V dzięki czemu nie jest konieczne stosowanie dwóch transformatorów. Zegar taki po wyposażeniu w drewnianą obudowę będzie znakomitą i nietypową ozdobą w każdym domu.
Działanie:Schemat ideowy sterownika przedstawiony jest na rysunku poniżej: Sercem układu jest mikrokontroler U1 (ATMega8). Pracuje on na wewnętrznym oscylatorze RC o częstotliwości 8MHz przez co dwa wolne wyprowadzenia zostały wykorzystane do sterowania katod wyświetlacza. Odmierzaniem czasu zajmuje się układ U2 (PCF8583) pracujący z rezonatorem kwarcowym X1 (32,768kHz) i kondensatorem/trymerem C3 (33pF). Jest to popularny i często stosowany układ RTC (real-time clock), zegar czasu rzeczywistego komunikujący się z mikrokontrolerem za pomocą magistrali I2C. Dioda D1 (1N4007) i kondensator C4 (4700uF/5V) stanowią prosty obwód podtrzymania na kilka godzin zasilania dla układu U2 w przypadku zaniku napięcia sieci. Rezystory R17 (3,3k) i R18 (3,3k) podciągają wyprowadzenia mikrokontrolera, stanowiące magistralę I2C, do plusa zasilania. Złącze SW (Goldpin) służy do podłączenia czterech przycisków sterujących pracą zegara. Tranzystor T11 (BC558) wraz z rezystorami R15 (3,3k) i R16 (3,3k) stanowią obwód sterujący brzęczykiem B1, który pełni rolę sygnału budzenia. Złącza GpA (Goldpin) i GpK (Goldpin) zapewniają połączenie między płytką sterownika i płytką wyświetlacza. Złącze Prog oraz rezystory R11 - R14 (330R) tworzą interfejs umożliwiający programowanie mikrokontrolera U1. Do zasilania płytki sterownika służy prosty zasilacz zbudowany w oparciu o stabilizator U3 (7805) i kondensatory C1 (220uF) i C2 (47uF). Tranzystory wysokonapięciowe T1 - T2 (MPSA42) wraz z rezystorami R1 - R10 (33k) sterują pracą katod lamp wyświetlacza. Na rysunku poniżej przedstawiony jest schemat ideowy wyświetlacza: Lampy L1 - L4 (LC513) podłączone są tak aby umożliwić ich multipleksowanie. Tranzystory T1 (MPSA92) i T2 (MPSA42) wraz z rezystorami R1 (33k), R2 (470k) i R3 (100k) są odpowiedzialne za dołączanie anody lampy L1 do wysokiego napięcia podczas multipleksowania. Prąd płynący przez L1 ograniczony jest za pomocą rezystora R13 (47k). Pozostałe lampy zasilane są w identyczny sposób za pomocą tranzystorów T3 - T8 i rezystorów R4 - R12. Neonówka stanowiąca punkt oddzielający minuty od godzin jest sterowana tranzystorem T9 (MPSA42). Rezystor R18 (220k) ogranicza jej prąd. Złacza GpA i GpK służą do podłączenia płytek zegara z sobą natomiast złącze HV jest punktem podłączenia przetwornicy podwyższającej zapewniającej wysokie napięcie dla lamp wyświetlacza. Budowa:Sterownik zegara można zbudować na płytce drukowanej dostępnej tutaj. Rysunek w odbiciu lustrzanym znajduje się tutaj. Montaż należy rozpocząć od wlutowania dwóch zworek a następnie należy zamontować wszystkie rezystory. Pod mikrokontroler U1 oraz układ RTC U2 dobrze jest wlutować podstawkę. Buzzer B1 należy umieścić po stronie druku, a następnie w tylnej ściance obudowy wykonać niewielki otwór (otwory). Zwiększy to natężenie dźwieku słyszanego z wnętrza obudowy. Zamiast kondensatora C3 dobrze jest zastosować dobrej jakości trymer 4-40pF wlutowany od strony druku. Kondensator Elektrolityczny C4 stanowiący źródło zasilania awaryjnego należy zamontować w pozycji leżącej. Stabilizator U3 po wlutowaniu w pozycji leżącej będzie wystawał poza płytkę. Żeby temu zaradzić można zastosować 78L05 w małej obudowie. Złącza GpA i GpK powinny być złączami szufladkowymi w które zostaną wpięte goldpiny na płytce wyświetlacza. Uwaga!! Na płytce brakuje kondensatora 100nF MKT, należy go wlutować od spodu płytki między nóżkami 4 i 8 układu U2. Pomocą przy konstrukcji może okazać się schemat montażowy dostępny tutaj. Wyświetlacz można zbudować w oparciu o płytkę drukowaną dostępną tutaj. Rysunek w odbiciu lustrzanym znajduje się tutaj. Lutowanie rozpoczynamy od zamontowania wszystkich zworek a następnie wszystkie małe elementy. Na samym końcu zabieramy się do montażu lamp i neonówki. Pod lampy zamiast podstawek najlepiej jest wykorzystać piny do złącz żeńskich typu BLS (wtyki na goldpiny montowane na kabel, takie jak tutaj) lutując w miejsce kabla pojedyńczy goldpin a następnie całość w płytkę. Na wystający pin można nałożyć kawałek koszulki termokurczliwej jak to widać na fotografiach na dole strony. Pomocą przy konstrukcji może okazać się schemat montażowy dostępny tutaj. Obudowę do zegara najlepiej zrobić z drewna dębowego. Projekt dostępny jest tutaj. Do wykonania tej konstrukcji potrzebne jest około 70cm listwy o grubośći 8mm i szerokości 8cm. Należy zwrócić uwagę na to aby wspomniana listwa była dobrze wyheblowana i miała jednakową szerokość na całej długości (nie musi być dokładnie 8cm). Ułatwi to klejenie całości i wyeliminuje możliwość powstania szpar. Płytki w obudowie można zamocować za pomocą kleju termotopliwego. Moja obudowa "prototyp" widoczna na zdjęciach nie jest wykonana dokładnie według opisywanego projektu, gdyż on powstał na jej podstawie. Projekt posiada kilka drobnych poprawek :). Podłączenie klawiatury:PinC.0 +Minuty (wejdź do nastaw budzika) PinC.1 -Minuty (włącz budzik) PinC.2 +Godziny (wejdź do nastaw czasu) PinC.3 -Godziny (wyłącz budzik) Wykaz Elementów:1x Zlacze Srubowe ARK2(podwójne) 1x Listwa Goldpin 1x2 1x Listwa Goldpin 1x6 1x Listwa Goldpin 1x10 1x Listwa Goldpin 1x5 1x Zlacze Szufladkowe 1x8 1x Zlacze Szufladkowe 1x6 1x Zlacze Szufladkowe 1x10 52x Piny do złącz żeńskich typu BLS (na goldpiny) 4x uSwitch 12x12mm (lub inny przycisk N.O.) 4x 330R 1x 33pF 1x Neonowka 1x Rezonator Kwarcowy 32768Hz Programowanie:Mikrokontroler do sterownika został zaprogramowany w wersji demo programu BASCOM AVR firmy MCS Electronics (http://www.mcselec.com/). Program przedstawiony jest poniżej: '************* Konfiguracja uC ***************** '*********************************************** $regfile = "m8def.dat" $crystal = 8000000 'oscylator RC wewnetrzny Config Portb = &B11111111 : Portb = &B00000001 Config Portc = &B00000000 : Portc = &B11111111 Config Portd = &B11111111 : Portd = &B00000000 Config Scl = Portc.5 Config Sda = Portc.4 I2cinit Config Timer0 = Timer , Prescale = 64 Enable Timer0 : On Timer0 Prztimer0 Enable Interrupts '********** Konfiguracja uC Koniec ************ '****************** Zmienne ******************* '*********************************************** Dim Flaga4ms As Bit , Flaga05s As Bit Dim Co4ms As Byte , Co05s As Byte Dim Godziny As Byte , Minuty As Byte , Sekundy As Byte Dim Godziny_budz As Byte , Minuty_budz As Byte Dim Godziny_bcd As Byte , Minuty_bcd As Byte , Sekundy_bcd As Byte Dim Mux As Byte Dim Stan_katod As Byte Dim Wartosc_wysw(2) As Byte Dim Neonowka As Bit Dim Licznik_sw As Byte , Stan_portu As Byte , Sw_port As Byte Dim Poz_menu As Byte Dim Zezwolenie_budz As Bit Dim Autopowrot_ust(2) As Byte Dim Temp As Byte Dim Sygnal_budzenia As Byte '************* Zmienne Koniec **************** '************ Warunki Poczatkowe *************** '*********************************************** Poz_menu = 0 Flaga05s = 1 Readeeprom Temp , 2 If Temp = 100 Then Zezwolenie_budz = 1 Else Zezwolenie_budz = 0 Readeeprom Godziny_budz , 3 Readeeprom Minuty_budz , 4 If Godziny_budz > 23 Then Godziny_budz = 8 If Minuty_budz > 59 Then Minuty_budz = 0 '******* Warunki Poczatkowe Koniec *********** '************** Petla glowna ****************** '*********************************************** Do If Flaga4ms = 1 Then Flaga4ms = 0 Gosub Wyswietl Gosub Przyciski End If If Flaga05s = 1 Then Flaga05s = 0 Neonowka = Not Neonowka Select Case Poz_menu Case 0: ' odczyt czasu z rtc I2cstart I2cwbyte 162 'adres zapisu I2cwbyte 2 'rejestr sekund I2cstart I2cwbyte 163 'adres odczytu I2crbyte Sekundy_bcd , Ack I2crbyte Minuty_bcd , Ack I2crbyte Godziny_bcd , Nack I2cstop Sekundy = Makedec(sekundy_bcd) Minuty = Makedec(minuty_bcd) Godziny = Makedec(godziny_bcd) Case 1: Incr Autopowrot_ust(1) If Autopowrot_ust(1) = 8 Then Gosub Zapis_rtc Poz_menu = 0 End If Case 2: Incr Autopowrot_ust(2) If Autopowrot_ust(2) = 8 Then Writeeeprom Godziny_budz , 3 Writeeeprom Minuty_budz , 4 Poz_menu = 0 End If End Select If Sygnal_budzenia > 0 Then Portb.0 = 0 Decr Sygnal_budzenia If Sygnal_budzenia = 0 Then Portb.0 = 1 End If Gosub Budzenie End If Loop End '************ Petla glowna Koniec ************** '************ Przerwanie timer 0 *************** '*********************************************** Prztimer0: 'Incr Co4ms 'If Co4ms >= 2 Then 'Co4ms = 0 Set Flaga4ms 'dziala co 2 ms mimo nazwy Incr Co05s If Co05s >= 250 Then Co05s = 0 Set Flaga05s End If 'End If Return '******** Przerwanie timer 0 Koniec ************ '*********************************************** Wyswietl: Incr Mux If Mux = 8 Then Mux = 0 Select Case Poz_menu Case 0: 'pokazuj czas Portb.1 = Neonowka Wartosc_wysw(1) = Godziny 'wysw 1 i 2 Wartosc_wysw(2) = Minuty 'wysw 3 i 4 Case 1: 'ustawiaj czas Portb.1 = 1 Wartosc_wysw(1) = Godziny 'wysw 1 i 2 Wartosc_wysw(2) = Minuty 'wysw 3 i 4 Case 2: 'ustaw budzik Portb.1 = 0 Wartosc_wysw(1) = Godziny_budz 'wysw 1 i 2 Wartosc_wysw(2) = Minuty_budz 'wysw 3 i 4 End Select Select Case Mux Case 0: Stan_katod = Wartosc_wysw(1) / 10 If Stan_katod = 0 Then Stan_katod = 10 Gosub Ustaw_katody Set Portb.5 Case 1: Reset Portb.5 Case 2: Stan_katod = Wartosc_wysw(1) Mod 10 Gosub Ustaw_katody Set Portb.4 Case 3: Reset Portb.4 Case 4: Stan_katod = Wartosc_wysw(2) / 10 Gosub Ustaw_katody Set Portb.3 Case 5: Reset Portb.3 Case 6: Stan_katod = Wartosc_wysw(2) Mod 10 Gosub Ustaw_katody Set Portb.2 Case 7: Reset Portb.2 End Select Return '*********************************************** Ustaw_katody: Select Case Stan_katod Case 0 : Portb.6 = 0 : Portb.7 = 0 : Portd = 128 Case 1: Portb.6 = 0 : Portb.7 = 0 : Portd = 64 Case 2: Portb.6 = 0 : Portb.7 = 0 : Portd = 32 Case 3: Portb.6 = 0 : Portb.7 = 1 : Portd = 0 Case 4: Portb.6 = 1 : Portb.7 = 0 : Portd = 0 Case 5: Portb.6 = 0 : Portb.7 = 0 : Portd = 16 Case 6: Portb.6 = 0 : Portb.7 = 0 : Portd = 8 Case 7: Portb.6 = 0 : Portb.7 = 0 : Portd = 4 Case 8: Portb.6 = 0 : Portb.7 = 0 : Portd = 2 Case 9: Portb.6 = 0 : Portb.7 = 0 : Portd = 1 Case 10: Portb.6 = 0 : Portb.7 = 0 : Portd = 0 End Select Return '*********************************************** Przyciski: Sw_port = Pinc Sw_port = Sw_port Or &B11110000 If Sw_port <> 255 And Stan_portu = Sw_port Then Incr Licznik_sw If Licznik_sw = 80 Then Licznik_sw = 0 Select Case Stan_portu Case 247: '-godziny Select Case Poz_menu Case 0: 'wylacz budzik Zezwolenie_budz = 0 Temp = 0 Writeeeprom Temp , 2 Sygnal_budzenia = 2 'sygnal na 0,5s Case 1: Decr Godziny If Godziny = 255 Then Godziny = 23 Case 2: Decr Godziny_budz If Godziny_budz = 255 Then Godziny_budz = 23 End Select Case 251: '+godziny Select Case Poz_menu Case 0: 'wchodzi do ustawien czasu Poz_menu = 1 Case 1: Incr Godziny If Godziny = 24 Then Godziny = 0 Case 2: Incr Godziny_budz If Godziny_budz = 24 Then Godziny_budz = 0 End Select Case 253: '-minuty Select Case Poz_menu Case 0: 'wlacz budzik Zezwolenie_budz = 1 Temp = 100 Writeeeprom Temp , 2 Sygnal_budzenia = 3 'sygnal na 1s Case 1: Decr Minuty If Minuty = 255 Then Minuty = 59 Case 2: Decr Minuty_budz If Minuty_budz = 255 Then Minuty_budz = 59 End Select Case 254: '+minuty Select Case Poz_menu Case 0: 'wchodzi do ustawien budzika Poz_menu = 2 Case 1: Incr Minuty If Minuty = 60 Then Minuty = 0 Case 2: Incr Minuty_budz If Minuty_budz = 60 Then Minuty_budz = 0 End Select 'Case 252: End Select Autopowrot_ust(1) = 0 Autopowrot_ust(2) = 0 End If Else Stan_portu = Sw_port Licznik_sw = 60 End If Return '*********************************************** Zapis_rtc: Godziny_bcd = Makebcd(godziny) Minuty_bcd = Makebcd(minuty) Sekundy_bcd = 0 I2cstart I2cwbyte 162 I2cwbyte 0 'rejestr kontrolny I2cwbyte 8 'ustawienie rejestru zapisu daty I2cstop I2cstart I2cwbyte 162 I2cwbyte 2 I2cwbyte Sekundy_bcd I2cwbyte Minuty_bcd I2cwbyte Godziny_bcd I2cstop Return '*********************************************** Budzenie: If Zezwolenie_budz = 1 Then If Godziny = Godziny_budz And Minuty = Minuty_budz Then Portb.0 = Neonowka Else If Sygnal_budzenia = 0 Then Portb.0 = 1 End If End If Return '*********************************************** Ustawienia fusebitów mikrokontrolera przedstawione są na rysunku poniżej(Zrzut z programu Burn-O-Mat): Zdjęcia Projektu:
|
|||||||||||||||||||||||||||||||||||
Zegar NIXIE
Witam serdecznie!
Mam mały problem z zegarem Pana projektu. Po uruchomieniu niby wszystko OK, odmierza czas itd ale .....
Wszystkie cyfry migają, czyżby częstotliwość multipleksowania zbyt niska?
Wsad do procka również oryginalny z Pańskiej strony.
Pozdrawiam
Tomek
Zegar Nixie
Witam
Dziękuje za zainteresowanie projektem. Błędnie ustawionymi fusebitami a dokładnie chodzi o CKDIV który ma być wyłączony. Bit ten odpowiedzialny jest za dzielenie częstotliwości zegara przez 8 lub 16 zależnie od typu mikrokontrolera. Jeżeli do programowania użył pan BASCOMA to proszę sprawdzić czy na zakładce "LOCK and FUSE BITS" jest ustawiona opcja "Divide clock by 8 disabled" co gwarantuje że procesor będzie działał z wewnętrznym kwarcem 8MHz a nie 1MHz
Wrazie dalszych problemów proszę pytać. Zegar u mnie działa więc jego kopia też musi :)
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
zegar NIXIE
Wszystko w porządku, działa. Faktycznie, źle ustawione fuse bity. Serdeczne dzięki.
ustawienie bitów sterujących
Witam!
Jakie powinno być prawidłowe ustawienie bitów sterujących dla zegara. Odpisując na pytanie Tomka odpisał Pan:
Błędnie ustawionymi fusebitami a dokładnie chodzi o CKDIV który ma być wyłączony. Bit ten odpowiedzialny jest za dzielenie częstotliwości zegara przez 8 lub 16 zależnie od typu mikrokontrolera. Jeżeli do programowania użył pan BASCOMA to proszę sprawdzić czy na zakładce "LOCK and FUSE BITS" jest ustawiona opcja "Divide clock by 8 disabled" co gwarantuje że procesor będzie działał z wewnętrznym kwarcem 8MHz a nie 1MHz.
W Baskomie 1.11.8 nie potrafię znaleźć w zakładce "LOCK and FUSE BITS" opcji ustawienia CKDIV ani opcji "Divide clock by 8 disabled" (nie ma?). Programowałem Atmega8 przez STK200 z opcją Int. RC Osc. 8MHz, Start-up time: 6CK+64ms, (CKSEL=0100 SUT=10) - (weryfikacja przeszła) zegar migocze, widać przebłyski innych cyfr więc jest coś nie tak?.
Pozdrawiam Edward.
Zegar
poprawna wartość jest właśnie taka: Wewnętrzny oscylator RC 8MHz, proszę jeszcze ustawić bit CKOPT = 1 (niezaprogramowany). Faktycznie w ATMEGA8 nie ma dzielnika. Mój opis dotyczył bardziej ogólnych problemów z fusebitami.
Proszę sprawdzić czy zasilanie lamp nie jest za niskie i czy płynie odpowiedni prąd określony w karcie katalogowej lampy. Może się to objawiać tym że cyfra nie świeci w całości lub migają jej części a nie cała. Jeśli wszystkie wyświetlacze migają równomiernie to znaczy że jednak fusebity nie są dobrze ustawione i jest za mała częstotliwość. U mnie też zdarzało się że był lekki cień poprzedniej cyfry na następnym wyświetlaczu ale trzeba było się dobrze przyglądać wnętrzu lampy. Jeżeli lampy są w podstawkach albo stykach podobnych do tych w moim projekcie to należy dobrze docisnąć lampy aby był pewny styk z płytką. W razie dalszych problemow służę pomocą
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
zasilanie nixie
Witam!
Bit CKOPT był fabrycznie ustawiony na 1. Migotanie było związane z zasilaniem lamp Nixie - poszedłem na łatwiznę i wykorzystałem zasilacz z jakiegoś miernika na nixie. Transformator prostownik bez kondensatora filtrującego napięcie (przy statycznym wyświetlaniu tętnienia nie przeszkadzały), po dołożeniu kondensatora napięcie było za wysokie. Po zrobieniu przetwornicy migotanie znikneło, są natomiast krótkie mrugnięcia cyfr, co ok. 1 sek. mruga któraś z lamp.Przy trzech świecących lampa mrugają jedna po drugiej, przy czterech w innej kolejności. Mrugnięcia lepiej widać przy wyłączonej neonówce.
Pozdrawiam Edward
Mruganie
Mruganie takie też zauważylem w moim zegarze. Dlatego zmieniłem potem trochę program i teraz jest już mało co zauważalne (ten co jest na stronie jest ulepszony). Podzieliłem multipleksowanie na 8 części żeby pozbyć się prześwietleń cyfry poprzedniej na następnym wyświetlaczu. Jedyną przyczyną jaka mi do głowy przychodzi to że miganie co ok 0.5s lub wielokrotność może być spowodowane odczytem z układu RTC.
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Faktycznie jest mało
Faktycznie jest mało zauważalne, sam narazie nie jestem w stanie nic zmienić w programie . Będę zaglądał na stronę co jakiś czas, może powstanie nowsza wersja oprogramowania. Dziękuję za odpowiedzi i za prowadzenie ciekawej strony z ciekawymi projektami i co naważniejsze z pełnymi opisami projektów.
Pozdrawiam Edward.
Ja bym ci radził
Ja bym ci radził zastosować podtrzymanie bateryjne niż ten wielki elektrolit...Sprawdzałeś ile będzie działać PCF po zaniku napięcia?
Elektrolit
Będzie działał kilka godzin nawet. Został zastosowany eksperymentalne a nie jako super rozwiązanie techniczne :)
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
lampy
czy przy zastosowaniu LAMPY NIXIE LC516 będzie trzeba robić jakieś zmiany w programie czy w zasilaniu ?
Lampa LC-516 ma inne
Lampa LC-516 ma inne wyprowadzenia, obudowę, napięcie zasilania i prąd anody. Porownaj opisy tych lamp na stronie http://www.tube-tester.com/sites/nixie/trade03-nixie-tubes.htm
Będzie działało z elektroniką z mojego zegara ale wymaga to prawdopodobnie zrobienie nowej płytki wyświetlacza albo chociaż inne podłączenie wyprowadzeń
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
NIXIE czas/ data
Witam!
Mam 6 takich lamp i chciałbym zrobić coś podobnego... tyle że z opcją wyświetlania sekund na lampach 1-6 (GG:MM:SS) oraz co 15 sekund będzie mi się to zamieniało na datę wyświetlaną na lampach 1-6 (DD:MM:RR).
Co trzeba zmienić w programie i jakie sekcje?
Jakiego mikroklocka by Pan polecał (myślałem o atmega16)?
Gdzie wstawić pętle która zmieniałaby datę na godzinę i odwrotnie co 15 sekund?
Pozdrawiam!
Re: NIXIE
Witam
Uważam że użycie ATMega16 lub ATMega162 będzie dobrym wyborem ze względu na dużą liczbę wyprowadzeń. Jeżeli chodzi o zmiany w progamie to nie będą takie strasznie trudne ale dobrze już nie pamiętam jak ten kod działał więc udziele tyle wskazówek ile mogę. Na początku polecam złożyć układ według podobnego schematu co mój (tylko na ATMega 16) i po uprzedniej modyfikacji programu (zmianie wyprowadzeń, typu uC i przekompilowaniu) zaprogramowanie tym kodem z mojej strony. Będzie wtedy wiadomo czy wszystko przewodzi i liczy poprawnie. Wtedy zajmiemy się ulepszeniami
1. Na początku będzie konieczne dorobienie dwóch dodatkowych bloków sterowania anodami dla dwóch kolejnych lamp i analogiczne ich podłączenie jak na schemacie wyświetlacza w moim projekcie.
2. Potem należy zmodyfikować program aby był zdolny wyświetlać sekundy na dodatkowych lampach, czyli:
w fragmencie:
oraz w instrukcji case znajdującej się poniżej dopisz na końcu te linijki dla kolejnego wyświetlacza:
W powyższym fragmencie Portx.1 i Portx.1 oznaczają porty do których podłączone zostaną sterowania anod kolejnych wyświetlaczy. Trzeba jeszcze na początku programu zmienić deklarację tablicy Wartosc_wysw podając ilośc elementów równą 3 a nie 2
Narazie tyle do zrobienia. Jeśli bedzie działało i poprawnie wyświetlało sekundy na dodatkowych lampach to daj znać a będziemy dalej modyfikować program. Jak napisze od razu wszystkie modyfikacje to nie bedzie wiadomo potem czemu nie działa.
Aha tak na marginesie to w moim projekcie czas z układu RTC jest odczytywany 2 razy na sekundę (ponieważ nie miałem sekundnika). Jakby sie okazało że to za rzadko to trzeba będzie to zmienić. O tym jednak powiem jak to co napisałem będzie działać.
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
*.sch
miałbym ogromną prośbę...
Jakbyś mógł udostępnić plik schematu w formacie *.sch jak nie na stronie to via mail (serviq[at]o2.pl)
Pozdrawiam!
Zegar nixie
Witam
Zbudowałem zegar według Twojego pomysłu.
Całkiem fajna konstrukcja.
Mam jednak pytanie:
Jakie funkcje są przypisane poszczególnym klawiszom i jak nastawić czas oraz budzenie?
I serdeczną prośbę. Ponieważ skopałem wyprowadzenie katod na płytce, czy przy chwili wolnej dałbyś radę zmodyfikować soft tak aby poszczególne katody były przypisane do portów atmegi jak poniżej:
Katoda_Port
0______PD.0
9______PD.1
8______PD.2
7______PD.3
6______PD.4
5______PB.6
4______PB.7
3______PD.5
2______PD.6
1______PD.7
Z góry dziękuję, za informację i jeśli nie sprawi Tobie kłopotu nowy soft.
Ze swojej strony służę wzorami pytek.
pozdrawiam
Piotr
Re: Zegar nixie
Czas ustawiamy klikając przycisk zwiększania wartości godzin, po tym neonówka zaświeci się na stałe i bedzie mozna za pomocą czterech przycisków ustawić godziny i minuty, wyjście z ustawień dokonuje sie samo po pewnym czasie. Budzenie ustawia sie analogicznie tylko klikając na początku minuty+. Aktywownie budzika i jego wyłączenie jest możliwe na przyciskach godziny- i minuty- gdy nie jesteśmy w ustawieniach
Odnośnie przerobienia kodu to proszę się przypomnieć mailem w weekend bo teraz nie dam rady
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Prośba
Witam.
Czy znalazłby Pan czas żeby rozrysować schemat ideowy do zegara nixie ale na 6 lamp typu Z560M? Płytkę sobie już bym zaprojektował bo to już nie jest problem. Problemem jest tylko schemat ideowy i program do procka. Apropo programu to czy mógłby Pan przerobić swój program tak aby orpócz wyświetalania godziny zegar co 30s wyswietlał date w formacie DD:MM:RR? I ostatnie pytanie ile wynosi tak orientacyjnie koszt wykonania takiego zegara?
Pozdrawiam DaiKaioshin
Re: Nowy Nixie
Czasu na razie nie mam w najbliższych tygodniach ale dopiszę pana propozycję do planowanych projektow na stronie głownej a potem w wolnych chwilach (a raczej godzinach) postaram się zrobić coś takiego razem z płytkami i programem.
Co do kosztu to napewno nie będzie niski jak się policzy wszystkie podzespoły. Dodatkowo narazie nie wiem gdzie można takie lampy zdobyć
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Dziękuje Panu bardzo za
Dziękuje Panu bardzo za dopisanie mojej prośby do listy rzczeczy do wykonania:) a póki co zajmę się kompletowanie podzespołów.
Pozdrawiam DaiKaioshin
Srostowanie
Post wyżej prosiłem aby rozrysował Pan schemat ideowy do lamp NIXIE Z560M i tutaj zaszła mała pomyłka gdyż posiadam lampy Nixie LC513 a czemu napisałem o tamtym modelu nie mam pojęcia. może to z przejęcia:) Tak więc prosze o rozrysowanie schematu ideowego do lamp Nixie LC513. schemat płytki sam sobie rozrysuje bo połączę ja odrazu z przetwornica do zasilania lamp. dziękuje z góry i przepraszam za pomyłkę z oznaczeniem tym lamp.
pozdrawniam DaiKaioshin
Re: Zegar Nixie
Ok :) Nie zmienia to jednak faktu że zrobię to dopiero trochę pozniej
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Nowy nixie
Witam
Pomysł z 6 lampami całkiem fajny. Przy okazji proponowałbym albo zrezygnować z RTC albo zamienić na DS1307. Obecnie stosowany PCF8583 jest dość fajny, ale podatny bardzo na zakłócenia. Już tydzień walczę i nie mogę uzyskać dokładności lepszej niż -1 min/ dobę. Przetwornicę zrobiłem wprawdzie na układzie MC34063 na wspólnej płytce. Dodam, że przy wyłączonej przetwornicy wychodzi - 3 s/dobę. Kwarców parę przetestowałem z różnymi kombinacjami kondensatorów.
Przy okazji zapytam jak z punktualnością twojego zegara.
Re; Nixie
Układy RTC są o tyle fajne że mikrokontroler nie musi sie martwić o dokładne liczenie czasu a przez to program jest bardziej luźny i nie ma takich ostrych wymogow czasowych. U mnie było jeszcze gorzej ze stabilnością i już miałem całość wyrzucić :). Po wlutowaniu kondensatora filtrującego pod płytkę, stabilność jest ok 20s na dobę, tak na oko :)
Dodatkowo wymagany jest też specjalny obwod masy o ktorym przeczytałem niestety pożniej
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Dokładność RTC
Witam ponownie
No i udało się. Bo blisko dwóch tygodniach walki z RTC osiągnąłem dokładność zegara na poziomie ~2s na dobę. Jak dla mnie w zupełności wystarczy.
Po wielu próbach doszedłem do wniosku, że przyczyną niedokładności są zakłócenia wysyłane przez cewkę przetwornicy. Niestety próby ekranowania cewki nie dały spodziewanych efektów. Wprawdzie dokładność zegara była bardzo dobra, jednak zmiana przez ekranowanie cewki jej parametrów spowodowała nadmierne grzanie jej samej jak i tranzystora kluczującego.
Zatem pomyślałem sobie o ekranowaniu RTC. I to przyniosło spodziewany efekt.
Ponieważ znalezienie gotowej obudowy ?ekranowej? wielkości scalaka jest trudne, wpadłem na pomoc na wykonanie ekranu z taśmy sygnałowej wielożyłowej np. od transmisji danych HDD. Odizolowałem z jednej strony wszystkie żyły i połączyłem je do masy za pomocą drucika, który pełni także rolę mocowania ekranu. Pod taśmą jest RTC, kwarc (dodatkowo jego obudowa została też podłączona do masy) i kondensator przy kwarcu. Kondensator przy kwarcu jest podłączony do masy (nie do plusa jak u Ciebie na schemacie) zapewnia to większą dokładność. Zamiast taśmy można pewnie by zastosować blachę lub cewniczek miedziany, ale trzeba bardzo uważać żeby nie zrobić zwarcia.
Pozdrawiam
Piotr
Re: RTC
Myślałem jeszcze o polach masy pod kwarcem i wokoł niego, poza ekranowaniem od gory
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Dziwnie mi mruga kropka?
Witam kolegę.
Zbudowałem zegar wg Twojego projektu. Działa znakomicie. Mam jednak problem z kropką. Dziwnie mruga. Nie równo, lub prawie wcale. Mam pytanie? Ten typ tak ma, czy coś mogłem zrobić źle.
Pozdrawiam
Roman
Re: Kropka
Coś musi nie stykać między dwoma płytkami. Jeśli zegar działa dobrze to kropka też musi, bo u mnie dobrze mruga :)
Sprawdź luty przy neonówce i jej tranzystorze, i całą ścieżkę aż do procesora
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Problem z kropką.
Już działa. Problem z kropką polegał na innym zapięciu zapłonu lamp nixie i neonówki. Poradziłem sobie zmieniając rezystor R18 na mniejszy.
Re: Nixie
Dzięki za podzielenie się cenną uwagą. Może się przydać jeszcze innym czytelnikom :)
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Świetny projekt. Mam pytanie
Świetny projekt. Mam pytanie co do schematu sterowania katodami lamp. Dlaczego lampy są sterowane parą MPSA42/MPSA92 zamiast pojedyńczym MPSA92 + 33k na bazę? Można tak sterować (oczywiście po odwróceniu sterowania w programie)? Jeśli nie to poproszę o wytłumaczenie dlaczego. Dziękuję i pozdrawiam.
Re: Sterowanie Lamp
Do sterowania katodami konieczna jest para tranzystorów, gdyż pojedyńczy tranzystor nie da rady. W jaki sposób wytworzysz napięcie na bazie tranzystora rzędu 150V aby zamknąć tranzystor? Gdy katoda jest sterowana napięciem 5V (jak w Ledach) to procesor wystawiając stan wysoki skutecznie odcina tranzystor. Gdy natomiast zasilanie katod jest dużo większe to czy procesor wystawi 5V czy może GND to dla tranzystora jest i tak stan niski i będzie zawsze otwarty. Drugim powodem jest wysokie napięcie, którego wolał bym uniknąć na wyprowadzeniu procesora :)
Ps. Nawet gdy lampy zasilane były by 12V to i tak stan wysoki 5V bedzie traktowany jako stan niski
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Dzięki za odpowiedź. A
Dzięki za odpowiedź. A mógłbyś mi powiedzieć jak najprościej zrobić w tym układzie dwustopniową regulację jasności świecienia lamp? Chodzi mo głównie o elektronikę. Z softem sobie poradzę.
Re: Regulacja Jasności
Nie próbowałem nigdy regulować jasności lamp Nixie. Możesz spróbować zmniejszyc napięcie zasilania, poprzez sterowanie przetwornicą ale mam duże obawy czy spełni to swoją rolę. Możesz też spróbować zmniejszyć czas świecenia lamp przy multipleksowaniu, ale nie zmieniając częstotliwości odświeżania wyświetlacza.
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Zbudowałem ten zegar na 6
Zbudowałem ten zegar na 6 lampach i na procku Mega32. Kwarc podpięty 16MHz. Fusebity ustawione poprawnie. Program przerobiony na 6 lamp zgodnie z opisem. Po uruchomieniu wszystko ładnie pracuje natomiast mam małą czestotliwość wyświetlania (około 20Hz). Przez to całośc w denerwujący sbosób migocze. Jak zwiększyć tą częstotliwość?
Przydało by sie także
Przydało by sie także zwiększyć częstotliwośc odczytywania z RTC gdyż sekundy przeskakuja w nienaturalny sposób.
Re: Zegar Nixie
Czy zmieniłeś w programie linijkę $crystal = 8000000 na $crystal = 16000000 aby pasowało do twojego kwarca? Czy dzielenie częstotliwości zegara w fusebitach wyłączyłeś?
Częstotliwość musi być dobra bo u mnie na 4 lampach nie migocze nic, a dałeś kwart 2x szybszy niż ja mam w swoim projekcie. To napewno kwestia ustawień.
Odnośnie odczytu z RTC to u mnie odczytuje 2x na sekundę bo nie było potrzeba. Można zmniejszyć dzielnik do falagi Flaga05s aby się szybciej wykonywała.
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Crystal ustawione na
Crystal ustawione na 16000000. O który konkretnie bit chodzi? Być może mam go źle ustawionego. Jak możesz to dołącz screen jak ustawić bity (najlepiej z Burn-o-mat'a).
Pozdrawiam.
Czy jesteś wstanie zmierzyć
Czy jesteś wstanie zmierzyć na dowolnej anodzie jaką masz częstotliwośc względem masy? U mnie jest to 20,34Hz (przy 6 lampach).
Re: Fusy
Odnosnie fusów to źle powiedziałem Ci odnośnie tego dzielenia częstotliwości zegara, akurat ATMEGA32 nie ma tego bitu. Poprawne ustawienia sprawdź w opisie http://mirley.firlej.org/fuse_bity_w_mikrokontrolerach_avr
Częstotliwości nie mogę zmierzyć bo nie posiadam odpowiedniego miernika, aktualnie. Aby sprawdzić czy częstotliwość pracy całego układu jest dobra, zmodyfikuj tak program aby w głównej pętli programu w obsłudze flag zmieniał stan logiczny dowolnego pinu. Gdy zmierzysz częstotliwość przebiegu na tym pinie zobaczysz czy flaga ustawiana jest co odpowiedni czas. Innej dobrej metody nie znam.
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Juz wiem dlaczego jest
Juz wiem dlaczego jest problem. Preskaler timera zmieniłem na 8 zamiast 64. A zrobiłem to dlatego, że jak mam 64 to bascom nie chce skompilować. Wiesz może dlaczego? Możesz sprawdzić czy u Ciebie się da jak zmienisz procek na M32?
Skompilował na takich
Skompilował na takich ustawieniach bez żadnego problemu:
Zainstaluj najnowszą wersję BASCOM AVR i pewnie ruszy
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Udało się przekompilować.
Udało się przekompilować. Faktycznie update Bascom'a pomogło. Obecnie walczę z klawiaturką i jej obsługą. Porty zwieram do masy, ale ustawiać się nie chce. Poprzestawiałem nr. portów, numery case, itp., ale nie działa. Muszę kombinować dalej.
Zegarek uruchomiony. Muszę
Zegarek uruchomiony. Muszę tylko zmienić sposób obsługi na bardziej przystępny, dorobić datownik, dwa alarmy + regulowany czas alarmu. Czy mógłbyś napisać w czym rysujesz schematy ideowe i płytki?
Re: Rysowanie PCB
Płytki i schematy jak już wczesniej wielokrotnie pisałem rysuję w wersji trial Protela 99. Obecnie poszukuję jakiegoś fajnego programu do rysowania płytek i schematów pod Linuxa
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Pytanie?
Jest możliwość zamieszzenia plików z programu w którym projektowana była płytka? Mam jeszcze przez miesiąc dostęp do frezarki więc bym ją sobie wyfrezował zamiast żelaskiem prasować:)Pozdrawiam
Re: Zegar Nixie
Proszę napisać w tej sprawie na maila to się zastanowię :)
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Transformator
Witam
Jaki zastosował Pan transformator do zegara (do przetwornicy i do sterownika)?
Re: Trafo Nixie
Zastosowałem trafo ze starego radia :). Ponieważ nie jest to z pewnością fachowa odpowiedź to proszę zastosować trafo 10-12V i mocy ok 5W (powinno wystarczyć). Przetwornicę zasilam poprzez 7809 a uklad z tego samego trafo poprzez stabilizator na płytce. Oczywiście należy jeszcze do transformatora dołączyć mostek i kondensator filtrujący.
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Witam czytam posty i
Witam
czytam posty i zauważyłem ciekawy pomysł aby rozbudować Pana zegar o 2 dodatkowe lampy aby wyswietlić sekundy i date... mam więc pytanie. Czy znalazłby Pan czas na przerobienie swojego projektu programu na 6 lamp tak zeby wyświetlał czas i co 30s date? posiadam lampy LC516 więc czy mógłby Pan przerobić probić program właśnie pod ten model lamp? i prosiłbym o przerobiony schemat ideowy jeśli podjąłby się Pan zrealizowania mojej prośby:) z góry dziękuję
Pozdrawiam Radtiz
p.s. czy istnieje możliwość aby wysłać Panu układ Atmega zeby go Pan zaprogramował i odesłał? bo nikt z moich znajomych się nie posiada programatora do tego rodzaju układów a do jednego projektu raczej mi się niezbyt opłaca go składać...