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



Teraz jest 24 kwi 2024, o 14:46


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: 17 maja 2015, o 10:59 
Offline
Nowy

Dołączył(a): 04 lis 2014
Posty: 6
Pomógł: 0

Witam
Buduje sterownik oświetlenia LED-owego klatki schodowej. Sterownik posiada 17 wyjść tranzystorowych służących do sekwencyjnego zapalenia listw z diodami LED.

ObrazekObrazek

Układ testuje podłączając do każdego wejścia diodę z rezystorem ograniczającym prąd 1,2k. W chwili kiedy podam stan wysoki na bazę tranzystora dioda pięknie świeci. I teraz nie rozumie jednej sprawy mianowicie w chwili kiedy na bazie tranzystora panuje stan niski dioda również świeci tylko że bardzo słabo. Spadek napięcie na diodzie i rezystorze wynosi 2.1V a napięcie VCE (kolektor-emiter) wynosi 9.96. Czy ktoś mógłby mi wyjaśnić dlaczego tak się dzieje ? Nie rozumie dlaczego dioda nie gaśnie całkowicie.

Układ testowy:
Obrazek

Dodam że testowałem prace tranzystora w takim układzie na płytce stykowej i wszystko działało normalnie. Tranzystor otwierał się całkowicie i dioda świeciła. Kiedy tranzystor się zamykał dioda gasła całkowicie. Natomiast kiedy ten tranzystor został wlutowany w płytkę dioda owszem zapalała się natomiast nie gasła całkowicie tylko delikatnie się " żarzyła ".

Dziękuje za wszelką okazaną pomoc
Pozdrawiam


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 maja 2015, o 11:54 
Offline
Użytkownik

Dołączył(a): 25 lut 2015
Posty: 252
Lokalizacja: Lublin
Pomógł: 23

Może jednak nie masz pinu ustawionego jako wyjściowy...
Podciągasz go do plusa i działa (wysterowuje tranzystor), wyłączasz podciągnięcie i masz stan "nieustalony".



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 maja 2015, o 12:08 
Offline
Użytkownik

Dołączył(a): 04 lis 2014
Posty: 267
Lokalizacja: Krosno
Pomógł: 38

Dodatkowo rezystor na bazie 100r zdecydowanie za mały, prąd z portu to będzie około 28mA, rezystor min 1K.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 maja 2015, o 12:18 
Offline
Użytkownik

Dołączył(a): 25 lut 2015
Posty: 252
Lokalizacja: Lublin
Pomógł: 23

Zaiste :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 maja 2015, o 13:52 
Offline
Nowy

Dołączył(a): 04 lis 2014
Posty: 6
Pomógł: 0

Racja z tymi rezystorami. Na płytce miałem wlutowane rezystory 1.1k, także żadnego wyjście nie upaliłem.
Sory za tą niechlujność w schemacie.

Wydaje mi się że w kodzie nie popełniam błędu. Fragment programu:

int main(void){

MCUCSR |=(1<<JTD);
MCUCSR |=(1<<JTD);

// Ustawienie portow jako wyjscia
DDRD |= (1<<DDD0)|(1<<DDD1)|(1<<DDD6)|(1<<DDD5)|(1<<DDD4)|(1<<DDD7);
DDRC |= (1<<DDC0)|(1<<DDC2)|(1<<DDC5)|(1<<DDC7);
DDRA |= (1<<DDA7)|(1<<DDA6)|(1<<DDA5)|(1<<DDA4)|(1<<DDA0);
DDRB |= (1<<DDB1)|(1<<DDB0);

PORTD &=~( (1<<PD0)|(1<<PD1)|(1<<PD6)|(1<<PD5)|(1<<PD4)|(1<<PD7) );
PORTC &=~( (1<<PC0)|(1<<PC2)|(1<<PC5)|(1<<PC7) );
PORTA &=~( (1<<PA7)|(1<<PA6)|(1<<PA5)|(1<<PA4) );
PORTA |= (1<<PA0);
PORTB &=~( (1<<PB1)|(1<<PB0) );

// ustawienie zewnetrznych przerwan
MCUCR |= (1<<ISC11)|(1<ISC01); // opadające zbocze powoduje zewnętrzne przerwanie INT1 oraz INT0
GICR |= (1<<INT1)|(1<<INT0); // odblokowanie zewnetrznych przerwan INT1, INT0
PORTD |=(1<<PD2)|(1<<PD3); // wlaczenie rezystora podciagajacego na liniach PD2-INT0 oraz PD3 - INT1;

sei(); // wlacz zezwolenie globalne na obsluge przerwan

for(;;)
{

if(dol == 1)
{
Zaswiec_dol();
}

if(gora == 1)
{
Zaswiec_gora();
}

}

return 0;
}

Może to być wina zakłóceń wynikających z źle zaprojektowanego PCB ?? Zawsze wydawało mi się ze takie zakłócenia mogą wystąpić przy wysokiej częstotliwości. Ale może to jest przyczyna co myślicie ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 maja 2015, o 14:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

zobacz np mój sterownik oświetlenia schodów http://www.sunduino.pl/wordpress/16-sto ... ownik-led/

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 maja 2015, o 14:33 
Offline
Użytkownik

Dołączył(a): 25 lut 2015
Posty: 252
Lokalizacja: Lublin
Pomógł: 23

To jak masz te porty w końcu zdefiniowane? PD0..PDx czy DDD0..DDDx + pozostałe.
Wydaje mi się, że w ten sposób (DDxy) nie ustawiasz poprawnie wyjścia.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 maja 2015, o 16:05 
Offline
Nowy

Dołączył(a): 04 lis 2014
Posty: 6
Pomógł: 0

Wpisywałem na różne sposoby za każdym razem jest to samo.
Kiedy nie ustawiłem portów jako wyjść to sytuacja była trochę inna - diody świeciły cały czas tak samo.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 maja 2015, o 17:31 
Offline
Użytkownik

Dołączył(a): 25 lut 2015
Posty: 252
Lokalizacja: Lublin
Pomógł: 23

Układu się nie czepiaj, poza tym rezystorem na bazie za niskiej wartości.
Ale on tylko powoduje niepotrzebne obciążenie wyjścia mikrokontrolera dużym prądem przy wysokim stanie na porcie.
Podejrzewam jakieś "szpilki" na portach, czyli krótkie impulsy 1-kowe wysyłane w pętli.

------------------------ [ Dodano po: 4 minutach ]

Oscyloskop, albo analizator stanów logicznych byłby pomocny, aby to potwierdzić.

------------------------ [ Dodano po: 15 minutach ]

Uruchom testowo tylko jakiś kod na właczanie, wyłączanie diod.
Powinno ładnie gasić.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 maja 2015, o 15:19 
Offline
Nowy

Dołączył(a): 04 lis 2014
Posty: 6
Pomógł: 0

Znalazłem przyczynę dziwnego zachowania diod. Miałem źle wlutowane tranzystory kolektor zamieniony był z emiterem. Miałem złą bibliotekę elementu w eaglu.

Dzięki za zainteresowanie tematem.
Pozdrawiam



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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