Skocz do zawartości

Wzmacnianie czujnika IR


Mily2001

Pomocna odpowiedź

Potrzebuję układu który będzie działał z odległości ok 50cm, przy czym dioda nadawcza może być na przeciwko fototranzystora. Maksymalny zasięg jaki udało mi się uzyskać to ok 7cm z użyciem dwóch tranzystorów C556B. Całość jest zasilana 5V (że tak powiem minusem). Cały problem polega na tym że przy zastosowaniu większej ilości tranzystorów uC nie reaguje nawet na maksymalne napięcie z ostatniego tranzystora. Chodzi o to że przy 4 tranzystorach połączonych ze sobą, ostatni daje napięcie ok 2.2V przy podłączeniu bazy pierwszego bezpośrednio do masy. Proszę o jakieś pomysły na wzmocnienie fototranzystora. Z góry dzięki 😉

Link do komentarza
Share on other sites

O rajciu, znowu jakiś ciekawy układ 🙂

Gdyby można było w tak prosty sposób wzmacniać sygnał 100 milionów razy (4 tranzystory po 100 razy każdy) to ludzie już dawno odkryliby życie poza Ziemią. Z resztą takie wzmocnienie nie jest Ci wcale potrzebne. Przede wszystkim policz jaką masz moc promieniowania. Potem odnieś ją na powierzchnię detektora, będącego wycinkiem kuli o promieniu równym odległości obu elementów. Wtedy będziesz mógł wyznaczyć prąd fotodiody lub fototranzystora bazując na jego czułości. Teraz już tylko zamieniasz zmiany prądu na zmiany napięcia zwykłym opornikiem - policz go i jeśli okaże się, że jest większy niż nakazuje zdrowy rozsądek (i poziom szumów), wstaw wzmacniacz na jednym tranzystorze w układzie OE.

A jeśli nie bardzo chce Ci się to wszystko robić, ustaw prąd diody nadawczej na taki, który jeszcze ona wytrzyma (opornik 1k jest za duży, proponuję 220 omów lub mniej jeśli masz 5V), podłącz swój fototranzystor emiterem do masy a kolektorem do plusa przez opornik 50-100k i zmierz napięcie na kolektorze gdy zasłaniasz i odsłaniasz mu widok na świecącą diodę nadawczą umieszczoną w docelowej odległości. Jeżeli dostaniesz np. 5V i 1V - nie musisz mieć wzmacniacza - procesor sobie poradzi. Jeżeli masz np. 5V i 4.5V, zrób wzmacniacz: weź kolejny opornik np. 1k i podłacz go do kolektora fototranzystora. Drugi koniec opornika zapodaj na bazę swojego BC556. Emiter podłącz mu do plusa a kolektor przez trzeci opornik, tym razem jakieś 10-22k do masy. Kolektor będzie też wyjściem układu, zmierz tam napięcia w oby przypadkach (zasłonięty-odsłonięty) i pownno być OK. Acha, wejście procesora nie może mieć w obu przypadkach włączonego podciągnia. W pierszym znacznie spadnie wzmocnienie przemiany I-U, w drugim podciąg będzie walczył z opornikiem dołączonym do masy.

A może zamiast takiej rzeźby użyj któregoś TSOPa - wtedy zasięg możesz mieć i kilkumetrowy ale diodę LED musisz napędzać z jakiegoś generatora.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Myślę że rzeczywiście TSOP będzie najlepszym wyjściem. Potrzebuję tylko informacji co do częstotliwości jaką mam kupić no i oczywiście jak to wszystko zmontować i zaprogramować na Atmedze 16.

Link do komentarza
Share on other sites

Mily2001 wszystko zależy od diod i odbiorników, jakie kupisz 😉 Do generowania częstotliwości wystarczy timer wprowadzony w tryb CTC. W artykule napisanym przez KD93, o czujniku odbiciowym na SHH5110 i diodzie IR (TUTAJ!) powinieneś odnaleźć większość potrzebnych informacji.

Wystarczy, że dioda i odbiornik działają na tym samym paśmie światła (nie musi być idealnie takie samo). Zazwyczaj jest to 940nm lub 950nm.

Powiedzmy, że chcesz nadawać na częstotliwości 36kHz. W takim razie kupujesz odbiornik działający właśnie na tej częstotliwości, np. TSOP4836. Teraz dobierasz odpowiednią diodę IR. Powiedzmy, że chcesz LD271. Sprawdzasz czy działa ona w paśmie 940-950nm, jeśli tak to się nada. Nie kupisz diody przeznaczonej dla określonej częstotliwości. To ty generujesz dla niej częstotliwość 😉

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Kup jakikolwiek. Po stronie nadawczej musisz mieć generator i nie musi to być procesor. Po stronie odbiorczej dostajesz ciągły stan niski (jak z przycisku) gdy odbiornik widzi coś, co mruga z jego ulubioną częstotliwością. To wszystko. Jeśli nadajnik i odbiornik mogą być połączone drutami to rzeczywiście najprościej wygenerować te kilkadziesiąt kHz w procesorze. Pamiętaj, że TSOPy do prawidłowego odbioru nie potrzebują wypełnienia 50% Zrób PWM o żądanej częstotliwości i wypełnieniu np. 10% - zaoszczędzisz mnóstwo prądu a dioda w szczytach impulsów będzie nadawała tak samo mocno więc zasięg nie spadnie.

Link do komentarza
Share on other sites

Mily2001, jeśli piszesz w Bascom, to w linku który Piotrek podał masz gotowy kod. Natomiast jeśli piszesz w C, to pod koniec tego artykułu masz gotowy kod: https://www.forbot.pl/forum/topics20/dla-poczatkujacych-podlaczanie-i-obsluga-urzadzen-zewnetrznych-w-robotyce-i-elektronice-vt6889.htm

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Nie no panowie, 50cm to można uzyskać w zestawieniu odbiciowym 2led IR omałym kącie i dużej mocy wrazz dobrym fototranzystorem. Jak masz możliwość ustawienia ich naprzeciwko siebie, to już w ogóle miód - wystarczy dioda nadawcza z wąskim kątem sterowana impulsowo prądem ~100mA i pierwszy-lepszy fototranzystor podłączony do ADC lub komparatora. Polecam zajrzeć do sklepu Botland.com.pl, mają fajne diody IR i fototranzystory, a przesyłka niedroga.

Link do komentarza
Share on other sites

Zdecydowałem się na TSOPa 36 KHz. Przejrzałem linka i znalazłem ten kod:

#include <avr/io.h> 
int main(void) 
{ 
   DDRB = 0x02;                              // Pin PB1 jako wyjście 

   OCR1A = 111;                              // wartość wpisana do OCR1A 
   TCCR1A |= (1 << COM1A0);                 // przy zrównaniu przełacz stan pinu na przeciwny 
   TCCR1B |= (1 << WGM12) | (1 << CS10);   // tryb CTC - max. OCR1A, preskaler 1 

   while(1)                                 // pusta pętla programu 
   {} 
}

Czy ktoś mógłby mi go wyjaśnić i pokazać jak używać tego razem z innym programem, który używa również innych pinów z portu b.

Link do komentarza
Share on other sites

Czy ktoś mógłby mi go wyjaśnić i pokazać jak używać tego razem z innym programem, który używa również innych pinów z portu b.

Innych pinów używasz normalnie. Właściwie to w programie zamiast

DDRB = 0x02;

powinno się użyć: DDRB |= 0x02;

Wtedy jest ustawiony tylko ten bit, bez zmiany całości rejestru.

Pozostały kod wklejasz gdzieś na początku funkcji main, i wtedy Timer1 generuje ci na wyjściu OC1A 36kHz (dla kwarcu 8MHz).

Chyba że co innego miałeś na myśli, zadający pytanie.

Link do komentarza
Share on other sites

To możesz łatwo sam wyliczyć. Wzór ogólny jest taki: OCR = Fq/(Ftsop*2), gdzie OCR - wartość, którą wpisujesz do rejestru OCR1A (w tym przypadku), Fq - częstotliwość taktowania procesora (jeśli używasz prescalerów, to częstotliwość jaka wyjdzie z prescalera), Ftsop - częstotliwość, na której odbiera TSOP. Nie zawsze wychodzą wartości idealne. Jeśli wychodzi z liczbą po przecinku to musisz zaokrąglić do jedności.

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Nie to żeby coś ale to nie za bardzo działa. Wpisałem mu 8000000 i nie migało co sekundę, tak samo TSOP nie reaguje przy 111 mimo że działa (sprawdzałem pilotem 😋). Jakieś pomysły?

Link do komentarza
Share on other sites

Mily2001 trudno, żebyś zobaczył coś, co miga 36000 razy na sekundę 🤣 Musisz dobrze osłonić nadajnik lub odbiornik. Ważne, żeby jeden nie widział drugiego. Poza tym źle podłączony TSOP może się blokować. One tak lubią się zacinać przy dłuższym występowaniu stanu wysokiego.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.