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



Teraz jest 2 kwi 2020, o 00:42


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 3 kwi 2019, o 18:28 
Offline
Użytkownik

Dołączył(a): 03 paź 2017
Posty: 39
Pomógł: 0

Witam, mam problem z multipleksowaniem lamp nixie. Nie mogę dobrać do końca częstotliwości przełączania lamp, ponieważ pojawiają się tzw. duchy. Mikrokontroler atmega128, taktowany z wewnętrznego rezonatora 8Mhz.

Na początek schemat podłączenia anod i katod:
Obrazek

Obrazek

A teraz kod programu, oparty w dużej części na kodzie do obsługi wyświetlacza 7-segmentowego z BB, plik nixie.h:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


A tutaj plik nixie.c:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Jako, że katody wyświetlajace cyfry 5 i 6 są podłączone do innego wyjścia procesora niż pozostałe katody, to stąd te dziwne ify w przerwaniu.

Jeśli wyświetlam dowolne cyfry na lampach(oprócz wymienionych wyżej cyfr: 5 i 6), to wygląda to tak, jak na poniższym zdjęciu. "Duchy" nie rzucają się bardzo w oczy, bądź są nie widoczne:
Obrazek
Obrazek

Gdy natomiast chcę wyświetlić liczbę 6 lub 5 na trzeciej(lub dowolnej) lampie, to widać tutaj efekt tzw. duchów:
Obrazek

Jakieś pomysły, w jaki sposób można się tego pozbyć? To, że akurat prz tych dwóch liczbach widać "duchy" wynika z pokazanego sposobu wyświetlania tych liczb.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 kwi 2019, o 20:00 
Offline
Tech-support
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1438
Lokalizacja: okolice Warszawa
Pomógł: 149

Witam,
zerknąłem na kodzik - i... pilnuj kolejności:
najpierw wyłącz anody, potem ustaw katody i teraz załącz anody.
avrLearner napisał(a):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


tu masz odwrotnie- najpierw zalączone anody przed ustawieniem katod. ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 kwi 2019, o 06:39 
Offline
Użytkownik

Dołączył(a): 07 cze 2016
Posty: 518
Pomógł: 131

@avrLearner:
Nie obraź się, ale strasznie zagmatwałeś prosty algorytm.
Ja spróbowałbym jakoś tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Nie mam możliwości przetestowania, chodziło mi tylko o przekazanie idei, ale myślę, że powinno działać i to bez duchów ;)

EDIT:
Zmodyfikowałem poprzedni kod, ponieważ nie uwzględniał bezwładności lamp nixie, czyli naprzemiennego zapalania i gaszenia.


Autor postu otrzymał pochwałę

_________________
Miksowanie kodu C i ASM przy użyciu GCC



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 kwi 2019, o 21:14 
Offline
Użytkownik

Dołączył(a): 03 paź 2017
Posty: 39
Pomógł: 0

Dziękuję za pomoc. Sposób pokazany przez Ciebie sprawdził się. Nie zauważam teraz tych "duchów". :)



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: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO