Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 28 mar 2024, o 10:52


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 22 ] 
Autor Wiadomość
PostNapisane: 11 sty 2017, o 14:38 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 20 sty 2013
Posty: 24
Lokalizacja: Lublin\Gliwice
Pomógł: 0

Dzień dobry,
jestem w fazie testów zegarka na lampach nixie, jednakże napotkałem problem. Zegarek chodzi przez kilka godzin a później staje, tzn. sam układ RTC liczy czas bo po resecie atmegi jest aktualna godzina oraz widzę że jest sygnał generujący przerwanie 1Hz. Ale wygląda na to że atmega nie wysyła żądania o podanie godziny. Jeśli chodzi o schemat, to nie wiem czy jest sens zamieszczać, tym bardziej że zegar chodzi przez kilka godzin, mi wygląda to raczej na jakiś błąd programowy. Od razu zaznaczam że atmega siedzi w płytce uruchomieniowej więc z filtracją zasilania powinno byc wszystko okej.

Podłączony jest też wyswietlacz lcd, tak tylko w celu debugowania. Biblioteki co I2C oraz lcd z bluebooka.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Ostatnio edytowano 14 sty 2017, o 17:36 przez m_wojcik74, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 sty 2017, o 23:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

Zapodaj schemat.

Wysłane z mojego Kruger&Matz DRIVE 4 przy użyciu Tapatalka

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2017, o 10:19 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 20 sty 2013
Posty: 24
Lokalizacja: Lublin\Gliwice
Pomógł: 0

Zamieszczam poniżej schemat połączeń zewnętrznego układu czyli to co posklejałem ja, oraz schemat płytki uruchomieniowej do której włożona jest atmega, gdyby ktoś miał wątpliwości czy filtracja itd jest zachowana. Na schemacie który rysowałem, nie zamieszczałem kondensatorów i reszty z płytki uruchomieniowej.

W celach testowych, w funkcji głównej programu umieściłem zmiane stanu na porcie w celu podpięcia w diody czyli z każdym przejściem pętli dioda zmieni swój stan, oraz to samo zrobiłem w "if'ie" od przerwania co sekundę. Układ zostawiłem na noc. Jak się okazało, rano nic nie miga, a godzina stoi w miejscu. PWM do generatora wysokiego napięcia chodził bo nixie świeciły, przerwanie do multipleksowania również, bo wyświetlacz działał normalnie. Program się zawiesił (pętla główna się nei wykonywała w ogóle), i zawiesza się cyklicznie co kilka godzin.
Jako że płytke uruchomieniową zasilam z USB, a przetwornice wysokiego napięcia z 12V, wypiąłem z sieci zasilacz 12V, bo sprawdzałem czy może przetwornica generuje takie zakłócenia że atmega wariuje, jednak bez zasilania 12V układ też się zawiesza. Jestem przekonany że to jest jakiś błąd w programie, tym bardziej że gdy nie podpiąłem jeszcze nixie (testowałem sam układ RTC), na samym wyświetlaczu LCD układ liczył normalnie kilka dni i nic sie nie działo.

Aha układ RTC to DS3132 taki na gotowej płytce drukowanej z allegro wraz z pamiecia eeprom za 7PLN.

ObrazekObrazekObrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2017, o 10:35 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1540
Pomógł: 269

Odłącz tą "neonówkę od sekund" od nóżki SQW układu DS3231 i przetestuj czy dalej będzie to samo.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2017, o 16:13 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 20 sty 2013
Posty: 24
Lokalizacja: Lublin\Gliwice
Pomógł: 0

anshar napisał(a):
Odłącz tą "neonówkę od sekund" od nóżki SQW układu DS3231 i przetestuj czy dalej będzie to samo.


Niestety bez skutku, w dalszym ciągu zegarek się zatrzymuje :/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2017, o 16:19 
Offline
Użytkownik

Dołączył(a): 29 mar 2012
Posty: 595
Lokalizacja: Jaworzno
Pomógł: 39

A gdzie kolega ma rezystory podciągające linie I2C?
Dobra, źle przeczytałem. Napisałeś że to gotowy moduł.

A testowałeś ten zegarek przez dłuższy czas na zwykłym wyświetlaczu np. 2x16?

_________________
Pozdrawiam
PP



Ostatnio edytowano 12 sty 2017, o 16:29 przez Piotrek_P, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2017, o 16:29 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 20 sty 2013
Posty: 24
Lokalizacja: Lublin\Gliwice
Pomógł: 0

Piotrek_P napisał(a):
A gdzie kolega ma rezystory podciągające linie I2C?


Nie dam sobie ręki obciąć bo płytka jest wielowartwowa, ale wydaje mi się że tutaj (na czerwono):
Obrazek

Na schemacie zaznaczylem symbolicznie moduł RTC, nie chciałem przerysowywać całości, gdyż tak na prawde nie wiem czy producent moduły zastosował wszystko to co producent DS3231 w nocie zalecił.

------------------------ [ Dodano po: 2 minutach ]

Piotrek_P napisał(a):
A testowałeś ten zegarek przez dłuższy czas na zwykłym wyświetlaczu np. 2x16?


Tak, pisałem o tym w wiadomości wyżej:

Cytuj:
Jestem przekonany że to jest jakiś błąd w programie, tym bardziej że gdy nie podpiąłem jeszcze nixie (testowałem sam układ RTC), na samym wyświetlaczu LCD układ liczył normalnie kilka dni i nic sie nie działo.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2017, o 20:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 lut 2016
Posty: 248
Lokalizacja: Norwegia
Pomógł: 16

Widzę że u Ciebie błąd może tkwić w zasilaniu. Zwróć uwagę na błąd jaki wkradł się producentowi tego modułu DS3231. Otóż zasilając te moduły napięciem 5V musisz wywalić rezystor 200ohm który podaje to napięcie dalej przez diodę do baterii podtrzymującej zegar. To jest absolutnie zbędne i myślę że właśnie to powoduje u Ciebie że zegar się zatrzymuje. Zwróć na to uwagę bo to może nawet doprowadzić do uszkodzenia scalaka.

Obrazek


Autor postu otrzymał pochwałę

_________________
SP2LUB - LA1BUA



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2017, o 21:27 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 mar 2014
Posty: 356
Lokalizacja: Pruszków
Pomógł: 15

Kolego a sprawdź debugerem (Mirkowym) jedno diodowym czy działa prawidłowo wykrywanie przychodzącego przerwania z RTC.
Na samym początku przed odczytem z RTC zapal diodę i na koniec ją zgaś.
Czy będzie błyskać zgodnie z sygnałem SQW z RTC.


Pozdrawiam Paweł.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2017, o 21:38 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 20 sty 2013
Posty: 24
Lokalizacja: Lublin\Gliwice
Pomógł: 0

SP2LUB napisał(a):
Widzę że u Ciebie błąd może tkwić w zasilaniu. Zwróć uwagę na błąd jaki wkradł się producentowi tego modułu DS3231. Otóż zasilając te moduły napięciem 5V musisz wywalić rezystor 200ohm który podaje to napięcie dalej przez diodę do baterii podtrzymującej zegar. To jest absolutnie zbędne i myślę że właśnie to powoduje u Ciebie że zegar się zatrzymuje. Zwróć na to uwagę bo to może nawet doprowadzić do uszkodzenia scalaka.

Obrazek



Z tego co widzę to ta ścieżka leci tylko i wyłącznie do baterii. Owszem zgodzę się, jest w takim układzie zbędna, zwłaszcza że bateria jest 3V (hm... że ona jeszcze żyje). No ale mimo wszystko, układ rtc którym zasilana jest bateria mierzy czas poprawnie. To atmega się zawiesza.
Jeśli jednak kolega ma rację, bo wiem że różne cuda potrafią się dziać, wyciągnę baterię z układu, w sumie będzie to szybsze niż odlutowywanie tego rezystora i zostawie układ na noc. Jutro rano przedstawie tu rezultaty.

------------------------ [ Dodano po: 14 minutach ]

P3ndz3l3k napisał(a):
Kolego a sprawdź debugerem (Mirkowym) jedno diodowym czy działa prawidłowo wykrywanie przychodzącego przerwania z RTC.
Na samym początku przed odczytem z RTC zapal diodę i na koniec ją zgaś.
Czy będzie błyskać zgodnie z sygnałem SQW z RTC.


Pozdrawiam Paweł.


W tym ifie co sprawdza flagę dałem włączenie diody, a na końcu ifa wyłączenie diody. W efekcie błyska w trakcie wykonywania się tego ifa (wiekszosc czasu zajmuje wyswietlanie na lcd, dlatego cokolwiek widać). Na drugą diodę obok dałem sygnał SQW z rtc. W efekcie, gdy zbocze sygnału z RTC opada (dioda z zapalonej, gaśnie) mignie druga dioda ta którą steruje w ifie. Wg mnie działa to dobrze, wszystko jest równo.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2017, o 21:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 lut 2016
Posty: 248
Lokalizacja: Norwegia
Pomógł: 16

Nie wystarczy wyciągnięcie baterii !! Zwróć uwagę że ten układ ma zupełnie odrębny obwód zasilania backup. Odrębny to znaczy nie może być połączony z UCC.
Natomiast co do zawieszania się Atmegi to pomyśl czy to nie z powodu błędów na I2C? Jeżeli układ zegara dostanie "świra", może spowodować że transmisja po magistrali i2C zaczyna dziczeć... To powszechnie znany błąd i zapewne znajdziesz wiele opisów wady tego modułu. Po prostu producent też nie potrafi czytać noty katalogowej :)

_________________
SP2LUB - LA1BUA



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2017, o 22:06 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 20 sty 2013
Posty: 24
Lokalizacja: Lublin\Gliwice
Pomógł: 0

SP2LUB napisał(a):
Nie wystarczy wyciągnięcie baterii !! Zwróć uwagę że ten układ ma zupełnie odrębny obwód zasilania backup. Odrębny to znaczy nie może być połączony z UCC.
Natomiast co do zawieszania się Atmegi to pomyśl czy to nie z powodu błędów na I2C? Jeżeli układ zegara dostanie "świra", może spowodować że transmisja po magistrali i2C zaczyna dziczeć... To powszechnie znany błąd i zapewne znajdziesz wiele opisów wady tego modułu. Po prostu producent też nie potrafi czytać noty katalogowej :)


Ahhh... Faktycznie, tam gdzie ma być zasilanie bateryjne, będzie wówczas Vcc. Teraz to zauważyłem. Co ciekawe, kolega może mieć rację, z tym że atmega się zawiesza bo I2C się sypie, otóż gdy odłączyłem układ RTC przy włączonej atmedze w celu odlutowania rezystora, to ona właśnie się zawiesiła.
W każdym razie, rezystor odlutowany, bateria wyciągnięta, układ zostawiam na noc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 sty 2017, o 22:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 lut 2016
Posty: 248
Lokalizacja: Norwegia
Pomógł: 16

Jak już wywaliłeś ten rezystor, to baterię możesz spokojnie zostawić w gnieździe. Ja bazując na tych modułach wypuściłem dwa takie zegarki zasilane 5V i pracują bez przerwy i bez zastrzeżeń. Wydaje się że producent chciał nieco przedobrzyć.. Powodzenia :)

_________________
SP2LUB - LA1BUA



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 sty 2017, o 07:08 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 20 sty 2013
Posty: 24
Lokalizacja: Lublin\Gliwice
Pomógł: 0

Niestety, nie pomogło, jest godzina 7:08 a na moim zegarku 23.17 i się nie zmieniła od wczoraj



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 sty 2017, o 07:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 lut 2016
Posty: 248
Lokalizacja: Norwegia
Pomógł: 16

Dziwne. Widziałem że podejrzewasz błąd programowy, ale pisałeś w jednym z postów że układ pracuje bez zatrzymań na samym LCD.

"Jestem przekonany że to jest jakiś błąd w programie, tym bardziej że gdy nie podpiąłem jeszcze nixie ("testowałem sam układ RTC), na samym wyświetlaczu LCD układ liczył normalnie kilka dni i nic sie nie działo."

W związku z tym ja raczej skłaniał bym się w kierunku jakiegoś problemu sprzętowego... a z czego czerpiesz 5V? wiem że z USB ale w czym to USB?

_________________
SP2LUB - LA1BUA



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 sty 2017, o 07:31 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 20 sty 2013
Posty: 24
Lokalizacja: Lublin\Gliwice
Pomógł: 0

SP2LUB napisał(a):
Dziwne. Widziałem że podejrzewasz błąd programowy, ale pisałeś w jednym z postów że układ pracuje bez zatrzymań na samym LCD.


Pracuje na samym lcd, ale pod warunkiem że wyrzucę z programu wszystko co związane z nixie, czyli multiplex, PWM i funkcje wyboru właściwej cyferki. Gdy wyłączyłem zasilanie 12V, a więc nixie nie chodziły lecz program działał tak jakby miał je obsługiwać to i tak się to zatrzymywało mimo że układ chodził na samym lcd. Chciałem w ten sposób wyeliminować zakłócenia powodowane przez tą prymitywną przetwornicę wysokiego napięcia do nixie.

Podsumowując zegarek działał poprawnie kilka dni, ale gdy podłączony był sam wyświetlacz LCD, a program ograniczał się to odczytania czasu z RTC oraz wyświetlenia go na LCD.

SP2LUB napisał(a):
W związku z tym ja raczej skłaniał bym się w kierunku jakiegoś problemu sprzętowego... a z czego czerpiesz 5V? wiem że z USB ale w czym to USB?


Z programatora, a programator zasiany z laptopa - zegarek staje. Ładowarka do telefonu z wejściem USB - zegarek staje. :/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 sty 2017, o 07:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 lut 2016
Posty: 248
Lokalizacja: Norwegia
Pomógł: 16

OK :) no to jest temat do rozważań podczas piątkowych obowiązków w pracy ;)

_________________
SP2LUB - LA1BUA



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 sty 2017, o 07:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 449
Pomógł: 3

Witaj!
Jakie częstotliwości PWM wykorzystujesz do generowania wysokiego napięcia i jaki zakres napięć otrzymujesz z przetwornicy wg Twojego schematu? MOSFET to IRF730A?
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 sty 2017, o 07:49 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 20 sty 2013
Posty: 24
Lokalizacja: Lublin\Gliwice
Pomógł: 0

avrfun napisał(a):
Witaj!
Jakie częstotliwości PWM wykorzystujesz do generowania wysokiego napięcia i jaki zakres napięć otrzymujesz z przetwornicy wg Twojego schematu? MOSFET to IRF730A?
Pozdrawiam


Wg oscyloskopu PWM pracuje na częstotliwości 31.1kHz, a zakres napięć hmmm trudno powiedzieć tutaj o zakresie, w chwili obecnej na kondensatorze tym wysokonapięciowym est 153V. Tak, MOSFET to IRF730A.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 sty 2017, o 07:54 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 449
Pomógł: 3

Cytuj:
Wg oscyloskopu PWM pracuje na częstotliwości 31.1kHz, a zakres napięć hmmm trudno powiedzieć tutaj o zakresie, w chwili obecnej na kondensatorze tym wysokonapięciowym est 153V. Tak, MOSFET to IRF730A.

Dziękuję



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sty 2017, o 13:08 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 20 sty 2013
Posty: 24
Lokalizacja: Lublin\Gliwice
Pomógł: 0

Wydaje mi się że znalazłem rozwiązanie, zegarek chodzi już ponad 5h bez zawiechy. Błąd okazał się jednak programowy i kolega SP2LUB natchnął mnie tym zdaniem:

SP2LUB napisał(a):
Natomiast co do zawieszania się Atmegi to pomyśl czy to nie z powodu błędów na I2C? Jeżeli układ zegara dostanie "świra", może spowodować że transmisja po magistrali i2C zaczyna dziczeć...


Dla potomnych:
Wystąpił konflikt na tych liniach:
Obrazek

ponieważ w programie zerowałem cały port, przygotowując cyferkę do multipleksowania:
Obrazek

wybranie tylko linii na których są anody/katody zamiast całego portu pomogło:
Obrazek


Dziękuję wszystkim za chęć pomocy, a koledze SP2LUB, najbardziej, bo nie dość że poinformował mnie o tym rezystorze w zasilaniu bateryjnym to nakierował mnie na właściwy tor myślenia.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sty 2017, o 15:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 lut 2016
Posty: 248
Lokalizacja: Norwegia
Pomógł: 16

Super :) cieszę się że rozgryzłeś problem.

_________________
SP2LUB - LA1BUA



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 22 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO