Skocz do zawartości
Dzonzi

Nadajnik i odbiornik IR do tachometru

Pomocna odpowiedź

Cześć

Chcę sobie zrobić prosty tachometr na bazie podczerwieni. Czy ten odbiornik będzie dobry? http://electropark.pl/odbiorniki-podczerwieni/2880-odbiornik-podczerwieni-38khz-tsop31238.html

a taki nadajnik http://electropark.pl/diody-ir-podczerwieni/1529-ir-tsal6400-dioda-nadawcza-ir-25st.html

Na wirującym elemencie będzie naklejony biały pasek, który powinien odbijać podczerwień. Czy te elementy będą działać ze sobą? Jaki może być zasięg takiego tachometru? Jaka dokładność jeżeli pomiary będą w przedziale 1400-3000 rpm? A może polecicie coś lepszego? Będę używał ardunino uno do sterowania i liczenia rpm.

Dziękuję

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

Poszedłeś w dobrą stronę wybierając do pomiaru czujnik na podczerwień, ale akurat TSOP jest bardziej złożonym układem, który odbiera zmodulowany sygnał, ten konkretny o częstotliwości 38 kHz.

Wystarczy że kupisz/zbudujesz transoptor (połączenie diody IR takiej jaką wskazałeś i fototranzystora dostosowanego do diody), który będzie mierzył ile podczerwieni odbija się od powierzchni. Tu jest przykład. Jeżeli przy pomiarach odczyt z ADC przekroczy jakąś granicę to znaczy że wykonany został jeden obrót.

Jedyne co będzie istotne to dobrać elementy. Wąski kąt świecenia może być przydatny i zwróć uwagę na długość fali jaką nadaje dioda i tak by dobrać tranzystor który jest czuły na ten sam zakres fali. Dioda którą wskazałeś ma 940 nm więc ten fototranzystor będzie z nią współpracował.

Edytowano przez Gieneq
  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites

@Gieneq Czyli fototranzystor podłączam do arduino między pin 5V, a wejście analogowe z włączonym równolegle rezystorem do masy? 1kOhm rezystor wystarczy?

A co z diodą IR? Podczas pomiaru powinna być włączona na stałe i emitować podczerwień czy może włączać i wyłączać z dużą częstotliwością? Jak coś to normalnie ją podłączyć z szeregowo włączonym rezystorem np. 100 Ohmów? 

Udostępnij ten post


Link to post
Share on other sites
14 godzin temu, Dzonzi napisał:

A co z diodą IR? Podczas pomiaru powinna być włączona na stałe i emitować podczerwień czy może włączać i wyłączać z dużą częstotliwością?

Migająca dioda i wirujący element? Słabo to widzę aby rozwiązać programowo na AVR.

Kluczowanie świecenia diody dużą częstotliwością z małym wypełnieniem, ma sens, gdy chce się zwiększyć zasięg. Jeśli wypełnienie wyniesie 10% możesz diodę wysterować prądem 10 razy większym niż nominalny (sprawdź w danych technicznych diody).

Udostępnij ten post


Link to post
Share on other sites

@Jamik możesz spróbować podziałać z tym transoptorem. Schemat jest dość prosty:

image.thumb.png.28f88d039b0233b7eaa1ff2cac371499.png

Tylko tak uzyskasz sygnał analogowy proporcjonalny do refleksyjności powierzchni i odległości od niej. Żeby uzyskać tylko informację binarną musisz jakoś sprogować sygnał i badać w którym momencie nastąpi zmiana syngału (zbocze). Do tego celu możesz użyć: przerzutnik schmitda, który zamieni sygnał (będzie przypominał sinusoidę) w prostokąt.

Inny pomysł to użycie komparatora, który spełni podobną funkcję, tylko przy pomocy potencjometru będziesz mógł ustawić próg.

Tak przygotowany sygnał możesz podać na wejście z przerwaniem Arduino (na pewno są to 2 lub 3) i w ustawieniach podać tylko jedno zborze np narastające lub opadające.

W głównej pętli mierz czas funkcją millis(), i w funkcji przerwania inkrementuj zmienną odpowiedzialną za zliczanie impulsów. Następnie z jakimś interwałem możesz wyznaczyć prędkość dzieląc te 2 wartości.

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

 To w jaki sposób chcesz interpretować odbicia to już kwestia własnego uznania, w trzech słowach - jak Ci pasuje. Podłączenie też jest trywialne -  dajesz rezystor do Vcc żeby puścił z kilka - kilkanaście mA np. 1 - 2k i do kolektora, kolektor wyprowadzasz jeszcze na GPIO na pin przerwania i odczytujesz zbocza opadające albo stan niski  a emiter do masy jak na schemacie powyżej. Diodę przez rezystor do pinu generującego przebieg lub na stałe do Vcc. Jeśli dasz przebieg na diodzie to trzeba będzie mierzyć czas stanu niskiego co może nieco skomplikować program dlatego popróbuj sobie najpierw na diodzie do Vcc przez rezystor np. 1k.  3000rpm to w tym przypadku 50Hz, większość fototranzystorów ma maksymalną częstotliwość ok. 30 - 35kHz więc śmiało można wysterować diodę częstotliwością nawet ok. 20kHz żeby napięcie na kolektorze opadało i rosło na tyle szybko aby nie było przekłamań pomiaru, trzeba dać rezystor ok. 1k dla 5V zasilania im większy prąd tym szybciej napięcie wraca do stanu wysokiego . Wbrew temu co twierdzi @RFM nie będzie z tym problemu na AVR.

Częstotliwość na diodzie może być nawet większa, wtedy tranzystor będzie się włączał całkowicie jedynie podczas odbicia, spowoduje to jednak, że przez większość czasu będzie niedomknięty ważne w tym przypadku aby napięcie nie spadło poniżej poziomu stanu wysokiego wykrywanego przez uC. Taktowanie diody  w przedziale częstotliwości możliwości tranzystora ma sens np. wtedy, gdy chcesz zliczać te impulsy. To się przydaje kiedy czujnik działa w zapylonym środowisku i istnieje możliwość błędnych odczytów kiedy jakaś drobinka kurzu czy czegoś takiego spowoduje błędny odczyt lub chcąc oszczędzić prąd wtedy diodę taktuje się przebiegiem o niskim wypełnieniu. Tak więc można diodę zasilać na różne sposoby w zależności od potrzeby. W niektórych fabrycznych urządzeniach nawet klawiaturki są zasilane impulsami aby maksymalnie oszczędzić zużycie energii tak więc nic nie stoi na przeszkodzie aby zaadaptować tę technikę do własnych celów.

Edytowano przez atMegaTona
błędy z powodu wielokrotnej edycji

Udostępnij ten post


Link to post
Share on other sites
17 godzin temu, atMegaTona napisał:

Wbrew temu co twierdzi @RFM nie będzie z tym problemu na AVR.

To zależy od częstotliwości modulacji a ta jest powiązana z prędkością obrotową obiektu i wielkości paska odbijającego promieniowanie IR.

Udostępnij ten post


Link to post
Share on other sites
58 minut temu, RFM napisał:

To zależy od częstotliwości modulacji a ta jest powiązana z prędkością obrotową obiektu i wielkości paska odbijającego promieniowanie IR.

Masz rację ale przy 3000rpm ma to raczej pomijalny wpływ. Różnica częstotliwości pomiędzy pełnymi obrotami a mruganiem diody może być na tyle duża, że można z dużą precyzją monitorować prędkość obrotową za pomocą arduino.

Udostępnij ten post


Link to post
Share on other sites
3 godziny temu, atMegaTona napisał:

Masz rację ale przy 3000rpm ma to raczej pomijalny wpływ. Różnica częstotliwości pomiędzy pełnymi obrotami a mruganiem diody może być na tyle duża, że można z dużą precyzją monitorować prędkość obrotową za pomocą arduino.

Jak się zacznie używać arduinowego pilsein do tego innych funkcji blokujących to może być różnie. Czas należy mierzyć sprzętowo (ICP). W AVR całkowicie sprzętowo mozna mierzyć okres (tu wystarczy) czasu impulsu już nie (to nie STM32 z timerem 1 lub 9).

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

W tym konkretnym przypadku nie ma sensu mierzyć czasu impulsu - szpilki. Ważna ilość impulsów, sam sposób pomiaru zależy też od tego co się przyjmie za podstawę czasu. Można mierzyć ilość przejść na sekundę lub ilość odbitych impulsów IR z diody podczas przejścia odblasku lub też i jedno i drugie na raz i przeliczać na rpm. Kiedy dioda jest zasilana impulsowo zużyje zdecydowanie mniej prądu to samo tranzystor ( o ile tego typu oszczędności mają jakieś znaczenie) niż gdyby świeciła cały czas. Jeśli oszczędzanie prądu nie ma znaczenia bo np. urządzenie jest zasilane z sieci to aby uprościć sobie zadanie wystarczy diodę przez rezystor podłączyć do zasilania i liczyć ilość przerwań stanu niskiego np. na pinie INT0 w ciągu np. 1s czy 100ms. Myślę, że autor tematu właśnie coś takiego chciał zbudować a to co tu już nawypisywaliśmy wystarczy w zupełności do pomiaru rpm a nawet więcej.

Edytowano przez atMegaTona
literówki

Udostępnij ten post


Link to post
Share on other sites

Na razie utknąłem na detekcji impulsów z fototranzystora 😞 Świeciłem diodą IR wprost na PR w odleglości 0.2cm i na wejściu analogowym praktycznie nie było sygnału ;/

Udostępnij ten post


Link to post
Share on other sites

Może diodę podłączasz odwrotnie albo tranzystor 😜 albo spaliłeś zbyt silnym prądem, na kolektorze tranzystora powinno być ~0v podczas świecenia na niego diodą i Vcc kiedy nie świecisz. Pokombinuj odwrotnie podłączyć i sprawdź amperomierzem czy prąd płynie.

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...