Elektroda.pl
Elektroda.pl
X
Arrow Multisolution Day
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Programowany zegar z DCF-77 AVT-5022

Czeslaw10 04 Lut 2012 17:37 3853 15
  • #1 04 Lut 2012 17:37
    Czeslaw10
    Poziom 15  

    Witam
    Mam problem z ww zegarem z Elektroniki Praktycznej 06/2001.
    Płytkę zaprojektowałem sam.
    Zaprogramowany procesor kupiłem w AVT przysłali mi Atmega8535 zamiast AT90S8535.
    Zegar pracuje. Prawidłowo wyświetla minuty ,ale sekundy stoją w miejscu.
    Wyświetli np.02 sekundy stoi 11 stoi 19 stoi 29 itd

    Co może być przyczyną?
    Chciałem sprawdzić czy procesor jest ciepły i przyłożyłem do niego palec to sekundy ruszyły przeskakując co dwie trzy.
    Czy może być uszkodzony kwarc 32768Hz ?

    0 15
  • Arrow Multisolution Day
  • Pomocny post
    #2 04 Lut 2012 19:49
    Jj_Johnys
    Poziom 21  

    Przede wszystkim sprawdź połączenia na płytce. Szczególnie te przy kwarcu 32kHz i 8Mhz (jak i kondensatorów przy nim do masy całego układu) Ale nie na punktach lutowniczych tylko bezpośrednio na wyprowadzeniach elementów. Tylko delikatnie. Tak, żeby niczego nie dociskać. Coś gdzieś może stykać/nie stykać.

    Winą może też być oczywiście uszkodzony któryś z kwarców lub kondensatorów przy kwarcu 8Mhz. Stawiam jednak na połączenia.

    0
  • Pomocny post
    #3 04 Lut 2012 19:50
    satanistik
    Poziom 27  

    Prawdopodobnie kwarc nie jest uszkodzony ale kwarc 32khz jest elementem dość kłopotliwym. Prawdopodobnie pojemności montażowe mogą zakłócać jego pracę. Zrób zdjęcia płytki którą złożyłeś. Możesz również połączyć obudowę rezonatora z masą. Procesory które podałeś są zamienne.

    0
  • #4 04 Lut 2012 21:14
    Czeslaw10
    Poziom 15  

    Najbardziej zaskakujące jest że po dotknięciu palcem metalowej obudowy kwarcu 8 MHz zegar prawidłowo (płynnie) wyświetla sekundy.
    Jeśli jednak drugą ręką dotknę masy układu przestaje działać.
    Wygląda to tak jakby program zawarty w procesorze nie miał czasu na wyświetlanie co sekundę i robi to co jakiś czas.
    Dodam że po trzech godzinach od włączenia nie spóźnia się ani nie śpieszy nawet o sekundę.

    0
  • Arrow Multisolution Day
  • Pomocny post
    #5 04 Lut 2012 21:43
    satanistik
    Poziom 27  

    Faktycznie jeżeli zegar chodzi ok to nie 32khz kwarc. Daj zdjęcie tej płytki. Możesz połączyć obudowę kwarcu 8Mhz z masą. Jakie kondensatory dałeś do tego kwarcu?

    0
  • #6 05 Lut 2012 11:22
    Czeslaw10
    Poziom 15  

    Kondensatory miały po 22 pF wyjąłem je i nic nie pomogło.
    Spróbuje dać po 27 pF tak jak na schemacie.
    Połączenie obudowy kwarcu z masą nic nie pomaga.
    Autor projektu obniżył napięcie zasilania procesora poprzez diodę 1N4148 do 4,3V.
    U mnie z takim zasilaniem zegarek nie pracował po mostku diody pracuje przy napięciu 4,95V.
    Podejrzewam elektrostatyczne uszkodzenie procesora.
    Czy jest to możliwe?

    https://obrazki.elektroda.pl/1293841300_1328437198.jpg
    https://obrazki.elektroda.pl/5447250500_1328437200.jpg

    0
  • Pomocny post
    #7 05 Lut 2012 12:25
    Jj_Johnys
    Poziom 21  

    22 czy 27p w tym przypadku nie robi różnicy.
    Bez kondensatorów rezonator w ogóle nie działa :)
    Napięcie zasilania uC możesz sprawdzić w necie po symbolu na układzie. Są wersje pracujące od 4,5V lub od 2,7 czy 1,8V.

    Problemem będzie uszkodzony któryś z kwarców, uszkodzone kondensatory, niepewne połączenia na płytce. Sprawdź też poprawność połączeń i stabilność zasilania mikrokontrolera.
    Dodaj też kondensator 100nF między VCC procesora a masą. Tylko blisko układu. Na pewno nie zaszkodzi, a może pomóc.

    0
  • #8 05 Lut 2012 14:48
    Czeslaw10
    Poziom 15  

    Problem zaczyna się rozwiązywać.
    Procesor jaki przysłało mi AVT to: ATMEGA8535 16 PU.
    Napięcie zasilania dla tego procesora to 4,5 do 5,5V.
    Zastanowiło mnie dlaczego procesor nie chciał pracować poprzez diodę obniżającą napięcie do 4,3V.
    Procesor zasiliłem poprzez zasilacz warsztatowy powoli zwiększając napięcie zasilania przy 5,5 V zegar wyświetla sekundy przeskakując co trzy przy równych 6,0V zegar pracuje prawidłowo płynnie co sekundę wyświetla.
    Pytanie dlaczego tak się dzieje i czy mogę zostawić zasilanie procesora na poziomie 6,0V.
    Pozostaje mi wymienić stabilizator 7805 na 7806 tylko nie wiem co na to TTL-ki zasilane z tego samego stabilizatora?

    0
  • Pomocny post
    #9 05 Lut 2012 16:06
    satanistik
    Poziom 27  

    Ja zawsze daję 33pF dla kwarcu i jest ok. Można spróbować inny egzemplarz 8MHz.
    Płytka wydaje się zaprojektowana prawidłowo, czy noga RESET nie wisi w powietrzu?

    Dodatkowo ten procesor ma w bitach sterujących Fuse bit różne opcje zegara - możliwe że jest ustawiony oscylator ceramiczny, lub oscylator niskiej częstotliwości.

    0
  • #10 05 Lut 2012 18:00
    Czeslaw10
    Poziom 15  

    Kwarc wymieniłem na inny nie pomogło.
    Pin RESET podpięty poprzez rezystor 4,7k do plusa zasilania.
    Nie wiem z jakimi FuseBit korporacja AVT zaprogramowała procesor.

    Dodaję że przy napięciu 6,0 V zegar pracuje prawidłowo.

    Czy mogę tak zostawić? z takim napięcie zasilania procesora.

    0
  • Pomocny post
    #11 06 Lut 2012 17:43
    Jj_Johnys
    Poziom 21  

    DS1813 maksymalnie ma 7V, ULN2803 wytrzyma. Procesor ma maksymalnie 6V czyli jesteś na granicy. Choć miałem raz przypadek, kiedy ATmega przeżyła chwilowe zasilanie chyba ponad 8V.
    Dziwna sprawa z tym zasilaniem, na razie nic mi nie przychodzi do głowy.

    0
  • Pomocny post
    #12 06 Lut 2012 19:39
    satanistik
    Poziom 27  

    Można jeszcze się pokusić o podstawienie kwarcu ceramicznego z wyprowadzoną masą, fuse bity powinny dać się odczytać a jak nie to avt udostępnia wsady więc można pokusić się o ponowne programowanie.

    0
  • #13 07 Lut 2012 20:51
    Czeslaw10
    Poziom 15  

    Odczytałem FuseBits z układu Atmega8535 jaki przysłało mi AVR.


    Programowany zegar z DCF-77 AVT-5022

    0
  • #14 10 Lut 2012 16:56
    Czeslaw10
    Poziom 15  

    Problem został rozwiązany.
    Autor projektu wyprowadził dodatkowe złącze magistrali I2C w celu podłączenia wielkich wyświetlaczy.
    Ja projektując płytkę nie wykorzystywałem I2C i piny procesora pozostawiłem nie podłączone.
    Po podpięciu sygnałów SDA , SCL poprzez rezystor 4,7k do plusa zasilania problem niedziałającego zegara ustąpił.
    Prawidłowo wyświetla sekundy przy napięciu zasilania procesora 5,0V.
    Dziękuje wszystkim za udział w rozwiązywaniu problemu.

    Temat uważam za zamknięty.

    0
  • #15 10 Lut 2012 20:29
    Jj_Johnys
    Poziom 21  

    Dociekliwość jest zaletą :)
    Nasze sugestie okazały się nietrafne. No ale kto mógł wiedzieć.
    Kliknij "rozwiązano".

    pozdrawiam, JnS

    0
  • #16 14 Mar 2012 18:43
    Czeslaw10
    Poziom 15  

    Problem rozwiązany.

    Sugestie dla wszystkich projektujących układy z użyciem procesora.
    Nie należy pozostawiać wolnych końcówek procesora złącza magistrali I2C.
    Powinno się sygnały SDA,SCL podpiąć poprzez rezystory 4,7k do plusa zasilania.
    Dziękuje wszystkim za udział w rozwiązywaniu problemu.

    Temat zamykam.

    0