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



Teraz jest 20 mar 2026, o 21:19


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 
Autor Wiadomość
PostNapisane: 13 mar 2016, o 15:43 
Offline
Nowy

Dołączył(a): 13 mar 2016
Posty: 6
Pomógł: 0

Witam szanownych Panów/Panie.

Zrobiłem projekt, który polegał na wykorzystaniu wszystkich nóżek Attiny2313 i podłączeniu do nich po dwie diody do każdej - jedna katodą, druga anodą (rezystory są).

Poniżej przedstawiam wygląd całego projektu:

Obrazek

I orientacyjny schemat podłączenia diod - nic specjalnego i raczej wszystko logiczne:

Obrazek

Wszystko jest niby ok gdy chcę zapalać, gasić diody itd. Problem natomiast powstaje gdy próbuję wygasić wszystkie diody. Ponieważ wszystkie nóżki mam wykorzystane, a na nóżki są wykorzystywane jako wyjścia/wejścia - to oznacza, że zawsze jakaś dioda z B i D będzie się świeciła.

Rozwiązaniem mogłoby być uzyskanie stanu nieustalonego, tylko czy dobrze rozumiem:

DDRB = 0b00000000; //ustawiamy jako wejścia
PORTD = 0b00000000; //brak podciągnięcia do VCC
DDRD = 0b00000000; //ustawiamy jako wejścia
PORTD = 0b00000000; //brak podciągnięcia do VCC

Dla takiego programu wszystkie diody się żarzą a nie świecą, dodatkowo jedna dioda z pinu D4 i D4 jest zapalona, a druga z D4i B4 zgaszona:

Obrazek

Jakieś dziwne rzeczy się tu dzieją, albo ja czegoś tu nie rozumiem jak zrobić działający kod. Raczej nie jest możliwe jakiekolwiek zwarcie, ponieważ nóżki B i D są po przeciwnych stronach procka, o dostępie do VCC już nie mówię.

Jesśi ktoś by miał jakiekolwiek pomysły jak to rozwiązać to proszę o pomoc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 mar 2016, o 15:56 
Offline
Użytkownik

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

Nic dziwnego tu się nie dzieje. Popatrz, jak nóżka mikrokontrolera jest w stanie wysokiej impedancji to masz ładnie podłaczone dwie diody szeregowo i dlatego lekko się świecą. jedną z tych dwóch diod łatwo zapalić lub zgasić natomiast wszystkie będzie problem. Można spróbować włączyć diode zenera 1,5 V w szereg o tak:

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 mar 2016, o 16:44 
Offline
Nowy

Dołączył(a): 13 mar 2016
Posty: 6
Pomógł: 0

Aż się zacząłem bawić 123 Autodesk'a:

ObrazekObrazekObrazekObrazekObrazek

Faktycznie nie wychodzi, a myślałem, że będzie tak pięknie.

No to mam niemały problem, bo w przypadku gdy dioda jest podłączona do nóżki procka katodą to nic nie trzeba robić.
Natomiast diody z anodą do procka jest problem, bo podłączyłem wszystkie katody do wspólnego GND... Bo rozumiem, że jedna dioda zenera nie starczy, aby ją wlutować bezpośrednio do GND i potem polecieć do LED. Każda dioda LED potrzebuje zenera.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 mar 2016, o 17:21 
Offline
Użytkownik
Avatar użytkownika

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

Witam
tomekb411 napisał(a):
...Natomiast diody z anodą do procka jest problem, bo podłączyłem wszystkie katody do wspólnego GND... Bo rozumiem, że jedna dioda zenera nie starczy...

Nie ma to jak prosto i zwięźle :)
Może takie coś by pomogło, tylko że (chyba) nikt nie wie co Ty z tymi LED'ami chcesz wyprawiać w stanie PRACA.
Obrazek
Tutaj jeżeli na którejkolwiek diodzie będzie stan niski klucz będzie podawał napięcie na anody - dlatego może być potrzebna większa ilość diod.

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 mar 2016, o 18:03 
Offline
Nowy

Dołączył(a): 13 mar 2016
Posty: 6
Pomógł: 0

Co chcę osiągnąć...

Chcę mieć jakąś możliwość wygaszenia diod na każdej z poszczególnych nóżek procka. Przy aktualnym schemacie, którego użyłem mam możliwość tylko zapalenia jednej lub drugiej diody LED w zależności czy podpinam nóżkę do VCC czy do GND.

Chcę w jakiś prosty sposób dodać jakieś elementy lub dowiedzieć się, czy istnieje jakaś możliwość uzyskania wygaszenia za pomocą programowania.

To tylko zabawka, która ma tylko świecić i ma być fajnie.
Świecenie wszystkich diod wykonałem za pomocą zmiany co 1ms podciągnięcia z GND na VCC. Dla oka przeskok jest niewidoczny. Dlatego też już myślałem, czy by tak nie załatwić "wygaszenia", no ale nie mam pomysłu.

Zwróciłem się z tym problemem do naszego GURU Pana Mirosława. Napisał coś takiego:

"To zadanie dla hardorowca ;) ale fajnie że stawiasz sobie takie zadania ... to znaczy, że myślisz, że kombinujesz (jak każdy prawdziwy POLAK!) ... że się nie poddajesz i drążysz temat...
Spróbuj zatem zrozumieć co to znaczy stan Hi-Z czyli tzw stan trzeci, stan nieustalony ... czyli ? ...
czyli gdy ustawisz pin jako WEjście ale bez podciągnięcia do VCC. Wtedy nie ważne jaki będzie ten stan nieustalony ale nie będzie w stanie płynąć prąd, a więc żadna z diod nie będzie w stanie świecić ;)
czujesz to ? ;)"

Dlatego sądziłem, że wystarczy tylko drążyć temat stanu nieustalonego. Wiem, że dróg rozwiązania jakiegoś problemu są tysiące. Ale chciałbym spróbować czegoś co mało ingeruje w stworzony układ. Oczywiście jak się poddam, to skorzystam z pomysłów wyżej :)

Jakieś propozycje? Będę wdzięczny.

Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 mar 2016, o 19:05 
Offline
Użytkownik

Dołączył(a): 24 kwi 2013
Posty: 454
Pomógł: 30

Ja widzę takie opcje:
- Rejestry przesuwne
- Matryca 6x5 i multipleksalna.
- Filtry środkowo przepustowe i sterowanie częstotliwością.

Ale to bardziej skomplikowane niż pomysł @kicajka.



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

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

witam
myślę że można wstawić tranzystor PNP tak jak w BB str. 182.
stan wysoki na bazie odetnie zasilanie wszystkich diod (tutaj D1)podłączonych anodami do Vcc.
Obrazek
jeżeli teraz podasz stan niski na PB7 to powinno wszystko zgasnąć. ;)
pozdrawiam Darek.

poprawiłem moje bzdury na zielono.!! :roll:



Ostatnio edytowano 13 mar 2016, o 20:53 przez Daro69, łącznie edytowano 2 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 mar 2016, o 19:35 
Offline
Użytkownik
Avatar użytkownika

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

Witam
Małe pytania naprowadzające:
a) ile masz Led'ów na tym serduszku?
b) ile jest w sumie "LED'ów" w poczwórnym wyświetlaczu 7seg.

Poczytaj, przemyśl - (cztery tranzystorki + mała garstka rezystorków + zaoszczędzone PIN'ya) = wielka radocha :lol:
Daro69 napisał(a):
stan niski na bazie odetnie zasilanie wszystkich diod (tutaj D1)

...ale kol.tomekb411 wspominał o "niemaniu" wolnych PIN'ów ( a na pewno odetnie? ;) ).

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 mar 2016, o 20:46 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

:oops: Ano oczywiście wysoki.
niski załączy bo się pojawi różnica napięć E>B.
dzięki za poprawkę.

Ten pomysł
kicajek napisał(a):
Poczytaj, przemyśl - (cztery tranzystorki + mała garstka rezystorków + zaoszczędzone PIN'ya) = wielka radocha :lol:

jest b. dobry, tym bardziej że świetnie opisany w BB.

i sorki za błędne podpowiadanie.
pozdrawiam Darek.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 mar 2016, o 20:54 
Offline
Nowy

Dołączył(a): 13 mar 2016
Posty: 6
Pomógł: 0

Serce ma 28 LED.

Fakt faktem mam jeden pin PB7 wolny {SCK}.
Pomysł z tym tranzystorkiem pewnie by wypalił. Ustawiając na PB7 stan wysoki załączał bym odłączenie VCC, oraz zapalałbym "niewidzialną diodę LED", która by pozwoliła wygasić wszystkie porty z B.

Pomysł chyba nie głupi, dzięki :)

Szkoda, że nikt nie wymyślił w prockach, żeby można było stosować piny jako wyjścia, wejścia, oraz w ogóle je odłączyć.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 mar 2016, o 21:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

to odłączanie to stan nieustalony HI_Z.
faktycznie zachowuje się jak odłączona nóżka.
ale to nie to powoduje świecenie u Ciebie pozostałych diod.
jak odepniesz od nóżki to nadal będę się żarzyły .
bo są połączone szeregowo pomiędzy Vcc i GND.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 mar 2016, o 21:10 
Offline
Moderator
Avatar użytkownika

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

tomekb411 napisał(a):
Szkoda, że nikt nie wymyślił w prockach, żeby można było stosować piny jako wyjścia, wejścia, oraz w ogóle je odłączyć.

Właśnie w każdym procku tak jest, czyli już dawno ktoś to wymyślił ;) a ty musisz po prostu zrozumieć swój błąd i którędy tobie prąd po diodach płynie - przecież już w pierwszym poście kolega ci to wyjaśnił
post156062.html#p156062

a jak masz za mało pinów to trzeba było użyć rejestrów przesuwnych, wystarczyłoby kilka takich rejestrów i tylko 3 (słownie: TRZY) linie procesora żeby sterować tymi wszystkimi diodami LED. Zobacz sobie tutaj:

http://mirekk36.blogspot.com/2013/09/re ... stawy.html

_________________
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: 13 mar 2016, o 21:19 
Offline
Nowy

Dołączył(a): 13 mar 2016
Posty: 6
Pomógł: 0

Zrobiłem schemat w 123D Circuits, żeby zobaczyć czy to chodzi i DZIAŁA. - swoją drogą ciekawe rozwiązanie od Autodesk'a.

Zastosuję pin PB7 jako wyłącznik VCC i GND. PB7 podłączę do dwóch tranzystorków NPN, tak aby odłączyć jednocześnie VCC na diodach podłączonych katodami do procka i drugim NPN odłączyć GND do tych drugich diod.

VCC na anodach jest wspólne dla jednych i GND jest wspólne dla drugich diod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 mar 2016, o 21:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 paź 2014
Posty: 237
Lokalizacja: Rzeszów
Pomógł: 11

Rozumiem, że masz już płytkę i nie chciałbyś jej zbytnio przerabiać.
Hm... Spróbuj wszystkie diody zamiast do Vcc podpiąć przez stabilizator 3,3V. Te "górne" liczysz wówczas na napięcie 3,3V, te "dolne" na 5V. Po wprowadzeniu pinu w HI_Z nie powinny świecić. LEDY mają taką "przypadłość", że przy niskim napięciu mogą także leciutko się żarzyć, ale ty tego już tak łatwo nie zaobserwujesz. Wystarczy malutki prąd. Z charakterystyki I=f(U) diody widać, że przy małym prądzie napięcie na złączu jest mniejsze od napięcia przewodzenia.
Możesz zastosować inny stabilizator niż 3,3V i dobrać napięcie tak, aby bez podłączonego procka obie nie świeciły, a po zwarciu "środka" do masy zaświeciła się górna.
Szkoda, że nie zastosowałeś multipleksowania...


Autor postu otrzymał pochwałę

_________________
Mr. Nobody



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 mar 2016, o 07:57 
Offline
Nowy

Dołączył(a): 13 mar 2016
Posty: 6
Pomógł: 0

APAP75 - dzięki, że zrozumiałeś mój problem. Ten pomysł najmniej ingeruje w to co już stworzyłem. Diody mogą się żarzyć, tylko żeby nie były aż tak widoczne. Nie zależy od tego ludzkie życie :)

Też żałuję, że nie użyłem multipleksowania. Ale nie zależało mi na większej ilości diod i był to mój pomysł. Nie wspierałem się innymi źródłami w internecie itd. Przetestowałem pomysł na mniejszej ilości diod. Miałem wtedy wolne po 1-2 nóżki z B i D, dlatego nie zauważyłem tego problemu.

Następnym razem obiecuję, że przerobię to na multipleksowanie :)

Mam moduł zasilania stykówek z możliwością zasilania jednocześnie 3,3V i 5V, więc nie będzie problemu. Jedynie muszę zakupić wtyk do tego modułu, a z tym się troszkę zejdzie.

Jeszcze przetestuję zasilanie 3,3V całego układu z USBasp i zobaczę co się stanie. Aktualnie wszystko chodziło na 5V.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 mar 2016, o 22:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 paź 2014
Posty: 237
Lokalizacja: Rzeszów
Pomógł: 11

Hm... dobry pomysł, aby całość spróbować puścić z 3,3V. Wystarczy wymienić stabilizator. No i uważać przy programowaniu ;)

_________________
Mr. Nobody



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