logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Dlaczego tranzystor BC547B nie załącza przekaźnika z AT89C2051?

komp-el 23 Gru 2003 16:04 5956 27
  • #1 448079
    komp-el
    Poziom 12  
    Posty: 31
    Pomógł: 1
    Ocena: 2
    Witam!

    Mam bardzo prosty (skoro prosty to skad ten post?!) problem z przekaźnikiem. Steruje przekaznikiem z pinu P3.7 w procesorze AT89C2051. Pin polaczony jest przez rezystor 1k z baza tranzystora BC547B, do ktorego kolektora jest podlaczony przekaznik (standardowy uklad OE). Jednak pomimo tego, ze wystawiam na pin poziom wysoki, tranzystor nie otwiera sie do konca przez co nie zalacza przekaznika. Zmienialem wszystkie czesci i nadal nic sie nie dzieje. Nawet bez rezystora tranzystor sie nie otwiera do konca, podobnie jest na innych pinach procesora!! Jak mozna to rozwiazac??? Bo juz nie mam pomyslow! Przekaznik jest podlaczony do 12V.

    Z gory dzieki za pomoc,
  • #2 448130
    Jaro
    Poziom 27  
    Posty: 981
    Pomógł: 50
    Ocena: 52
    powinno działać, emiter tranzystora podłączyłeś do masy mam nadzieję, a równolegle do cewki przekaźnika masz diodę np 1N4148 katodą do +12V. Zabezpiecza ona tranzystor przed uszkodzeniem, przełacza on cewkę więc powstaja całkiem spore "szpilki" napięcia. Bez tej diody może po prostu już sie zepsuł.
  • #3 448227
    h-doc
    Poziom 27  
    Posty: 1208
    Pomógł: 57
    Ocena: 21
    Moje przemyślenia:
    1. Tranzystor nie wchodzi w nasycenie bo ma za mały prąd bazy)
    2. Tranzystor nie wchodzi w nasycenie bo do tego przekaźnika potrzbny jest większy prąd niż tranzystor może z siebie wydusić
    3. Tranzystor lub przekaźnik są walnięte.
  • #4 448332
    marmur99
    Poziom 17  
    Posty: 285
    Pomógł: 5
    Ocena: 4
    A może spróbuj Darlingtona, żeby zwiększyć prąd. Jeżeli dobrze pamiętam to BC547 ma Ic=100mA i wzmocnienie około 200. 100mA to może być za mało.

    Marmur99
  • #5 448343
    kozak_sc
    Poziom 23  
    Posty: 752
    Pomógł: 25
    Ocena: 118
    wez pod uwage ze pullup w 51-ce jest rzedu 10k a ty dales jeszcze w szereg rezystor 1k co w sumie daje 11k czyli 5V-0,6(na zlaczu BE)=4.4V
    J=U/R J=4,4/11k=0,4mA to napewno nie wystarczy do wysterowania tranzystora !! po drugie przy resecie procka przez przekaznik plynie prad !!
    ja radze ci daj tranzystor PNP i uruchamiaj tranzystor stanem niskim. nie zapomnij o diodze zabezpieczajacej tranzystor.
  • #6 448555
    h-doc
    Poziom 27  
    Posty: 1208
    Pomógł: 57
    Ocena: 21
    przy pnp to chyba drugi tranzystor będzie potrzebny, bo przekaźnik jest na 12V.
  • #7 448650
    MichalKl
    Poziom 16  
    Posty: 258
    Pomógł: 8
    Ocena: 5
    Dlaczego drugi....?
    pnp zalatwi sprawe.gdzies w sieci widziale, ze gosc sterowal npn za pomoca 100ohm na bazie-ponoc dzialalo.
    Aha-pullapy sa chyba 1k
  • #8 448687
    h-doc
    Poziom 27  
    Posty: 1208
    Pomógł: 57
    Ocena: 21
    No bo jak na emiterze będziesz miał 12V to niezależnie od tego, czy na bazie będziesz miał 5V czy 0V, to tranzystor i tak będzie przewodził.
  • #9 448719
    Ziele6
    Poziom 14  
    Posty: 168
    Ocena: 3
    W EP było jak projektować układy we/wy przy mikrokontrolerach i także jakie błędy są popełniane. Jak znajdę to zamieszcze skana.

    update
    znalazłem ale załącznik nie chce się dodać :( (nie można wyświetlić strony...)
  • #10 448734
    benchmarek
    Poziom 22  
    Posty: 669
    Pomógł: 19
    Ocena: 27
    Masz tu schemat urządzenia w którym wykorzystałem to czego szukasz układ jest niezawodny i działa non stop w urządzeniach przemysłowych już od około 3lat. Pozdrawiam. schemat w eagle cad.
    Załączniki:
    • shemat.rar (7.81 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #11 448742
    nojmi
    Poziom 20  
    Posty: 473
    Pomógł: 9
    Ocena: 18
    Przy zastosowaniu tranzystora PNP wystarczy ze do bazy podlaczysz szeregowo diode zenera (powiedzmy 12V - 5V = okolo 7V). To zapobiegnie przewodzenie tranzystora przy wysterowaniu 5V.
  • #12 448898
    h-doc
    Poziom 27  
    Posty: 1208
    Pomógł: 57
    Ocena: 21
    nojmi - no właśnie - czyli sam tranzystor nie wystarczy. Ja też na początku stosowałem zenerówki, ale takie układy okazywały się niepewne w działaniu. W tej chwili stosuję w takich przypadkach dwa traznzystory i jak na razie ani razu takie rozwiązanie mnie nie zawiodło
  • #13 449162
    olekewaagata
    Poziom 25  
    Posty: 638
    Pomógł: 64
    Ocena: 28
    Jeśli masz wolne linie w procesorze to połącz je wszystkie razem
    i nimi wszystkimi steruj tranzystor. Wtedy zwiększysz wydajność prądową.
    Oczywiście w programie musisz wszystkie te linie również sterować.
  • #14 449548
    marmur99
    Poziom 17  
    Posty: 285
    Pomógł: 5
    Ocena: 4
    :arrow: olekewaagata
    Na pewno da rade, ale mało to eleganckie. Zenerka też mi się nie podoba.
    Przychylam sie tym razem do opini h-doc, żeby zastosować dwa tranzystory z PNP jako wykonawczym.

    Marmur99
  • #15 449616
    bobeer
    Poziom 28  
    Posty: 1497
    Pomógł: 57
    Ocena: 642
    noto jak tak, to ja zaproponuje uklad na mosfecie z izolowana bramka
    (zero elementow dodadkowych)
    pomysl niby dobry, ale pasowaloby mimo wszystko dac rezystor na bramke, no i juz wspomniana wada, ze zalaczanie stanem H powoduje zalaczenie wyjscia podczas resetu.

    chyba najlepszym rozwiazaniem sa dwa tranzystory pnp labo npn
  • #16 449649
    Nemo
    Poziom 31  
    Posty: 2078
    Pomógł: 9
    Ocena: 72
    Miałem podobny problem z przekaźnikiem sterowanym przez Atmelka. Włożyłem pnp i uruchamiałem go stanem niskim, ale oczywiście nie dał się wyłączyć. Przekaźnik był na 12V, zasilanie wstępnie 14,6V. Nie mogłem dać drugiego tranzystora, bo na płytce nie było miejsca. Wymiana BC560C na BS208 niewiele dała. Pomogło dopiero obniżenie napięcia zasilania do 9,6V. Dopiero wtedy udało się wyłączać przekaźnik. Jak to zrobić? Między zasilaniem, a cewką przekaźnika można włączyć rezystor, na którym odłoży się nadmiar napięcia. U mnie przekaźnik pobierał 15mA, dlatego nie było problemu.
    Pozdrawiam.
  • #17 449658
    bobeer
    Poziom 28  
    Posty: 1497
    Pomógł: 57
    Ocena: 642
    wybacz ale jak chciales sterowac tranzystorem pnp bezposrednio z portu ?
    jesli OE to przeciez niedaz rady wylaczyc calkiem tego tranzystora, bo masz +5V na porcie (dopiero obnizenie napiecia kolektora moze pomoc, albo podciaganie bazy w strone +12), (ale jak juz wspomniano rozwiazanie z opornikami i zenerkami jest dosc nieeleganckie )
    jako wtornik emiterowy sytuacja jest podobna
  • #18 450317
    Nemo
    Poziom 31  
    Posty: 2078
    Pomógł: 9
    Ocena: 72
    Wiem o tym. Ale w tamtym przypadku nie miałem pola manewru. Najlepszy do tego byłby układ dwóch tranzystorów NPN i PNP, ale musiałem improwizować no i się udało. :) Być może komuś to się przyda.
    Pozdrawiam.
  • #19 568739
    qjas
    Poziom 14  
    Posty: 127
    Pomógł: 2
    Ocena: 5
    Jak ktoś tu napomniał polecam podciągnąć bazę tranzystora rezystorem 1k...10k do plusa celem zwiększenia prądu bazy, nie trzeba stosować elementu o dużym wzmocnieniu. Zaleca się taki manewr w przypadku sterowania dużych przekaźników o znacznym prądzie wzbudzenia. Ja musiałem tak zrobić przy przekaźniku JRC 21F na 12V i BC547b.
  • #20 568927
    lechoo
    Poziom 39  
    Posty: 5161
    Pomógł: 377
    Ocena: 546
    Ja zaproponuję rozwiązanie które stosowałem kilkakrotnie. Można w ten sposób użyć przekaźnika na dowolne napięcie, nawet 24V, a ilość elementów jest minimalna. Cała sztuczka polega na trochę nietypowym włączeniu stabilizatora napięcia zasilającego procesor, używamy stabilizatora napięcia ujemnego! Stan aktywny na wyjściu procesora - niski. Szczegóły na poniższym schemacie.
    Załączniki:
    • Dlaczego tranzystor BC547B nie załącza przekaźnika z AT89C2051? schemat.gif (3.04 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #21 569002
    yego666
    Poziom 33  
    Posty: 2175
    Pomógł: 239
    Ocena: 564
    A moze zastosowac taki uklad jak w tym poscie https://www.elektroda.pl/rtvforum/topic109990.html#528639#528639 .
    U mnie dziala w kilku miejscach i dobrze sie miewa.
    A w Atmelu trzeba dawac pull-up zawsze gdy chcemy sterowac tranzystorem NPN bezposrednio z portu. Szczegolnie w 89cx051 na porcie P1.0 i P1.1, bo te piny w ogole nie maja wewnetrznych pull-upow.
    Pozdrawiam, Y E G O
  • #22 569127
    GienekS
    Poziom 32  
    Posty: 1971
    Pomógł: 139
    Ocena: 15
    Jeżeli nie jest potrzebny duży prąd wyjściowy potpinam tranzystor N-P-N emiterem do masy a bazą bezpośrednio do pinu porta (za wyjątkiem P1.0 i P1.1) Jak potrzebuję duży pro to tak samo podłączam ale MOSFET, wtedy to już mogę puścić nawet kilka amperów.
    Wszystkie te rozwiązania stosuję i jeszcze się nie zawiodłem.
  • #23 571444
    psiemek
    Poziom 21  
    Posty: 560
    Pomógł: 23
    Ocena: 43
    Według mnie nie ma sensu pchać tam PNP o wiele lepiej sprawuje sie NPN. Ja do sterowania użyłem BC238 i wspaniale chodzi. Oczywiście równolegle z przekażnikiem dioda, a na bazie rezystor 100ohm. Pozdrawiam :-)
  • #24 571570
    Tdv
    Poziom 34  
    Posty: 2237
    Pomógł: 150
    Ocena: 55
    Już kiedyś o tym pisałem - tranzystor BS170 (mosfet z wejściem logicznym 5V), kosztuje parę groszy, a znacznie upraszcza...
  • #25 3523236
    denis44
    Poziom 12  
    Posty: 24
    Ocena: 4
    A czy schemat który przedstawiłem poniżej ma szanse działać i dlaczego nie?:P
    Konkretnie chodzi mi o to żeby załączać przekaźnik stanem niskim na porcie
    89cx051. Cewka przekaźnika na 5V, 50omów, przekaznik monostabilny, zestyk sterował by jakimś urządzniem zasilanym z sieci 230V, np. żarówka, grzałka etc.

    Jeżeli macie inny pomysł jak zrobić by stan niski załaczał przekaźnik (puszczamy prąd przez cewke) chętnie posłucham:) Zwłaszcza jeżeli bedzie to prostsze rozwiązanie.
    Załączniki:
    • Dlaczego tranzystor BC547B nie załącza przekaźnika z AT89C2051? przek.jpg (11.24 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #26 3524928
    Andy74
    Poziom 25  
    Posty: 525
    Pomógł: 103
    Ocena: 24
    denis44 napisał:
    A czy schemat który przedstawiłem poniżej ma szanse działać i dlaczego nie?

    Heh... ciekawie postawione pytanie: "Czy będzie działać i dlaczego nie?" :D
    Schemat z całą pewnością nie będzie działał.
    Ale nie widzę powodu, by miał nie działać układ zbudowany według niego ;). Twoje rozwiązanie jest tyleż proste, co skuteczne i nie widzę też powodu by dalej to jeszcze upraszczać. Ja co najwyżej zmniejszyłbym wartość R2 do jakichś 10kΩ ÷ 47kΩ - wzrośnie dzięki temu odporność na zakłócenia. Prąd cewki wyniesie jakieś 100mA, więc BS170 się nadaje.
    Jeśli użyjesz przekaźnika na 5V, to nie powinno być żadnych problemów. Gdyby miał być na wyższe napięcie, to już trzeba by układ trochę zmienić (np. w roli "odwracacza fazy" Q1 dać tranzystor NPN emiterem do masy).

    Swoją drogą - niezłe wykopalisko, ale wydać że przynajmniej szukasz, zanim zapytasz :)

    Pozdrawiam
    Andy
  • #27 3525339
    denis44
    Poziom 12  
    Posty: 24
    Ocena: 4
    no troche przekopałem:)
    Dzięki za sugestie:D
  • #28 3615481
    rdt
    Poziom 25  
    Posty: 789
    Pomógł: 29
    Ocena: 39
    czy jak mówiliście o zastosowaniu dwóch to mieliście na myśli łączenie je w darlingtona??
    bo mi się wydaje ze nie tym rozwiązaniu była mowa ????
    a co by było jakby zastosować CNY17
    czy nie można sobie transoptorem sterować??
    co prawda tylko 50 mA można z niego wycisnąć ale przy malych przekaźnikach to nie problem
    p.s.
    sprawdziłem - rezystorek 700 Ohm do diody w szereg (na poczatku bylo 100 ale ciągneło 30 mA z procka )
    emiter do masy kolektor do przekaźnika , przekaźnik do plusa
    W zależności od upodobań można sobie sterować plusem minusem - pelna dowolność

Podsumowanie tematu

LABEL_AI_GENERATED
Problem dotyczy sterowania przekaźnika 12V za pomocą tranzystora BC547B podłączonego do mikrokontrolera AT89C2051 (pin P3.7). Tranzystor nie przechodzi w stan nasycenia, przez co przekaźnik się nie załącza. Przyczyny wskazane w dyskusji to zbyt mały prąd bazy spowodowany rezystorem 1k oraz wewnętrznym pull-up mikrokontrolera (około 10k), co daje zbyt mały prąd bazy (~0,4 mA). Brak diody zabezpieczającej (np. 1N4148) równolegle do cewki przekaźnika może prowadzić do uszkodzenia tranzystora przez impulsy indukcyjne. Proponowane rozwiązania to: zastosowanie tranzystora Darlingtona lub układu dwóch tranzystorów (NPN i PNP) w celu zwiększenia prądu bazy i poprawnego sterowania; użycie tranzystora PNP sterowanego stanem niskim z odpowiednią diodą zenera; zastosowanie tranzystora MOSFET (np. BS170) z izolowaną bramką; podciągnięcie bazy rezystorem do plusa w celu zwiększenia prądu bazy; łączenie kilku linii portu mikrokontrolera w celu zwiększenia prądu sterującego. Wskazano również, że bezpośrednie sterowanie tranzystorem PNP z portu 5V przy zasilaniu przekaźnika 12V jest problematyczne, gdyż tranzystor może przewodzić stale. Dodatkowo, stosowanie transoptora (np. CNY17) jest możliwe przy małych prądach cewki. Wskazano na konieczność stosowania diody zabezpieczającej oraz odpowiedniego doboru rezystorów bazowych. W dyskusji pojawiły się także uwagi dotyczące napięć zasilania i ich wpływu na działanie przekaźnika oraz propozycje nietypowych rozwiązań, takich jak stabilizator napięcia ujemnego do sterowania przekaźnikiem.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA