Elektroda.pl
Elektroda.pl
X

Search our partners

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

czujniki linii

lbugiera 17 Jun 2005 22:19 1479 0
Altium Designer Computer Controls
  • #1
    lbugiera
    Level 21  
    Witam.

    UWAGA : DŁUGIE !!! :P


    Do pracy dyplomowej o temacie "Minirobot mobilny z detekcja przeszkód poruszajacych się w jego otoczeniu" (Jeżdżący samochodzik z sonarami)musze zrobic czujniki linii. Nazwa może nie wiele mówi, ale chodzi o to, że jednym z zadań tego robota ma być poruszanie się wzdłuż białej linii (taśma klejąca szer 5 cm) na tle ciemniejszego podłoża. No i jestem włąśnie na etapie projektowania układu tych czujników. Niby to takie proste, że bierzemy czujnik diodaIR-fototranzystor i podłączamy pod jakis próg (np bramka ze schmittem) ustalamy rezystor w kolektorze i prąd diody i po sprawie (próbowałem tak). Otóż pogłębszych zastanowieniach i powyższych testach okazuje się że nie do końca. Taki czujnik jak powyżej da rady "wyskalować" do pracy z konkretną podłogą, z konkretnym poziomem oswietlenia w pomieszczeniu, ale jak już którys z tych parametrów się zmieni (mówie tu głównie o świetle ... wieczorem działa, w południe nie) to to już nie działa. Wymyśliłem więc układ, którego schemat jest w załaczniku. Po krótce go omówie: Przed włączeniem robota ustawiamy go tak aby jednym czujnikiem był wyraźnie nad biała linia, a drugim nad podłogą. Załączamy układ i dokonywana jest kalibracja. Generowany jest sygnał PWM około 30 kHz (najszybszy o rozdzielczości 8bit jaki się da przy gen 8Mhz) jest on nastepnie uśredniany w fitrze dolnoprzepustowym RC, pożniej podawany na wtórnik z dołączonym drugim filtrem RC (w sumie tłumienie jest około 60 dB) po to aby można to źródło uśrednionego sygnału troche obciązyć. I tak zwiększane jest wypełnienie, a wiec napięcie na wyjściu wzmacniacza TLC271 się zwiększa. Jest ono podawane jako próg na komparatory z histereza oparte o wzmacniacz LM324. Jako czujniki zastosowałem to co dostałem w normalnej cenie, mają oznaczenie TCRT1000. Itak gdy ten
    próg sie podnosi najpierw otrzymamy sygnał z tej diody, która jest nad podłogą (zapamiętujemy wartośc wypełnienia przy której to nastąpiło) a pózniej ten nad białą linią (tu też zapamiętujemy). Próg ostatecznie
    ustawiamy dokładnie pośrodku tych dwóch uzyskanych wartości i z takim progiem już póxniej urządzenie pracuje. Do fotoranzystora rezystor włączyłem w emiter, aby napięcie na nim wytwarzane rosło z prądem od GND w góre. Diody są załączane przez małego mosfeta i płynie przez nie około 40 mA. Problem z tym układem polega na tym, że równiez jest wrażliwy na oświetlenie zewnętrzne, nie tak bardzo jak układ czujnik plus HC14 (bo przed właczeniem robot "przyzwyczaji" się do oświeltenia panującego w pomieszczeniu), ale jeśli np na ziemi będą duże róźnice w oświetleniu (swiatło wpadające przez nie zasłonięte okno i cienie np samego okna lub innych przedmiotów) to będzie to błędnie odczytywane.
    Oczywiscie można powiedzieć, że można zasłonić okno, ale ja mam utrudnione zadanie :). (jkieś zasłonki przed samymi czujnikami tez nie wchodza w gre)Jednym z rozwiązań powyższego problemu jest modulacja sygnału nadawanego (czyli diode załączac z jakąś czestotliwością) i sygnał z fofotranzystora podawac dalej przez fitr górnoprzepustowy. No ale wtedy jest problem jak odczytać stan, bo do uC trzeba podac stały "jasny" sygnał cyfrowy (1 lub 0). Trzeba by to uśredniać i dopiero później podawać na komparator. Żeby to dobrze uśrednić to trzeba duże tłumienie. Dodatkowo taki sygnał z fototranzystora, ma duża rezystancje wew, więc najpierw trzeba by użyć jakiegoś wtórnika. Dodatkowo dochodzi taki problem, że taki fototranzystor z R=10k w kolektorze ma czas włączenia 100uS !! (akurat w datasheecie do tcrt1000 nie ma tego podanego, ale porównywałem z innymi fototranzystorami - im większy resystor tym dłuższy czas włączenia) A wiec ta modulacja to maks 500 hz (duże kondensatory na filtrach).

    Tak ja to widze. Pisze bo może wy macie jakieś ciekawe pomysły jak wyeliminowac składową stałą ? Bo mi się już pomysły skończyły, a tak jak ja to widze to wyjdzie strasznie rozbudowane. Może macie pomysł jak to
    uprościć ?

    Dodam jeszcze, że : diody nie będą zaświecone cały czas bo by za dużo prądu zżerały (tylko tuz przed pomiarem), czujników jest w sumie 12 rozłożonych w trzech liniach po 4 czujniki (przód, środek, tył) z czego
    dwa wew. w każdej linii są rozstawione w odległości równej szerokości tasmy (5 cm), aby robot nie jechał na wprost sinusem :). ATtiny2313 będzie się zajmował tylko tymi czujnikami, i będzie przekazywał dane do
    sterownika głównego (MC68332) przez SPI

    p.s. Jednym z rozwiązań jest zastosowanie przetwornika A/C ale chciałem pierw poszukać jakiegos rozwiązania "analogowego", bo są tańsze (ew. ATmeg8 i multilpeksery).
  • Altium Designer Computer Controls