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



Teraz jest 21 mar 2026, o 07:55


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 
Autor Wiadomość
PostNapisane: 29 lis 2013, o 11:46 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 paź 2013
Posty: 38
Lokalizacja: Gdańsk
Pomógł: 0

Jak kolega mustang tak i ja stanąłem na ćwiczeniu nr 3. Pokrótce wyjaśnię wykonanie:

Wyświetlacz to 4x 7-segmentowy LED ze wspólną anodą. Do wykonania użyłem Atmegi8 z wewnętrznym oscylatorem 8Mhz, Segmenty A-G podłączyłem kolejno do pinów PD0-PD7, natomiast anody wyświetlaczy w ten sposób: 1 do PC3, 2 do PC2, 3 do PC1 i 4 do PC0. Kody programów pisane i wgrywane za pomocą Eclipse. Dodatkowo do przerwania korzystam z Timera2, bo w nim znalazłem możliwość zastosowania CTC. W porównaniu do przykładu z książki to chyba jedyne różnice sprzętowe i programowe.

Podłączyłem wyświetlacz no i... nie działa. Połączenia sprawdzałem parę razy i wczoraj i dzisiaj :) jednak gdybym nawet źle podłączył segmenty czy poszczególne wyświetlacze, to pewnie cokolwiek by się wyświetliło, tyle że błędnie - a tak nie mam nic. Nie wiem czy może w main.c mi czegoś brakuje, żeby to ruszyło, czy może mam błąd z tym przerwaniem, bo też trochę się z nim namęczyłem. Jak zobaczycie w kodach, nie stosowałem maskowania, bo do mikrokontrolera podłączony jest tylko wyświetlacz i na razie chcę go samego odpalić.

Za wszelkie diagnozy będę bardzo wdzięczny. Dodam, że wyświetlacz pracuje po podłączeniu go do masy ręcznie. W mkAvrCalculator ustawiłem tylko częstotliwość jeżeli to pomogłoby wyeliminować jakieś możliwe błędy.

Poniżej zamieszczam kody:

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.


d_led.c

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


d_led.h

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: 29 lis 2013, o 11:49 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

eeeeeh panowie ile razy trzeba jeszcze powtórzyć że przy czymś takim to

SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ...

sorki ale to jest (no niech się kolega nie obrazi) ale totalny bezsens - bo dwa dni temu wisi na forum identyczny wątek (zresztą nie po raz pierwszy i nie ostatni) ... i wina gdzie ? ... jak zwykle w schemacie albo w połączeniach

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lis 2013, o 11:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 lip 2013
Posty: 143
Pomógł: 1

a jeśli wysterujesz wszystkie anody i wszystkie katody to wyświetlacze świecą na czerwono? nie ma sensu multipleksować jeśli nie działają same diody wyświetlaczy to utrudnia znacznie znalezienie problemu :(

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lis 2013, o 12:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 paź 2013
Posty: 38
Lokalizacja: Gdańsk
Pomógł: 0

Cytuj:
SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ...


Wiem, wiem, tak myślałem, że za to mi się oberwie, ale właśnie jeśli miałem dać byle jaki schemat, to wolałem go nie robić, bo nie mam w Eagle biblioteki do takiego poczwórnego wyświetlacza, a Botland niestety nie udostępnił datasheetu do swojego (dokładnie ten: http://botland.com.pl/wyswietlacze-lcd/ ... anoda.html) i nawet nie wiem jakiej nazwy wyszukać w sieci, żeby znaleźć dodatkowe informacje. Chociaż właściwie mogę odpalić poradnik do tworzenia bibliotek, który zrobiłeś i samemu coś dodać. Ale naprawdę wolałem nie dodawać schematu "z painta", bo też sam wolałbym na Waszym miejscu widzieć normalnie narysowane połączenia.

Krzysztof, po podłączeniu całości bezpośrednio do masy wszystkie wyświetlacze i diody działają.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lis 2013, o 12:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

Zajrzyj do tego tematu
topic4941.html
Prawdopodobnie musisz uaktualnić sobie D_LED.c

_________________
https://www.instagram.com/myfirstquadcopter/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lis 2013, o 13:05 
Offline
Użytkownik

Dołączył(a): 15 cze 2013
Posty: 599
Lokalizacja: Lubin
Zbananowany użytkownik

Pomógł: 35

kurys napisał(a):
Botland niestety nie udostępnił datasheetu do swojego (dokładnie ten: http://botland.com.pl/wyswietlacze-lcd/ ... anoda.html)


Dziwne że nie udostepniają schematu, bo wygląda na to że oprócz samych wyświetlaczy znajduja się tam pewnie tranzystory do sterowania anod i rezystory do katod, ale to tylko domysły. Z opisu wynika że aby coś wyświetlić to na anode stan niski (na pozostałe wygaszone VCC) i na katody stan niski. a zasilanie na VCC.
Może właśnie pominąłęś te podłączenie VCC?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lis 2013, o 13:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 paź 2013
Posty: 38
Lokalizacja: Gdańsk
Pomógł: 0

kurnachatka napisał(a):
Zajrzyj do tego tematu
topic4941.html
Prawdopodobnie musisz uaktualnić sobie D_LED.c


Wprowadziłem poprawki (w nagłówkowym oczywiście też) i nie pomogło.

Cytuj:
Może właśnie pominąłęś te podłączenie VCC?


To także jest podłączone. Dodaję schemat, co prawda lekko uproszczony, bo bez tego wyświetlacza w pełni (no tak wcześniej nie wpadłem na to, że te piny to można "poetykietować"). PROG_VCC i PROG_GND odnoszą się do programatora, LED_VCC to właśnie przewód VCC do wyświetlacza.

Obrazek



Ostatnio edytowano 29 lis 2013, o 13:56 przez kurys, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lis 2013, o 13:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

Na schemacie LED_VCC masz niepodłączone, oczywiście jak byś zrobił płytkę z tego schematu.

------------------------ [ Dodano po: 1 minucie ]

I podciągnięcie RESET przez rezystor do VCC

_________________
https://www.instagram.com/myfirstquadcopter/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lis 2013, o 13:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 paź 2013
Posty: 38
Lokalizacja: Gdańsk
Pomógł: 0

Fakt, o resecie zapomniałem, ale to również nie pomogło. Na schemacie zapomniałem dodać kropki - wtedy LED_VCC zmieni mi się na PROG_VCC. Właśnie próbowałem to zmienić.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lis 2013, o 14:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 lut 2013
Posty: 101
Lokalizacja: Wrocław
Pomógł: 4

A gdzie rezystory, tranzystory? Ten wyświetlacz tak "na żywca" podłączony do Atmegi?

_________________
ATB 1.04, Bluebook wyd.II, Greenbook wyd.II



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lis 2013, o 14:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

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


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

Ryszard56 napisał(a):
A gdzie rezystory, tranzystory? Ten wyświetlacz tak "na żywca" podłączony do Atmegi?


Zerknij oczywiści tutaj czy masz wszystko tak jak trzeba.
http://atnel.pl/Upload/image/atb104/ins ... 04_sch.png

_________________
https://www.instagram.com/myfirstquadcopter/



Ostatnio edytowano 29 lis 2013, o 14:38 przez kurnachatka, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lis 2013, o 14:29 
Offline
Użytkownik

Dołączył(a): 15 cze 2013
Posty: 599
Lokalizacja: Lubin
Zbananowany użytkownik

Pomógł: 35

Ryszard56 napisał(a):
A gdzie rezystory, tranzystory? Ten wyświetlacz tak "na żywca" podłączony do Atmegi?

Pisałem wyżej jak anody steruje sie stanem niskim to prawdopodobnie siedzą już tam tranzystory i pewnie rezystory.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lis 2013, o 14:37 
Offline
Użytkownik
Avatar użytkownika

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

Widzę wszyscy wysypują sie na tym samym błędzie co ja czyli maskowanie bitów w przerwaniu.
skąd to w Twoim kodzie?
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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

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

_________________
Karkołomne zadanie, ogarnąć C.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lis 2013, o 17:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 paź 2013
Posty: 38
Lokalizacja: Gdańsk
Pomógł: 0

Pod wieczór dopiero będę mógł sprawdzić czy te podmiany w plikach pomogą i dam Wam znać.

Poprosiłem Botland o schemat i dostałem odpowiedź, że jedyne dane jakie posiadają od producenta to te: http://www.lctech-inc.com/Hardware/Deta ... 7f6ed85076 może to coś rozjaśni w kwestiach podłączenia.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lis 2013, o 19:54 
Offline
Użytkownik

Dołączył(a): 15 cze 2013
Posty: 599
Lokalizacja: Lubin
Zbananowany użytkownik

Pomógł: 35

No to wyświetlacz chińczyk. Na popularnym serwisie z chińskimi produktami można takie znaleźć z takim opisem:
Product description:
1, onboard 8 digital tube, 0.36 inches of red common anode 4;
2, four on-board 8550 transistor driven in parallel;
3, onboard 4-bit drivers drive current limiting resistor and eight segments limiting resistor;
4 Operating voltage: 3.3V-5V;
5, pin extraction Top pin include a VCC pin, 4-bit driving pin (D1, D2, D3, D4), the 8 segments drive pins (A, B, C, D, E, F, G, DP);
6, board size: 33.5 (mm) x21 (mm);

Czyli zawiera rezystory i tranzystory PNP.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lis 2013, o 22:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 paź 2013
Posty: 38
Lokalizacja: Gdańsk
Pomógł: 0

Faktycznie pierwsza diagnoza Mirka była trafna - błąd w połączeniach. Dodanie w kodzie maskowania właściwie nie zmieniło sytuacji, natomiast wina chyba leży w płytce stykowej. Nie było połączenia między kilkoma pinami a segmentami (i to na całej linii) i po przepięciu mikrokontrolera parę razy w inne miejsca nie wyświetla mi już tylko kropki. Nie no tak banalnego rozwiązania to się nie spodziewałem... Niemniej dzięki wszystkim, którzy angażowali się w rozwiązanie problemu :) Teraz wiem, że stykówce nie wolno ufać do końca.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO