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



Teraz jest 9 sty 2025, o 23:24


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 13 ] 
Autor Wiadomość
PostNapisane: 8 cze 2016, o 04:27 
Offline
Nowy

Dołączył(a): 08 cze 2016
Posty: 7
Pomógł: 0

Witam. Zaczynam zabawę z mikrokontrolerami, a w związku z tym pojawił się problem dotyczący multipleksowania sygnału na atmedze32, mianowicie będę musiał sterować dużą ilością diod LED. Część mogę załatwić poprzez wspólną katodę, ale wyjść i tak będzie za mało. Wiem, że używa się w takim wypadku rejestrów przesuwnych - mam kilka 74hc595, ale tu pojawia się pytanie: czy przy pomocy tych rejestrów przesuwnych będę miał możliwość sterowania wyjściami w dowolny sposób, jak to ma miejsce dla zwykłych wyjść?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 cze 2016, o 06:32 
Offline
Użytkownik
Avatar użytkownika

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

Witam
Na początek proponuję zdefiniować/doprecyzować pojęcia:
ltx napisał(a):
...musiał sterować dużą ilością diod LED
...czy przy pomocy tych rejestrów przesuwnych będę miał możliwość sterowania wyjściami w dowolny sposób,



Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 cze 2016, o 08:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 mar 2015
Posty: 116
Pomógł: 16

W pewnych zastosowaniach pomocny może być sposób przedstawiony w:
Compiled Tips ‘N Tricks Guide - Microchip.

Obrazek

Dysponując np. portem 8bit możesz sterować 56 diodami LED.
Trzeba oczywiście to zrobić "z głową" - bilans prądowy uP.
Jak uP PIC daje radę to pewnie ATMEGA również ;) .
Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 cze 2016, o 11:02 
Offline
Użytkownik
Avatar użytkownika

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

Witam
maverick_as napisał(a):
Dysponując np. portem 8bit możesz sterować 56 diodami LED.

Powiem więcej - ilość LED'ów wynosi (ilość_wyjść)! tylko że w ATmegach (i nie tylko) różnie bywa z napięciem w stanie HiZ a to jest kluczowe w tym podłączeniu. Inna sprawa to jest to, że w danym momencie może świecić tylko jeden z nich ( ten LED :) )

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 cze 2016, o 11:14 
Offline
Użytkownik

Dołączył(a): 23 sty 2014
Posty: 1081
Pomógł: 73

Zapalając diodę 6 wątpliwe jest ze 2 i 4 nie będą się lekko żarzyć :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 cze 2016, o 14:12 
Offline
Nowy

Dołączył(a): 08 cze 2016
Posty: 7
Pomógł: 0

kicajek napisał(a):
Witam
Na początek proponuję zdefiniować/doprecyzować pojęcia:
ltx napisał(a):
...musiał sterować dużą ilością diod LED
...czy przy pomocy tych rejestrów przesuwnych będę miał możliwość sterowania wyjściami w dowolny sposób,



Pozdr.


Generalnie ma to być zegar zbudowany na LED cube, w związku z tym będzie to jakieś 5 pięter, co najmniej 10x5 diod LED, w związku z tym poszukuję sposobu na podłączenie większej ilości diod led z możliwością niezależnego sterowania każdą z nich.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 cze 2016, o 14:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 mar 2015
Posty: 116
Pomógł: 16

Jak zegar i to jescze LED cube - to może adresowalne diody RGB WS2812B ,zwane też inaczej Magic Led lub Adafruit ?
Od strony sprzętowej układ nie powala złożonością a daje ogromne możliwości od strony programowej uzyskania super bajeranckich efektów ;) .
Elementy WS2812B wydają się do tego stworzone.
Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 cze 2016, o 00:24 
Offline
Nowy

Dołączył(a): 08 cze 2016
Posty: 7
Pomógł: 0

maverick_as napisał(a):
Jak zegar i to jescze LED cube - to może adresowalne diody RGB WS2812B ,zwane też inaczej Magic Led lub Adafruit ?
Od strony sprzętowej układ nie powala złożonością a daje ogromne możliwości od strony programowej uzyskania super bajeranckich efektów ;) .
Elementy WS2812B wydają się do tego stworzone.
Pozdr.


Te LEDy wyglądają super, tyle że kosztują dość sporo, co przy ilości potrzebnych mi diod niestety daje kosmiczne sumy.
A może nadawałby się do tego PCF8574?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 cze 2016, o 06:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 mar 2015
Posty: 116
Pomógł: 16

PCF8574 jako driver do diod LED - średnio.
W/g noty katalogowej (str 15) max. prąd jaki układ może "przyjąć/wydać z siebie" to 100mA, co daje nam 12,5 mA na kanał ,trochę mało.
Pozdr.

P.S Szukaj elementów pod hasłem led driver.
Co do kosztów. Jak dobrze poszukasz to 1m taśmy z 60 diodami WS2812 (bez B, trzeba zachować większą czujność przy stosowaniu) jest do kupienia za kwotę 52 zł. Pozostaje tylko pociąć pasek, dolutować przewody, przykleić każdy element gdzie potrzeba na sześcianie ,powstały łańcuch podpiąć do uP i szaleć.. z efektami. Z drugiej strony koszt pojedyńczej zwykłej diody LED to 5-10 gr, ale jak doliczysz koszty; drivera ,jakiś płytek na których to trzeba poskładać "do kupy" to w/g mnie WS2812 nie wychodzą tak drogo.... ale tak sobie "misiam" ;) .



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 cze 2016, o 11:29 
Offline
Nowy

Dołączył(a): 08 cze 2016
Posty: 7
Pomógł: 0

maverick_as napisał(a):
PCF8574 jako driver do diod LED - średnio.
W/g noty katalogowej (str 15) max. prąd jaki układ może "przyjąć/wydać z siebie" to 100mA, co daje nam 12,5 mA na kanał ,trochę mało.
Pozdr.

P.S Szukaj elementów pod hasłem led driver.
Co do kosztów. Jak dobrze poszukasz to 1m taśmy z 60 diodami WS2812 (bez B, trzeba zachować większą czujność przy stosowaniu) jest do kupienia za kwotę 52 zł. Pozostaje tylko pociąć pasek, dolutować przewody, przykleić każdy element gdzie potrzeba na sześcianie ,powstały łańcuch podpiąć do uP i szaleć.. z efektami. Z drugiej strony koszt pojedyńczej zwykłej diody LED to 5-10 gr, ale jak doliczysz koszty; drivera ,jakiś płytek na których to trzeba poskładać "do kupy" to w/g mnie WS2812 nie wychodzą tak drogo.... ale tak sobie "misiam" ;) .


Użycie tych diod wydaje mi się nadal sporo droższe od diod, expanderow i tranzystorów. Jesli PCF ma za małą wydajność pradowa, to może MCP23017? Z każdego wyjścia można wyprowadzić 20mA, wiec w sam raz, ponadto ma 16 pinow I/O, wydaje sie być idealne.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 cze 2016, o 13:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 mar 2015
Posty: 116
Pomógł: 16

ltx napisał(a):
..., to może MCP23017? Z każdego wyjścia można wyprowadzić 20mA, wiec w sam raz, ponadto ma 16 pinow I/O, wydaje sie być idealne.

Czy aby na pewno ? Strona 27 noty DS21952B dotyczącej MCP23017, cyt: "Maximum current out of Vss pin 150mA, Maximum current into Vdd pin 125mA". W/g mnie wypada, do tego konkretnego zastosowania , gorzej od porzednika.
Zwróć też uwagę, że na jednej magistrali możesz umieścić max. 8 układów, czyli masz do dyspozycji 96 diod/kanałów.
Oczywiście nie skreśla to tego elementu czy poprzednika z zastosowania tylko trzeba pamiętać przy pisaniu programu o graniczeniach prądowych i nie "zaświecać" wszystkich diod jedocześnie.

Jak szukasz budżetowego rozwiązania - to może wziąć pod lupę trik Microchipa (przedstawiony powyżej). W nim tylko uP ,diody i rezystory. Stosowałem go z powodzenie dla 20 diodowych linijek świetlnych z uP serii PIC16F i PIC18F(... uP nie zajmował się tylko linijką).
Atmegi32 nigdy nie używałem, ale przeglądając (pobieżnie) notę katalogowa wygląda to obiecująco. Dla Atmega32 cyt:"DC Current per I/O 40mA, DC Current Vcc and GND Pins 200mA". Jak zrobisz próbę dla 6 diod (gotowe tabelki) , ocenisz efekt świecenia (zwłaszcza jak wszystkie LED pozornie świecą),to będziesz wiedział czy ewentualnie iść w tym kierunku. Wspominałeś o 50 diodach ,8 bitowy port da radę 56 LED.
Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 cze 2016, o 14:15 
Offline
Nowy

Dołączył(a): 08 cze 2016
Posty: 7
Pomógł: 0

W zasadzie to myślałem o polaczeniu pięter cube'a wspolna katodą, przez tranzystor do uC, wtedy i tak chyba nie mógłbym odpalać kilku diod rownoczesnie. W takim przypadku wystarczyłoby kilkadziesiąt wyjść do sterowania anodami i byloby git, w takim razie chyba te elementy powinny wyrobić pradowo, nie?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 cze 2016, o 16:35 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 25 mar 2015
Posty: 116
Pomógł: 16

OK. Wnioskuję ,że chcesz iść w kierunku wyświetlania dynamicznego. Układ o którym myślisz przypomina podpięcie 4-ch wyświetlaczy 7 segmentowych do uP. Potrzebujemy wtedy 8 lini (z kropką) do sterowania segmentów i 4-ch(2 jak zastosujemy demultiplekser) do kluczowania cyfr. Cyfry świecą pojedyńczo przez T/4 okresu omiatania ,ale ponieważ robimy to dostatecznie szybko, oku się wydaje ,że wszystkie świecą jednocześnie. Dokładanie dalszych cyfr zaczyna być problematyczne ze względu na intensywność świecenia poszczególnych cyfr.
Tak przynudziłem na wstępie gdyż moim zdaniem wydajność "zasilacza anod" (powyżej był to uP) jest istotna .
A teraz sprawdziłem cenę na znanym portalu aukcyjnym Atmegi32 - około 10 zł.
Moim zdaniem sprawdź trik #2 Mirochipa - wyciśnij ile się da diod LED (na moje oko 56 spokojnie powinno się udać ), a jak potrzebujesz kolejne diody to daj następny uP. Wychodzi na to ,że uP jest najtańszym driverem ;).
A te dywagacje o expenderach ,kluczach zaczynają być sztuką dla sztuki.
Pozdr.

P.S 10 zł za wersję DIP, 6zł za SMD



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

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