Каталог статей

Главная » Все схемы » Схемы устройств на микроконтроллерах » Устройства на микроконтроллерах

Выбранная схема!!!


8016
Измеритель частоты линии на основе обратного счета | Полный проект

Измеритель частоты линии на основе обратного счета | Полный проект

Точное измерение частоты линейного сигнала очень важно во многих приложения, особенно в управлении электросетевыми системами. Для таких задач, как калибровка регуляторов двигателей, работающих на генераторах на электростанциях, требуется разрешение до 0,01 Гц.

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

Концепция измерителя частоты сети

Когда требуемое разрешение отображаемой частоты составляет 1 Гц, прибор становится простым. Прямой подсчет частот — один из многих возможных методов, показанных на рис. 1.

Рис. 1: Блок-схема прямого подсчета частоты

Однако, если требуемое разрешение отличается от 1 Гц, например, 0,1 Гц или 0,01 Гц, значение частоты получается из ее периода. Период измеряется в микросекундах и на его основе рассчитывается частота. Но этот метод страдает ошибками, вызванными детекторами перехода через нуль.

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

Рис. 2. Блок-схема измерения периода

Кроме того, гистерезис, присутствующий в компараторе, может привести к ошибкам обнаружения. На рис. 3 показана причина ошибки измерения периода сигнала.

Рис. 3. Ошибки перехода через нуль, вызванные компараторами

Обратный счетчик — это класс счетчиков, который измеряет период входного сигнала. Но он не использует счетчик с одним или несколькими периодами. Вместо этого он использует два счетчика, называемые событием и временем. Значение частоты можно отобразить непосредственно, приняв величину, обратную измеренному периоду, как показано на рис. 4.

Рис. 4. Диаграмма, показывающая форму сигнала линейной частоты и опорный сигнал

Превосходство метода взаимного подсчета над двумя другими методами представлено ниже:
1. Используется интегральный цикл циклов входного сигнала, чтобы исключить ошибку квантования ±1. Это предотвращает влияние ошибок компаратора на точность.
2. Более высокое разрешение достигается без длительного времени измерения.

Принцип работы

Обобщенный частотомер с обратным счетом показан на рис. 5.

Рис. 5: Блок-схема частотомера общего назначения с обратным счетом

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

Уравнение можно записать так:
Ns x Ts=Nr x Tr

где Ns — количество циклов входной частоты (50 отсчетов в этом case), а Ts — период входного сигнала. Nr — это количество циклов опорной частоты, подсчитанных за это время, а Tr — период опорной тактовой частоты (0,2 миллисекунды или 0,2 мс в этом case).

Частота сигнала определяется следующим образом:
Fs=1/Ts=Ns/(Nr x Tr)
=50/(Количество x 0,2 мс)=250000/Номер

Если частота сети равна ровно 50 Гц, это уравнение даст:
Фс = (250000/5000) = 50

То есть, чтобы получить разрешение 0,01 Гц, значение на дисплее будет 50,00.

Arduino Uno — отличная платформа для измерения частоты сети с использованием метода обратного счета. Упрощенная структурная схема измерителя частоты сети представлена на рис. 6.

Рис. 6: Упрощенная блок-схема измерителя частоты сети

На этом рисунке синусоидальная волна линейного напряжения преобразуется в прямоугольную волну уровней TTL с использованием только транзистора. Этого достаточно, поскольку счетчик событий считает только целые циклы, что исключает ошибки перехода через нуль. Этот прямоугольный сигнал подается на контакт 6 порта Arduino Uno.

Циклы прямоугольных импульсов подсчитываются программным обеспечением и счетчиком событий. Тактовая частота счетчика времени получается из самого Arduino с помощью функции Tone() в коде Arduino, как описано в разделе программного обеспечения. Этот сигнал подается на счетчик Т1.
1. Программное обеспечение счетчика событий считает ровно 50 циклов входного сигнала.
2. Счетчик времени одновременно считает количество опорных импульсов.
3. Затем с помощью простого обратного расчета определяется частота.

В качестве четырехразрядного дисплея для Arduino Uno можно использовать счетчик, аналогичный схемам на базе ICL7217 или NS74C926 (рис. 7). Например, должно быть отображено if 1234, достаточно отправить 1234 тактовых импульса. Но эти счетчики (7217 и им подобные) требуют трех сигналов: сброса, фиксации и тактирования. Для этого потребуется три контакта Arduino.

Примечание

Специальный счетчик под названием ICOUNT доступен от производителя в Мадурае, штат Тамил Наду. Для этого счетчика требуется только один вывод порта от Arduino. Сигналы сброса и фиксации автоматически генерируются ICOUNT. Отображаемое число передается с любого доступного выходного порта Arduino в виде последовательности импульсов. Когда импульсы перестают поступать, дисплей обновляется.

Цепь и работа

Принципиальная схема измерителя линейной частоты с обратным счетом показана на рис. 7. Понижающий трансформатор первичной обмотки 230 В на 12 В-0-12 В, вторичный ток 300 мА (X1) используется для входа источника питания и для получения сигнала на управление транзистором BC547 (T1), который обеспечивает выходной сигнал прямоугольной формы, соответствующий входу линейной частоты.

Рис. 7: Принципиальная схема измерителя частоты сети с обратным счетом

Диод D3 подает только положительные полупериоды синусоиды на базовые резисторы (R1 и R2) транзистора. К этой волне применяется фильтр нижних частот, чтобы подавлять пики, присутствующие в линии. Транзистор насыщается при номиналах показанных резисторов базы и коллектора. Этот прямоугольный сигнал подается на входной контакт 6 Arduino Uno (плата 1).

Программное обеспечение

Код (LFM.ino) написан на языке программирования Arduino. Функция Tone() генерирует тактовый импульс частотой 5 кГц на выводе 8 платы Board1, который подключается к входу Timer1 на выводе 5. Последовательность тактовых импульсов с вывода 12 платы Board1 подается на модуль отображения четырехразрядного счетчика.

Питание +5 В к модулю дисплея берется от самого Arduino (Board1), поскольку необходимый ток очень мал. Авторский прототип с частотой сети 50,08Гц и точностью 0,01Гц показан на рис.8.

Рис. 8: Авторский прототип измерителя частоты сети

ATmega328 программируется с использованием программного обеспечения Arduino IDE. Выберите нужную плату в меню «Инструменты → Плата» в Arduino IDE и запишите программу (эскиз) через стандартный порт USB на вашем компьютере.

Загрузить папку с исходниками: нажмите здесь

П. Приядхаршини и Р. Прити увлекаются электроникой


Категория: Устройства на микроконтроллерах | Добавил: Администратор (20.05.2026)
Просмотров: 77 | Рейтинг: 0.0/0


Всего комментариев: 0

Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов! Подробно тут!
Жалоба

ьте свои комментарии !!!!

Имя *:
Email:
Код *:

Copyright Zloy Soft (Company) © 2008 - 2026