Skocz do zawartości

Sterowana masa z pinu I/O


opikeusz

Pomocna odpowiedź

"Komenda": digitalWrite(numer_pinu, 0);

powoduje, że wskazany pin (wcześniej ustawiony na wyjście) jest de facto zwierany wewnątrz procesora do masy. Uważaj jednak, bo

- obwód który załączasz nie może brać zbyt dużego prądu (max kilkanaście mA) więc odpadają wszelkie silniki, serwa itd. To może być diodka LED, tranzystor, malutki przekaźnik itp,
- napięcie którym z drugiej strony zasilasz sterowany obwód nie może być wyższe niż Vcc procesora a najlepiej gdy jest równe.

No i napisz co ma się dziać gdy procesor akurat ma nie zwierać do masy. Czy ma to być wiszenie w powietrzu czy podanie Vcc, bo od tego zależy ta druga "komenda" wyłączająca obwód.

Może pokaż po prostu - zanim zrobisz krzywdę swojemu Arduino - pokaż schemat tego czegoś, bo czasem przychodzą do głowy tak absurdalne pomysły, że w życiu bym na to nie wpadł.

  • Lubię! 1
Link do komentarza
Share on other sites

Wszystko zależy od rodzaju diod. Procesor Arduino ma całkiem niezłe wydajności prądowe - jak na procesor, ale to wciąż mało w zderzeniu z tym czego potrzebują LEDy, szczególnie w większych ilościach. Dość odważny przykład masz na podstawowej stronie domowej Arduino:

https://www.arduino.cc/en/Tutorial/RowColumnScanning

Odważny bo zdecydowano się nie używać rezystorów ograniczających prąd więc płynie go tyle ile może. Jeszcze pół biedy z wyjściami sterującymi jedną stroną (gdzie świeci na raz tylko jedna dioda z pinu), ale druga strona (ta sterująca całym wierszem lub kolumną - w zależności od tego jaki przyjęli schemat komutacji) już z pewnością przekracza możliwości procesora.

Inny bezsensowny przykład jest tutaj:

http://amigojapan.github.io/Arduino-LED-Matrix-Display/

Gość zrobił dość makabryczną plątaninę kabli (ale OK, jakoś musiał zestawić matrycę 8x11 na tekturce) a na dodatek wstawił rezystory (bo pewnie coś o nich słyszał) w obie linie sterowania: w kolumny i wiersze - kompletny absurd. Wiersze (lub kolumny) będą świeciły tym ciemniej im więcej diodek będzie włączonych w jednej linii. Cóż, pewnie mu to nie przeszkadzało..

Jedna strona powinna być sterowana bardzo sztywno, najlepiej za pomocą tranzystorów a druga powinna mieć rezystory. Gdy matryca rośnie, także i druga strona musi mieć tranzystory. Najlepiej zanim zaczniesz coś klecić narysuj schemat i pokaż go oraz podaj typ diodek LED. Szkoda pieniędzy, czasu i roboty na projekt który z założenia będzie działał marnie lub wcale.

Jeżeli masz dobre diodki, takie jasno świecące już przy 1-2mA (koniecznie to sprawdź), możesz pokusić się o zrobienie matrycy 8x8 napędzanej wprost z procesora. W przeciwnym razie kupuj tranzystory (i więcej oporników).

Możesz też użyć gotowego drivera samodzielnie obsługującego matryce LED do wymiaru 8x8:

http://www.instructables.com/id/LED-Matrix-with-Arduino/

A wracając do Twojego pytania: do masy procesor może zwierać prąd do 20mA w jednym pinie, ale sumaryczny prąd wyprowadzenia GND nie może przekroczyć 100mA. Wtedy obudowa będzie już się grzała, bo procesor nie jest dobrym driverem takich obciążeń. Zauważ też, że przy sterowaniu multipleksowanym każda dioda świeci z prądem N razy mniejszym niż ten chwilowy, bo włączasz ją tylko co N kolumn lub wierszy. Tak więc jeśli jeden pin może sterować do masy nawet i 20mA, to przy 8 katodach podłączonych do niego LEDów każda dostanie tylko 2.5mA. Ponieważ taki zestaw będzie świecił tylko co 8 przełączeń (dla matrycy 8x8), rzeczywisty średni prąd diodki wyniesie 0.3mA a to naprawdę mało. Wieczorem coś tam zobaczysz, ale za dnia nie wyjdzie to rewelacyjnie. Ratują sytuację tranzystory albo naprawdę dobre (i droższe) diodki o dużej jasności.

  • Lubię! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Prosiłbym jeszcze o tą drugą komendę, kiedy procesor nie bd zwierał obwodu chodzi o wiszenie, żeby nic się nie działo.

Czy jeśli + doprowadze przez tranzystory po 10mA na diode i podłącze je tak żeby do pinu(masy) nie wpiąć więcej niż 10 diod nic nie powinno sie spalić?

Link do komentarza
Share on other sites

Nie, musisz zrobić kompletnie odwrotnie:

1. Od plusa zasilania dajesz emitery tranzystorów pnp.

2. Ich kolektory idą wprost do anod diod LED - niech to będą kolumny.

3. Katody LEDów łączysz przez oporniki do wyjść procesora - to będą wiersze.

4. Bazy tranzystorów łączysz przez oporniki do wyjść procesora.

A teraz to narysuj 🙂 Dzięki temu masz:

1. Tranzystory pracują w układzie OE a nie jako wtórniki - tracisz na nich tylko 0.1V a nie 0.7V.

2. Kolumny anod sterowane są sztywno z plusa zasilania przez mocne drivery - to ważne, bo napięcie na kolektorach nie powinno przysiadać w zależności od liczby akurat świecących z danego tranzystora diodek. Wtedy każda kolumna ma taką samą jasność niezależnie od liczby zapalonych punktów. Nigdy nie będzie tak przy sterowaniu wprost z procesora - żaden jego pin nie może równać się z głupim tranzystorem za 50gr.

3. Oporniki prawidłowo ograniczają prąd - każdy tylko jednej diodki, a każde wyjście procesora "na żywca" steruje tylko jedną diodką i to do masy, więc możesz wykorzystać 10mA na każdy LED (suma < 100mA!)

Tranzystory włączasz stanem niskim a wyłączasz stanem wysokim. Diody tak samo: zero załącza LED.

W każdej chwili możesz dodać tranzystory npn sterujące wierszami (kolektory do rezystorów ograniczających prąd diod, emitery na masie, bazy przez opornik do procka). Wtedy zupełnie pozbywasz się ograniczenia 10mA/diodę i możesz świecić dowolnie jasno dowolnie kiepskimi LEDami.

Link do komentarza
Share on other sites

W każdej bazie szeregowo opornik, czyli dorysuj ich 8 sztuk.

Wszystkie emitery tranzystorów pnp połączone są razem do wspólnej szyny +5V z Arduino, do żadnej innej. Czym będziesz to zasilał? Źródło zasilania ma dwie końcówki. Nie może do niego wchodzić takie mnóstwo kabli.

Jakie planujesz diodki LED? Jakieś małe SMD czy przewlekane?

Do czego to ma być? Jeśli tylko do zabawy w sterowanie matrycą, nie potrzebujesz driverów npn - zadziała i bez nich a szkoda drutowania. Musisz je wstawić gdy planujesz duże diody lub bardzo tanie (i kiepskie) lub mają jasno świecić.

Od typu diod i planowanych prądów zależą typy tranzystorów i wartości oporników. Napisz coś więcej.

Link do komentarza
Share on other sites

http://botland.com.pl/led-5mm-dyfuzyjne/218-dioda-led-5mm-zielona.html diodki takie tanie i jak zrobie to próbuje sił z led cubem. Jak to będzie mi działać to kostka też będzie do ogarnięcia. Kolumny przez pnp i piętra przez npn.

To będzie takie do zabawy bardziej, do tego pokaże profesorowi (jestem w 1 technikum mechatronicznego) to dostane dodatkową ocene. I do szkoły będzie coś w pracowni elektrotechniki na dni otwarte bo nie mają nic ciekawego. Najciekawsze co było to płynące światełko, które zmontowałem w ramach domowych ćwiczeń. I bd miał zapewnione miejsce każdego roku na dniach otwartych w prezentacji 🙂

Link do komentarza
Share on other sites

Dobra, dla tych diodek i oglądania ich w oświetlonej sali tranzystory będą potrzebne. Czy będziesz kupował w tym sklepie? Masz tam 2N3906 jako pnp i wybierz coś jako npn. Te pierwsze powinny mieć większy prąd, bo sterują od razu 8 diodkami na raz, ale nie ma wielkiego wyboru. Jako npn możesz wziąć BC338 - są mocne i na pewno do czegoś się jeszcze przydadzą. Wstaw oporniki na schemat i pokaż wersję ostateczną - chcę zobaczyć całość zanim zaczniesz coś lutować. Umiesz policzyć wszystkie oporniki?

Cube wymaga o wiele więcej pinów sterujących i trzeba pójść raczej w rejestry przesuwające i/lub dekodery - dasz radę, ale bez dodatkowej płytki się nie obejdzie. No chyba że planujesz 4x4x4 czy 5x5x5, ale to nie daje efektu.

Link do komentarza
Share on other sites

Wszystkie to będą jak zobaczymy ich 21 sztuk. Każda baza musi mieć swój rezystor.

Co to jest "Źródło zasilania" i jakie ma mieć napięcie. Skup się, to ważne, bo emitery pnp muszą być w tym układzie na +5V. Chcę wiedzieć, czy dobrze to podłączysz. Twój bloczek zasilania nadal nie ma dwóch końcówek tylko cztery - czy tak będzie naprawdę? Rysuj tak jak chcesz to zrobić.

Link do komentarza
Share on other sites

Zasilanie będzie z bateri 12V, wtedy zastosuje stabilizator napięcia (impulsowy, przy zmniejszaniu napięcia 1A, a przy zwiększaniu 0,5A), lub zasilacz na 5V żebym nie potrzebował stabilizatora, w szkole zasilacze mają regulacje 0,2A, 2A i 20A. Albo dokupie jakiś zasilacz na 5V do tego i bd można zasilać go i z sieci i z bateri.

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.