Skocz do zawartości

Czujnik światła (fotodioda) będący w stanie zmierzyć rozbłysk światła 1/10 000s


KtosBezNicku

Pomocna odpowiedź

Cześć! 😉

Dopiero jestem na samym początku swojej przygody z AVRami i bardzo bym chciał stworzyć prostą konstrukcję która dość mocno ułatwiła by mi życie(w sumie najlepiej ćwiczy się na "rzeczywistych" przykładach). Mianowicie chodzi o układ mierzący czas otwarcia migawki w aparacie analogowym. Nie wchodząc zbytnio w szczegóły migawka jest tam typowo mechaniczna, a co za tym idzie z czasem się rozkalibrowuje. Zrobiłem coś takiego w postaci fotodiody podłączonej do gniazda mikrofonu i świecącej latarki z drugiej strony ale nie jest to zbyt praktyczne(musisz nagrywać "dźwięk" a potem go mocno powiększać by sprawdzić czas trwania, cały czas musisz być podpięty do kompa, częstotliwość próbkowania karty dźwiękowej też chyba dość mocno ogranicza precyzje itp.

Dlatego idealnym by było urządzenie będące wstanie zmierzyć błysk światła i podać jego długość na prostym wyświetlaczu np. hd 44780. Nawet mam jego koncepcję, jedyna jak na razie trudność to zmierzyć dokładnie rozbłysk światła. Co rozumiem przez dokładnie? Ano aparaty z mojej kolekcji posiadają czas migawki nawet 1/4000s więc idealnie by było znaleźć fotodiodę która może zmierzyć rozbłysk z dokładnością 1/10 000s. Nie jest to chyba zbytnio problemem patrząc po specyfikacjach ale chciałbym posłuchać rad mądrzejszych ode mnie co do jej wyboru - by jak najlepiej/najłatwiej podpiąć ją do Atmegi 😉 Idealnie było by gdyby łatwo dało się ją zapakować w jakąś osłonkę (ograniczając "łapanie" światła z boku). Oczywiście jak układ zadziała w rewanżu wrzucę dokładny opis by następcy mieli łatwiej 🙂

Pozdrawiam i mam nadzieję że będziecie wstanie mi coś doradzić 😉

KtosBezNicku

Link do komentarza
Share on other sites

Przy tego typu czasach nie musisz sięgać po fotodiodę, do której musisz jeszcze dospawać wzmacniacz. Tobie wystarczy zwykły fototranzystor, który możesz nawet bezpośrednio podłączyć do portu procesora. Jeśli weźmiesz taki pracujący w zakresie podczerwonym:

https://www.tme.eu/pl/details/ltr-4206e/fototranzystory/liteon/

i oczywiście odpowiednią do tego diodę IR to będziesz mógł się tym bawić nawet w dzień w pokoju bez żadnych specjalnych osłonek.

Daj w kolektorze opornik 1k + szeregowy potencjometr 10k do wyregulowania czułości i tyle. Diodka po drugiej stronie przesłony może być np. taka:

https://www.tme.eu/pl/details/tsal6100-as12z/diody-led-ir/vishay/

Ma kąt 10° więc da dużą gęstość mocy i nie będziesz musiał jej męczyć jakimś strasznym prądem, 20mA w zupełności wystarczy a jeśli nie, to masz zapas aż do 100.

Reszta to timer i program procesora. Masz tam bez problemu rozdzielczości rzędu 1/2/8/16us przy pojemności licznika 2^16. No a dokładność taka jak użytego źródła taktowania.

Link do komentarza
Share on other sites

Faktycznie, widzę. 10us to da 1/100 000s dokładności co w zupełności starczy by w pełni skalibrować nawet aparaty o najszybszych migawkach do 1/10 000s(o których tylko słyszałem bo najszybszy mój ma 1/8000s). W praktyce zakładam że dokładność kalibracji wystarcza nawet na poziomie 25% najkrótszego czasu(by czas 1/1000s mieścił się między 1/750s a 1/1250s). To tak już z obserwacji 🙂 Wielkie dzięki! postaram się jak najszybciej zamówić i uzbrojony w książkę próbować walczyć z przerwaniami 🙂

Tym bardziej że można stworzyć progi czasów. Np. najwyższa dokładność 1/100 000s tylko dla czasów krótszych od 1/10 000s, i czym dłuższe czasy tym niższa dokładność by nie wyjść w przepełnienie licznika.

Link do komentarza
Share on other sites

Czasy 10us które masz na myśli to czasy opóźnienia a nie jakieś rozrzuty technologiczne - zależą od głębokości przesterowania tranzystora czyli od jasności światła i opornika w kolektorze. Jeśli odrobinę się postarasz i masz oscyloskop, możesz zrobić układ w którym będą one takie same na początku impulsu i na końcu więc w sumie ani trochę nie będą wpływać na wynik pomiaru długości.

Przerwań nie musisz tu używać, za to przyda się sprzętowe zatrzaskiwanie stanu timera T1 od wejścia ICP. Przepełnienia licznika też nie są groźne, bo możesz zliczać "wyższe" bity programowo - to zdarzenie jest stosunkowo rzadkie.

Zanim cokolwiek podłączysz pokaż schemat tego co chcesz zrobić.

EDIT: A w ogóle dobrze byłoby wbudować w Twoje urządzenie kalibrator. Po pierwsze może on posłużyć do uruchamiania i testowania właściwego programu pomiarowego a potem, w czasie eksploatacji taka funkcja może być wywoływana na życzenie w celu okresowego sprawdzania toru pomiarowego. Kalibrator taki to nic innego jak sterowanie diody IR zamiast wprost z zasilania (przez opornik) to z wyjścia któregoś timera procesora. Możesz wtedy wygenerować impuls o długości zadanej sprzętowo, czyli bez wpływu jakichkolwiek opóźnień i rozrzutów programowych. Diody zapalają się i gasną szybko (ns) czyli dostajesz wtedy precyzję długości impulsu "światła" taką jak kwarcu taktującego. Usuwasz wtedy przeszkody między diodą i fototranzystorem, wyzwalasz pomiar długości odebranego impulsu i sprawdzasz czy wynik jest zgodny z oczekiwaniami. Przy Arduino 16MHz masz maksymalną rozdzielczość pomiaru 62.5ns a to już pozwala na ocenę asymetrii samego fototranzystora 🙂

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dopiero zaczynam, na razie jestem na etapie nauki wyświetlacz HD44780 więc powoli, dziś zamówię nadajnik/odbiornik to będę eksperymentował ;- ) A co do kalibratora to bardzo fajna sprawa, choć chyba bardziej do sprawdzenia czy układ działa bo myślisz że w ten sposób udało by się jeszcze bardziej zwiększyć dokładność urządzenia? Tym bardziej że 10us dokładności to i tak duuuużo ponad możliwości najlepszych aparatów. Podejrzewam że i 50us błędu było by akceptowalne 😉 .

Edit: Poprosiłem znajomego co ma zakład by jak zamawia z TME to wziął i dla mnie. Bo nigdzie poza TME nie ma 6100 które ma 15ns fall/rise time a są tylko 6400 które mają 800ns.

Link do komentarza
Share on other sites

Kupując tak tanie elementy i to jeszcze do eksperymentów nigdy nie zamawiaj pojedynczych sztuk. Mam nadzieję, że przekazałeś znajomemu by kupił po kilka egzemplarzy. Montując coś na kolenie i podłączając taką pajęczynę do różnych płytek bardzo łatwo popełnić jakiś głupi błąd a wtedy oczekiwanie na kolejną paczkę jest bardzo bolesne.

Kupując w TME rozejrzyj się jeszcze za innymi podobnymi elementami. Te moje to tylko przykłady. Może bardziej pasuje Ci obudowa fi 3 a może fi 5mm, kup od razu jakieś czarne rurki termokurczliwe do zrobienia ew. osłon, oporniki itd. Podejrzliwie planuj co może pójść źle zawczasu, by potem nie miotać się po sklepach. Acha, no i skoro mówisz, że 10us to i tak super, to po co walczysz o kilkaset ns?

Wyobraź sobie jak będziesz to budował i tak planuj projekt, by kolejne etapy bazowały na zweryfikowanej poprawności poprzednich. Z jednej strony masz diodę świecącą w sposób niewidoczny. Możesz zmierzyć jej prąd - to oczywiście konieczność, więc będziesz potrzebował może kilku różnych oporników by dobrać prąd wystarczający do działania, ale nie za duży. Kąt świecenia prawdopodobnie sprawdzisz aparatem z komórki. Potem przechodzisz do drugiej strony. Będziesz musiał dowiedzieć się ile prądu tranzystora pochodzi z diody a ile z otoczenia, bo to definiuje konieczność użycia osłon albo nie a także pokazuje, czy prąd diody jest OK dla otoczenia w którym umieścisz zestaw. Tak więc przyda się woltomierz (generalnie jakiś multimetr to przyrząd pierwszej potrzeby) albo chociaż umiejętność obsługi ADC w procesorze. Na razie żadnych impulsów tylko pomiary napięć kolektora ze świecącą diodą i bez. Tutaj będziesz potrzebował także kilku różnych oporników lub potencjometru do regulacji czułości i punktu pracy fototranzystora. Dopiero gdy statycznie układ będzie wykazywał wystarczająco duże zmiany napięcia przy zapalaniu (nawet "ręcznym") i gaszeniu diody patrzącej z docelowej odległości na czujnik, możesz przejść do napisania kalibratora, bo jest prostszy. Generacja impulsów timera jest łatwa i gdy już diodka będzie się zapalać na precyzyjnie odmierzony czas - bez oscyloskopu musisz wierzyć sobie lub ustalić jakiś długi np. 1s czas - możesz przejść do pisania funkcji pomiarowej. I dopiero gdy ta będzie pokazywała prawidłowe i powtarzalne wyniki w szerokim zakresie długości, nadejdzie czas na aparaty i ich migawki.

A piszę to wszystko po to, byś zakupy planował jak najbardziej naprzód, przewidując jakie elementy i kiedy będą potrzebne do przejścia wszystkich etapów.

Link do komentarza
Share on other sites

50 groszy sztuka sprawiło że zamówiłem po 20 sztuk bo i tak się pewnie kiedyś przydają(planuję rozwijać przygodę z mikrokontrolerami) 🤣

Nic na razie nie potrzebuję - przychodzę z niedalekiego świata naprawy elektryki/majsterkowania/elektroniki który uwielbiałem od dziecka i po tylu latach wbrew pozorom mam całkiem pokaźny warsztacik z lutownicami, zasilaczem laboratoryjnym, stacją rozlutowującą i całą masą pomniejszego sprzętu 😉 A że zamawiam rzadko najczęściej pilnuje by wszystkiego co mi potrzebne mieć pokaźny zapas. Więc to też nie tak że elektronika sama w sobie jest dla mnie obca. To raczej takie techniczne "dorastanie" - składałem proste rzeczy, naprawiałem bardziej zaawansowane. Ale w pewnym momencie doszedłem do tego że chciałbym "coś więcej" i potrzebuje do sterowania tym czegoś co mogę zaprogramować. No i nadrobić błędy przeszłości - nie uważanie na elektronice czy architekturze systemów komputerowych (gdzie zamiast AVR był 8086) na studiach.

Więc może championem elektroniki nie jestem ale proste naprawy często robię sam. Po prostu doszedłem do momentu gdy np. potrzebowałem stworzyć oświetlenie w sklepie które by dało radę zapalać i gasić przez WiFi. Ok, jest Sonoff i tak go użyłem ale chciałbym kiedyś takie elementy tworzyć sam... Tym bardziej że wstyd mi jak mocno przez dosłownie 3 lata od końca studiów chociażby język C który kiedyś był dla mnie podstawą wyleciał z głowy 😉

Link do komentarza
Share on other sites

Ech, a ja tu piszę farmazony dla przedszkolaków..

Powodzenia. Napisz jak poszło, ciekaw jestem Twoich postępów w programowaniu, tego jak zaprojektujesz strukturę programu i jak będzie wyglądał działający kod. Wbrew pozorom systemy embedded są dość odległe od tego co robimy tworząc oprogramowanie na kompy klasy PC. Na pewno warto znać i rozumieć peryferia - chociaż te podstawowe - małego procesorka, bo to na nich opiera się siła mikrokontrolera. Liczyć (trochę lepiej lub trochę gorzej) to przecież każdy głupi (procesor) umie a wygenerować skomplikowany PWM czy coś zmierzyć to już nie bardzo. A w każdym razie tu są największe różnice między rodzinami. Znając możliwości i ograniczenia peryferiów typu timery, UARTy czy ADC łatwiej dopasować do nich swoje wyobrażenia o docelowym działaniu systemu i ominąć parę raf, które odkryte zbyt późno mogą wręcz skreślić wybraną architekturę z projektu.

Link do komentarza
Share on other sites

Zgodnie z doświadczeniem ucze się powoli ale nie z internetu tylko książki, o dokładnie takiej:

Powiedz mi tylko w czym rysować schemat? Eagle jak często proponują czy jednak coś innego? Tym bardziej że będę się uczył od zera programu więc warto wybrać od razu najlepszy zamiast się przesiadać 😉

Link do komentarza
Share on other sites

ok, już patrze, chodzi o coś co ma bazę AVR by nie trzeba samemu "dorysowywać" nóżek, pozwalało w miarę szybko prowadzić ścieżki + intuicyjny interface, najlepiej by sprawdzało podstawowe błędy(zwarcia czy bezsensowne połączenia), ale czy coś tak zaawansowanego jest dostępne to nie wiem 😉 Jak coś płatnego ale w rozsądnych pieniądzach też może być.

Edit: Na pierwszy rzut poszedł Eagle. Jedyne pytanie pod jaką nazwą się kryje Atmega 8-16PU? spodziewałem się coś ala Mega8-16 ale nic nie mogę znaleźć co by pasowało, chyba że jedynie można wybrać całą grupę i wtedy Mega8-P?:

No i drugie pytanie czy na widoku schematu zamiast takiego wyglądu nie mogę umieścić zgodnego z realnym dip28 który dla mnie byłby potem bardziej czytelny przy lutowaniu?

Link do komentarza
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!

Anonim
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...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.