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

[C]odczyt wskazania czujnika temperatury

duszynski 27 Maj 2010 20:49 5065 31
  • #1 27 Maj 2010 20:49
    duszynski
    Poziom 8  

    Witam,

    próbuję odczytać z czujnika wskazanie temperatury. Robię to w ten sposób, że podpinam czujnik do wejścia ADC0, pod napięcie referencyjne podpinam bezpośrednio VCC, w moim przypadku 5V, wszystkie rejestry ustawiam zgodnie z datasheetem. Odczytuję wartość rejestru ADCH i wystawiam na port D, pod którego nóżki mam podłączone diody.

    Kod programu:

    Code:

    /* "led.c" - programik do testowania środowiska WinAVR */
    /* układ ATmega 1MHz */

    #define F_CPU 1000000L
    #include <avr/io.h>
    #include <util/delay.h> 
    #include <avr/io.h>

    #define PORT_AD PORTC      // Port z wejściami analogowymi   
    #define DDR_AD DDRC         
    #define PORT_OUT PORTD      // Port do którego przyłączone są diody LED
    #define DDR_OUT DDRD

    // inicjalizacja portow i przetwornika
    void init()
    {
       // Wybranie wewnętrznego żródła napięcia odniesienia   
       //ADMUX |= _BV(REFS0);      
       //ADMUX |= _BV(REFS1);
       //   Wybranie sposobu zapisu wyniku z wyrównaniem do lewej (osiem starszych bitów wyniku w rejestrze ADCH)   
       //ADMUX |= _BV(ADLAR);      
       // Zezwolenie na prace przetwornika   
       ADCSRA |= _BV(ADEN);   
       // Wybranie częstotliwości dla taktowania przetwornika   
       ADCSRA |= _BV(ADPS0);   
       ADCSRA |= _BV(ADPS1);   
    }
     

    int main(void)
    {
       unsigned int pomiar;
       
       // zainicjowanie rejestrow i przetwornika
       init();
       
        while (1)
        {
          ADCSRA |= _BV(ADSC);               // Rozpoczęcie przetwarzania
          while(bit_is_set(ADCSRA,ADSC)){};    // Oczekiwanie na zakończenie przetwarzania
          
          // Zapisanie starszych 8 bitów wyniku konwersji do zmiennej "pomiar"
          pomiar=ADCH;
          PORT_OUT = (pomiar*1024)/5;
        }
    }


    Mój problem jest taki, że te diody świecą po włączeniu bardzo słabiutkim światełkiem i zdaje się, że czujnik nie działa poprawnie, gdyż nawet jak go wypnę to diody dalej świecą. Ciekawym zjawiskiem jest, że niektóre diody przestają świecić lub świecą jeszcze słabiej jeśli zbliżam dłoń kabelka, sądzę że wynika to po prostu z tego, że ludzkie ciało też ma swoje napięcie i mikrokontroler odczytuje jakieś śmieci. Gdy odsunę rękę a kabelek wisi w powietrzu to diody po chwili gasną. Proszę o jakieś porady bo już trochę czasu na tym spędziłem i bez efektów, jestem początkujący w zabawach w mikrokontrolerami tak więc proszę o wyrozumiałość :)

    0 29
  • #2 27 Maj 2010 21:07
    mirekk36
    Poziom 42  

    Po pierwsze, to słyszałeś o czymś takim jak ustawianie kierunku portów ???? chyba nie - bo podłączyłeś diody zdaje się do portu D ale w kodzie w ogóle nie ustawiasz go jako wyjście - więc pierwszy ZONK

    kolejna sprawa - skoro ustawiasz ADALR na 1 to oznacza, że chcesz odczytywać wynik w postaci 8-bitowej właśnie z rejestru ADCH, to:

    - dlaczego deklarujesz zmienną pomiar jako unsigned int ???? zamiast np uint8_t - musisz poczytać o typach torszkę w C

    - dlaczego robisz takie salto-mortale ??????????

    Code:
    PORT_OUT = (pomiar*1024)/5
    - co to ma być ?????? ;) tu już totalny misz-masz


    No a na zakończenie MEGA ZONK - skoro ustawiasz wewnętrzne źródło odniesienia (choinka wie jakie bo nie napisałeś jaki procek, no ale nie ważne) to po gwinta kolega podłącza VCC do nogi AREF. Może warto sobie zajrzeć do noty PDF hmmmm? Wejścia AREF używaj TYLKO WTEDY gdy chcesz jakieś nietypowe napięcie odniesienia pomiędzy 1,1 a 5V albo pomiędzy 2,56 a 5V

    W innym przypadku masz w nocie JASNO JAK DRUT OPISANE znaczenie bitów REFSx - toż za ich pomocą możesz włączyć napięcie odniesienia VCC BEZ ŻADNEGO PDOŁĄCZANIA VCC DO PINU AREF !!! zatem to co zrobiłeś jest totalnie bez sensu - bo wybrałeś wewn, źródło odniesienia np 2,56V i pojawiło się takie napięcie na linii AREF a ty DAWAJ!!!! podłączyłeś do tego VCC -no i masz jazdę bez trzymanki ;) zwarcie itp

    zapamiętaj sobie raz na zawsze, że jeśli nie wiesz do końca co zrobić z AREF to podłącza tam tylko kondensator ceramiczny 100nF do GND i to wszystko. A jeśli chcesz wewn źródło odniesienia to REFS na ustaw na 11 albo na zdaje się 01 jesli napięciem odniesienia ma być VCC. Ale nie do AREF tylko kondek.

    Jak poprawisz te wszystkie ZONKI to qw końcu wszystko ci ładnie ruszy - gwarantuję

    0
  • #3 27 Maj 2010 21:35
    duszynski
    Poziom 8  

    Poprawiłem zonki :)

    Odnoście wyboru napięcia referencyjnego to zauważ, że w moim kodzie jest ono zakomentowane, a domyślnie ma wartości zero, więc zewnętrzne źródło napięcia.

    Niestety układ dalej nie chce mi poprawnie działać, już nie świecą się wszystkie diody tylko część, ale nawet jak wyjmę czujnik z układu to wszystko pozostaje bez zmian i dalej świecą. Używam atmegi8, ustawiłem teraz wewnętrzne źródło zasilania, podpiąłem kondensator między AREF i GND.

    0
  • #4 27 Maj 2010 22:41
    mirekk36
    Poziom 42  

    duszynski napisał:
    ..., ustawiłem teraz wewnętrzne źródło zasilania, ...


    Żródło odniesienia a nie zasilania.

    Ale ok, może i nie zauważyłem , że masz zakomentowane REFSx ale jeszcze raz przypomnę wyraźnie, że jeśli już chcesz mieć źródło odniesienia w postaci VCC to nie musisz podłączać VCC do AREF. Po co? Skoro można to wybrać ustawieniem właśnie bitów REFSx - rozumiesz ???? Czyli bitami REFX wybierasz albo wewnętrzne źródło odniesienia 2,56V albo VCC a wtedy zawsze 100nF pomiędzy AREF a GND. Dopiero gdy tak jak miałeś REFSx na 00 to można podłączać zewn źródło no ale inne niż VCC lub wewn. np 2,56V.

    Kto wie czy przez przypadek za którymś razem gdy miałeś podłączone VCC do AREF nie włączyłeś jednak wewn. źródła 2,56 i tym samym coś się w środku nie sfajczyło ???

    dobra tyle ględzenia o REFSx'ach ;)

    dalej

    pokaż teraz kod jaki masz? żeby zobaczyć czy nie ma kolejnych może zoneczków no i jak rozwiązałeś ten swój misz-masz ???? bo zrozumiałbym, ze wyprowadzasz na PORT_OUT bezpośrednio wartość ADCH i obserwujesz jak to się zwiększa lub zmniejsza binarnie. Bo to obliczenie, które zrobiłeś było niestety kosmicznym nieporozumieniem - napisz co chciałeś uzyskać tym obliczeniem, oraz co tak na prawdę chcesz uzyskać na wyjściu portu???

    Tak podejrzewam, że chciałbyś mieć na wyjściu portu taką jakby ładną linijkę diodową, która zapala po kolei diody wraz ze wzrostem napięcia czyli wartości w ADCH od 0 do 255. No ale to trzeba sobie po prostu inaczej przeliczyć.

    Proponuję ci, jeśli to twoje pierwsze próby z ADC podłącz sobie jakiś LCD i wyświetlaj żywe wartości - łatwiej będzie ci zrozumieć bo będziesz miał mniej miejsc na ZONKI - jak w tym przeliczaniu binarnej wartości ADCH na liniową skalę od 1 do 8

    0
  • #5 28 Maj 2010 22:18
    duszynski
    Poziom 8  

    Kod:

    Code:
    #define F_CPU 1000000L
    
    #include <avr/io.h>
    #include <util/delay.h> 
    #include <avr/io.h>
    #include <stdio.h>
    #include <stdlib.h>

    #define PORT_AD PORTC      // Port z wejściami analogowymi   
    #define DDR_AD DDRC         
    #define PORT_OUT PORTD      // Port do którego przyłączone są diody LED
    #define DDR_OUT DDRD

    // inicjalizacja portow i przetwornika
    void init()
    {
       // Wybranie wewnętrznego żródła napięcia odniesienia   
       ADMUX |= _BV(REFS0);      
       ADMUX |= _BV(REFS1);
       //   Wybranie sposobu zapisu wyniku z wyrównaniem do lewej (osiem starszych bitów wyniku w rejestrze ADCH)   
       //ADMUX |= _BV(ADLAR);      
       // Zezwolenie na prace przetwornika   
       ADCSRA |= _BV(ADEN);   
       // Wybranie częstotliwości dla taktowania przetwornika   
       ADCSRA |= _BV(ADPS0);   
       ADCSRA |= _BV(ADPS1);   
       
       DDR_AD=0x00;      // Port jako wejścia
       PORT_AD=0x00;      // Wejścia bez podciągania
       DDR_OUT=0xFF;      // Port jako wyjścia
       PORT_OUT=0xFF;      // Wyjścia w stanie wysokim
    }
     

    int main(void)
    {
       uint8_t pomiar;
       
       // zainicjowanie rejestrow i przetwornika
       init();
       
        while (1)
        {
          ADCSRA |= _BV(ADSC);               // Rozpoczęcie przetwarzania
          while(bit_is_set(ADCSRA,ADSC)){};    // Oczekiwanie na zakończenie przetwarzania
          
          // Zapisanie starszych 8 bitów wyniku konwersji do zmiennej "pomiar"
          pomiar=ADCH;
          PORT_OUT = pomiar;
        }
    }


    Ustawiłem wewnętrzne źródło odniesienia napięcia i podłączyłem AREF do GND przed kondensator 100nF. Efekt jest taki, że jak mam podłączony czujnik z jednej strony do pinu PC0, a z drugiej do masy to żadna z diod się nie świeci, jeśli odłączę czujnik z układu to zapalają się diody podłączone pod PD0 i PD1. Z tym wzorem to gdzieś po prostu w necie wyczytałem, że trzeba pomiar przepuścić przez taki wzór, żeby to poprawnie zrzutować, chociaż sam już nie pamiętam dlaczego tak miało być. Czujnika raczej nie spaliłem bo jak podłącze inny, który jest sprawny to zachowanie układu jest takie samo.

    0
  • #6 28 Maj 2010 22:33
    mirekk36
    Poziom 42  

    To, ty sobie na razie zamiast czujnika podłącz suwak potencjometru , który będzie podłączony pomiędzy GND a VCC i przede wszystkim sprawdzisz czy działa sam przetwornik gdy będziesz nim kręcił w połowie zakresu pomiędzy GND a VCC - bo napięcie na suwaku będzie mierzone tylko do 2,56V - o ile takie ustawiłeś. (bo jak na razie to nie raczyłeś napisać na jakim procku działasz i jakie masz to wewn. napięcie odniesienia - więc tylko zgaduję, że to 2,56V. A może masz np ATmega88 i tam jest 1,1V wtedy potencjometr w o wiele mniejszym zakresie będzie regulował to co ma się wyświetlać na diodach led. (no przecież trzeba umieć sobie jakoś radzić i dzielić zadanie na mniejsze kroczki, które można sprawdzać po kolei)

    Poza tym skoro teraz odczytujesz tylko ADCH to dlaczego masz zakomentowane ustawienie bitu ADLAR ?????

    0
  • #7 28 Maj 2010 22:40
    duszynski
    Poziom 8  

    Faktycznie zapomniałem napisać, używam Atmegi8, wewnętrzne napięcie odniesienia wynosi 2,56V. Ustawienie bitu miałem odkomentowane, tylko się bawiłem z różnymi kombinacjami i akurat tutaj wkleiłem taki kod. W takim razie muszę zdobyć potencjometr..

    0
  • #8 28 Maj 2010 22:42
    mirekk36
    Poziom 42  

    No to z prockiem się wyjaśniło. A zabawę z ADC zawsze zaczyna się od najprostszych testów z potencjometrem, żeby zrozumieć co i jak. Potem można zabierać się, ża inne pomiary napięć w tym z czujników.

    0
  • #9 29 Maj 2010 14:22
    duszynski
    Poziom 8  

    Kupiłem dzisiaj potencjometr obrotowy, podłączyłem pod układ i wszytko ładnie działa, tak więc nie wiem sam, wniosek z tego taki, że mój czujnik temperatury nie działa poprawnie?

    0
  • #10 29 Maj 2010 18:58
    janbernat
    Poziom 38  

    A jaki to czujnik temperatury?

    0
  • #11 29 Maj 2010 20:13
    duszynski
    Poziom 8  

    No właśnie sam nie wiem, jest na nim napisane

    Code:

    81 120
    W 61


    Próbowałem już szukać w jakiś katalogach, ale bez skutku, kosztował 1,5zł, więc to zapewne jakiś totalnie standardowy.

    0
  • #13 30 Maj 2010 11:54
    duszynski
    Poziom 8  

    Lepszej jakości uzyskać nie mogłem :)

    [C]odczyt wskazania czujnika temperatury

    0
  • #15 30 Maj 2010 14:35
    duszynski
    Poziom 8  

    Tak to jest właśnie KTY81-120. Ja przez niego przepuszczałem prąd bezpośrednio z usb, czyli 0,5A. To znaczy, że uległ spaleniu czy może działać i mam go podłączyć przez rezystory?

    0
  • #16 30 Maj 2010 15:18
    acid12
    Poziom 21  

    zdecydowanie trudno powiedziec co sie znim stalo :) ale raczej nic dobrego.

    ten 1mA bierze sie stąd, że tj czujnik rezystancyjny, im większy prąd tym bardziej czujnik się grzeje tym większy błąd wskazań.

    EDIT: musisz mieć jakiś układ który trzyma stały prąd, wtedy będziesz miał dobry odczyt. W nocie masz wykresy jak wynik sie zmienia juz przy zmianie prądu 1mA -> 2mA, a co dopiero 5mA :D:D:D

    0
  • #17 30 Maj 2010 15:46
    JarekC
    Poziom 28  

    Witam,

    Ciekawe jak przepuścił 0.5A przez czujnik mając do dyspozycji napięcie 5V (USB) i czujnik o rezystancji ok 1000Ohm w temp 25 stopni C.

    Panowie a gdzie prawo Ohma ?

    5V/1000Ohm = 5mA !!!

    Pozdrawiam
    JarekC

    0
  • #18 30 Maj 2010 16:16
    acid12
    Poziom 21  

    dlatego napisałem "zmianie prądu 1mA -> 2mA, a co dopiero 5mA"
    domysliłem się, że autorowi chodziło o to, że USB ma wydajność 0,5A ... po prostu nie chciałem krytykować aż tak :)

    ważne jest to, że czujnik został źle podłączony

    0
  • #19 30 Maj 2010 18:48
    janbernat
    Poziom 38  

    Czujnik można zmierzyć omomierzem.
    Jak ma 1kOhm to w porządku.
    Zasilać go ze źródła prądowego na tranzystorze PNP.

    0
  • #20 14 Wrz 2010 17:40
    duszynski
    Poziom 8  

    Witam, odgrzebuję temat bo wracam do zabawy z tym czujnikiem i znowu mam problem żeby go podłączyć.

    Włączam czujnik szeregowo do obwodu, przed czujnikiem mam wpięty potencjometr do którego jest podłączone zasilanie 5V, dalej podłączony jest czujnik, którego druga nóżka jest wpięta do ADC0 Atmegi8 tak żeby można było odczytywać pomiar oraz podpięta do GND Atmegi8. ADC działa poprawnie bo bawiłem się wcześniej potencjometrem tak jak poleciliście i wszystko było ok, czujnik też jest w porządku bo gdy zmieniam temperaturę w jego bliskim otoczeniu to na woltomierzu zmienia się napięcie, tylko odczyt na ADC jest cały czas 0. Zapewne źle podłączam czujnik i stąd wynika problem..

    Czujnik to KTY81-120

    edit: Kod programu jest taki jak powyżej. Czy to zasilanie ze źródła prądowego, o którym pisał janbernat jest konieczne czy można to zrobić mniej więcej tak jak ja to robię. Dodam, że nie zależy mi na super dokładności pomiaru.

    0
  • #21 14 Wrz 2010 19:07
    gdL
    Poziom 27  

    Zrób dzielnik napięcia w/g rysunku, w miejsce któregoś rezystora wepnij czujnik, wyjście z dzielnika podłącz pod zdefiniowany ADC i napisz odpowiednią funkcję obsługującą, posługując się charakterystyką temp/rezystancja czujnika.

    [C]odczyt wskazania czujnika temperatury

    Rezystancje w dzielniku dobierz tak, żeby osiągane "zaprojektowane na najgorszy przypadek" napięcia były niższe od AREF.

    EDIT: Swoją drogą, czy ktoś próbował praktykować podłączenie takiego czujnika temp równolegle z kondensatorkiem i podpięcie do NIE-ADC-portu procesora ? Najpierw toto naładować (noga-OUT,stan:1), następnie jako wejście (bez pullup'a). Zmierzona ilość cykli zanim stan nogi przejdzie z 1, w 0, powinna korespondować z temperaturą w/g znanej funkcji temp/rezystancja.

    0
  • #22 14 Wrz 2010 19:44
    janbernat
    Poziom 38  

    Coś takiego było opisane w w którymś z kursów Bascoma albo i w samplach.
    Podłączone do komparatora w procesorze- ale kondensator w szereg z opornikiem.
    Pomiar stałej RC.
    Znalazłem.
    Gotowa procedura.
    Nazywa się Getrc.
    Opornik 10k i kondensator 100n

    0
  • #23 14 Wrz 2010 19:52
    gdL
    Poziom 27  

    Bo wiem, że w przypadku uzycia diody LED jako sensora, można sprawdzać jak szybko rozładowuje się wewnętrzna pojemność. Zdaje się, to szło tak, że po wcześniejszym zapaleniu (naładowanie), przy padaniu kwantów promieniowania na złącze, dioda zaczynała przewodzić i rozładowywała wewnętrzną pojemność. Po jakimś czasie poziom logiczny wejścia uC zmieniał się z 1 na 0 i stała czasowa była zależna od jasności. Przy tym trzeba było jednak badać tło. Jest to o tyle problematyczne, bo idea piękna.

    Temat tutaj : https://www.elektroda.pl/rtvforum/topic1286103.html

    Wydaje mi się, że ten czujnik można "podobnie" potraktować dokładając kondensatorek. Można połączyć czujnik z z kondensatorem w szereg rzeczywiście, jak mój przedpisca wspomniał. Tak jest nawet lepiej. To by nawet udawało schemat elektryczny diody w pewien sposób, z tym, że niezależny od światła.

    0
  • #24 21 Wrz 2010 18:30
    duszynski
    Poziom 8  

    Już teraz wszystko działa jednak nie do końca poprawnie. Otóż zrobiłem dzielnik napięcia tak jak napisaliście i całość zasiliłem ze źródła prądowego. Kupiłem LM317 i zrobiłem aplikację jak na figure 4 w podanym datasheet-cie - http://focus.ti.com/lit/ds/symlink/lm317.pdf .

    Problem mój polega na tym, że czujnik nie daje dobrych rezultatów. Przez czujnik powinien przechodzić 1mA aby ładnie wyniki można było odczytywać, a wyczytałem że LM317 nie generuje tak małych prądów.

    Z drugiej jednak strony zmierzyłem sobie napięcie na rezystorze w dzielniku i rezystancje (na oporniku odpiętym z układu) i wyszło mi, że prąd płynący wynosi 0,79mA, więc powinno być w miarę OK. W temperaturze pokojowej wskazania są dobre, jednak na przykład gdy powinien wskazywać około 60 stopni to czujnik wskazuje tylko około 40 stopni.

    Nie jestem też przekonany czy do końca dobrze zrobiłem to źródło prądowe, ponieważ opierałem się podanym w datasheecie wzorze - I = 1.2 / R1, ale coś nie do końca oczekiwany generowany prąd pokrywa się z tym wyliczonym ze wzoru przy użytej rezystancji.[/tex]

    0
  • #25 21 Wrz 2010 22:47
    gdL
    Poziom 27  

    Zapomnij o tym źródle prądowym na początek. Po prostu podłącz ten dzielnik pod vcc, adc i gnd :) Chciałeś to zrobić tak, że stabilizator LM działa jak źródło prądowe o prądzie zależnym od oporności czujnika, a rezystor pomiarowy daje Ci spadek napięcia ? Czy mierzysz po prostu napięcie na czujniku, bo w tej aplikacji napięcie ~ rezystancja (I = U/R, a wiemy, że I=const.) ? Jeśli rzeczywiście źródło prądowe działa, powinno być OK.

    0
  • #26 25 Wrz 2010 11:33
    duszynski
    Poziom 8  

    Wstawiłem osobny rezystor do tego układu, który jest na figure 4 w podanym linku narysowany i prąd dopiero po przejściu przez ten układ wchodzi do dzielnika napięcia. Sądziłem, że powinno być w miarę ok jeśli użyję tego wzoru, ale później wyczytałem, że tym źródłem prądowym nie osiągnę tak małych prądów, więc w sumie to jest trochę dziwne, że mam prąd poniżej 1mA i nie wiem do końca skąd to się bierze.

    Temperaturę mierzę już na samym czujniku, odczytuję napięcie, prąd mam ustalony, więc obliczam sobie rezystancję i skaluję wynik (wykładniczo) bo przy wyższych temperaturach nie pokrywa on się z rzeczywistością. Przy temperaturze do około 30 stopni jest w miarę ok.

    I jeszcze jedno pytanie, gdyż chcę do układu wpiąć diodę, ale gdy + podpinam pod wyjście mikrokontrolera, a - pod gnd to gdy dioda świeci mam inny spadek napięcia na czujniku niż gdy nie świeci. Muszę jakąś osobą masę mieć czy w jaki sposób mogę to rozwiązać?

    0
  • Pomocny post
    #27 26 Wrz 2010 19:34
    janbernat
    Poziom 38  

    [C]odczyt wskazania czujnika temperatury
    Zrób sobie układ z takim źródłem prądowym.
    Nie jest to najwspanialsze źródło prądowe na świecie ale wystarczające do tego zadania.
    Zakładając rezystancję termistora na 1k w temp. pokojowej ustaw potencjometrem 1V na termistorze- to spowoduje przepływ prądu ok.1mA.
    Potencjomert może mieć od 1-47k.
    Ma to małe znaczenie.
    Rezystor w emiterze też od 500-1.2k.
    Sprawdzone, działa.

    0
  • #28 27 Wrz 2010 11:27
    duszynski
    Poziom 8  

    Ok, spróbuję dzisiaj to zrobić. A jakaś podpowiedź odnośnie drugiego pytania?

    I jeszcze jedno pytanie, gdyż chcę do układu wpiąć diodę, ale gdy + podpinam pod wyjście mikrokontrolera, a - pod gnd to gdy dioda świeci mam inny spadek napięcia na czujniku niż gdy nie świeci. Muszę jakąś osobą masę mieć czy w jaki sposób mogę to rozwiązać?

    0
  • #29 27 Wrz 2010 11:38
    gdL
    Poziom 27  

    Jaki masz spadek napięcia bez i z obciążeniem ? Konfiguracja dalej z LM'em ? Rezystancja czujnika przez zapalenie diody Ci się nie zmienia, więc zmienia się pewno prąd płynący przez czujnik. Być może masz mało wydajne źródło zasilania, albo ten układ z LM przy tak małych prądach jest niestabilny.

    0
  • #30 27 Wrz 2010 12:43
    janbernat
    Poziom 38  

    Jak masz układ LM fig.4 z tego DS który podałeś to masz źródło prądowe a nie zasilacz o stabilizowanym napięciu.
    Zmontuj zasilacz w klasycznym układzie.
    Źródło prądowe podałem Ci wyżej- tranzystor PNP.

    0