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

Obsługa enkodera z transoptorów refleksyjnych

09 Paź 2007 20:48 2696 8
  • Poziom 10  
    Witam!
    Muszę wykonać enkodery i chcę to zrobić z transoptorów refleksyjnych SG-2BC. Wszystko było pięknie dopóki się nie okazało że źle zrozumiałem ich działanie.
    Po pierwsze doczytałem dopiero po wybuchu jednego że maksymalne napięcie wynosi 1.2V a oczywiście podałem 5V:D
    Po drugie dotarło do mnie że stan przy którym powierzchnia jest czarna i stan przy którym jest biała czyli załączenie i wyłączenie to tak naprawdę różnica w natężeniu a nie w napięciu:/
    No i dlatego mam kilka pytań:
    1. Czy wystarczy jeżeli przed diodą wepnę diodę Zenera 1V?
    2. Jak wykorzystać przerwania zewnętrzne Atmegi - INT0 , INT1 żeby wykrywały te dwa stany bo na początku sobie pomyślałem że do kolektora tranzystora podam 5V z zasilania i emiter połączę z pinem INTx i jak będzie białe to będzie 5V a jak czarne to prawie nic i rozpozna stany....problem się jednak skomplikował jak przeczytałem że zmienia się natężenie a nie napięcie:/ jak to więc podłączyć?

    Pozdrawiam
  • Poziom 39  
    ad1 nie jest potrzebna żadna dioda , wystarczy rezystor szeregowo w obwodzie zasilania diody ok 220 Ω
    ad2 pomyślałeś dobrze z rozpoznawaniem czarny / biały , tylko wszytko zależy od wartości sygnału , w przerwaniu powinieneś wykorzystać reakcję nie na stan pinu tylko na zmianę zbocza
    pewnym rozwiązaniem jest zastosowanie komparatora analogowego , masz możliwość ustawienia punktu pracy oraz tylko dwa stany L / H , co za tym idzie można badać stan zmiany dowolnego portu
    jedno pytanie dlaczego nie zastosujesz transoptora szczelinowego do enkodera
  • Poziom 16  
    Witam.
    Teoretycznie więc:
    Do obwodu wprowadzasz rezystor pomiarowy, jak wiemy z prawa Ohma zmianom
    prądu w obwodzie będą towarzyszyły zmiany spadku napięcia na tym rezystorze :)
    Wystarczy odpowiednio go dobrać i może uda wysterować się nim tranzystor
    (musisz policzyć czy wystarczający będzie prąd bazy). Tranzystor będzie np. zwierał Ci
    wejście przerwania do masy (tylko ustaw mu pull-up) czyli podawał stan niski - odpowiednio
    skonfigurujesz przerwanie np. na zbocze opadające i powinno działać. Gdyby nie udało się z tranzystorem
    bipolarnym to zmień na MOSFETa.

    P.S
    A dlaczego nie transoptory szczelinowe?
    W starych kulkowych myszkach masz takie dwa oraz odpowiednie
    zębatki - dużo prościej, logika 5V.

    Powodzenia
    Pozdrawiam.
  • Poziom 10  
    Dlatego nie szczelinowy bo tarczę z nacięciami trudno wykonać a tarcze czarno białe mogę sobie testować w różnej konfiguracji, rozdzielczości itp. - wystarczy drukarka. Poza tym mogę tak zrobić kilka kanałów do rozróżnienia kierunków i ewentualnie indeks.

    bogdan_p:
    ad1. Rozumiem że przy wzroście prądu wzrośnie spadek na nim i akurat się ustali odpowiednio? Jeżeli tak to mi wychodzi że lepiej będzie 260 Ohm.
    260*0,015 = 3,9 -> 15 mA to taki optymalny prąd żeby mocno świeciło a spadek akurat będzie taki że na diodzie zostanie 1,1V co w sumie pewnie spowoduje że ustali się jakieś 12mA. Dobrze mówię?

    ad2. wykorzystać mogę 3 opcje: zbocze wzrastające, opadające, i jakakolwiek zmiana logiczna. użycie INTx jest najprostsze moim zdaniem i wolałbym nie kombinować.
    Co do opornika pomiarowego to rozumiem to tak że tranzystor podłączam z jednej strony do vcc a z drugiej przez opornik do gnd, natomiast pomiar robię przed opornikiem tak?
    Da mi to: 5V-spadek na oporniku - czyli przy maksymalnym prądzie będzie minimalne napięcie (stan logiczny 0 - czyli jakby odwrotnie niż normalnie ale to nie ma znaczenia).
    Policzyłem że jeżeli prąd będzie te 12mA to jak z wykresu wynika wyjdzie jakieś 600uA - wybieram więc opornik 8k i przy takim natężeniu mam spadek 4,8 V, tak?
    Jeżeli chodzi o sam port przerwania to ustawię go jako wyjście i dam stan 1 - wtedy nie wpłynie mi prąd do procesora i będzie możliwy ten pomiar tak?

    Pozdrawiam
  • Poziom 16  
    Witam.
    Transoptory szczelinowe z w/w myszek komputerowych zapewniają wykrycie kierunku
    (mają 2 przesunięte fototranzystory, wykrywasz kolejność pojawienia się stanów na ich wyprowadzeniach)
    Dodatkowo w tych myszkach masz już gotowe 2 tarcze "z nacięciami" przystosowane do pracy z tymi transoptorami :!:

    A wracając do teorii tranzystora NPN :
    -kolektor łączysz do pinu przerwania (włączasz wewnętrzne podciąganie lub jeśli wolisz zewnętrznie- przez rezystor do zasilania)
    - emiter łączysz do masy
    -kolektor łączysz przed rezystorem pomiarowym (jego drugi koniec do masy)
    Rezystor dobierasz tak by przy prądzie odpowiadającym wykryciu koloru na rezystorze był spadek napięcia ok. 0.7V (polaryzacja złącza baza-emiter).
    Dla wyższych prądów spadek napięcia będzie większy - tranzystor załączony- stan niski na INT.
    Dla niższych prądów spadek mniejszy od 0.7V -tranzystor OFF-stan wysoki na INT

    P.S
    Pomysł bogdana_p z komparatorem wydaje mi się lepszy, dobrać odpowiedni p.pracy tranzystora w praktyce wcale nie jest tak prosto
    Możesz jeszcze zamiast przerwań wykorzystać wbudowany w uP przetwornik A/C tylko musiałbyś często mierzyć napięcia na tym rezystorze (wykrywać skoki).

    Ech, rozważ jeszcze raz pomysł ze szczelinówką :P
    Pozdrawiam
  • Poziom 10  
    Jestem uparty i pozostanę przy swoim;P mam już zresztą pomysł jak to ładnie przymocować.
    Nie rozumiem czemu mam ustawiać tak żeby załączało lub wyłączało tranzystor a nie zwyczajnie zamienić natężenie na napięcie? Przecież stan niski nie oznacza 0V tylko jakiś zakres 0-1,5 V , a stan wysoki 3,5-5V... przerwanie nie rozpozna tego w ten sposób?

    sztomi: Nie rozumiem tego trzeciego połączenia u Ciebie.

    Chcę użyć INTx bo dzięki temu mam przerwanie które samo się asynchronicznie uruchamia i nie muszę się martwić o czas pomiarów itp.
    Z punktu widzenia programowania i niezawodności działania to chyba najprostsze rozwiązanie.

    Pozdrawiam
  • Poziom 39  
    ogólnie max. prąd dla diod led to 20mA (są wyjątki ) dlatego dla Uzas = 5V bardziej optymalna wartość to 220Ω prąd diody wyniesie 18mA jest oczywiste , że im większa wartość I tym większa wartość wypromieniowanej wiązki promieniowania podczerwonego , ma to szczególne znaczenie właśnie dla czujników refleksyjnych gdzie masz zależność dioda IR > podłoże > fototranzystor , im więcej wyemitujesz tym większą wartość możesz otrzymać odbitą od podłoża co za tym idzie lepiej wysterować fotoelement
    dla diod IR spadek napięcia na złączu to ok. 1V tak więc można zastosować nawet rezystor 200Ω prąd wyniesie 20mA
    jeżeli chodzi o uC proponuje podciągnij pin obsługujący przerwanie do Uzas rezystorom 4,7kΩ , kolektor foto do pinu przerwania emiter do masy w obsłudze przerwania wykorzystaj reakcję na opadające zbocze sygnału , pamiętaj o tym że każdy fotoelement pracujący w podczerwieni reaguje również na promieniowanie widzialne i może to wpływać na pracę układu
    osobiście proponuje układ z komparatorem , koszt niewielki a dużo pewniejsza reakcja ustawiając odpowiedni punkt pracy wcale nie jest potrzebne idealne przejście z stanów L / H , wystarczy przejście przez wyznaczony próg reakcji komparatora oczywiście wybór należy do Ciebie
    rozumie Twój upór co do takiego rozwiązania enkodera , masz racje co do wykonania tarczy enkodera , ale stosując transoptor szczelinowy wcale nie musisz wykonywać szczelin wystarczą odpowiednio rozmieszczone otwory jest faktem że to bardziej pracochłonne i jednorazowe
  • Poziom 10  
    Hurrra! Udało się :D
    bogdan_p: dzięki Ci za tą ostatnią podpowiedź - działa wyśmienicie!
    Zmodyfikowałem tylko tyle że zamiast dawać opornik 4,7k po prostu włączyłem pull-up'a na porcie przerwania.
    Co do zasilania diody to dałem 270 Ohm i jest idealnie zgodnie z datasheet'em - tzn. nie przekracza napięcia 1,2 V na diodzie i daje mi ponad 14mA prądu. Sprawdzałem multimetrem napięcie kolektor-gnd i przy czerni rośnie do 4,82V a przy bieli spada do 0,17V więc myślę że jest naprawdę dobrze dlatego pozostanę przy tym oporniku dla pewności żeby nie przekroczyło obciążalności portu.
    Czujnik tak jak napisałeś jest wrażliwy na światło widzialne - i to dość mocno ale w moim projekcie od początku jest obudowa, która w pełni odetnie światło z zewnątrz.

    Dziękuję wszystkim za pomoc! Wygląda na to że problem został rozwiązany:)
  • Poziom 39  
    cieszę się że Ci się udało , mała rada na przyszłość nie zawsze włączenie podciągnięcia daje spodziewany efekt a to z powodu dużej rozbieżności wartości rezystorów , jeżeli układ dział to dobrze ale czasami warto dodać zewnętrzny rezystor , unikając przykrych niespodzianek