Самый простой частотомер до 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 015)

 источник

редактор

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

  • 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…

    Ответить

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

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

*