Bascom avr частотомер

Группа: Проверенные. Сообщений: Статус: Offline. Группа: Модераторы.

Поиск данных по Вашему запросу:

Схемы, справочники, даташиты:
Прайс-листы, цены:
Обсуждения, статьи, мануалы:
Дождитесь окончания поиска во всех базах.
По завершению появится ссылка для доступа к найденным материалам.
Содержание:
ПОСМОТРИТЕ ВИДЕО ПО ТЕМЕ: BASCOM AVR CONTROL PWM

Частотомер до 16 МГц на микроконтроллере


В ходе эксплуатации комбинированного прибора [1] программа его микроконтроллера была значительно усовершенствована. Новая версия 2. Новые функции реализованы чисто программным способом, в аппаратную часть прибора никаких изменений вносить не пришлось.

Режим однократной развёртки был с самого начала предусмотрен в осциллографе прибора, однако автор не реализовал его в логическом анализаторе, хотя в нём он не менее полезен. В новой версии программы микроконтроллера это упущение исправлено. Теперь можно говорить, что логический анализатор, как и осциллограф прибора, имеет два режима работы развёртки: регулярный и однократный. Они практически идентичны за двумя исключениями. Во-первых, в логическом анализаторе не измеряется напряжение входного сигнала.

Эта операция здесь не имеет смысла, поскольку исследуются сигналы стандартных логических уровней. Во-вторых, выводимая на экран дополнительная информация о положении информационного кадра на оси времени в режиме логического анализатора не накладывается на область осциллограмм и не мешает их наблюдению. Поэтому её выключение не реализовано за ненадобностью. Пример изображения на экране индикатора в режиме однократной развёртки логического анализатора показан на рис. Изображение на экране индикатора в режиме однократной развёртки логического анализатора.

Из режима регулярной развёртки анализатора в этот режим входят нажатием на клавишу "5". В нём действуют следующие управляющие клавиши:. Полное описание режима однократной развёртки не приводится, так как оно достаточно полно изложено в [2] применительно к осциллографу. Что касается режима измерения частоты, то микроконтроллер семейства ATxmega позволяет реализовать несколько его вариантов.

Наряду с классическим подсчётом числа периодов измеряемого сигнала за единицу времени, таймеры-счётчики этого микроконтроллера способны выполнять прямое измерение периодаследования импульсов входного сигнала, что позволяет легко рассчитать частоту их следования. Достоинство этого метода - малое время измерения, однако приемлемая точность сохраняется лишь до частоты не выше нескольких десятков килогерц.

В связи с этим измерение частоты сигнала в приборе производится упомянутым выше классическим методом. Его принцип прост. Один таймер-счётчик формирует измерительный интервал времени, второй подсчитывает импульсы входного сигналав течение этого интервала.

Если длительность измерительного интервала 1 с, то накопленное за это время во втором счётчике число и есть частота сигнала в герцах. Однако на пути реализации этого метода есть сложности. Во-первых, все таймеры-счётчики микроконтроллера семейства ATxmega [3] - разрядные. Этого явно мало, учитывая, что элементы микроконтроллера работоспособны до частоты 32 МГц. Самый простой путь увеличить максимальную измеряемую частоту - уменьшение измерительного интервала.

Например, сокращение его в четыре раза приведёт к росту в четыре раза максимального значения измеряемой частоты. Одновременно во столько же раз вырастет дискретность её измерения, ведь каждый импульс будет "весить" в четыре раза больше.

Поэтому такой путь нецелесообразен. Добиться увеличения максимальной измеряемой частоты без роста дискретности измерения можно только увеличением разрядности счётчика импульсов входного сигнала. Архитектура микроконтроллера ATxmega даёт такую возможность, позволяя соединять последовательно несколько таймеров-счётчиков.

Чтобы получить разрядный счётчик, достаточно объединить два разрядных таймера-счётчика. Во-вторых, необходимо "довести" входной сигнал от линии порта до таймера-счётчика и заставить последний считать импульсы в широком интервале частоты их следования.

В-третьих, необходимо обеспечить строго синхронную работу всех участвующих в процессе счёта элементов микроконтроллера вне зависимости от работы других его узлов, чтобы избежать разного рода непрогнозируемых сбоев счёта. Преодолеть эти сложности поможет имеющийся в микроконтроллерах семейства ATxmega замечательный инструмент - система событий [4].

С её помощью можно сформировать все необходимые для работы сигналы и транспортировать их от источника до приёмника с минимально возможной и, что очень важно, стабильной задержкой. Функциональная схема реализованного в рассматриваемом приборе частотомера изображена на рис. Аппаратура порта ввода-вывода позволяет анализировать состояние каждой его линии и генерировать события в случае их изменения.

Например, формировать события по каждому нарастающему или спадающему перепаду входного сигнала. Таймеры-счётчики способны считать не только внутренние синхроимпульсы микроконтроллера, но и сигналы событий. Из этого становится понятным, как организован счёт импульсов входного сигнала. Функциональная схема реализованного в рассматриваемом приборе частотомера. Сигнал подают на линию PF3, которая сконфигурирована как вход и генерирует события по нарастающим перепадам сигнала по одному событию на каждый период.

Таймер-счётчик TCC1 работает в режиме счётчика событий, доставляемых по каналу 3 маршрутизатора событий. Он же генерирует и отправляет в канал 4 маршрутизатора события переполнения OVF своего разрядного счётного регистра. Их подсчитывает таймер-счётчик TCD1, настроенный на работу в режиме разрядного счётчика событий, доставляемых по каналу 4.

Раз в секунду по сигналу окончания счётного интервала, формируемого таймером-счётчиком TCF0, настроенного на счёт импульсов синхронизатора микроконтроллера, программа "склеивает" результаты работы таймеров счётчиков TCC1 иTCD1 в одно разрядное слово и присваивает его значение переменной. Затем она перезапускает все таймеры-счётчики, начиная новый цикл измерения частоты. Неточность установки тактовой частоты микроконтроллера, в результате чего реальная длительность измерительного интервала отличается от одной секунды.

У этой погрешности две составляющие: систематическая и случайная. Систематическая составляющая - результат неравенства фактического среднего значения тактовой частоты номинальному.

Она носит постоянный характер, её можно скомпенсировать. О том, как это сделать, будет рассказано ниже. Случайная составляющая погрешности возникает вследствие флюктуации частоты тактового генератора. Факторов, её порождающих, довольно много. Это нестабильность и пульсации питающего напряжения, собственный шум элементов генератора, влияние температуры и пр. В приборах высокого класса для минимизации вредного воздействия подобных факторов применяется целый комплекс мер, вплоть до термостабилизации и виброзащиты тактового генератора.

Однако погрешность этого вида можно только уменьшить, полностью избавиться от неё нельзя. Погрешность дискретизации результата измерения. Она знакома всем, кто когда-либо имел дело с любым цифровым измерительным прибором. Происхождение этой погрешности поясняют графики на рис. В зависимости от взаимного расположения на оси времени границ измерительного интервала и регистрируемых счётчиком перепадов измеряемого сигнала результат счёта может различаться на единицу.

Например, в показанном на рисунке случае может быть сосчитано 6 или 7 импульсов при фактической частоте их повторения около 6,6 Гц при длительности интервале счёта 1 с. Этот эффект сохраняется при любом соотношении измеряемой частоты и интервала счёта. При многократном повторении измерения младшая цифра его результата "скачет" на единицу от цикла к циклу. Относительная величина этой погрешности растёт обратно пропорционально измеряемой частоте.

На частоте в несколько мегагерц и выше погрешностью дискретизации можно пренебречь. Здесь превалирует случайная составляющая длительности измерительного интервала.

При входе в режим частотомера программа соответствующим образом настраивает элементы внутренней структуры микроконтроллера, участвующие в измерении частоты:. Теперь система готова к подсчёту периодов измеряемого сигнала. Более того, он уже ведётся, так как каждое из рассмотренных устройств начинает работать сразу после инициализации.

Но чтобы получить правильный результат, необходимо в момент начала измерительного интервала начать подсчёт событий с нуля. Поэтому цикл измерения следует начинать с одновременного обнуления всех трёх участвующих в нём таймеров-счётчиков. Особенно важно привязать к началу измерительного интервала моменту перезапуска таймера TCF0 момент перезапуска работающего с наибольшей скоростью таймера-счётчика TCC1. Вопрос строгой привязки момента перезапуска таймера-счётчика TCD1 к началу измерительного интервала так остро не стоит.

Первое событие, которое он должен будет сосчитать, произойдёт только при переполнении таймера-счётчика TCC1. Хотя возможность одновременного перезапуска нескольких таймеров-счётчиков в микроконтроллере предусмотрена, но реализуется онатолько через систему событий.

Использовать её в рассматриваемом случае не удаётся, так как таймер-счётчик TCC1 настроен на приём сигналов событий из канала 3 и принимать сигналы событий из других каналов без перенастройки не может. Поэтому подать таймерам-счётчикам команду перезапуска может только процессор, причём только поочерёдно. Цикл измерения частоты состоит из двух этапов: собственно измерения и формирования его результата.

Этап измерения описывают следующие пять строк программы:. Она равна продолжительности выполнения процессором операции перезагрузки таймера-счётчика TCC1. Следом с такой же задержкой процессор перезапускает таймер-счётчик TCD1, после чего начинает ждать момент окончания измерительного интервала. Обнаружив этот флаг, процессор должен запретить таймеру-счётчику TCC1 дальнейший счёт событий периодов измеряемого сигнала. Сделать это можно по-разному. В нашем случае последней операцией этапа измерения процессор просто отключает канал 3 маршрутизатора событий.

Чтобы устранить её, необходимо сделать эти задержки равными. Однако в программе на языке высокого уровня в том числе BASCOM AVR определить точные значения их длительности затруднительно, поскольку программисту неизвестен алгоритм трансляции используемых конструкций языка в машинные команды. Поэтому в реальной программе фрагменты, выполняющие перезапуск таймера-счётчика TCC! Далее рассмотрим реализованный в приборе способ устранения систематической погрешности, связанной с неравенством тактовой частоты микроконтроллера номинальному значению.

Как отмечалось выше, следствие такого несоответствия - отклонение длительности измерительного интервала от требуемого значения 1 с и пропорциональное ему отклонение измеренного значения частоты от фактического. Прежде всего это отклонение нужно измерить. Для этого потребуется образцовый генератор сигнала частотой в несколько мегагерц или комплект из любого достаточно стабильного генератора и образцового частотомера.

Сигнал генератора подают на гнёзда 8 и 3 общий разъёма X5 прибора. После включения прибор переводят в режим частотомера и измеряют им частоту образцового генератора. Измерение нужно повторить раз, после чего вычислить среднее измеренное значение частоты F изм. Поправочный коэффициент вычисляют по формуле. Она обозначена меткой Compensation: для облегчения поиска.


Please turn JavaScript on and reload the page.

Проект Eldigi. В связи с этим на сайте могут быть ошибки. Нашли ошибку? Сигнализация контролирует двери, окна, Просмотров: Простой цифровой спидометр с семисегментным индикатором ATmega8

частотомер на атмега8 и 9-ти разрядном семисегментном индикаторе есть ли у кого наработки в bascom с USB?в сети нашел 1,2.

Косяк с подпрограммами (Bascom AVR)

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

Примеры CodeVisionAVR

Bascom avr частотомер

Последнее время мне очень часто требуется измерять частоту, уж очень много электронных проектов я делаю и поэтому появилось нужда в измерительном приборе - частотомере. Покупать данный прибор - я ещё школьник в 8 классе учусь а такая техника очень дорогая для меня. Сильно большие частоты мне измерять пока нет необходимости, хотя в скором времени возможно будет нужно. И поэтому я решил сделать свой частотомер своими руками! Набросал проект в Proteus , написал прошивку и нарисовал принципиальную схему:.

Он может пригодиться для тактирования каких-либо устройств, проверки шаговых двигателей, в экспериментах с технологиями Теслы.

Новые режимы в комбинированном измерительном приборе

Таймеры помимо прерывания по переполнению, могут работать в режиме захвата значения, это означает что по пришествии импульса на ногу ICP значение счетчика копируется в регистр хранеия Input Capture. Это дает нам возможность измерять время между соседними импульсами изменяющегося сигнала, тобишь его период и далее, если требуется, высчитать частоту. Для примера использую atmega32 и выведу показания на ЖКИ дисплей. Настройка таймера в режим захвата практически такая-же как и в режиме прерывания по переполнению. Необходимо указать предделитель счетчика:.

Устройства на микроконтроллерах Atmel серии AVR

Иногда, программа зашитая в микроконтроллера работает совсем не так как надо её создателю. Тогда наступает стадия отладки Отлаживать — избавлять программу от лажи :- прим. Одним словом вариантов тут масса. Довольно долгое время у меня в заначке валялся старый, уже не выпускающийся контроллер AT90S И в один прекрасный день, когда в очередной раз чайник на кухне убежал, я нашел применение этому контроллеру.

Иногда, программа зашитая в микроконтроллера работает совсем не так как надо её создателю. Тогда наступает стадия отладки (Отлаживать.

Использование таймера в режиме захвата. Измерение ширины, скважности и частоты сигнала

Предделитель рассчитывается исходя из того, какую необходимо получить частоту работы таймера. По поводу F5 надо посмотреть на той ли шине там вообще висит таймер. А кстати, в твоем примере таймер 8 используется, а прерывание таймера 9.

С помощью него можно выполнять множество полезных действий — контролировать напряжение, обрабатывать различные сигналы с сенсоров и датчиков, преобразовывать аналоговый аудио сигнал в цифровую форму и тд. Так что же представляет из себя АЦП? Аналого-цифровой преобразователь конвертирует входящий аналоговый сигнал напряжение в цифровую форму. Разрешение преобразователя указывает на то количество дискретных значений которое он может дать.

Re: пассики для проигрывателей винила Re: Динамическая индикация на LCD дисплее

Новые книги Шпионские штучки: Новое и лучшее схем для радиолюбителей: Шпионские штучки и не только 2-е издание Arduino для изобретателей. Обучение электронике на 10 занимательных проектах Конструируем роботов. Руководство для начинающих Компьютер в лаборатории радиолюбителя Радиоконструктор 3 и 4 Шпионские штучки и защита от них. Сборник 19 книг Занимательная электроника и электротехника для начинающих и не только Arduino для начинающих: самый простой пошаговый самоучитель Радиоконструктор 1 Обновления Подавитель сотовой связи большой мощности. Bascom-AVR 1.

Прибор представляет собой измерительный комплекс, включающий в себя измеритель АЧХ, КСВ-метр, измеритель импеданса, генератор, милливольтметр. Основой прибора является микроконтроллер ATMega В качевстве детекторов используются AD и AD В качевстве генератора работает ддс AD с тактовой частотой МГц.




Комментарии 4
Спасибо! Ваш комментарий появится после проверки.
Добавить комментарий

  1. Васса

    Я извиняюсь, но, по-моему, Вы допускаете ошибку. Давайте обсудим.

  2. Изабелла

    Авторитетный ответ, заманчиво...

  3. ciaveho

    отличный пример стоящего материала. благо, автор просто гений.

  4. Рената

    первая самая лутшая