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.

[ATmega16][C] Transoptor CNY70, czarna linia nie zmienia odczytu ADC.

16 Lut 2013 16:00 2679 15
  • Poziom 9  
    Witam, robię line-followera, i próbuję zaprogramować transoptory odbiciowe CNY70.

    Podłączone są dobrze, rzeystor 240Ω do fotodiody, i fototranzystor przez 10k do VCC.

    Napisałem program, żeby pokazywało odczyty ADC na wyświetlaczu (z jednego transoptora), ale normalnie pokazuje 1023, dopiero jak podłożę białą kartkę pod nią poniżej 5mm to dopiero zmniejszają się wartości, ale jak wszyscy wiedzą line-followery i turnieje z ich udziałem polegają na tym, aby robot jeździł po czarnej linii, CNY70 ma zakres widzenia czarnej linii do ok 1,5cm, ale na wyświetlaczu jak dam czarną kartkę to jest dalej 1023, jakbym nic nie podkładał.

    Buduję robota z kitu AVT3028 B ( Link ), i w pdf nawet są zdjęcia tegoż robota na linii czarnej. [mam inne kółka, CNY70 są 5,5mm nad podłożem]

    Mój program:

    Kod: c
    Zaloguj się, aby zobaczyć kod
  • Poziom 20  
    Może jakiś schemacik ?? Bo nie wiemy gdzie ty tym ADC mierzysz napięcie.
  • Poziom 9  
    [ATmega16][C] Transoptor CNY70, czarna linia nie zmienia odczytu ADC. [ATmega16][C] Transoptor CNY70, czarna linia nie zmienia odczytu ADC. [ATmega16][C] Transoptor CNY70, czarna linia nie zmienia odczytu ADC. [ATmega16][C] Transoptor CNY70, czarna linia nie zmienia odczytu ADC.

    opisałem gdzie i jaki transoptor jest
  • Poziom 20  
    Wszystko działa prawidłowo. W momencie gdy nic nie jest podłożone albo podkładasz czarną kartkę do fototranzystora nie dociera światło jest zamknięty przez rezystor niepłytnie prąd niema na nim spadku napięcia całe napięcie jest na fototranzystorze i na ADC. W momencie jak podkładasz kartkę fototranzystor się otwiera i zwiera wejscie ADC do masy przez co napięcie się zmniejsza jak jak i wyświetlana wartość. Jeśli chcesz by było odwrotnie daj rezystor mierzy emiter a mase kolektor do vcc a wejscie adc do emitera
  • Moderator Mikrokontrolery Projektowanie
    Możesz zwiększyć rezystor podciągający, z drugiej strony ten transoptor właśnie działa na małe odległości (kilka mm), poza tym ma diodę IR, to co jest dla nas czarne niekoniecznie musi dobrze odbijać IR (dioda tam ma 950 nm).
  • Poziom 9  
    no ale jak już wcześniej mówiłem, po co mam zmieniać coś w układzie, skoro właśnie w ten sposób jaki teraz jest twórcy tego robota (link w 1 poście) robot jest zrobiony żeby jeździł na czarnej linii? w schematach i konstrukcji nie ma błędu, nie wiem tylko jak napisać program, żeby dla niego nicość nie równała się czarnemu kolorowi, tylko żeby odróżniał kontrasty

    Cytat:


    Rolę czujników linii pełni
    7 transoptorów odbiciowych CNY70 (fotografia 1), których zasada funkcjonowania
    polega na wysyłaniu wiązki promieniowania
    IR i mierzeniu jej natężenia po odbiciu od
    podłoża. Kolor czarny pochłania znacznie
    więcej tego promieniowania od białego, przez
    co wartość odczytywana przez ADC jest niż-
    sza (niższe jest napięcie na fotodetektorze)
    gdy czujnik znajduje się nad linią


    Link


    więć wartość po kolorze czarnym powinna być niska, a nie taka jak nicość czyli 1023, co zrobić co zmienić :| programu nie dał :/
  • Poziom 20  
    Nie zrobisz tego programowo. Dla niego nicość = czarny kolor bo światło nie dociera do fototranzystora. Zobacz jednak że na zawodach . Linia jest biała a otoczenie jasne. Więc robot znajdzie linie. Po prostu ma szukać największej wartości na adc a nie najmniejszej
  • Moderator na urlopie...
    Tak, w tym układzie 1023 i wysokie wartości to linia czarna, a niskie wartosci - pow. biała.
    Poza tym z doświadczenia wiem że cny70 na 5,5mm nie zadziałają - muszą one leżeć max. 0,5-1 mm nad powierzchnią - potem odczyty są błędne.
  • Poziom 39  
    kankuro666 napisał:
    CNY70 ma zakres widzenia czarnej linii do ok 1,5cm
    CNY70 są 5,5mm nad podłożem

    Ciekawe dane , proponuje zaglądnąć do dokumentacji CNY70 największą czułość czujnik ma przy 0,3mm dystansu od podłoża . Zastosuj się do uwag kolegi piotrva .
  • Poziom 9  
    w takim wypadku to bylejaka nierówność sprawi, że nie będzie jechał. w datasheet pisze do 5mm...
  • Moderator na urlopie...
    Hmm, a widział Kolega kiedyś terenowy tor dla LF?
    Lub nierówne koło enkodera? Bo ja zawsze spotykałem się z płaskimi i poziomowanymi...
  • Poziom 9  
    widziałem, ale bez przesady z 0,5mm. w datasheet pisze, że do 5mm, nie kłamali by
  • Poziom 20  
    Spróbuj je jakoś obniżyć albo wymienić kółka na mniejsze jak w oryginalnym projekcie. Nikt nie mówi że maja być one na poziomie by czyłość była maksymalna mimo wszystko powinny być trochę niżej
  • Poziom 39  
    Proponuje zerknąć na wykresy w dokumentacji , szczególnie zależność dystans / prąd kolektora . W raz z zwiększaniem odległości prąd gwałtownie maleje co za tym idzie zmiany koloru podłoża dają coraz mniejsze zmiany prądu , oczywiści jest możliwa praca z większą odległością ale nie przy bezpośrednim pomiarze . Dużo lepszym rozwiązaniem jest zastosowanie komparatorów analogowych tym bardziej że wymagane są tylko dwa stany .
  • Poziom 9  
    nie wiem jak zastosować komparator analogowy..
    Cytat:
    Operating range within > 20 % relative collector current: 0 mm to 5 mm
  • Poziom 39  
    Najprostszy przykład zastosowania komparatorów masz w tym projekcie http://www.kmitl.ac.th/~kswichit/LFrobot/LFrobot.htm , próg przełączenia ustalasz jednym potencjometrem diody led nie są konieczne ale przydają się do sygnalizacji stanu danego czujnika . Widzę że nadal nie rozumiesz co to jest zależność dystans / prąd jeżeli chodzi o ścisłość to nawet pomiar na dystansie 10mm jest możliwy tylko zobacz sobie jak małe wartości będą prądu a co za tym idzie zmiany napięcia na rezystorze kolektora .