Ta strona używa ciasteczek (plików cookies), dzięki którym może działać lepiej. Dowiedz się więcejRozumiem i akceptuję
PCB.center

[Teoria] Podczerwień w robotyce

Autor Wiadomość
GAndaLF 



Posty: 277
Pomógł: 6 razy
Otrzymał 67 piw(a)
Skąd: Koszalin/Gdańsk
Programuję w:
C, ASM
Należę do:
SKALP
Wysłany: 23-07-2011, 01:08   [Teoria] Podczerwień w robotyce

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 darmowym blogu Forbota.

Kliknij, aby przeczytać całość!


Poniżej znajdują się komentarze naszych użytkowników powiązane z tym artykułem.

Polecany artykuł » Kurs Intel Edison - #9 - Własny czujnik w chmurze




tytulowy.png
Plik ściągnięto 371 raz(y) 201.18 KB


walczę jak lew, padam jak mucha
Postaw piwo autorowi tego posta
 
 
Więcej szczegółów
Wystawiono 1 piw(a):
mario246
Xweldog 



Posty: 513
Pomógł: 34 razy
Otrzymał 52 piw(a)
Skąd: Wrocław
Specjalność:
Elektronika analogowa
Wysłany: 23-07-2011, 12:56   

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.

Postaw piwo autorowi tego posta
 
 
GAndaLF 



Posty: 277
Pomógł: 6 razy
Otrzymał 67 piw(a)
Skąd: Koszalin/Gdańsk
Programuję w:
C, ASM
Należę do:
SKALP
Wysłany: 23-07-2011, 13:48   

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


walczę jak lew, padam jak mucha
Postaw piwo autorowi tego posta
 
 
Xweldog 



Posty: 513
Pomógł: 34 razy
Otrzymał 52 piw(a)
Skąd: Wrocław
Specjalność:
Elektronika analogowa
Wysłany: 23-07-2011, 14:23   

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.

Warto przeczytać » Wejdź w trzeci wymiar z nową aktualizacją EAGLE!


Postaw piwo autorowi tego posta
 
 
GAndaLF 



Posty: 277
Pomógł: 6 razy
Otrzymał 67 piw(a)
Skąd: Koszalin/Gdańsk
Programuję w:
C, ASM
Należę do:
SKALP
Wysłany: 23-07-2011, 14:57   

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?



walczę jak lew, padam jak mucha
Postaw piwo autorowi tego posta
 
 
Xweldog 



Posty: 513
Pomógł: 34 razy
Otrzymał 52 piw(a)
Skąd: Wrocław
Specjalność:
Elektronika analogowa
Wysłany: 23-07-2011, 15:44   

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.

Postaw piwo autorowi tego posta
 
 
BlackJack 




Posty: 903
Pomógł: 26 razy
Otrzymał 48 piw(a)
Skąd: Poland
Programuję w:
C for PIC
Wysłany: 23-07-2011, 20:42   

Cytat:

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


Przyjmę drobne zlecenia, na oprogramowanie sterowników, LOGO, EASY, TECO SG2, czy podobnych.
Postaw piwo autorowi tego posta
 
 
Harnas 



Posty: 626
Pomógł: 18 razy
Otrzymał 51 piw(a)
Skąd: Rybnik
Programuję w:
C,C#
Moje roboty:
Stuart

Wysłany: 23-07-2011, 21:18   

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.

Postaw piwo autorowi tego posta
 
 
 
BlackJack 




Posty: 903
Pomógł: 26 razy
Otrzymał 48 piw(a)
Skąd: Poland
Programuję w:
C for PIC
Wysłany: 23-07-2011, 21:37   

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.


Przyjmę drobne zlecenia, na oprogramowanie sterowników, LOGO, EASY, TECO SG2, czy podobnych.
Ostatnio zmieniony przez BlackJack 23-07-2011, 21:39, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 
 
Harnas 



Posty: 626
Pomógł: 18 razy
Otrzymał 51 piw(a)
Skąd: Rybnik
Programuję w:
C,C#
Moje roboty:
Stuart

Wysłany: 23-07-2011, 21:51   

Cytat:
• 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.

Postaw piwo autorowi tego posta
 
 
 
GAndaLF 



Posty: 277
Pomógł: 6 razy
Otrzymał 67 piw(a)
Skąd: Koszalin/Gdańsk
Programuję w:
C, ASM
Należę do:
SKALP
Wysłany: 23-07-2011, 22:32   

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.


walczę jak lew, padam jak mucha
Ostatnio zmieniony przez GAndaLF 23-07-2011, 22:51, w całości zmieniany 2 razy  
Postaw piwo autorowi tego posta
 
 
BlackJack 




Posty: 903
Pomógł: 26 razy
Otrzymał 48 piw(a)
Skąd: Poland
Programuję w:
C for PIC
Wysłany: 23-07-2011, 22:54   

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.


Przyjmę drobne zlecenia, na oprogramowanie sterowników, LOGO, EASY, TECO SG2, czy podobnych.
Ostatnio zmieniony przez BlackJack 23-07-2011, 22:56, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 
 
Xweldog 



Posty: 513
Pomógł: 34 razy
Otrzymał 52 piw(a)
Skąd: Wrocław
Specjalność:
Elektronika analogowa
Wysłany: 24-07-2011, 07:04   

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.

Ostatnio zmieniony przez Xweldog 24-07-2011, 07:52, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 
 
GAndaLF 



Posty: 277
Pomógł: 6 razy
Otrzymał 67 piw(a)
Skąd: Koszalin/Gdańsk
Programuję w:
C, ASM
Należę do:
SKALP
Wysłany: 24-07-2011, 14:25   

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.


walczę jak lew, padam jak mucha
Postaw piwo autorowi tego posta
 
 
Xweldog 



Posty: 513
Pomógł: 34 razy
Otrzymał 52 piw(a)
Skąd: Wrocław
Specjalność:
Elektronika analogowa
Wysłany: 24-07-2011, 15:18   

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.

Ostatnio zmieniony przez Xweldog 24-07-2011, 15:28, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Wersja do druku

Skocz do:  

Nie rozwiązałeś swojego problemu? Zobacz podobne tematy: [Mechanika] Jak prze... [Test/recenzja] Test... [Algorytmy] Sposoby ... [Mechanika] Jak wyko...
lub przeszukaj forum po wybranych tagach: podczerwien, robotyce


Powered by phpBB modified by Przemo © 2003 phpBB Group
Popularne kursy: Arduinopodstawy elektroniki