Witam,
Temat może trochę enigmatyczny, a chodzi mniej więcej o coś takiego:
Przymierzam się do budowy układu mikroprocesorowego, który ma zliczać impulsy i logować czas pomiędzy nimi do pamięci.
W tym celu muszę wykrywać krótkie błyski czerwonej diody LED 3mm. Okres błysków zmienia się od około 200ms do 100s. Czas trwania błysku to ok 50ms. Nieznane mi są czasy narastania i opadania zbocza, ale przyjmuję że są odpowiednio krótkie.
Dioda LED znajduje się w pomieszczeniu przechodnim. Zakres temperatur w ciągu roku to ok. 5-30 *C. Oświetlenie pomieszczenia dzienne, plus sporadycznie sztuczne (żarówka).
Problemy na które się natknąłem są dwa:
1-wybór odpowiedniego czujnika
2-wzmocnienie sygnału z czujnika i uformowanie impulsu służącego do wyzwolenia przerwania w mikroprocesorze AVR ATMega32.
Problem 1:
Czujnik będzie znajdować się w pewnej odległości od diody, około 1-3cm. Dioda, to zwykła LED 3mm, długość fali prawdopodobnie 650nm. Błyski są dla człowieka wyraźnie widoczne z kilku metrów, nawet przy oświetleniu dziennym wpadającym przez okna. Ale co z czujnikiem? Czy da radę wykryć taki słaby błysk na tle (co prawda wolnozmiennego, ale kilka rzędów wielkości mocniejszego) oświetlenia słonecznego? Właściwie odpowiedź na to pytanie przesądza o sensie całego mojego przedsięwzięcia, a dla czytającego o celowości dalszej lektury tego tematu...
Mam do dyspozycji kilka fotoczujników, ale nie wiem który mógłby się nadać. Nigdy wcześniej nie miałem styczności z fotodetektorami.
Czujniki te to:
- różnego pochodzenia fotodiody i fotorezystory, prawdopodobnie IR. W tym czujnik w czarnej obudowie prostopadłościennej, prawdopodobnie z drukarki. Ten czujnik reaguje na światło czerwone po zbliżeniu na odległość kilku milimetrów, przy warunkach półmroku i po podłączeniu jako LED1, do prowizorycznie zbudowanego układu wg schematu stąd.
- IS474, wraz z płytką wymontowany z monitora CRT. Czułość jak dla oka ludzkiego (max dla 550nm)
schemat z datasheet monitora, widać kondensator 10uF, który filtruje szybkie zmiany. Czy dałoby się zaadaptować jakoś ten schemat do moich potrzeb? Próbowałem symulacji schematu, ale próby były negatywne. Wykrywało tylko zmiany zbocza na wejściu czujnika (w roli czujnika generator prostokąta, czyli też niezbyt wierny model rzeczywistego czujnika, który, jeśli dobrze rozumiem datasheet - jest źródłem prądowym o ujemnym prądzie, rosnącym liniowo z natężeniem światła) i na wyjściu pojawiały się wtedy małe i króciutkie szpilki, dodatnie albo ujemne, w zależności od zbocza.
schemat wewnętrzny IS1682:
- czujniki scalone OPIC, PDIC, Front Power Monitor, wymontowane z napędów i nagrywarek CD, DVD. W sieci bardzo mało jest informacji o ich działaniu tudzież wykorzystaniu poza napędami.
Jeden zidentyfikowany ( IS1682) - wada (wg mnie) czułość na falę 780nm,
kilka niezidentyfikowanych, zdjęcia poniżej:
układ z 12 wyprowadzeniami:
układ niemal bliźniaczy, 14 wyprowadzeń:
układ kontroli mocy światła lasera, 6 pinów, możliwe, że podobny do tego: GA104T1M2MZ
czujnik z telefonu Nokia N95 8GB:
Problem 2.
W zależności od wyboru czujnika, czy to któregoś z powyższych, czy też zakupie innego (nie znalazłem nic ciekawego poza czujnikami typu ALS - ambient light sensor, stosowanymi w urządzeniach mobilnych, oraz czujniku RGB, tj 3 "gołe" fotodiody w jednej obudowie, bez żadnego przetwornika), trzeba sygnał odebrać, przefiltrować i uformować w wyraźny (z punktu widzenia mikrokontrolera) prostokąt (o czasie trwania zapewne takim, jak długość błysku diody, tj. 50ms).
Można by też sformułować przy okazji wyboru czujnika problem 1b - osłonę detektora przed światłem zewnętrznym, jego umiejscowienie względem monitorowanej diody LED, a może nawet dołożenie jakiegoś układu soczewek zawężających kąty zbierania światła przez czujnik?
Bardzo proszę o pomoc Kolegów, zarówno przy wyborze czujnika, ale szczególnie przy części analogowej, czyli filtracji i formowania sygnału. Strona analogowa budzi we mnie grozę. Zwłaszcza świadomość, że ma się do czynienia z sygnałami ciągłymi w czasie, o całym spektrum wartości. To już nie proste "albo zero, albo jeden".
Temat może trochę enigmatyczny, a chodzi mniej więcej o coś takiego:
Przymierzam się do budowy układu mikroprocesorowego, który ma zliczać impulsy i logować czas pomiędzy nimi do pamięci.
W tym celu muszę wykrywać krótkie błyski czerwonej diody LED 3mm. Okres błysków zmienia się od około 200ms do 100s. Czas trwania błysku to ok 50ms. Nieznane mi są czasy narastania i opadania zbocza, ale przyjmuję że są odpowiednio krótkie.
Dioda LED znajduje się w pomieszczeniu przechodnim. Zakres temperatur w ciągu roku to ok. 5-30 *C. Oświetlenie pomieszczenia dzienne, plus sporadycznie sztuczne (żarówka).
Problemy na które się natknąłem są dwa:
1-wybór odpowiedniego czujnika
2-wzmocnienie sygnału z czujnika i uformowanie impulsu służącego do wyzwolenia przerwania w mikroprocesorze AVR ATMega32.
Problem 1:
Czujnik będzie znajdować się w pewnej odległości od diody, około 1-3cm. Dioda, to zwykła LED 3mm, długość fali prawdopodobnie 650nm. Błyski są dla człowieka wyraźnie widoczne z kilku metrów, nawet przy oświetleniu dziennym wpadającym przez okna. Ale co z czujnikiem? Czy da radę wykryć taki słaby błysk na tle (co prawda wolnozmiennego, ale kilka rzędów wielkości mocniejszego) oświetlenia słonecznego? Właściwie odpowiedź na to pytanie przesądza o sensie całego mojego przedsięwzięcia, a dla czytającego o celowości dalszej lektury tego tematu...
Mam do dyspozycji kilka fotoczujników, ale nie wiem który mógłby się nadać. Nigdy wcześniej nie miałem styczności z fotodetektorami.
Czujniki te to:
- różnego pochodzenia fotodiody i fotorezystory, prawdopodobnie IR. W tym czujnik w czarnej obudowie prostopadłościennej, prawdopodobnie z drukarki. Ten czujnik reaguje na światło czerwone po zbliżeniu na odległość kilku milimetrów, przy warunkach półmroku i po podłączeniu jako LED1, do prowizorycznie zbudowanego układu wg schematu stąd.
- IS474, wraz z płytką wymontowany z monitora CRT. Czułość jak dla oka ludzkiego (max dla 550nm)
schemat z datasheet monitora, widać kondensator 10uF, który filtruje szybkie zmiany. Czy dałoby się zaadaptować jakoś ten schemat do moich potrzeb? Próbowałem symulacji schematu, ale próby były negatywne. Wykrywało tylko zmiany zbocza na wejściu czujnika (w roli czujnika generator prostokąta, czyli też niezbyt wierny model rzeczywistego czujnika, który, jeśli dobrze rozumiem datasheet - jest źródłem prądowym o ujemnym prądzie, rosnącym liniowo z natężeniem światła) i na wyjściu pojawiały się wtedy małe i króciutkie szpilki, dodatnie albo ujemne, w zależności od zbocza.

schemat wewnętrzny IS1682:

- czujniki scalone OPIC, PDIC, Front Power Monitor, wymontowane z napędów i nagrywarek CD, DVD. W sieci bardzo mało jest informacji o ich działaniu tudzież wykorzystaniu poza napędami.
Jeden zidentyfikowany ( IS1682) - wada (wg mnie) czułość na falę 780nm,
kilka niezidentyfikowanych, zdjęcia poniżej:
układ z 12 wyprowadzeniami:


układ niemal bliźniaczy, 14 wyprowadzeń:

układ kontroli mocy światła lasera, 6 pinów, możliwe, że podobny do tego: GA104T1M2MZ


czujnik z telefonu Nokia N95 8GB:

Problem 2.
W zależności od wyboru czujnika, czy to któregoś z powyższych, czy też zakupie innego (nie znalazłem nic ciekawego poza czujnikami typu ALS - ambient light sensor, stosowanymi w urządzeniach mobilnych, oraz czujniku RGB, tj 3 "gołe" fotodiody w jednej obudowie, bez żadnego przetwornika), trzeba sygnał odebrać, przefiltrować i uformować w wyraźny (z punktu widzenia mikrokontrolera) prostokąt (o czasie trwania zapewne takim, jak długość błysku diody, tj. 50ms).
Można by też sformułować przy okazji wyboru czujnika problem 1b - osłonę detektora przed światłem zewnętrznym, jego umiejscowienie względem monitorowanej diody LED, a może nawet dołożenie jakiegoś układu soczewek zawężających kąty zbierania światła przez czujnik?
Bardzo proszę o pomoc Kolegów, zarówno przy wyborze czujnika, ale szczególnie przy części analogowej, czyli filtracji i formowania sygnału. Strona analogowa budzi we mnie grozę. Zwłaszcza świadomość, że ma się do czynienia z sygnałami ciągłymi w czasie, o całym spektrum wartości. To już nie proste "albo zero, albo jeden".
