Elektroda.pl
Elektroda.pl
X
Relpol przekaźniki
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Stany nieustalone uC, opóźnienie załączenia tranzystora

16 Maj 2014 08:06 12420 127
  • Poziom 22  
    Witam.
    Mam problem, z którym się borykam. Chciałbym mianowicie wyeliminować problem ze stanami nieustalonymi mikrokontrolera - problemem jest użyty tranzystor bc547, który podłączony do uC sterowany jest logiczną 1 - jak wyłączony a masa jako włączony.
    Za każdym razem, gdy podłączę zasilanie do uC, tranzystor się załącza i przewodzi prąd co jest dla mnie wysoce niepożądanym skutkiem.
    Chciałbym opóźnić jego włączenie tak, aby wyeliminować jego samoistne załączenie.
    Schemat którego używam:
    Stany nieustalone uC, opóźnienie załączenia tranzystora
  • Relpol przekaźniki
  • Poziom 32  
    Jakiego mikrokonrolera kolega używa?
    Szczerze powiedziawszy to trochę dziwna sytuacja.Porty w mikrokontrolerach po resecie (podniesieniu się zasilania)zazwyczaj -nie spotkałem się by było inaczej- domyślnie ustawiane są jako wejścia. Więc może wina leży w programie albo coś się koledze indukuje na tych ścieżkach.
    Czy jest kolega pewien, że obecna sytuacja wynika ze stanów nieustalonych przy przełączaniu tranzystorów?
    Dysponuje kolega jakimiś oscylogramami tego zjawiska- co jest na pinie portu a co na wyjściu?
    Dodatkowe pytanie -czemu schemat tego sterowania wygląda właśnie tak? Do czego właściwie potrzebny jest ten npn bo negacje można sobie mikrokontrolerem łatwo stworzyć?
  • Poziom 22  
    Używam mikrokontrolera ATMega8.
    Co do indukcyjności ścieżek - nie wiem ale nie ma raczej takiego powodu dlaczego się tak dzieje.

    Owy schemat, bc547 załącza mosfet wykonawczy IRF3711, który żarzy się.
    Schemat sterowania wygląda właśnie tak - bo działa, nie ingerowałem w niego zbytnio. Chciałem kiedyś dodać bramkę AND pomiędzy BC547 a UC.

    Widok z programu Eagle.
    Stany nieustalone uC, opóźnienie załączenia tranzystora
  • Poziom 32  
    Dobra...ok załapałem o co chodzi-chyba:)
    Jeżeli IRF ma na bramce napięcie kilku woltów to się otwiera (nie wdając się w charakterystyki i szczegóły). By był wyłączony na bramce musi mieć coś koło 0V. To ma mu zapewnić tranzystor npn gdy jest włączony (nasycony mówiąc fachowo). Ten niestety jest na "dzień dobry" wyłączony(zatkany) po starcie mikrokontrolera -bo jak wspomniałem po resecie na porcie jest stan wysokiej impedancji i tranzystor npn jest niewysterowany. Trwa to do czasu gdy program w mikrokontrolerze dojdzie do punktu w którym zmienia ten stan rzeczy(czyli na porcie nie pojawi się logiczne 1) a to troszkę trwa.
    Wynika z tego, że konstruktor nie przewidział tej sytuacji.
  • Relpol przekaźniki
  • Poziom 38  
    A pokaż cały schemat.
  • Poziom 25  
    Skoro masa służy do załączania to ten rezystor pull-down(100k) daj od bramki do Vcc (pull-Up).
  • Poziom 22  
    gaskoin napisał:
    A pokaż cały schemat.


    Cały schemat: Link



    el2010tmp napisał:
    Skoro masa służy do załączania to ten rezystor pull-down(100k) daj od bramki do Vcc (pull-Up).


    Hmm.. też sie zastanawiałem nad tym, co reszta na takie wyjście? Mogę to zrobić na "żywym" organizmie, mam wykonany ten projekt i chciałbym go poprawić.

    Dodano po 3 [godziny] 59 [minuty]:

    na niewiele się zdaje podłączenie rezystora 100k pod VCC +5V. Czekam na inne propozycje.
  • Poziom 22  
    Proszę o pomoc.
  • Moderator Mikrokontrolery Projektowanie
    Pytanie pomocnicze: Jaki prąd płynie przez tranzystor IRF3711 w trakcie odpalania rakiety?

    Dodam link do Twojego projektu, a tam w komentarzach (gdy już rozwiążemy Twój problem) dodaj proszę link do tego tematu na forum, by była spójność w zakresie poprawek.

    Oryginał: DIY: Timer silników rakietowych
  • Poziom 22  
    dondu napisał:
    Pytanie pomocnicze: Jaki prąd płynie przez tranzystor IRF3711 w trakcie odpalania rakiety?

    Dodam link do Twojego projektu, a tam w komentarzach (gdy już rozwiążemy Twój problem) dodaj proszę link do tego tematu na forum, by była spójność w zakresie poprawek.

    Oryginał: DIY: Timer silników rakietowych


    W trakcie odpalania rakiety płytnie około: korzystając w wzoru U=R*I, więc I=U/R zatem:

    U= 12V
    R= 1 ohm, (maks 3-4 ohm)
    wiec: I= około 12A (jest to prad z aku. samochodowego).

    Problemem byłoby to również gdyby ktoś kilka razy włączał i wyłączał urządzenie w krótkim czasie, co skutkowałoby nagrzaniem drutu oporowego - to jest również problem.
  • Moderator Mikrokontrolery Projektowanie
    W związku z tym:
    - usuń tranzystor T3 oraz rezystor R9.
    - R11 zmień na kilka, klikanaście lub kilkadziesiąt Ω lub w ostateczności także usuń,
    - R14 pozostaw,
    - podłącz bramkę Q3 do R11,
    - zmień w programie logikę na włączanie tranzystora jedynką.

    Z datasheet tranzystora wynika, ze przy takim prądzie powinien on się bez problemu otworzyć przy 5V na bramce na tyle, że nie będzie nic mu groziło, tym bardziej, że jest przecież włączany zaledwie na kilka sekund.

    Spróbuj i daj znać.
  • Poziom 22  
    Postaram się dać znać w przeciągu 3-4 dni.
    Odezwe się i dziękuje za rady :)
  • Admin Grupy Retro
    Możesz też podzielić rezystor R14 na dwa po 470 omów i w odczep pomędzy nimi a masę włączyć kondensator elektrolityczny np. 1000uF. Kondensator zbocznikuj rezystorem np. 10k, aby się rozładowywał po wyłączeniu zasilania.

    On "przytrzyma" tranzystor MOSFET w stanie zatkania do momentu, aż mikrokontoler nie uruchomi się.

    Aha - rakiety możesz odpalać dopiero po czasie, w którym kondensator naładuje się do napięcia, przy którym kanał w pełni otwiera się.
  • Poziom 14  
    Stany nieustalone uC, opóźnienie załączenia tranzystora

    V2 jest twoim akumulatorem zasilającym układ. Po podaniu 12V stan wysoki ustali się na bramce tranzystora Q1 poprzez rezystor R3.
    To spowoduje brak przepływu prądu między emiterem a kolektorem tranzystora Q1. Bramka mosfeta M1 jest przywierana do masy poprzez R4.
    Mosfet M1 jest wyłączony. Prąd poprzez R5 (drut oporowy) nie przepływa.

    V1 jest twoją nóżką procesora Atmega. Gdy procesor włącza się, to na jego nóżce pojawia się logiczne zero
    (w twoim poprzednim układzie powodowało to włączanie się mosfeta na bardzo krótki moment) które nie włącza tranzystora Q2.
    Po podaniu wysokiego stanu na bazę Q2 na bazie tranzystora Q1 pojawi się stan niski (przywarcie do masy) a tym samym przepływ prądu poprzez Q1 i R4.
    Mosfet M1 włączy się i popłynie prąd poprzez R5.

    W dużym skrócie:
    V1 - stan wysoki -> włączenie M1
    V1 - stan niski -> wyłączenie M1

    Dondu zaproponował dużo prostszą metodę rozwiązania problemu więc sprawdź najpierw jego pomysł.
    (Wątek znajduje się w nieodpowiednim dziale na forum. Admin ma urlop?)
  • Poziom 22  
    Może głupie pytanie ale szukam i szukam... Bocznikowanie kondensatora, jak wygląda ?
  • Admin Grupy Retro
    Templarious napisał:
    Bocznikowanie kondensatora, jak wygląda ?

    Czyli dołączasz coś równolegle.
  • Poziom 22  
    Futrzaczek napisał:
    Możesz też podzielić rezystor R14 na dwa po 470 omów i w odczep pomędzy nimi a masę włączyć kondensator elektrolityczny np. 1000uF. Kondensator zbocznikuj rezystorem np. 10k, aby się rozładowywał po wyłączeniu zasilania.

    On "przytrzyma" tranzystor MOSFET w stanie zatkania do momentu, aż mikrokontoler nie uruchomi się.

    Aha - rakiety możesz odpalać dopiero po czasie, w którym kondensator naładuje się do napięcia, przy którym kanał w pełni otwiera się.


    Własnie zrobiłem symulacje w programie Yenka 2.7 i wygląda na to, że rozwiazanie zadziała. Trzeba poczekać około 1,3 sek. aby kondensator sie naładował i przytrzymał przez ten czas mosfet w stanie zatkania.
  • Poziom 27  
    Uwaga na schemat w poście #14 - złącze emiter-baza tranzystora Q1 ulegnie przepaleniu, gdy Q2 zacznie przewodzić. Prąd bazy zawsze trzeba ograniczać, do wartości katalogowej-dopuszczalnej, lub wyliczonej.
  • Poziom 22  
    Po dłuższym czasie (praca), wrzucam efekty pracy. Najpierw symulacja w programie Yenka, a następnie fizyczny test który... oblał.

    Jestem ciekawy czemu, symulacja jest idealna, a test na żywym organizmie jest tragiczny?

    Pozdrawiam
  • Poziom 22  
    Proszę o pomoc, problem nie został rozwiązany. myślę o zastosowaniu bramki logicznej NAND, jeden pin do UC a drugi pod przycisk, który jest domyślnie podłączony do +VCC.
  • Specjalista - Mikrokontrolery
    Lepiej pomyśl w wstawieniu właściwego NMOSa Logic level i wyrzuceniu tej choinki tranzystorów bipolarnych. Całe rozwiązanie wymaga jednego tranzystora i jednego lub dwóch rezystorów. Po co komplikować i wprowadzać kolejne błędy?
  • Poziom 22  
    Nie mam aż tak dużego doświadczenia, nie licze na gotowe rozwiązanie, ale chociaż o naprowadzenie mnie na właściwy rok rozumowania.
  • Specjalista - Mikrokontrolery
    Właśnie masz gotowe rozwiązanie: rezystor np. 20k od wyjścia uC do masy, rezystor np. 470R od wyjścia uC do bramki tranzystora NMOS, tranzystor NMOS, np. IRLML6344. Koniec.
  • Poziom 22  
    Hej, wątpie żeby to było dobre..
    parametry: Tranzystor: N-MOSFET; unipolarny; HEXFET; 30V; 5A; 1,3W; SOT23

    5A to troche mało. nieprawdaż ? przy oporze rzędu 1 ohm'a, napięciu 12V, natężenie prądu już wychodzi 12A. pozatym czas nieustalny uC jest taki sam dla jak dla tego mojego rozwiązania więc nie widze tutaj dodatkowego zabezp.
  • Specjalista - Mikrokontrolery
    U producenta (np. irf.com) łatwo znajdziesz pasujący tranzystor - ja np. w 3 minuty znałazłem IRF6201.

    O co chodzi z tym czasem nieustalonym? Zanim włączysz urządzenie - jest ono wyłączone. Czy jest jakiś problem z tym, że załączenie obwodu mocy zachodzi po np. 20 ms od włączenia, a nie po 1 ms? Byłby to problem, gdyby w chwili włączania przejściowo załączał się obwód mocy, który ma być wyłączony - w konfiguracji z jednym tranzystorem takie coś nie zachodzi - dopóki uC nie poda napięcia na bramkę - tranzystor będzie wyłączony,
  • Poziom 22  
    problem jest taki, że przy podłączonym drucie oporowym, następuje zapłon. A co gdyby układ sie zresetował i coś wypaliło mi w rękach? - tutaj jest ten problem. duży. Testowałem kilka rozwiazanie i każde jest beznajdziejne.
  • Poziom 43  
    To nie stan nieustalony jest problemem. Bo tam wcale nie ma stanu nieustalonego.
    Stan jest ściśle ustalony: pin zaraz po włączeniu jest w stanie Hi-Z.
    To układ jest zły bo przy takim stanie załącza obwód mocy.
    Po prostu stan niski lub Hi-Z: obwód mocy załączony.
    Stan wysoki: obwód mocy wyłączony.
    A wszystko przez tą negację jaką wprowadza Q3.
    Jak wywalisz Q3 jak radzi BlueDraco to problem zniknie.
    Bo nawet dla stanu Hi-Z obwód mocy będzie wyłączony.
    Ale to oczywiście wymaga też zmiany w kodzie mikrokontrolera.
  • Poziom 17  
    Zakładając, że układ będzie działać w warunkach zewnętrznych narażony jest na wiele zakłóceń. Mówisz o bezpieczeństwie, a nie zadbałeś o to żeby układ był bezpieczny. W trakcie jakichkolwiek modyfikacji przy swojej rakiecie, drut oporowy powinien być fizycznie odłączony od zasilania. Mówię tu o jakimś wyłączniku bezpieczeństwa wstawionym szeregowo w obwód i umieszczonym kilka metrów od rakiety. Nie możesz całkowicie polegać na uC. Skoro twierdzisz, że wszystkie rozwiązania, są beznadziejne wstaw program zapewne tam tkwi problem.

    Zanim wywalisz ten tranzystor spróbuj jeszcze z rezystorem podciągającym do VCC +5V o wartości 10k a nie 100k . Przy tym pull-up 100k ten rezystor nic nie wnosił (tranzystor nie wchodził w stan nasycenia). Rezystor o wartości 1k przy gate mosfeta zamień na 10k. Przetestuj i daj znać.
  • Poziom 22  
    załączam program, ale to nie jest problem napewno tego.:
    spark2_nowy.h
    Kod: c
    Zaloguj się, aby zobaczyć kod

    ioinit.h
    Kod: c
    Zaloguj się, aby zobaczyć kod


    enkoder.h
    Kod: c
    Zaloguj się, aby zobaczyć kod

    spi.c
    Kod: c
    Zaloguj się, aby zobaczyć kod
  • Poziom 12  
    Widzę iż rozgorzała dysputa naukowa nad banalnym błędem dyletanta.
    Rezystor R9 ma być dołączony nie do wyjścia kontrolera a do bazy tranzystora i ma mieć wartość 1..4,7k a tranzystor przestanie się włączać po załączeniu zasilania. zaś tranzystor N-MOS zastąp tranzystorem P-MOS i jak Pan Bóg przykazał zrób załączanie napięcia w plusie a nie w masie. Jak się domyślam drut oporowy ma być gdzieś poza urządzeniem więc techniczna przyzwoitość każe załączać w plusie zasilania.

    Zaś jeśli nie jesteś w stanie zmienić płytki to R9 zdejmij z masy i daj do +Vcc kontrolera i zamień na jakieś 1k.