ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Обоснование алгоритма решения задачиДля получения требуемой точности можно подсчитать количество импульсов сетевого напряжения за 10 с. Такой алгоритм не проходит по быстродействию. Другой способ основан на измерении периода сетевого напряжения и оценке частоты по формуле f = 1/ T. Если период измерять в секундах, то получаем значение частоты в герцах. Точность определения частоты зависит от точности измерения периода и точности выполнения операции деления. При использовании микроконтроллеров следует ориентироваться на работу с целыми числами. Типичные погрешности, учитываемые при этом – погрешность дискретизации и погрешность округления. Будем измерять период сети в микросекундах. Для типового значения частоты 50 Гц период T составляет 20000 мкс. С помощью 16-разрядного таймера, работающего на частоте 1 МГц, можно измерить период до 65 мс, что соответствует частоте порядка 17 Гц. При частоте 99 Гц период равен 10101 мкс, т.е. таймер позволит измерить его с высокой точностью (погрешность дискретизации порядка 0,01%).
Основное рабочее соотношение f .
Для того чтобы работать с целыми числами и гарантировать точность цифры десятых долей герца после выполнения целочисленного деления и округления будем рассчитывать значение частоты по формуле
и после вычисления f в виде трехразрядного десятичного числа добавлять точку перед последней цифрой при выводе информации на табло. Например, при Т =20500 мкс получаем и . На цифровых индикаторах нужно зажечь значение частоты 48.8 Гц. Выбираем микроконтроллер ATmega16 с кварцем на 8 МГц (время выполнения простейших команд 1/8 мкс). Функциональная схема устройства с распределением функций портов показана на рис.11. Порт РА используется для вывода информации на индикаторную панель. Порт РВ используется для программирования микроконтроллера (например, с помощью интерфейса «пять проводков» он подключается к СОМ-порту персонального компьютера). Прямоугольные импульсы с частотой сети, формируемые на выходе триггера Шмидта, будем подавать на вход INT0 (вторая линия порта PD). Запустив в основной программе таймер/счетчик Т1 в требуемый режим работы, поручим основные функции по решению задачи подпрограмме внешнего аппаратного прерывания по нарастающему фронту INT0: · Останов Т1 · Чтение периода (TCNT1L+TCNT1H*256) · Сброс Т1 · Новый запуск Т1 · Вычисление значения частоты · Вывод данных на индикаторную панель
Полагаем, что на реализацию указанных действий будет затрачено время не более 10 мс и к началу нового периода микроконтроллер будет готов повторить описанный алгоритм в новой подпрограмме прерываний. Рисунок 11 – Функциональная схема измерителя частоты сети
Не нашли, что искали? Воспользуйтесь поиском:
|