Uważni czytelnicy zauważyli, że w artykułach autora Instructables pod pseudonimem WilkoL o generatorze kamertonu i zegarze z jego użyciem pokazano tylko jeden miernik częstotliwości, a w artykule o generatorze ze szkłem jako elementem ustawiania częstotliwości dodano do niego drugi, a nawet dostał się do KDPV. Ta historia jest o nim.
Cieszę się, że mogę pracować domowej roboty mistrz zaczyna się od studium części teoretycznej, a mianowicie od wyboru metody pomiaru częstotliwości. W wielu miernikach częstotliwości liczona jest liczba okresów sygnału wejściowego dla określonego okresu, powiedzmy, jednej sekundy:
Ta metoda jest dobra dla wystarczająco wysokich częstotliwości, ale jeśli częstotliwość jest niska, nie pozwala na uzyskanie wystarczająco dużej liczby miejsc po przecinku. Na przykład, jeśli cykl pomiaru zajmuje jedną sekundę, to dla częstotliwości rzędu 50 Hz będzie zero miejsc dziesiętnych. Chcesz na przykład trzech znaków - istnieje wyjście, wydłużamy cykl pomiarowy do 1000 sekund. Ale to jedno, gdy komputer lub smartfon zwalnia, do którego wszyscy są przynajmniej przyzwyczajeni, i to zupełnie inna sprawa - jeśli miernik częstotliwości również dołączy do tej zabawnej firmy, całkowicie wyrzuci użytkownika z siebie. Zasadniczo potrzebny jest inny sposób. Ale co, jeśli mierzymy okres oscylacji, w ten sposób?
Tak samo też. Biorą sygnał o częstotliwości odniesienia, która jest o kilka rzędów wielkości wyższa niż mierzona, i zastanawiają się, ile okresów sygnału odniesienia minie w jednym okresie mierzonego. Na przykład przy częstotliwości odniesienia 10 MHz i zmierzonej przy 50 Hz będzie to 200 000. Oznacza to, że okres wynosi 20 000,0 ms, a nowoczesny (a przy okazji niezbyt) mikrokontroler, jeśli programista „uczy” tego, z łatwo przelicza okres na częstotliwość równą 50 000 Hz. Jeśli częstotliwość wzrośnie do 50,087 Hz, wówczas w jednym okresie sygnału wejściowego zmieści się 199650 okresów przykładowej, a ta zmiana miernik częstotliwości zauważy w czasie rzeczywistym.
Jednak w przypadku tej metody pomiaru liczba miejsc dziesiętnych maleje wraz ze wzrostem częstotliwości sygnału wejściowego. Na przykład, jeśli wynosi 40 kHz, a referencja nadal wynosi 10 MHz, to przy 40-161 Hz otrzymujemy 249 okresów częstotliwości odniesienia, a przy 39840 Hz - 251 okresów. Co najmniej dwa mierniki częstotliwości są w kolejności: jeden dla wysokich częstotliwości, działający w pierwszy sposób, drugi dla niskich częstotliwości, w drugim. Chociaż - czekaj! Czy nie można łączyć obu metod w jednym mierniku częstotliwości? Możesz, a mistrz mówi jak. Musisz wziąć zwykły wyzwalacz D, a następnie podać jego symbol i tabelę prawdy:
Kreator pokazuje cztery sygnały na wykresie, z których czwarty generuje wyzwalacz:
Pierwszym z tych sygnałów jest zmierzona częstotliwość; jest ona podawana na wejście zegara wyzwalacza D. Druga to częstotliwość odniesienia, na przykład znowu 10 MHz, która wymaga wysokiej stabilności. Trzeci to sygnał o częstotliwości rzędu 1 Hz, którego stabilność wcale nie jest wymagana, jest on stosowany do tego samego wyzwalacza na wejściu D. Cóż, czwarty jest generowany przez wyzwalacz z pierwszego i trzeciego w następujący sposób. Kiedy trzeci sygnał zmienia się z zera na jeden, wyzwalacz nie reaguje natychmiast na to, ale tylko wtedy, gdy taki przełącznik występuje z pierwszym sygnałem później. Zatem przód jednego z impulsów czwartego sygnału pokrywa się dokładnie z przodem jednego z impulsów pierwszego. Następnie trzeci sygnał, a następnie czwarty, przełącza się na zero, na które mikrokontroler w żaden sposób nie reaguje, a następnie trzeci sygnał przełącza się z powrotem na jeden, ale wyzwalacz nie reaguje na niego ponownie natychmiast, ale dopiero po tym samym przełączeniu pierwszego sygnału. I znowu, fronty pierwszego i czwartego sygnału całkowicie się pokrywają. I w pełnym okresie czwartego sygnału mieści się liczba całkowita okresów pierwszego. Dalej - kwestia techniczna: nie zapominaj, że mamy również drugi sygnał. Mikrokontroler oblicza, ile pełnych okresów pierwszego i drugiego sygnału spadło w pełnym okresie czwartego.
Mamy dwie liczby. Na przykład 32 i 10185892. Pomnóż 32 przez 10 000 000 (częstotliwość odniesienia) i podziel przez 10185892. Otrzymujemy 31,416 Hz. Trzy miejsca po przecinku. A pomiar pozostaje dokładny zarówno przy niskich częstotliwościach, jak i wysokich, zbliżając się do modelu. A jeśli chcesz zmierzyć jeszcze wyższe częstotliwości, możesz dodać dzielnik.
Teraz musimy zdecydować, który mikrokontroler ma uruchamiać miernik częstotliwości. Mistrz próbował już je wykonać na ATmega328, a nawet na STM32F407, pracując z częstotliwością zegara 168 MHz. Ale tym razem jest nasycony minimalizmem i postanawia sprawdzić, czy może uzyskać podobny wynik na ATtiny2313.
Ma zbyt wiele wniosków, zwłaszcza jeśli używasz wyświetlacza LED z wbudowanym układem sterownika, takim jak MAX7219:
Pełny schemat urządzenia wygląda następująco:
Dość skomplikowany sterownik dla elementów dyskretnych, zawierający obwody RC, ogranicznik diody i stopnie wzmacniacza, służy do uzyskiwania prostokątnych impulsów z sygnału o prawie dowolnym kształcie. Wyzwalacz D znajduje się na zewnątrz, sygnał mierzonej częstotliwości (pierwsza) jest podawany do niego ze sterownika, sygnały o częstotliwościach 10 MHz i 1 Hz (odpowiednio druga i trzecia) są odbierane z mikrokontrolera, sygnał wyjściowy (czwarty) wraca do mikrokontrolera. Drugi taki wyzwalacz służy do generowania sygnału w punkcie kontrolnym. Dostępny jest ten sam schemat PDF w archiwum ZIP. tutaj.
Po skompilowaniu diagramu mistrz gromadzi na nim miernik częstotliwości, okazuje się, że:
Na zdjęciu, w przeciwieństwie do obwodu, pokazano baterię i kontroler ładowania, stabilizator impulsu jest również wspomniany przez mistrza, ale tam, gdzie jest, nie jest widoczny. Wszystkie te elementy zostały dodane później, co ułatwiło pracę z miernikiem częstotliwości. Baterię 18650 należy zabrać ze sobą, niedopuszczalne jest lutowanie do niej przewodów. Spawanie przedziału lub zgrzewanie punktowe.
Firmware (kłamstwa tutaj również w archiwum ZIP) mistrz pisze, biorąc pod uwagę potrzebę przeniesienia mikrokontrolera z zegara do generatora RC do pracy z zewnętrznego kwarcu, a także możliwość przypisania różnych funkcji do każdego z wyjść mikroukładu:
Aby załadować oprogramowanie układowe, kreator pobiera programator obwodowy od Olimex. To bułgarska firma o profilu zbliżonym do Adafruit.
Mistrz uszczelnia niewielkie wyładowanie na wyświetlaczu, a następnie wycina otwór w pokrywie obudowy, aby wyładowanie było zamknięte, ponieważ jego odczyty były niedokładne pomimo wszystkich podjętych środków.Wpływ na to mają cechy algorytmu i niezbyt wysoka stabilność temperaturowa oscylatora kryształowego. Aby go skonfigurować, master podłącza zewnętrzny miernik częstotliwości do punktu kontrolnego ze stabilizacją częstotliwości generatora zegarowego z odbiornika GPS, po czym ustawia dokładną częstotliwość 5 MHz, obracając kondensator dostrajający (wyzwalacz dzieli częstotliwość zegara na dwa). Prawidłowo dostrojony miernik częstotliwości zapewnia wymaganą dokładność w zakresie mierzonych częstotliwości od 0,2 Hz do 2 MHz. Poniższe dwa zdjęcia pokazują, w jaki sposób master zastosował ten sam sygnał jednocześnie do referencyjnych i zweryfikowanych mierników częstotliwości: