Witam,
Zmontowałem pewien układ, z diodami według rysunku poniżej. Diody połączone są anodami ze sobą i na tą chwilę nigdzie nie dalej nie są podłączone. Katodami podłączone są do pinów portu G mikrokontrolera Atmega128. Według mnie układ przeczy prawom fizyki, bo diody świecą i nie można ich w żaden sposób zgasić. Owszem, gasną tylko dwie pierwsze, jak przełączy się Atmegę na kompatybilność z Atmega103 we fuebitach. Naczytałem się już o nieprawidłowym działaniu portu G w Atmega 128 (czy w Atmega64 też takie hocki-klocki występują?), ale świecenie diod w układzie jak na rysunku jest dla mnie co najmniej tajemnicze.
Dziwne zachowanie diod LED na portG w Atmega128
Dziwne zachowanie diod LED na portG w Atmega128
- Załączniki
-
- 3-diody.jpg (20.38 KiB) Przejrzano 3073 razy
Docelowo do anod podłączony jest pin CD4094 przez rezystor 166R (330R||330R), ale został on odlutowany i diody świecą nadal. Sprawdzałem już płytkę po 10 razy na ewentualne zwarcia, ale nic takiego nie znalazłem. Te diody LED stanowią podświetlenie przycisku PB6149L-4. Nie mogłem ich w żaden sposób zgasić programowo. Wysłałem nawet na cały portG zera.
Config portg=&B1111
a potem
Portg=&B0000
Bo czytałem, że pojedynczych pinów nie obsługuje.
Na pinach portu G mam napięcia około 2,5...3V, a procka zasilam z 5V. To wygląda, jakby w diodzie LED była podłączona wstecznie druga zwykła dioda, choć odwrotne podłączenie zasilania nie zaświeca diody (wylutowanej z kładu), a miernik też pokazuje jedną diodę.
Zanim poryję ścieżki i przestawię te piny na inny port, chciałem się dowiedzieć, czy da się coś z tym zrobić?
EDIT
Pokombinowałem z tym układem i z moich pomiarów wynika, że te diody LED podświetlające przycisk muszą mieć równolegle podłączoną w odwrotnym kierunku do LED zwykłą diodę, Jeszcze raz spojrzałem do Datasheeta tego przycisku i przy symbolu diody jest namalowany niewielki trójkącik, który mógłby sugerować taką diodę. Muszę przyznać, że pierwszy raz spotkałem się z takim oznaczeniem. A po co taką dodatkową diodę do LED producent miałby dodawać, to już kompletnie nie wiem. Problem rozwiązałem dodając do każdej anody diodę BAS85, czyli szeregowo do każdej LED.
Config portg=&B1111
a potem
Portg=&B0000
Bo czytałem, że pojedynczych pinów nie obsługuje.
Na pinach portu G mam napięcia około 2,5...3V, a procka zasilam z 5V. To wygląda, jakby w diodzie LED była podłączona wstecznie druga zwykła dioda, choć odwrotne podłączenie zasilania nie zaświeca diody (wylutowanej z kładu), a miernik też pokazuje jedną diodę.
Zanim poryję ścieżki i przestawię te piny na inny port, chciałem się dowiedzieć, czy da się coś z tym zrobić?
EDIT
Pokombinowałem z tym układem i z moich pomiarów wynika, że te diody LED podświetlające przycisk muszą mieć równolegle podłączoną w odwrotnym kierunku do LED zwykłą diodę, Jeszcze raz spojrzałem do Datasheeta tego przycisku i przy symbolu diody jest namalowany niewielki trójkącik, który mógłby sugerować taką diodę. Muszę przyznać, że pierwszy raz spotkałem się z takim oznaczeniem. A po co taką dodatkową diodę do LED producent miałby dodawać, to już kompletnie nie wiem. Problem rozwiązałem dodając do każdej anody diodę BAS85, czyli szeregowo do każdej LED.
- Załączniki
-
- PB6-led.jpg (4.38 KiB) Przejrzano 3018 razy
- siekierzyński
- Użytkownik
- Posty: 486
- Rejestracja: 01 cze 2010, 23:12
- Lokalizacja: Nareszcie Polska
Próbowałeś na próbę zrobić:
?
Chodzi o to, żeby zobaczyć, czy to kwestia programowa czy sprzętowa.
Zobacz w fusebitach, czy masz powyłączane wszystko czego nie używasz, w sensie JTAG, WATCHDOG itp.
Kod: Zaznacz cały
Config PORTG=output
PORTG = 255
' potem
PORTG = 0
Chodzi o to, żeby zobaczyć, czy to kwestia programowa czy sprzętowa.
Zobacz w fusebitach, czy masz powyłączane wszystko czego nie używasz, w sensie JTAG, WATCHDOG itp.