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



Teraz jest 14 lut 2025, o 23:06


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 20 ] 
Autor Wiadomość
PostNapisane: 21 lis 2015, o 14:53 
Offline
Nowy

Dołączył(a): 21 lis 2015
Posty: 16
Pomógł: 0

Witam, chciałbym podłączyć matryce ledów 8x8 do Atmegi 16. Bezpośrednio, bez żadnych dodatkowych układów.

schemat matrycy: http://electropark.pl/img/cms/optoelektronika/matryce-led/Matryca-led-schemat-anoda.jpg

Portów I/O mi wystarczy, ale jakie rezystystory dobrać do tego? Czy w ogole beda potrzebne? Czy sterowanie każdą diodą będzie możliwe?

Jestem początkującym prosze o wyrozumiałość ;)



Ostatnio edytowano 21 lis 2015, o 15:07 przez United, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lis 2015, o 15:05 
Offline
Moderator zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 18 lip 2012
Posty: 3214
Lokalizacja: Kraków - obok FAB5 ATMEL'a
Pomógł: 91

topic44.html

_________________
http://www.jaglarz.info



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lis 2015, o 15:22 
Offline
Użytkownik
Avatar użytkownika

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

Witam
United napisał(a):
bez żadnych dodatkowych układów.
schemat matrycy:xxx
Portów I/O mi wystarczy, ale jakie rezystystory dobrać do tego? Czy w ogole beda potrzebne? Czy sterowanie każdą diodą będzie możliwe?

W tym połączeniu diod musi być wykonywane multipleksowanie ( np. chcąc zapalić tylko LED1-lewa góra musisz na jej anodę podać Vcc na katodę GND, w tym czasie na COL 2...8 nie może pojawić się GND bo pozostałe "górne" LED'y też będą świeciły.
Rezystory są konieczne - dobiera/liczy się w zaleznaości od koloru/spadku napięcia na poszcz. LED'ach.
Jest możliwe takie sterowanie ( nie piszesz ON/OFF czy PWM ), ale jest.

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lis 2015, o 15:37 
Offline
Nowy

Dołączył(a): 21 lis 2015
Posty: 16
Pomógł: 0

Diody będą zielone, czyli jaka wartość dla takich? Opornik dla każdego połaczenia ? Czyli 16 rezystorów?

Myślałem, że skoro każdą kolumne i wiersz do dwóch portów, to będzie to możliwe bez multiplekserów... Widziałem na YT filmiki, na których bezpośrednio były podłączone takie matrixy i SNAKE hulał ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lis 2015, o 16:11 
Offline
Użytkownik

Dołączył(a): 26 lip 2015
Posty: 269
Pomógł: 34

Średnio jedna dioda pobiera 20mA przy multipleksowaniu musi zasilić cały wiersz czyli 8 diod naraz 20mA*8 = 160mA z jednego pinu atmegi można pobrać maksymalnie 20mA także można albo podłączyć do każdego wiersza po tranzystorze lub układ uln2803, albo dać rezystory z dużą opornością, także przy rozwiązaniu z rezystorami diody będą słabo świecić, ale jeśli chcesz tylko rezystory to musi dać do wierszy rezystory 150ohm a do kolumn także 150ohm. Nie jestem profesjonalistą dlatego mogłem się pomylić, więc nie dam ręki uciąć, że te rezystory są dobrej wartości. Ja bym dał po 200ohm. ;)
Aha zapomniałem dodać, że przy rozwiązaniu z rezystorami jasność z jaką będą świeciły diody będzie zależeć od ilość diod które będą się naraz świecić :lol: .



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

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

Witam
United napisał(a):
to będzie to możliwe bez multiplekserów... Widziałem na YT filmiki, na których bezpośrednio były podłączone takie matrixy i SNAKE hulał

No cóż może o czymś nie wiem, ale pomyśl w jaki sposób zaświecić LED'y oznaczone kółeczkami tak, aby nieoznaczone pozostały wygaszone:
Obrazek
Dla pierwszej na ROW1 podajesz Vcc, na COL1 GND; aby "zapalić" drugą odpowiednio ROW2 i COL2.
I teraz LED'y które miały być wygaszone dostają zasilanie: ROL1/COL2 i ROL2/COL1 ( na tych pinach są wymagane stany do włączenia LED'a)

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2015, o 00:03 
Offline
Nowy

Dołączył(a): 21 lis 2015
Posty: 16
Pomógł: 0

Trochę się już pogubiłem. Wiec w jak najlepszy sposób mógłbym podłączyć tą matryce do ATmegi, tak by w jak najprostszy sposób móc napisać jakąś gre...Prosiłbym o jakieś schematy

jakiś multiplekser?
A może sterownik max7219?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2015, o 05:20 
Offline
Użytkownik

Dołączył(a): 26 lip 2015
Posty: 269
Pomógł: 34

W najprostszy sposób to zrobić to z samymi rezystorami lepszy sposobem jest podłączenie po 1 tranzystorze do każdego wiersza i chyba jednym z lepszych sposobów to zastosowanie max7219. ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2015, o 11:57 
Offline
Nowy

Dołączył(a): 21 lis 2015
Posty: 16
Pomógł: 0

hm, znalazłem taki schemat na necie, będzie on poprawny? inna matryca, ale widze tylko rezysotry przy wierszach

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2015, o 12:13 
Offline
Użytkownik
Avatar użytkownika

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

Witam
Cytuj:
...podłączyć tą matryce do ATmegi, tak by w jak najprostszy sposób móc napisać jakąś gre...Prosiłbym o jakieś schematy

Schemat... matrycę można podłączyć jako wspólna ANODA bądź KATODA ( na przykładzie masz KAT)
Obrazek
Cytuj:
...jakiś multiplekser?

...nie "jakiś", tylko "programowo" wyświetlanie realizujesz przez multipleksowanie
Cytuj:
...A może sterownik max7219?

...a wiesz jak go obsłużyć? - jeśli tak to chyba najlepsze wyjście.
United napisał(a):
...hm, znalazłem taki schemat na necie...

Ten schemat ma rację bytu w przypadku gdy chcesz zapalać jednego LED'a - wskazujesz "współrzędne X/Y" i się zapala. Aby wyświetlić coś innego musiałbyś zrobić coś na wzór odświeżania 30..50Hz * 64LED'y ...ale to bez sensu.

Pozdr.



Ostatnio edytowano 22 lis 2015, o 13:08 przez kicajek, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2015, o 13:06 
Offline
Nowy

Dołączył(a): 21 lis 2015
Posty: 16
Pomógł: 0

Dzięki za odpowiedzi... chyba jednak nie będe porywał się na MAX7219, tylko tradycyjnie spróbuje to podłączyć.

Co do tego układu ULN2803, jest obojętne czy wstawił bym go na kolumny czy wiersze? Co on tak naprawde zmienia w układzie?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2015, o 13:12 
Offline
Użytkownik
Avatar użytkownika

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

Witam
United napisał(a):
Co do tego układu ULN2803, jest obojętne czy wstawił bym go na kolumny czy wiersze?

...ten układ "robi za tranzystory NPN" więc montujesz go w.g "mojego" schematu; nie potrzeba też rezystorów na jego wejście. Na ANODY rezystory obowiązkowe.

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2015, o 14:32 
Offline
Nowy

Dołączył(a): 21 lis 2015
Posty: 16
Pomógł: 0

Dziękuje :) Dokupie ten układzik.

Tak tak, to że jest to 8 tranzystorów to wiem, lecz pytanie jak tak naprawde wpływają one na sterowanie tymi poszczególnymi diodami w kolumnach?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2015, o 15:18 
Offline
Użytkownik

Dołączył(a): 22 sty 2014
Posty: 1806
Zbananowany użytkownik

Pomógł: 168

Mówiąc najprościej i kolokwialnie, ściągają je do masy. Jak byś naprzyklad zapalił 8ledów w jednej kolumnie to jaki prąd wypłynął by do pinu procka gdybyś kolumny również sterował pinami procka? Rozumiesz co to jest multipleksowanie i co to jest jego programowa implementacja?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2015, o 15:35 
Offline
Nowy

Dołączył(a): 21 lis 2015
Posty: 16
Pomógł: 0

Narazie chciałem kupić fizycznie układy, podpiąć a potem uczyć się po kawałku, proste sterowanie przyciskiem, itd.. Czytałem coś, że niezbędne będzie takie sterowanie przerwaniami i timerem itd.

Chciałbym poprostu dobrze podłączyć układy, stworzyć dobrą baze do dalszej nauki :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2015, o 19:07 
Offline
Użytkownik
Avatar użytkownika

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

United napisał(a):
... podpiąć a potem uczyć się po kawałku, proste sterowanie przyciskiem, itd..

W.g mnie zamiast matrycy lepiej zacząć od wyświetlaczy 7seg - prędzej Ci się przyda a na bazie tego pokombinujesz z matrycą; chyba że po drodze dojdziesz do wniosku "po co mi ta matryca" ;) .

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2015, o 19:09 
Offline
Użytkownik

Dołączył(a): 22 sty 2014
Posty: 1806
Zbananowany użytkownik

Pomógł: 168

Przemyśl sobie jak to ma działać, poczytaj na spokojnie. Jak zrozumiesz co to jest multipleksowanie, że w danym momencie działa tylko jedna kolumna a z portu uC wysterowywujesz wiersze. Powiedzmy ze chcesz zapalić jeden "piksel" w lewym górnym rogu, co robisz? Podajesz stan wysoki przez rezystor na pierwszy wiesz. Ale jak piny od kolumn będą wszystkie na masie to co się stanie? Proste, zaświeci się cały wiersz... W dodatku prąd zamiast na 1 piksel rozłoży się na 8 i diody będą ledwo świecić... Dlatego trzeba użyć coś do sterowania kolumn.. I tak jak dasz tranzystor, obojętnie czy jako element dyskretny czy jako układ scalony (musi być ich po prostu tyle ile kolumn) to żeby zapalic ten 1piksel to dajesz stan wysoki na pierwszy wiersz i podajesz stan wysoki na bazę pierwszego tranzystora, ten się włączy, ściągnie katodę pierwszej diody w wierszu do masy i będzie świecić. A teraz jakbyś narysował pionową kreskę? Zapalasz wszystkie wiersze i podajesz stan wysoki na któryś z tranzystorów i masz pionową kreskę... Ale zaraz.. Jaki prąd popłynie przez tranzystor? 20*8 czyli 160mA! Już rozumiesz czemu potrzebne są tranzystory? Puściłbyś tyle przez pin procka? No chyba nie. Dobra, a teraz jak zapalić cały wiesz tak żeby diody świeciły równomiernie? No bo jak podasz stan wysoki na jakiś wiersz i odpalisz przez tranzystory katody to znów będzie licho świecić bo prąd rozpłynie się na osiem diod... To co zrobić? Albo co zrobić żeby wyświetlić na wyświetlaczu ukośną kreskę? Ano robi się to tak że się multipleksuje czyli mówiąc po ludzku bardzo szybko przełącza się kolumny. Powiedzmy że chcesz wyświetlić X na wyświetlaczu, co robisz? Idąc od lewej strony, włączasz pierwszy i ostatni wiesz, odpalasz pierwszą kolumnę i masz początek Twojego iksa, później wyłączasz te wiersze, wyłączasz kolumnę, odpalasz drugą kolumnę i załączasz wiersz 2 i 7. Później znowu wyłączasz te wiersze, wyłączasz kolumnę zapalasz wiersze 3 i 6, włączasz kolumnę 3 i tak dalej i tak dalej. Robisz to bardzo szybko żeby nie było widać migotania. To tak mniej więcej. Sprawdź jeszcze ile prądu może przepłynąć przez piny zasilajace Atmegi16. Być może będziesz musiał ograniczyć prąd diod czyli dać na wiersze większe rezystory.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2015, o 20:44 
Offline
Użytkownik

Dołączył(a): 03 sie 2015
Posty: 47
Pomógł: 3

Witam
w tym miejscu zgodzę się z kolegą kicajek może bardziej rozsądne jest potreniowanie na 7 segmentowych np. 4 przynajmniej trochę multipleksowania zobaczysz i potrenujesz, tam jest miniej LEDów i z tranzystorami mniej zabawy nie potrzebny MAX abyś zrozumiał no i koszty mniejsze przede wszystkim.
Serdecznie pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2015, o 15:21 
Offline
Nowy

Dołączył(a): 21 lis 2015
Posty: 16
Pomógł: 0

Niestety matryca to wymóg projektu także musze z nią się oswajać ;)


Co do max prądu na pin
wyczytałem w dokumentacji maximum dla m16 to:, "DC Current per I/O Pin 40.0 mA "...

starczyłby wspomniany 200 na wiersz?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lis 2015, o 22:41 
Offline
Użytkownik

Dołączył(a): 26 lut 2014
Posty: 227
Lokalizacja: LDZ
Pomógł: 22

To sprawdź jeszcze w tej samej dokumentacji przy jakim napięciu uzyskasz te 40mA. Poszukaj tam jest taki wykresik zależności napięcia od płynącego prądu.

Wysłane z mojego LG-P700 przy użyciu Tapatalka



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