
Появилась необходимость сделать частотомер для настройки бензинового генератора. Т.е. сама по себе задача простая: измерить частоту синусоидального напряжения в пределах 40..70 Гц, но при условии больших шумов и искажений, которые возникают при работе генератора, с точностью около ±0.1 Гц. Когда речь заходит о микроконтроллере ATtiny13, большинство представляет себе простые «мигалки», таймеры, или, в лучшем случае, драйверы фонариков. Но что, если бросить вызов и выжать из этого «малыша» максимум, превратив его в полноценный вычислительный узел. Пожалуй, в рамках одной статьи не получится рассказать обо всем проекте. Прибор получился весьма нагруженный: а) динамическая индикация на одном сдвиговом регистре 74HC164 на 3-х пинах; б) ФНЧ с применением 2-х каскадного БИХ‑фильтра (фильтр с бесконечной импульсной характеристикой или IIR‑фильтр от англ. Infinite Impulse Response) — это линейный цифровой или электронный фильтр, в котором выходной сигнал зависит не только от текущих и прошлых входных значений, но и от предыдущих значений самого выхода); в) аппроксимация точки перехода синусоиды через 0 (для увеличения точности до ±0.1Гц); г) счетчик и табличный преобразователь для получения частоты со сглаживанием результата на 32 измерениях; д) температурная подстройка частоты внутреннего RC‑генератора при помощи датчика ds18b20. Читать далее
Continue to Habr →You are being forwarded in 6s — stay on this page