Witam!
Oto szybki, jednodniowy projekt jaki zrobiłem dla rozrywki : prosty odbiornik IR.
Cel projektu jest bardzo prosty : Stworzenie układu który będzie odczytywał sygnał IR z pilota od telewizora. Układ ma mieć jedno wyjście cyfrowe na którym ma panować stan wysoki kiedy na czujnik nie pada wiązka IR oraz stan niski gdy wiązka IR zostanie wykryta.
Schemat
Oto schemat odbiornika IR:
Jako element wykrywający podczerwień zastosowałem fototranzystor NPN SFH313 FA.
Zgodnie z wykresem czułości w funkcji długości fali, największą czułość ma on w przedziale 800-900 nm co jest dobrą wiadomością ponieważ większość pilotów używa właśnie tej długości fali.
Problem polega na tym, że natężenia prądu przepływającego przez fototranzystor są bardzo małe. Aby ustalić jak duży jest ten prąd w praktyce, przeprowadziłem mały eksperyment i przy 3 metrach uzyskałem około 0.13 µA. Tak więc sygnał musi być bardzo wzmocniony aby myśleć o jego wykorzystaniu do sterowania czymkolwiek.
Pierwszym krokiem jest wzmocnienie natężenia prądu za pomocą tranzystora. Do tego celu wykorzystany został tranzystor NPN 2N5551 (Q2). Głównie ze względu na posiadanie wysokiego zysku nawet przy niskim prądzie kolektora.
Następnym krokiem jest odczyt natężenia prądu wzmocnionego przez tranzystor Q2. Do tego celu wykorzystany został rezystor 50k (R1). Różnica potencjałów pomiędzy jedną a drugą stroną rezystora jest równa iloczynowi natężenia prądu wzmocnionego przez tranzystor Q2 i rezystancji rezystora. Następnie ta różnica potencjałów jest wzmacniana za pomocą wzmacniacza operacyjnego LM358 (U1.1) w konfiguracji wzmacniacza różnicowego. Zysk jest ustawiony na 10 za pomocą rezystorów R2, R3, R4, R5. Następnie sygnał jest przepuszczany przez kondensator 200nF (C1) w celu usunięcia offsetu napięcia wywołanego pewnym niezerowym prądem wywołanym przez naturalne źródła IR. Potem sygnał trafia do kolejnego wzmacniacza operacyjnego o wzmocnieniu 10, celem dalszego wzmocnienia sygnału. Do tego celu, ponownie został wykorzystany wzmacniacz LM358(U1.2). Zysk został ustawiony za pomocą rezystorów R6 i R7. Rezystor 470K (R8) został dodany aby zapobiec spontanicznemu ładowaniu kondensatora C1. Na końcu wzmocniony sygnał trafia do układu LM339 pracującego jako komparator. Napięcie progowe jest ustawione za pomocą rezystorów R10 i R13. Rezystor 10K (R9) pełni rolę rezystora podciągającego wyjście komparatora do zasilania. Tranzystor PNP 2N3906 (Q3) jest użyty do sterowania diodą LED (LED1) aby ta zapalała się gdy na czujnik pada wiązka IR. Zapewnia to wizualną sygnalizację, że do odbiornika dociera wiązka wysyłana przez pilota. Rezystor R11 o wartości 4.7K na bazie tranzystora Q3 pełni rolę ogranicznika prądu sterującego tranzystorem. Kondensatory C2, C3, C4, C5 filtrują napięcie zasilające układ.
Efekt
Mogę odczytać sygnał z pilota za pomocą oscyloskopu.
A także za pomocą arduino w połączeniu z biblioteką IRremote.
Testy pokazały, że całość działa zarówno przy 5V jak i przy 3.3V. A także, że dekodowanie sygnału działa do 2-3 metrów ale sygnał można wykryć aż z odległości około 5 metrów.
Kilka słów na koniec
Moim zdaniem, układ który stworzyłem jest mocno przekombinowany :) Na pewno całość dałoby się zrealizować znacznie prościej bez konieczności stosowania 3 stopniowego wzmacniania sygnału. No ale jak już mówiłem całość zrobiłem bardziej dla rozrywki niż do sterowania czymkolwiek. :)
Do projektów które mają działać, najlepiej wykorzystać gotowy układ scalony odbiornika IR wraz ze wzmacniaczem, na przykład : TSOP38.
No i to tyle.
Komentarze mile widziane (:
Dlaczego “- Zasilacza” a nie po prostu masa? :D
Poza tym 5/5, dobry schemat i wyjaśnienie.
Zapomniałem o tym :p
Schemat na początku przedstawiał eksperyment z mierzeniem prądu na fototranzystorze a potem dopiero ewoluował w prezentowany tu układ.
A przy pomiarach z oscyloskopem było to istotne bo masa oscyloskopu jest podłączona do masy sieci a masa zasilacza który mam nie.
Założenie fajne, ale nie chce mi się trochę wierzyć że ci to działa. Nośna IR to 36khz. Filtr który zastosowałeś czyli kondensator 220nf i rezystor do masy moim zdaniem nie przepuści tak wysokiej częstotliwości. Pojemność za duża. To nie jest filtr samej skladowej stałej. Testowałeś ten układ w praktyce?
Według wikipedii, wzór na częstotliwość odcięcia filtru górnoprzepustowego to 1/2piRC (R= opór rezystora, C=pojemność kondensatora) dla C = 200*10^-7 faradów i R= 470 000 omów wychodzi że wynosi ona 1.7 Hz.
Z resztą rezystor jest po to żeby wejście wzmacniacza nie “wisiało w powietrzu” co powodowało dużo problemów.
A kondensator aby oddzielić sygnał z pilota od promieniowania IR z innych źródeł.
Filtr górnoprzepustowy powstał przez przypadek (:
I tak, układ działa w praktyce chociaż sygnał wyjściowy ma dosyć dużo zakłóceń.
Coś bardzo niski prąd fotoelementu Ci wyszedł. W jaki sposób go zmierzyłeś ? W teorii powinna wystarczyć duża rezystancja przy fotoelemencie i komparator okienkowy.
Właśnie tak go zmierzyłem choć zamiast komparatora wykorzystałem oscyloskop i wzmacniacz operacyjny w konfiguracji różnicowej.
Mierzyłem różnicę napięcia na rezystorze 50k.
Prąd rzeczywiście jest mały jednak diody w pilotach mają bardzo małą moc (około 30-50mW) przy maksymalnym prądzie jaki mogą znieść. Biorąc pod uwagę małą moc, potencjalnie słabe baterie w pilocie, dystans 3 metrów oraz to, że zakres kątowy w którym fototranzystor ma największą czułość jest bardzo wąski i ciężko w niego trafić, taka wartość prądu wydaje się dość możliwa.
Kolejna PIĄTKA za Linux :)