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



Teraz jest 22 lut 2025, o 20:23


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 20 ] 
Autor Wiadomość
PostNapisane: 3 sty 2015, o 19:44 
Offline
Użytkownik

Dołączył(a): 08 kwi 2014
Posty: 30
Pomógł: 0

Witam, jestem świeżo upieczonym posiadaczem BB. Po wykonaniu płytki testowej, oraz wykonaniu Ćwiczenia 1 oraz 2 natrafiłem na pewien problem z multipleksowaniem wyświetlacza 7-seg. Jest to poczwórny wyświetlacz ze wspólną anodą o nazwie TOF-5462Dx. Tranzystory jakie zamontowałem to PNP BC557.

Problem polega na tym, że wyświetlają się aby dwie pierwsze cyfry i to w sposób przedziwny...występuje efekt mrugania. Zauważyłem metodą prób i błędów, że jeżeli zmienię linię kodu z wartości podanej w kodzie na cyfrę np 5...
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

to efekt mrugania zanika.

Teraz pozostaje sprawa pozostałych dwóch cyferek. Kiedy podłączam przewodzik do anody trzeciej lub czwartej, a drugą ręką dotykam drugiego końca wyświetlacz delikatnie się zapala (ale pokazują się głupoty...Ponownie sprawa ma się, gdy podłączam ten przewodzik do masy (tutaj ponownie wyświetlają się głupoty, z tym że wyświetlacz świeci się jaśniej)..

Czy problemem może być coś z nieodpowiednim maskowaniem, lub portami?

Poniżej wrzucam Schemat układu pcb, oraz wyświetalnie 3 cyfr, po podłączeniu anody trzeciego wyświetlacza do masy.
ObrazekObrazekObrazek


Korzystam z kodu Pana Mirka umieszczonego na płycie w BB, dla pewności wrzucam kod programu.
plik main.c
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Z góry dziękuję za jakąkolwiek pomoc.
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2015, o 20:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 10 mar 2013
Posty: 739
Lokalizacja: Poznań
Pomógł: 84

Jeśli chodzi o zmianę wartości OCR0 na mniejszą może to być spowodowane
inną częstotliwością taktowania uC niż w projekcie z książki.

A co do wyświetlaczy to dokładnie sprawdź czy masz dokładnie
tak podłączone jak ustawienia pinów w bibliotece
(przewód po przewodzie) a potem jeszcze raz :)

Edit:
Jeszcze jedno sprawdź sam wyświetlacz gdzie ma jakie segmenty



Ostatnio edytowano 3 sty 2015, o 20:11 przez Zaba, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2015, o 20:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 paź 2011
Posty: 581
Pomógł: 17

Po pierwsze usuń kody (d_led.c i d_led.h) Każdy je ma.

Po drugie czy zmieniłeś to:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Na odpowiednie wartości?

Po trzecie sprecyzuj o co chodzi
Chodzi o to, że wyświetlają się na wyśw. złe wartości, czy że występuje efekt mrugania?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2015, o 20:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2013
Posty: 65
Lokalizacja: Łódź
Pomógł: 4

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


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


Na schemacie nie widać gdzie podłączone jest złącze JP4 a fizycznie?

_________________
Karkołomne zadanie, ogarnąć C.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2015, o 20:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 paź 2011
Posty: 581
Pomógł: 17

adamekp napisał(a):
zamień
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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


Na schemacie nie widać gdzie podłączone jest złącze JP4 a fizycznie?


To nic nie zmieni, gdyż (1<<PB1) to jest to samo co (1<<1)

Nie widać, gdzie ma podłączone złącze JP4, gdyż ma je połączone przewodami!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2015, o 20:58 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2013
Posty: 65
Lokalizacja: Łódź
Pomógł: 4

xamrex napisał(a):
To nic nie zmieni, gdyż (1<<PB1) to jest to samo co (1<<1)

w sumie racja tylko ja staram się najpierw dowiedzieć do którego portu są podłączone katody

xamrex napisał(a):
Nie widać, gdzie ma podłączone złącze JP4, gdyż ma je połączone przewodami!

a gdzie są podłączone anody. Po co ten krzyk?

Póki co nie wiem czym się sugerować czy schematem czy obecnymi definicjami w programie

_________________
Karkołomne zadanie, ogarnąć C.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2015, o 21:02 
Offline
Użytkownik

Dołączył(a): 08 kwi 2014
Posty: 30
Pomógł: 0

Segmenty sprawdzałem miernikiem (ustawiona na diodę): jedną końcówkę do kolektora odpowiedniego tranzystora, a drugą do złącza goldpin na płytce. Te natomiast sa połączone do portu D uC. (seg A do PD0, seg B do PD1 ....itd.)

JP4 - to są anody wyświetlacza. Pierwsza od góry podłączona do PC0 - (pierwszy wyświetlacz), druga do PC1, trzecia do PC2.

Na pierwszych dwóch wyświetlaczach jest wszystko w porządku. Na trzecim wyświetlaczu po podłączeniu do portu PC2 oraz 3 anody nie wyświetla się nic. Po odłączeniu przewodu od portu PC2 (do anody podłączony) kiedy trzymam ręką przewód, trzeci wyświetlacz bardzo delikatnie się zapala - efekt jakby bardzo szybko zmieniały się cyfry.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2015, o 21:11 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 paź 2011
Posty: 581
Pomógł: 17

Proponuję całe złącze JP4 podpiąć do GND (uaktywni to wtedy wszystkie 4 wyświetlacze).

I następnie pierwszy pin ze złącza PORTB1 również podłączyć do GND. (pozostałe 7 pinów niepodłączonych)
Powinny zaświecić się kropki na wszystkich 4 wyświetlaczach.
Daj znać czy się tak dzieje



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2015, o 21:20 
Offline
Użytkownik

Dołączył(a): 08 kwi 2014
Posty: 30
Pomógł: 0

Proponuję całe złącze JP4 podpiąć do GND (uaktywni to wtedy wszystkie 4 wyświetlacze).

Po podłączeniu anod do GND na wszystkich wyświetlaczach zaświeciła się cyfra 8.

a czego Portb1 do GND?

Jak wypne przewód segmentu dp który podłączony był do portu PD7 i podłącze do masy świecą się wszystkie segmenty.



Ostatnio edytowano 3 sty 2015, o 21:24 przez Swoszaki, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2015, o 21:23 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 paź 2011
Posty: 581
Pomógł: 17

Swoszaki napisał(a):
Proponuję całe złącze JP4 podpiąć do GND (uaktywni to wtedy wszystkie 4 wyświetlacze).

Czyli to zrozumiałeś,
teraz kolejna część.
Zrób to o co proszę na zdjęciu
Obrazek

Na wszystkich 4 wyświetlaczach powinna się świecić kropka bądź segment A



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2015, o 21:26 
Offline
Użytkownik

Dołączył(a): 08 kwi 2014
Posty: 30
Pomógł: 0

Zapala się kropka na wszystkich segmentach (pierwszy pin od lewej strony podłączony do masy)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2015, o 21:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 paź 2011
Posty: 581
Pomógł: 17

Swoszaki napisał(a):
Zapala się kropka na wszystkich segmentach

Ok,
więc elektrycznie jest OK.
Problem jest z kodem,

Więc
Teraz dalej miej schemat tak jak z rysunku który miałem post wyżej(czyli wszystkie segementy odłączone, tylko DP podłączony do GND) oraz podłącz anody(tak naprawdę bazy tranzystorów) do portów C0,C1,C2,C3

Powiedz czy nadal się świeci kropka na wszystkich



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2015, o 21:32 
Offline
Użytkownik

Dołączył(a): 08 kwi 2014
Posty: 30
Pomógł: 0

Kropka sieci się na dwóch pierwszych wyświetlaczach...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2015, o 21:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 paź 2011
Posty: 581
Pomógł: 17

Wyłącz JTAGA (zmień fusebity w procku)


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2015, o 21:38 
Offline
Użytkownik

Dołączył(a): 08 kwi 2014
Posty: 30
Pomógł: 0

A czym to ustawić?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2015, o 21:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 paź 2011
Posty: 581
Pomógł: 17

Tym programem, którym programujesz uC(nie wiem jakim programujesz)
AVRDUDE??

Ja używam tego programu:
http://sklep.atnel.pl/pl/p/MkAvrCalculator/4
Niestety w wersji darmowej nie obsługuje Atmegi32
Ale jest banalnie prosty w obsłudze.
Wystarczy tutaj wyłączyć JTAGA
http://sklep.atnel.pl/public/assets/MkA ... zczone.jpg

Ja lecę. pa



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2015, o 21:50 
Offline
Użytkownik

Dołączył(a): 08 kwi 2014
Posty: 30
Pomógł: 0

Rozumiem, że trzeba ustawić jaką wartość w oknie JTAG ICE BitClock.

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 sty 2015, o 22:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
Posłuchaj co Ci radzi kol.xamrex. Do zmiany fusebitów służą specjalne programy/aplikacje.
Dzięki nim zmieniamy m.in. taktowanie uC, wybieramy rodzaj taktowania oraz wyłączamy tego nieszczęsnego JTAG'a. mcAVRCalculator jest narzędziem bezpiecznym w użytkowaniu natomiast inne tego typu programy wymagają odrobiny wiedzy na temat "co się chce przestawić" bo bardzo łatwo o pomyłkę po której pojawia się post:zablokowałem ATmegę - co robić. Jak masz BB to poczytaj sobie na ten temat. W ATm32 JTAG jest na PORTC więc może sterowanie anodami wyświetlacza daj na inny wolny port, lecz zapoznaj się koniecznie z programami do zmiany fusebitów bo nawet taktowania nie zmienisz i będziesz się wlókł 1MHz.

Pozdr.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 sty 2015, o 09:38 
Offline
Nowy

Dołączył(a): 31 sty 2014
Posty: 20
Pomógł: 1

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 sty 2015, o 10:24 
Offline
Użytkownik

Dołączył(a): 08 kwi 2014
Posty: 30
Pomógł: 0

Dziękuję za rozwiązanie problemu. Rozwiązaniem była zmiana portu C na port A.

Dziękuję również za pomoc z programowym wyłączeniem JTAGA. W obecnej chwili z niej nie skorzystam. Jestem na etapie, w którym boję się jeszcze grzebać w fusach, nawet programowo (dwa dni temu spaliłem jedna atmege32, więc jakbym zablokował sobie drugą.....TYLE PIENIĘDZY :D)

Dziękuję za radę, w najbliższym czasie zapoznam się z mkavrcalculator.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 5 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