Самый простой частотомер до 10 МГц на микроконтроллере Attiny2313

Это, наверно, самый простой частотомер построенный на микроконтроллере ATtiny2313. Он позволяет измерять частоты до 10 МГц в четырех автоматически переключаемых диапазонах. Наименьший диапазон имеет разрешение 1 Гц.

Технические характеристики частотомера

  • Диапазон 1:   9,999 кГц, разрешение 1 Гц.
  • Диапазон 2:   99,99 кГц, разрешение до 10 Гц.
  • Диапазон 3:   999.9 кГц, разрешение до 100 Гц.
  • Диапазон 4:   9999 кГц, разрешение до 1 кГц. 

Описание частотомера на микроконтроллере

Микропроцессор работает от внешнего кварцевого генератора с тактовой частотой 20 МГц (это является максимально допустимая частота). Точность измерения частотомера определяется точностью данного кварца. Минимальная длина полупериода измеряемого сигнала должна быть больше, чем период кварцевого генератора (это связано с ограничениями архитектуры микроконтроллера ATtiny2313). Следовательно, 50 процентов от тактовой частоты генератора составляет 10 МГц (это максимальное значение измеряемой частоты).

Схема простого частотомера на Attiny2313

Входной сигнал через резистор R1 поступает на вывод 9 микроконтроллера. Подсчет производится с помощью 16-битного таймера-счетчика. Переполнение увеличивает 8-битный регистр, записывая в 24-битной переменной. Далее это значение переводится в десятичное значение и выводится на светодиодный индикатор. Все значения измеряемой частоты всегда отображаются в кГц. Автоматический выбор диапазона изменяет положение десятичной точки. Частота обновления данных составляет 1 Гц.

Для отображения измеренной частоты используется четырехразрядный светодиодный индикатор. Катоды светодиодного индикатора, подключены  к порту B, а аноды к порту D. В связи с использованием мультиплексного режима отображения информации и индикатора SuperBright, пропадает необходимость в применении ключевых транзисторов для снятия нагрузки с портов микроконтроллера.

Частота мультиплекса является 156,25 Гц. Можно применить индикатор CA56-12SRWA. Резисторы R1…R8 ограничивают протекающий ток (он должен быть не более 40 мА).

Данный частотомер   питается от стабилизированного источника 5В, построенного на интегральном стабилизаторе 78L05.

Установка фъюзов (в PonyProg):

фьюзы для attiny2313

Работоспособность частотомера проверена в Proteus:

частотомер в протеусе

Скачать прошивку и модель в Proteus (23,0 Kb, скачано: 2 220)

 источник

редактор

18 комментариев

  • 26.03.2015 в 00:59

    На atmega8 максимально удалось добиться 4Мгц. Частотомер это показал. Классный но нужно подбирать правильное стабильное питание. Если ножка измерения частоты весит в воздухе, то частотомер может показывать всякую белиберду от блока питания(зависит от блока питания). У меня глючил до тех пор, пока я не вытащил блок питания 5вольт из розетки. Расстояние от блока питания до розетки в этот момент было 30 см

    Ответить
  • 26.03.2015 в 01:00

    Нет пока такого генератора у меня который дал бы 9 мгц или 10, но уверен что attiny справляется на ура

    Ответить
  • 22.10.2015 в 21:58

    А програмировать микронтреллер надо прямо на схеме, или отдельно?(новичек в этом деле просто)

    Ответить
  • 19.01.2016 в 01:59

    Стас, судя скрину с фьюзами, можно шиться и внутрисхемно «5-ю проводками». Но никто не мешает и любым другим программатором — если он есть.

    Ответить
  • 18.03.2016 в 22:27

    как прошить —-какой прогроматор надо ? Как подключить к компу . раскажите пожалуста

    Ответить
  • 27.04.2016 в 00:32

    Собрал на макетке. Частотомер ведет себя весьма странно, сперва высвечивает нули, через пару сек. высвечивает 500 Гц и так замирает, а если затем коснуться рукой входа, начинается скачка частот где-то от 8 кгц и вниз, хаотично. Уберешь руку — снова 500Гц. В Протеусе тоже ничего нормально не отображает. В чем может быть причина?

    Ответить
  • 18.07.2016 в 12:16

    Собрал частотомер работает.только показывает заниженную частоту в место 10кГц 1.69кГц. При замене кварца на 4мГц частота в пределах 8 кГц.
    Может кто то подскажет в чем проблема.

    Ответить
  • 30.10.2016 в 20:37

    В Proteus 8 не работает

    Ответить
  • 08.01.2017 в 19:30

    Здраствуйте, прошивка не рабочая ни в живую ни в Proteus, автор отзовитесь???????

    Ответить
    • 21.01.2017 в 01:09

      Прошивка работает, но есть ошибки (см. коммент). Надо править исходник. Кто нибудь знает Assembler ??? Где в коде индикация ???

      Ответить
      • 21.01.2017 в 08:52

        Ничего в прошивке не нужно менять. Схема даже в протеусе работает (добавил в конце статьи).

  • 21.01.2017 в 01:04

    Дисплей перепутан. Разряды 1,2,3,4, а 4,3,2,1. Сегменты G и С поменяны местами. Автор (репостер) !!! Ты что подсунул ???

    Ответить
    • 21.01.2017 в 08:54

      Сегменты G и С не нужно менять.Что касается нумерации разрядов, то в этом вы правы. Схему поправил.

      Ответить
  • 21.01.2017 в 12:23

    В связи с соответствием ника фейсу ))) и по причине отсутствия знаний в области программирования прошу ответить, возможно ли применение индикаторов с ОК в данной конструкции. И, ежели возможно, прошу сделать изменения в прошивке. Думаю, оччень многие будут благодарны. Зараннее спасибо за ответ.

    Ответить
  • 21.01.2017 в 13:16

    Сегменты C и G перепутаны в даташите на АЛС324Б, а вот очередность разрядов… У меня схема в уже в «железе» и распаяна. Мне проще подправить прошивку, чем все переделывать (резать дорожки и лепить перемычки — не наш метод). Персонально для меня (пожалуйста) если не затруднит: разряды в обратном порядке, и сегменты GC поменять местами и скомпилировать в HEX.

    Ответить
  • 23.01.2017 в 23:24

    Всем спасибо ! Я все сделал. Кто еще перепутал разряды индикатора в «железе» вышлю исправленный HEX…

    Ответить
  • 16.04.2017 в 01:50

    Собрал на плате,индикатор использовал E40561-i-BL-O-W с общим анодом синего свечения,резюки-на 1кОм,Attiny 2313 шил через AVR 910(самопал на ATmega 8 -USB программатор),в «Коде визион АВР»….фьюзы выставлял(галочки)-точно так-же как на скрине для «Пони прог».
    Все прекрасно работает,частоту измеряет корректно(проверял по образцовому частотомеру)…но для корректного измерения сигнал должен быть амплитудой около 3в и больше(до 5вольт) на входе и меандр….иначе показывает «левую» частоту….для уменьшения помех-подтянул вход к корпусу через резистор в 100 кОм(SMD….впрочем,как и все элементы на печатке)….плата-размером 70*35мм….потребление-14мА(при 4,9в).
    Собирал его для подборки частоты в металлоискателе….амплитуда выходного сигнала ~0,6в(с генератора)….он ничего не видел(показывал нули),пришлось на вход подпаять усилитель сигнала на BFR91…..после откорректировать входную RC цепочку для получения более-менее корректных показаний(но погрешность все равно появилась….думаю нужен высокочастотный компаратор….но он у нас стоит как МК…не вариант)….после этого-видит входной сигнал амплитудой от 0,5-0,6в….меня устраивает.
    Спасибо автору за разработку…..все просто как пять копеек и вместе с тем довольно точно и компактно(по крайней мере у меня)…..нарисовал печатку в «лауте» и спаял за день.
    Проект реально рабочий!
    Если у вас что-то не работает-ищите косяки!
    Attiny2313 ,брал с буквой A и PU(на рабочую частоту 20МГц).
    Всем-удачи.

    Ответить

Добавить комментарий

Ваш электронный адрес не будет опубликован.

*