Skocz do zawartości
GAndaLF

[Teoria] Podczerwień w robotyce

Pomocna odpowiedź

Promieniowanie podczerwone ma szerokie zastosowanie w robotyce. Jest wykorzystywana między innymi w czujnikach czy komunikacji. Praktycznie każdy z zaprezentowanych na tym forum robotów korzysta z jej dobrodziejstw. Do plusów tej technologii należą między innymi: niska cena, łatwość użycia i powszechna dostępność. W niniejszym artykule postaram się krótko przybliżyć teoretyczne podstawy a następnie przejść do omówienia różnorodnych zastosowań. Część poruszanych tutaj zagadnień na pewno jest znana i powszechnie wykorzystywana w praktyce. Jednak myślę, że dla porządku one również powinny się tutaj znaleźć. Mam nadzieję, że nie zabraknie również przydatnych informacji dla bardziej zaawansowanych.


UWAGA, to tylko wstęp! Dalsza część artykułu dostępna jest na blogu.

Przeczytaj całość »

Poniżej znajdują się komentarze powiązane z tym wpisem.

tytulowy.thumb.png.86c33c2be720b2c3309970de56b21a1a.png

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Hey

Gratuluję świetnego artykułu ale mam dwie małe sugestie. Komparatory 339 mają wyjścia Open Colector i muszą mieć oporki pull up. W drugim schemacie lepiej by było zamiast lub wraz z 7414 podać symbol C-MOS-owej 40106.

Udostępnij ten post


Link to post
Share on other sites

Dzięki za wyłapanie błędu. Poprawiłem już ten pullup na schemacie a na drugim po prostu dodałem do nazwy wersję CMOS

Udostępnij ten post


Link to post
Share on other sites

Jest mały problem. LED-y w szereg z R nie sprawdzą się jako pull up przy tak małym Uz, kiedyś się na to nadziałem. Taki układ można ew. stosować przy wyższych Uz ale nie radzę bo będzie podatny na zakłócenia, lepiej nie rezygnować z samych R.

Np. biały ma Uświecenia ok. 3V, przy Uz 5V podciągnie wejście następnego stopnia tylko 2V a powyżej ono będzie praktycznie wisiało w powietrzu. 2V przy Uz 5V to m/w środek przedziału niepewnego między L a H. Jeszcze gorzej to będzie wyglądało przy Uz 3,3V. Powinny być same R pull up a ew. równolegle z nimi LED-y ze swymi R ustalającymi prąd.

Udostępnij ten post


Link to post
Share on other sites

No właśnie te diody mi trochę namieszały i nie byłem pewny czy tak będzie dobrze. Teraz dla pewności jeszcze zapytam. Poniższy schemat z pullupami i diodami statusowymi podłączonymi równolegle jest już poprawny?

Udostępnij ten post


Link to post
Share on other sites

Tak, chodziło dokładnie o to. Teraz po wyłączeniu każdego Out 339 wejście następnego stopnia będzie podciągane do szyny +Uz.

Udostępnij ten post


Link to post
Share on other sites

Przetwornik ADC w popularnych Atmegach pracuje zwykle na częstotliwości do 250kHz i w każdej chwili może prowadzić odczyt tylko z jednego kanału. Sam mikrokontroler pracuje zwykle na częstotliwości 8-16MHz. Tak więc wykorzystanie przetwornika ADC do odczytu stanu czujnika linii jest nieefektywne z punktu widzenia wykorzystania mocy obliczeniowej procesora.

Ze tak skromnie zapytam która ATMega wzdzierguje 250KHz na ADC ?

Przeważnie w nocie spotyka się taką wartość.

Up to 15 kSPS at Maximum Resolution

Udostępnij ten post


Link to post
Share on other sites

ADC można taktować do 1Mhz, ale spada przy tym dokładność. Korzystając z komparatorów mamy stan tylko 0 i 1, tak więc można używać wyrównania do prawej, i ręcznie sprawdzać czy wartość przekracza odpowiedni poziom.

Udostępnij ten post


Link to post
Share on other sites

Tzn. nie zrozumcie mnie źle, ale mi chodzi o to że jak podaje się jakieś parametry, to dobrze byłoby podawać parametry gwarantowane przez producenta danego układu, aby trzymać jakiś poziom merytoryczny, czy standard, a nie wyżyłowane MAX jakie się da uzyskać, żeby linijkę niżej stwierdzić ze jest i tak bezużyteczne, bo błąd pomiaru jest nie do przyjęcia, czy jeszcze lepiej że lichemu programiście braknie mocy obliczeniowej.

Udostępnij ten post


Link to post
Share on other sites
• 13 μs - 260 μs Conversion Time

Najkrótsza konwersja trwa 13 taktów, więc 1 takt ma okres 1μs co równa się taktowaniu 1Mhz.

Ponadto myślę że spokojnie nawet przy takim taktowaniu błąd będzie do przyjęcia.

Udostępnij ten post


Link to post
Share on other sites

W datasheecie Atmegi 16 piszą, żeby preskaler ADC ustawić na częstotliwość z przedziału 50-200kHz. Gdzieś czytałem, że spokojnie można używać częstotliwości 250kHz jeżeli używa się ośmiobitowej rozdzielczości. W datasheecie atmegi16 znajduje się informacja, że można zwiększyć częstotliwość preskalera ponad 200kHz dla mniejszych rozdzielczości, ale akurat o 250 kHz tam nie piszą. Faktycznie może nie powinienem takiej niesprawdzonej informacji podawać w artykule. Ale to jest mały szczegół.

Twoje oburzenie pewnie wynika z faktu, że trochę niejasno napisałem. Chodzi mi o częstotliwość preskalera ADC. Przy 200kHz preskalerze i 13 taktach zegara ADC na jedną konwersję mamy 15.4kSPS, natomiast przy moim 250kHz wyjdzie 19.2kSPS. W trybie pracy gdzie w każdym kolejnym pomiarze zmieniamy kanał, przetwornik potrzebuje 25 taktów, Co daje w przypadku 250kHz 10kSPS.

Mam nadzieję, że to wytłumaczenie rozwieje twoje wątpliwości i niestworzone zarzuty o branie danych z powietrza.

Udostępnij ten post


Link to post
Share on other sites

A to w takim razie zwracam honor.

Mnie w błąd wprowadziło to że najczęściej podaje się częstotliwość próbkowania ADC, a nie jego taktowania. Myślałem że zwyczajnie się pomyliłeś i z np. 25KHz zrobiłeś 250KHz.

Udostępnij ten post


Link to post
Share on other sites

Jeszcze taki mały drobniazg. Przy 5V LED-om dałeś 330Ω. LED-y mają mają różne Uświecenia, od 1,8 do 3V co przy tak małych R daje prądy od kilku do ok. 10mA/szt. W skrajnym przypadku wszystkie będą pobierały ok. 40mA. Jak na urządzenia zasilane z accu gdzie warto zadbać o każdy zbędny mA b.dużo. Ponadto, co prawda 339 są wolne nie mniej włączanie LED-ów może dawać w szyny Uz kopa zakłócającego pracę µC, przydałby się jakiś elko, z 10-100µF. Praktycznie wszystkie współczesne świecą b.jasno przy 1mA. Można śmiało zwiększyć te 330Ω z 10-20x. Tak samo zwiększyłbym te 10k.

Udostępnij ten post


Link to post
Share on other sites

Ten schemat miał na celu bardziej pokazanie ogólnej zasady, a same diody są przecież opcjonalne. Swoim diodom zawsze dawałem właśnie tego rzędu rezystancje przy zasilaniu 5V i było ok, a dla dużo wyższych rezystancji nieraz świeciły za słabo. Oczywiście to nie znaczy, że dla innych będzie tak samo.

Dobrze, że zwracasz uwagę na tego typu niuanse, bo każdy kto to przeczyta będzie wiedział, że te wartości są przykładowe i dobrą praktyką jest samodzielne dobranie wartości, żeby pasowały do indywidualnych potrzeb. W końcu każdy może użyć innych elementów np LM324, innych napięć itp. Jednak myślę, że z taką wielką dbałością o wartości rezystancji w przykładowym schemacie można sobie dać spokój.

Udostępnij ten post


Link to post
Share on other sites

Nie wytykam tego jako jakiegoś błędu. Schemat jest poprawny, wiadomo że ktoś b.doświadczony sam sobie dobierze detale. Można by o tym np. wspomnieć w opisie ale "jeden schemat jest wart stu słów", temat nie tyczy doboru elementów, początkujący często czytają nieuważnie, szczegóły się zapomina, często przyjmuje się sztywno takie wartości jakie są i imo lepiej by było z większymi R.

Udostępnij ten post


Link to post
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »

×