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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 6 cze 2025, o 10:52


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