Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Fotorezystor dla mikrokontrolera

mike87 31 Mar 2005 20:29 2539 14
e-mierniki
  • #1
    mike87
    Level 11  
    Witam!

    Czy istnieje możliwość zmontowania jakiegoś układu w taki sposób, aby fotorezystor wystawiał w zależności od oświetlenia 0 lub 1 na wyjściu, które będzie podpięte do portu mikrokontrolera? Chodzi mi o podłączenie tego później do mikrokontrolera at89c2051 i obsługę tego.

    Pozdrawiam
  • e-mierniki
  • Helpful post
    #2
    yego666
    Level 33  
    Jasne, ze jest taka mozliwosc.
    89C2051 posiada komparator napiecia do ktorego mozna dolaczyc fotorezystor. Status komparatora odczytuje sie programowo.
    U mnie to dziala OK, a nawet zrobilem dla tego procka pomiar aktualnej wartosci natezenia oswietlenia na tym komparatorze i ukladzie RC, gdzie R jest fotorezystorem. Na wejsciu (-) dalem napiecie odniesienia zrobione na oporowym dzielniku napiecia, a na wejsciu (+) badam czas ladowania sie kondensatora przez szeregowy fotorezystor. Nastepnie rozladowuje kondensator i wykonuje kolejny pomiar. Nie jest to najprecyzyjniejsza z metod, ale do zapalania i regulacji jasnosci oswietlenia w pokoju w zaleznosci od oswietlenia zewnetrznego zupelnie wystarcza.
    Pozdrawiam, yego.

    P.S. Wejscie (+) znajduje sie na pinie P1.0 , (-) na P1.1, a wyjscie komparatora jest czytane z portu P3.6, ktory nie jest wyprowadzony na zewnatrz procesora. Wejscia P1.0 i P1.1 nie posiadaja wewnetrznych pull-upow. Do uzycia komparatora nalezy na te piny wpisac w programie jedynki logiczne by umozliwic liniowa prace wejsc komparatora.
  • e-mierniki
  • #3
    mike87
    Level 11  
    Ok to mi się przyda, jednak chodziło mi o coś troszkę innego.

    Chcę zrobić tor, w którym będą 2 czujniki oparte na fotorezystorach i skierowanych w ich stronę diodach. W przypadku przecięcia toru dioda - fotorezystor na port chciałbym otrzymać przeciwną wartość logiczną, aby można było wykryć przecięcie i obsłużyc go programowo.
    Podam to na przykładzie.
    Na porcie jest cały czas 0, dioda bez przeszkód świeci na fotorezystor. Przelatuje piłka, która na moment przecina tor, co oznacza, że na wyjściu pojawia się jedynka logiczna. Działanie takie, jakby w momencie przelatywania piłki wcisnąć zwierny lub rozwierny przycisk.
    Da się to jakoś wykonać bez użycia komparatora 89c2051 np. na tranzystorach lub czymś podobnym?

    Pozdrawiam
  • #4
    marek_Łódź
    Level 36  
    No to chyba nie obędzie się bez zewnętrznego komparatora-wzmacniacza.

    Najprościej - bramka Shmidta 40106 zasilanie 5V, na wejściu dzielnik - potencjometr do ustawienia poziomu wyzwolenia (albo dobrany opornik) i fotorezystor. Wyjście komparatora najlepiej na INT0, INT1.
  • #5
    mike87
    Level 11  
    http://www.elektroda.net/cir/2.html

    A co myślicie o tym układzie? Ma szanse zadziałać? Bo wygląda na to, że to może to być właśnie to czego potrzebuje. I do tego są dwie wersje - reaguje na ciemność bądź jasność i to bez stosowania żadnych komparatorów.

    Pozdrawiam
  • #6
    yego666
    Level 33  
    Nie obawialbym sie ze uklad nie zalapie poziomu. Problem natomiast moze byc z niektorymi typami fotoopornikow, gdyz te nie sa za bardzo chyze, i moga dla szybko poruszajacych sie obiektow byc zbyt wolowate. Na pewno skuteczniejsze beda fototranzystory. Zyska na tym zarowno predkosc dzialania jak i czulosc ukladu.
  • #7
    mike87
    Level 11  
    A mógłbyś jakoś w przybliżeniu podać działanie fototranzystorów? Bo zaciekawiło mnie to. Bo jest to chyba coś innego niż układy odbiorników podczerwieni prawda?

    Znalazłem w internecie informację, że jest to zwykły tranzystor, tylko, że baza jest wysterowywana nie przez układ, a przez zjawisko fotoelektryczne.

    Podsumowując chodzi o to, że ten tranzystor przewodzi prąd w zależności od stopnia oświetlenia? Czyli także zmienia swoją rezystancję z zależności od oświetlenia?
  • #8
    marek_Łódź
    Level 36  
    mike87 wrote:
    A mógłbyś jakoś w przybliżeniu podać działanie fototranzystorów? Bo zaciekawiło mnie to. Bo jest to chyba coś innego niż układy odbiorników podczerwieni prawda?


    To samo? http://azory.net/%7Eslawek/view.php?kwd=content/d2

    Dokładnie tak, jak napisałeś fototranzystor=tranzystor sterowany światłem. Najszybsze są fotodiody. Fototranzystory i fotodiody (na podczerwień) są stosowane w odbiornikach podczerwieni.

    W układach z dużymi zmianami oświetlenia stosuje sie światło modulowane, którego zmiany jest łatwiej wykryć niezależnie od TŁA.
  • #9
    mike87
    Level 11  
    marek_Łódź wrote:

    Wyczytałem tam, że prąd jasny wynosi ok 1mA. Czy ten prąd wystarczy do wysterowania np. tranzystora, żebym mógł potem doprowadzić sygnał wystarczający mikrokontrolerowi do stwierdzenia jedynki logicznej, czy musiałbym stosować jakieś dodatkowe wzmacniacze czy coś podobnego?

    Może moje pytania są dla niektórych nawet śmieszne, jednak jestem początkującym elektronikiem i proszę o wyrozumiałość.

    Pozdrawiam
  • #10
    marek_Łódź
    Level 36  
    1 mA spokojnie wzmocnisz na tranzystorze. Jest tylko jeszcze jeden problem - czy w Twoim układzie ta zmiana jest od całkowitej ciemnosci do stanu oświetlonego, czy też masz jakiś stały poziom oświetlenia (zobacz uwagę, którą dopisałem do poprzedniej wiadomości o świetle modulowanym). W tym drugim przypadku będzie trudno skalibrować próg zadziałania fotoelementu.
  • #11
    mike87
    Level 11  
    W moim układzie otoczenie fotoelementu postaram się jak najbardziej wyciemnić (niestety w 100% się nie da) i to będzie stan ciemności. Natomiast w zwykłym przypadku element ten będzie oświetlany przez diodę.

    Zależy mi na szybkości ponieważ tor będzie przecięty na ułamek sekundy i to już musi zostać wykryte przez dany zastosowany fotoelement (fotorezystor jednak nie zda egzaminu - sprawdzałem).
  • #12
    marek_Łódź
    Level 36  
    mike87 wrote:
    W moim układzie otoczenie fotoelementu postaram się jak najbardziej wyciemnić (niestety w 100% się nie da) i to będzie stan ciemności. Natomiast w zwykłym przypadku element ten będzie oświetlany przez diodę.

    Zależy mi na szybkości ponieważ tor będzie przecięty na ułamek sekundy i to już musi zostać wykryte przez dany zastosowany fotoelement (fotorezystor jednak nie zda egzaminu - sprawdzałem).


    No to robisz taki układ jak w tym przykładzie z wyłącznikiem zmierzchowym, który znalazłeś, zamiast fotorezystorów fototranzystory (jeśli npn to kolektorem do plusa), kolektory tranzystorów wzmacniających zamiast do kontaktrona na przerwania procesora (ew jakiś opornikczek podciagający do plusa) i mozna spróbować zestroić układ (potencjometrami).

    Jeśli wzmocnienie by było za małe (gdybyś np. dał fotodiodę zamiast fototranzystora), do wzmacniacza daj tranzystory Darlingtona.

    No i ewentualnie przejdź na podczerwień bo łatwiej o elementy i być może będzie odporniejsze na zmiany tła.
  • #13
    mike87
    Level 11  
    OK dzięki za wszystkie porady - teraz pozostaje mi tylko kombinować :)

    A tak swoją drogą - czemu polecasz podpiąć to pod przerwania? Czy jeśli podepne to pod zwykly port to się coś zmieni?
  • Helpful post
    #14
    marek_Łódź
    Level 36  
    mike87 wrote:
    OK dzięki za wszystkie porady - teraz pozostaje mi tylko kombinować :)

    A tak swoją drogą - czemu polecasz podpiąć to pod przerwania? Czy jeśli podepne to pod zwykly port to się coś zmieni?


    Nic zależy co kto lubi, dla mnie obsługa takiego pomiaru czasu w przerwaniu jest "bardziej elegancka" (takie zboczenie), ale nic się nie zmieni jak to odliczysz w normalnej pętli.

    Można też zrobić dwa identyczne odbiorniki (bez przestawiania fototranzystora) i dać ich wyjścia na wejścia przerzutnika z dwóch bramek nand lub nor (zależnie od tego, czy mamy impuls zerowy czy jednostkowy - zależnie od położenia fototranzystora).

    Wyjście przerzutnika na wejście bramkujące zegar T0 lub T1 (jest taka możliwość w 89xx51???). Wtedy dostaniesz wynik z dokładnością do taktu zegara.

    Powodzenia
  • #15
    mike87
    Level 11  
    No nic, dużo mi dzisiaj pomogłeś. I chwała ci za to ;)

    Chyba już nie będę kombinował tylko podłączę na osobne przerwania bądź porty 2 osobne odbiorniki. Teraz tylko muszę pokombinować, żeby to dobrze zestroić.

    Dzięki!