W tym artykule przyjrzymy się, jak zrobić prosty chronograf z niedrogich i niedrogich części. Fixture niezbędne do pomiaru prędkości pocisku w karabinie. Liczby te są potrzebne do ustalenia stanu karabinu, ponieważ z czasem niektóre części pneumatyki zużywają się i wymagają wymiany.
Przygotowujemy niezbędne materiały i narzędzia:
- Chiński Digispark (w momencie zakupu kosztuje 80 rubli);
- wyświetlacz typu segmentu na TM1637 (przy zakupie kosztuje 90 rubli);
- diody podczerwieni i fototranzystory (10 par) - koszt wyniósł 110 rubli;
- sto oporników 220 omów kosztuje 70 rubli, ale tylko dwa z nich będą potrzebne.
To wszystko, to jest cała lista przedmiotów, które musisz kupić. Nawiasem mówiąc, rezystory można również znaleźć w starych urządzeniach gospodarstwa domowego. Możesz postawić więcej według wartości nominalnej, ale nie mniej. W rezultacie możesz utrzymać w granicach 350 rubli, ale to nie tyle, biorąc pod uwagę, że fabryczny chronograf będzie kosztował co najmniej 1000 rubli, a montaż w nim jest znacznie gorszy niż nasz domowej roboty.
Między innymi musisz zaopatrzyć się w takie szczegóły, jak:
- przewody;
- kawałek rury o długości co najmniej 10 cm (odpowiednia jest plastikowa rura wodna);
- wszystko do lutowania;
- multimetr (opcjonalnie).
Pierwsze trzy opisane szczegóły mają swoje własne niuanse, więc każdy z nich należy rozpatrywać osobno
Digispark
Ten przedmiot jest miniaturową płytką drukowaną, z którą jest kompatybilny ArduinoNa pokładzie ma ATtiny85. Jak podłączyć ten element do Arduino IDE, możesz czytać dalej, możesz tam również pobrać sterowniki.
Ta płyta ma kilka opcji, jedna wykorzystuje microUSB, a druga jest wyposażona w złącze USB, które jest podłączone bezpośrednio na płycie. Ze względu na fakt, że produkt domowej roboty nie ma indywidualnego zasilacza, autor wybrał pierwszą wersję płyty. Jeśli zainstalujesz baterię lub baterię w produkcie domowej roboty, znacznie zwiększy to jego cenę i nie wpłynie znacząco na praktyczność. I prawie każdy ma kabel do ładowania telefonu komórkowego i power banku.
Jeśli chodzi o cechy, są one podobne do ATtiny85, tutaj jego możliwości są obfite. Mikrokontroler chronografu przesłuchuje tylko czujniki i steruje wyświetlaniem.
Jeśli nigdy wcześniej nie spotkałeś Digispark, najważniejsze niuanse można znaleźć w tabeli.
Ważne jest, aby wziąć pod uwagę fakt, że numeracja pinów dla funkcji analogRead () ma różnice. A na trzecim pinie jest rezystor podciągający o wartości nominalnej 1,5 kOhm, ponieważ jest używany w USB.
Kilka słów o wyświetlaczu
Każdy może używać wyświetlacza do domowej roboty, ale autor zdecydował się na tanią opcję. Aby urządzenie było jeszcze tańsze, możesz całkowicie zrezygnować z wyświetlacza. Dane można po prostu wyprowadzić kablem do komputera. Będzie tu potrzebny. Wskazany wyświetlacz jest kopią wyświetlacza.
Wygląd wyświetlacza z przodu iz tyłu widać na zdjęciu.
Ponieważ odległości między liczbami są takie same, gdy dwukropek jest wyłączony, liczby są odczytywane bez problemów. Standardowa biblioteka może wyświetlać liczby z zakresu 0–9. liter w zakresie od a do f, i nadal istnieje możliwość zmiany jasności całego wyświetlacza. Wartości cyfr można ustawić za pomocą funkcji wyświetlania (int 0-3, int 0-15).
Jak korzystać z wyświetlacza
Jeśli spróbujesz wyjść poza wartości [0, 15], wyświetlacz pokaże zamieszanie, które oprócz wszystkiego innego nie jest statyczne. Dlatego, aby wyświetlić znaki specjalne, takie jak stopnie, minusy itp., Musisz majstrować.
Autor chciał, aby wyświetlacz wyświetlał gotową energię lotu pocisku, która zostanie obliczona w zależności od prędkości pocisku i jego masy. Wartości zgodnie z ideą musiały być wyświetlane sekwencyjnie, ale aby zrozumieć, gdzie należy jakoś zanotować, na przykład za pomocą litery „J”. W skrajnych przypadkach możesz po prostu użyć dwukropka, ale autorowi się to nie podobało i wspiął się do biblioteki. W rezultacie funkcja setSegments (adres bajtowy, dane bajtowe) została stworzona na podstawie funkcji wyświetlania, zaświeca segmenty zakodowane w danych w liczbie o numerze addr:
Takie segmenty są kodowane po prostu, najmniej znaczący bit danych odpowiada za górny segment, a następnie zgodnie z ruchem wskazówek zegara, siódmy bit odpowiada za środkowy segment. Znak „1” po zakodowaniu wygląda jak 0b00000110. Ósmy najbardziej znaczący bit jest odpowiedzialny za dwukropek, jest używany w drugiej cyfrze, a we wszystkich pozostałych jest ignorowany. Następnie autor zautomatyzował proces uzyskiwania kodów za pomocą programu Excel.
Co ostatecznie się stało, można zobaczyć na zdjęciu
Wreszcie czujniki
Nie podano dokładnych informacji na temat czujników, wiadomo tylko, że mają one długość fali 940 nm. Podczas eksperymentów stwierdzono, że czujniki nie są w stanie wytrzymać prądów większych niż 40 mA. Jeśli chodzi o napięcie zasilania, nie powinno ono być wyższe niż 3,3 V. Jeśli chodzi o fototranzystor, ma on lekko przezroczysty korpus i reaguje na światło.
Przystępujemy do montażu i konfiguracji domowych:
Pierwszy krok Zgromadzenie
Wszystko idzie zgodnie z bardzo prostym schematem. Ze wszystkich pinów potrzebne będą tylko P0, P1 i P2. Pierwsze dwa są używane do wyświetlania, a P2 jest potrzebne do czujników.
Jak widać, jeden opornik służy do ograniczenia prądu diod LED, ale drugi przyciąga P2 do ziemi. Z uwagi na fakt, że fototranzystory są połączone równolegle, gdy kula przechodzi przed dowolnym transoptorem, napięcie na P2 spadnie. Aby określić prędkość lotu pocisku, musisz znać odległość między czujnikami, zmierzyć dwa gwałtowne wzrosty mocy i określić czas, w którym wystąpiły.
Ze względu na to, że zostanie użyty tylko jeden pin, nie ma znaczenia, z której strony strzelać. Fototranzystory i tak zauważą pocisk.
Wszystkie szczegóły widoczne na zdjęciu są gromadzone. Aby zebrać wszystko, autor postanowił użyć płyty chlebowej. Następnie cała konstrukcja została pokryta gorącym klejem dla wytrzymałości. Czujniki są umieszczane na rurze, a przewody są do nich lutowane.
Aby zapobiec pulsowaniu diod przy zasilaniu z banku energii, autor zainstalował elektrolit o mocy 100 mKf równolegle z diodami LED.
Należy również zauważyć, że pin P2 został wybrany z jakiegoś powodu, faktem jest, że P3 i P4 są używane w USB, więc teraz przy pomocy P2 istnieje możliwość flashowania domowej roboty po montażu.
P2 jest również wejściem analogowym, więc nie ma potrzeby używania przerwania. Możesz po prostu zmierzyć odczyty między bieżącą a poprzednią wartością, jeśli różnica stanie się wyższa niż pewien próg, wówczas kula właśnie przechodzi w pobliżu transoptora.
Krok drugi Oprogramowanie układowe
Prescaler jest dzielnikiem częstotliwości, w standardowych przypadkach na płytach takich jak Arduino jest to 128. Liczba ta wpływa na częstotliwość odpytywania ADC. Oznacza to, że domyślnie 16 MHz wychodzi 16/128 = 125 kHz. Każda digitalizacja składa się z 13 operacji, więc pin może być odpytany w jak największym stopniu przy prędkości 9600 kHz. W praktyce jest to nie więcej niż 7 kHz. W rezultacie odstęp między pomiarami wynosi 120 μs, co jest zbyt duże dla domowej roboty. Jeśli kula leci z prędkością 300 m / s, w tym czasie pokona ścieżkę 3,6 cm, czyli kontroler po prostu nie będzie w stanie jej zauważyć. Aby wszystko działało poprawnie, odstęp między pomiarami powinien wynosić co najmniej 20 μs. W tym celu wartość dzielnika musi być równa 16. Autor wykonał dzielnik 8, jak to zrobić, można zobaczyć poniżej.
Czego się nauczyłem podczas eksperymentu, można zobaczyć na zdjęciu
Logika oprogramowania układowego składa się z kilku etapów:
- pomiar różnicy wartości na sworzniu przed i po;
- jeśli różnica przekracza próg, wówczas pętla gaśnie, a bieżący czas (micros ()) zostaje zapamiętany;
- drugi cykl działa podobnie do pierwszego i ma licznik czasu w cyklu;
- jeśli licznik osiągnął ustawioną wartość, wysyłany jest komunikat o błędzie i przejście do stanu początkowego. Co więcej, cykl nie przechodzi w wieczność, jeśli kula nie została nagle złapana przez drugi czujnik;
- jeśli licznik nie przepełnia się, a różnica wartości jest większa niż próg, mierzony jest bieżący czas (mikros ());
- Teraz, w oparciu o różnicę czasu i odległości między czujnikami, możesz obliczyć prędkość lotu pocisku i wyświetlić informacje na ekranie. Cóż, to wszystko zaczyna się od nowa.
Ostatni etap. Testowanie
Jeśli wszystko zostanie wykonane poprawnie, urządzenie będzie działać bez problemów. Jedynym problemem jest słaba reakcja na oświetlenie fluorescencyjne i LED z częstotliwością tętnienia 40 kHz. W takim przypadku mogą wystąpić błędy w urządzeniu.
Domowe prace w trzech trybach:
Po włączeniu pojawia się powitanie, a następnie ekran jest wypełniony paskami, co oznacza, że urządzenie czeka na strzał
W przypadku błędów wyświetlany jest komunikat „Err”, a następnie włączany jest tryb gotowości.
Cóż, wtedy pojawia się pomiar prędkości
Natychmiast po strzale urządzenie pokaże prędkość pocisku (oznaczonego symbolem n), a następnie wyświetli się informacja o energii pocisku (symbol J). Gdy wyświetla się dżul, wyświetlany jest również dwukropek.