Вот еще один частотомер. В сети их великое множество: хороших и не очень, работающих и не очень.
Кроме того, на русскоязычных сайтах практически не поднимается вопрос формирователя входного сигнала, а это очень важно.
В Atmega8 есть такой таймер - Timer0, который может не только определять время, но и подсчитывать внешние импульсы через пин 8 - PD.4(T0). Таймер 0 не зависит от программы и всегда работает. Таймер 0 предназначен для подсчета импульсов, а таймер 1 определяет время в одну секунду. Таймер 0 восьми битный и может считать только до 256, при достижении этой величины (переполнении) инициируется прерывание. В прерывании каждое переполнение сохраняем. Все это обрабатывается через одну секунду в прерывании, вызванном таймер 1.
Теперь о формирователе входного сигнала. Во первых строках сообщаю, что без применения предварительного делителя, не смотря на все мои ухищрения, измерить больше 6 мГц мне не удалось. Я перепробовал все варианты, которые удалось найти.
Очень хорошую идею применения 74HC4060 я почерпнул здесь: http://www.darc.de/distrikte/c/selbstbauprojekte, далее DJ3YB и ещё далее - 08_Frequenzzähler.zip.
Прямую ссылку не даю - автор против того, что его файлы выкладывают.
Я дополнил схему полевым транзистором и остался доволен.
Как все это работает, я думаю ясно. Видимо ясно и то, что полностью собирать формирователь нужно только при необходимости.
Транзистор КП303 не обладает теми же свойствами, что и современные мосфеты, но его применение тоже оправдано.
Схема, прошивка, исходник, печатка формирователя.
13.10.2015
Формирователь на полевом транзисторе с изолированным затвором.
Обладает очень высоким входным сопротивлением и малой емкостью.
Транзистор с двумя изолированными затворами есть в любом тюнере.
С уважением, Вадим Муравъёв.
|