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



Teraz jest 2 lip 2026, o 17:44


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
Autor Wiadomość
 Tytuł: Matryca LED 5X8
PostNapisane: 26 mar 2015, o 23:00 
Offline
Nowy

Dołączył(a): 04 mar 2013
Posty: 11
Pomógł: 0

Dzień dobry!
Na wstępie chciałbym się ze wstydem przyznać, że jeszcze jestem dużym laikiem i rzuciłem się z moimi niewielkimi umiejętnościami programistycznymi na głęboką (tak mi się przynajmniej wydaje) wodę. Otóż zamierzam zrobić matrycę 5x8. Projekt oparłem na programie forumowicza SunRiver (załącznik na dole). Na początku matrycę podłączyłem bezpośrednio do portu uC (Atmega8) i po kilku przeróbkach (matryca ma na kolumnach katody) zaczął się wyświetlać oczekiwany tekst. Problemem jednak jest to, że ustaliłem punkt pracy diod na I=20mA każda. W dzień widoczność była tak słaba że myślałem że nie świeci. Dlatego postanowiłem użyć tranzystorów PNP pełniących rolę buforów do sterowania wierszami. Wiem, że muszą one być sterowane "0" i to muszę zmienić w programie poniżej. Jednak po całym dniu dzisiejszych prób, matryca ciągle nie działa poprawnie... Stąd też prośba do was drodzy forumowicze o pomoc. Bo ja już kompletnie nie wiem jak mogę ten program zmienić aby program działał przy użyciu tranzystorów PNP na wierszach... Z góry dziękuję za pomoc i przepraszam za moją niewiedzę :)

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: 27 mar 2015, o 11:27 
Offline
Użytkownik
Avatar użytkownika

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

Witam

svistak2000 napisał(a):
...Na początku matrycę podłączyłem bezpośrednio do portu uC (Atmega8) i po kilku przeróbkach (matryca ma na kolumnach katody) zaczął się wyświetlać oczekiwany tekst. Problemem jednak jest to, że ustaliłem punkt pracy diod na I=20mA każda...

Wstaw może schemat bo z opisu brzmi groźnie ;)

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2015, o 12:59 
Offline
Nowy

Dołączył(a): 04 mar 2013
Posty: 11
Pomógł: 0

Proszę bardzo, poniżej przedstawiam schemat sterownika oraz użytej matrycy. Wszystko jest zasilane z napięcia 5V.
ObrazekObrazek

Ogólnie to tranzystory PNP sterują wierszami matrycy (a raczej powinny sterować), a rejestr steruje kolumnami. Rezystor na kolumnach został dobrany jako 33ohm ponieważ prąd dla jednego piksela przyjąłem I=20mA, U=5V, spadek dla pojedynczej diody czerwone 2,2V tyle że piksel składa się z dwóch takich diod więc spadek przyjąłem 4,4V. Problemem jest jednak to, że tranzystory nie są dobrze sterowane przez program... Zmieniłem definicje pinów na to aby były sterowane "ZERAMI", ale nic nie pomogło.
#define RowPort PORTD
#define RowDDR DDRD
#define RowPin0 (0 << 0)
#define RowPin1 (0 << 1)
#define RowPin2 (0 << 2)
#define RowPin3 (0 << 3)
#define RowPin4 (0 << 4)
#define RowPin5 (0 << 5)
#define RowPin6 (0 << 6)
#define RowPin7 (0 << 7)
Później robiłem jeszcze kilka innych mniej lub bardziej świadomych operacji na kodzie ale też nic nie pomogło :D
Układ wpięty bezpośrednio wiersze matrycy=>PortD z mikrokontrolera działa. Tylko jasność jest tak słaba że nawet w nocy ledwo co widać. Związane to jest z ograniczeniem prądowym na porcie atmegi. Dlatego chce zastosować Tranzystory PNP do sterowania anodami na wierszach matrycy...

P.S.
A i tak to wygląda w rzeczywistości... Wstyd trochę pokazywać ze względu na bajzel ale wszystko styka/łączy. :D
Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2015, o 15:12 
Offline
Użytkownik
Avatar użytkownika

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

Witam

svistak2000 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.

Później robiłem jeszcze kilka innych mniej lub bardziej świadomych operacji

:) rzeczywiście; poniżej masz przykład jak "jedynkami" zapisywać "zera" ( cyt. z kodu kol. SunRiver)

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

Z tranzystorami dobry pomysł, ale na nich też stracisz 0V7.
Na takim warsztacie ciężko Ci będzie to opanować, ale pasowałoby tranzystory PNP zasilić z wyższego napięcia; niestety wymaga to dodatkowych czterech tranzystorów NPN.
W tym gąszczu nie widzę rejestru - masz go?

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2015, o 19:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

cześć
ja zasilam tranzystory z 3,3V z tym, ze zastosowałem mosfetyP Logic Level i wszystko śmiga jak należy
na takim tranzystorze praktycznie nie masz spadku napięcia bo po wysterowaniu jego oporność to tylko 30mOmów

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2015, o 20:58 
Offline
Nowy

Dołączył(a): 04 mar 2013
Posty: 11
Pomógł: 0

Przy pełnym wysterowaniu na BC327 spadek napięcia wynosi 0,2-0,3V... Więc moim zdaniem nie jest to na tyle dużo, żeby diody prawie w ogóle nie świeciły...
Teraz sobie siedzę w pociągu patrzę na kod i widzę jak byk linijkę:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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

W każdym bądź razie sprawdzę jak przyjadę do domu... Jeżeli to było wczorajszym błędem to aż mi wstyd :D



Ostatnio edytowano 28 mar 2015, o 02:25 przez svistak2000, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2015, o 23:00 
Offline
Nowy

Dołączył(a): 04 mar 2013
Posty: 11
Pomógł: 0

No niestety nie działa nadal :( Ktoś ma jakiś pomysł? Co może być przyczyną? I Jak rozwiązać ten problem? Co jeszcze w programie muszę zanegować?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 mar 2015, o 21:38 
Offline
Użytkownik
Avatar użytkownika

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

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

"robi" z PORTD wejście.

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2015, o 00:12 
Offline
Nowy

Dołączył(a): 04 mar 2013
Posty: 11
Pomógł: 0

Wpadłem jeszcze na pomysł żeby nic nie zmieniać w programie (bo bezpośrednio z portu działa tylko słabo świeci), a tranzystor PNP (podpięty kolektorem do anod diod) załączać tranzystorem NPN mniej więcej coś takiego:
Obrazek
Oczywiście wartości rezystorów zostaną odpowiednio zmienione. Tylko teraz mam pytanie. O ile dobrze rozumiem program to multipleksowane są wiersze, dobrałem prędkość przełaczania pinów od wierszy tak aby to było 100Hz na wiersz czyli ustaliłem prędkość multipleksowania na 800Hz (bo 8 wierszy). Nie wtedy będzie problemów z tranzystorami przy takiej częstotliwości?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2015, o 10:46 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8631
Pomógł: 338

ja się tak bawiłem , https://www.youtube.com/watch?v=a3_aSX3CIn8
zasilanie bezpośrednio z portu to trochę głupi pomysł , można przeciążyć łatwo
bez problemu klasyczne tranzystory bipolarne dadzą radę na filmiku masz ok 400Hz



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2015, o 18:39 
Offline
Użytkownik
Avatar użytkownika

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

svistak2000 napisał(a):
Wpadłem jeszcze na pomysł żeby nic nie zmieniać w programie (bo bezpośrednio z portu działa tylko słabo świeci), a tranzystor PNP (podpięty kolektorem do anod diod) załączać tranzystorem NPN mniej więcej coś takiego:

:)
kicajek napisał(a):
... pasowałoby tranzystory PNP zasilić z wyższego napięcia; niestety wymaga to dodatkowych czterech tranzystorów NPN.

ta "czwórka" to z rozpędu pod wyświetlacze 7segm.
Fakt - proponowałem bez schematu; tego typu klucze są na tyle uniwersalne, że na PNP'a możesz dać dowolne ( w rozsądnych granicach ) napięcie zasilające LED'y/wyswietlacze.

Pozdr.



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

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