Не так часто приходится узнавать именно частоту переменного тока, по сравнению с такими показателями, как напряжение и сила тока. Например, для того чтобы измерить силу тока можно воспользоваться измерительными клещами, для этого даже необязательно контактировать с токопроводящими частями, да и напряжение проверяет любой стрелочный или цифровой мультиметр. Однако, чтобы проверить частоту, с какой меняется полярность в цепях переменного тока, то есть количество его полных периодов, используется частотомер. В принципе, прибор с таким же названием может измерять и количество механических колебаний за определённый период времени, но в этой статье речь пойдёт исключительно об электрической величине. Далее мы расскажем, как проводится измерение частоты переменного тока мультиметром и частотомером.
Постоянный и переменный ток
Из курса физики известно, что электрический ток представляет собой направленное движение электронов.
У постоянного тока полярность заряженных частиц неизменна. Поэтому все устройства, рассчитанные на работу от него, всегда имеют маркировку полярности для корректного подключения их к сети. В противном случае прибор просто не заработает, также может выйти из строя.
Переменный ток в этом плане более безопасен. Так как его полярность постоянно меняется, она не оказывает губительного влияния на подключенные электроприборы. На вилках приборов и розетках переменного тока нет обозначений полярности, поэтому их можно смело включать в сеть, не задумываясь о верном положении контактов.
Но основным достоинством переменного тока являются большие возможности регулировки напряжения сети при помощи трансформаторов. Именно поэтому переменный ток получил гораздо большее распространение во всем мире, чем постоянный.
Какие приборы можно использовать
Классификация частотомеров
Все данные приборы делятся на две основные группы по области их применения:
- Электроизмерительные. Применяются для бытового или же производственного измерения частоты в цепях переменного тока. Их используют при частотной регулировке оборотов асинхронных двигателей, так как вид частотного измерения оборотов, в этом случае, самый эффективный и распространённый.
- Радиоизмерительные. Нашли применение исключительно в радиотехнике и могут измерять широкий диапазон высокочастотного напряжения.
По конструкции частотомеры делятся на щитовые, стационарные и переносные. Естественно, переносные более компактные, универсальные и мобильные устройства, которые широко применяются радиолюбителями.
Для любого типа частотомера самыми важными характеристиками, на которые, в принципе, и должен обращать внимание человек при покупке, являются:
- Диапазон частот, которые прибор сможет измерить. При планировании работы именно со стандартной промышленной величиной 50 Гц, нужно внимательно ознакомиться с инструкцией, так как не все приборы её смогут увидеть.
- Рабочее напряжение в цепях, в которых будут проходить измерительные работы.
- Чувствительность, эта величина более важна для радиочастотных устройств.
- Погрешность, с которой он может производить замеры.
Мультиметр с функцией измерения частоты переменного тока
Самый распространенный прибор, с помощью которого можно узнать величину частотных колебаний и который находится в свободном широком доступе — это мультиметр. Нужно обращать своё внимание на его функциональные возможности, так как не каждый такой прибор сможет измерить частоту переменного тока в розетке или же другой электрической цепи.
Такой тестер выполняется чаще всего очень компактным, для того чтобы в сумке он легко помещался, и был максимально функциональным, измеряющим помимо частоты также напряжение, ток, сопротивление, а иногда даже температуру воздуха, ёмкость и индуктивность. Современный вид мультиметра и его схема основаны чисто на цифровых электронных элементах, для более точного измерения. Состоит такой мультиметр из:
- Жидкокристаллического информативного индикатора для отображения результатов измерения, расположенного, чаще всего, в верхней части конструкции.
- Переключателя, в основном, он выполнен в виде механического элемента, позволяющего быстро перейти от измерения одних величин к другим. Нужно быть очень осторожным, так как, допустим, если измерять напряжение, а переключатель будет стоять на о, то есть сила тока, тогда следствием этого неминуемо будет короткое замыкание, которое приведёт не только к выходу со строя прибора, но может вызвать и термический ожог дугой рук и лица человека.
- Гнезд для щупов. С их помощью непосредственно происходит электрическая связь прибора с измеряемым токопроводящим объектом. Провода не должны иметь потрескиваний и изломов изоляции, особенно это касается их наконечников, которые будут находиться в руках измеряющего.
Хотелось бы также упомянуть о специальных приставках к мультиметру, которые существуют и разработаны специально для того, чтобы увеличить число функций обычного прибора со стандартным набором.
Почему важна частота переменного тока?
В бытовых и промышленных электрических сетях повсеместно используется переменный ток. Для нормальной работы любых приборов и оборудования крайне важно, чтобы частота тока была постоянной. В случае ее колебаний более чем на 1% заметно снижается эффективность работы любых подключенных к сети машин и механизмов, бытовых приборов.
В промышленном производстве резкое изменение частоты используемого тока может привести к возникновению производственного брака и даже поломке оборудования.
Существует стандарт частоты электрического тока:
- 50 Гц – Россия, страны бывшего СССР, Европы, Прибалтики, КНДР, Австралия;
- 60 Гц – США, Канада, Тайвань, Южная Корея, Куба, Коста-Рика и другие.
А вот, к примеру, в Японии используются обе частоты. В западных регионах страны стандартной является частота 60 Гц, а в восточных – 50 Гц.
Какие приборы можно использовать
Классификация частотомеров
Все данные приборы делятся на две основные группы по области их применения:
- Электроизмерительные. Применяются для бытового или же производственного измерения частоты в цепях переменного тока. Их используют при частотной регулировке оборотов асинхронных двигателей, так как вид частотного измерения оборотов, в этом случае, самый эффективный и распространённый.
- Радиоизмерительные. Нашли применение исключительно в радиотехнике и могут измерять широкий диапазон высокочастотного напряжения.
По конструкции частотомеры делятся на щитовые, стационарные и переносные. Естественно, переносные более компактные, универсальные и мобильные устройства, которые широко применяются радиолюбителями.
Для любого типа частотомера самыми важными характеристиками, на которые, в принципе, и должен обращать внимание человек при покупке, являются:
- Диапазон частот, которые прибор сможет измерить. При планировании работы именно со стандартной промышленной величиной 50 Гц, нужно внимательно ознакомиться с инструкцией, так как не все приборы её смогут увидеть.
- Рабочее напряжение в цепях, в которых будут проходить измерительные работы.
- Чувствительность, эта величина более важна для радиочастотных устройств.
- Погрешность, с которой он может производить замеры.
Мультиметр с функцией измерения частоты переменного тока
Самый распространенный прибор, с помощью которого можно узнать величину частотных колебаний и который находится в свободном широком доступе — это мультиметр. Нужно обращать своё внимание на его функциональные возможности, так как не каждый такой прибор сможет измерить частоту переменного тока в розетке или же другой электрической цепи.
Такой тестер выполняется чаще всего очень компактным, для того чтобы в сумке он легко помещался, и был максимально функциональным, измеряющим помимо частоты также напряжение, ток, сопротивление, а иногда даже температуру воздуха, ёмкость и индуктивность. Современный вид мультиметра и его схема основаны чисто на цифровых электронных элементах, для более точного измерения. Состоит такой мультиметр из:
- Жидкокристаллического информативного индикатора для отображения результатов измерения, расположенного, чаще всего, в верхней части конструкции.
- Переключателя, в основном, он выполнен в виде механического элемента, позволяющего быстро перейти от измерения одних величин к другим. Нужно быть очень осторожным, так как, допустим, если измерять напряжение, а переключатель будет стоять на о, то есть сила тока, тогда следствием этого неминуемо будет короткое замыкание, которое приведёт не только к выходу со строя прибора, но может вызвать и термический ожог дугой рук и лица человека.
- Гнезд для щупов. С их помощью непосредственно происходит электрическая связь прибора с измеряемым токопроводящим объектом. Провода не должны иметь потрескиваний и изломов изоляции, особенно это касается их наконечников, которые будут находиться в руках измеряющего.
Как измерить частоту мультиметром?
В обычном быту не так часто приходится измерять частоту электротока, поскольку в сети она поддерживается централизованно. Отклонения, если они и есть, составляют менее 1%.
Определить частоту тока, выдаваемого каким-либо прибором можно с помощью специального прибора частотометра. Но в наборе домашнего мастера такие устройства встречаются редко. Их в основном используют профессионалы. А вот цифровой мультиметр в настоящее время есть практически у каждого.
Некоторые (не все) модели мультиметров снабжены функцией измерения частоты переменного тока. Если она есть, то узнать данный параметр будет несложно.
Порядок действий следующий:
- Щупы подключают в соответствующие гнезда, согласно инструкции.
- Переключатель режимов устанавливают на измерение частоты переменного тока.
- Для начала можно померить частоту в сети 220 В. Она поддерживается поставщиком электроэнергии и равна 50 Гц. Производится измерение частоты мультиметром путем присоединения щупов прибора к контактам розетки. Если результат будет несколько отличаться от стандартной частоты, это следует учитывать как погрешность прибора. И при следующих замерах делать на нее поправку.
- Далее можно измерить параметр частоты того устройства, которое вас интересует.
Таким образом, мультиметр позволяет с достаточной точностью определить частоту тока в сети или на выходе электрических генераторов, преобразователей, фильтрующих устройств.
Теперь вы знаете, как измерить частоту мультиметром. Желаем безопасных и точных измерений!
Схема простого частотомера
Схема частотомера довольно простая, большинство функций выполняет микроконтроллер. Единственное, для микроконтроллера необходим усилительный каскад, чтобы увеличить входное напряжения с 200-300 мВ до 3 В. Транзистор, включенный по схеме с общим эмиттером, обеспечивает псевдо-TTL сигнал, поступающий на вход микроконтроллера. В качестве транзистора необходим какой-нибудь «быстрый» транзистор, я применил BFR91 — отечественный аналог КТ3198В.
Напряжение Vкэ устанавливается на уровне 1.8-2.2 вольта резистором R3* на схеме. У меня это 22 кОм, однако может потребоваться корректировка. Напряжение с коллектора транзистора прикладывается к входу счетчика/таймера микроконтроллера PIC, через последовательное сопротивление 470 Ом. Для выключения измерения, в PIC задействываются встроенные pull-down резисторы. В PIC реализован 32-битный счетчик, частично аппаратно, частично софтово. Подсчет начинается после того, как выключаются встроенные pull-down резисторы микроконтроллера, продолжительность составляет точно 0.4 секунды. По истечении этого времени, PIC делит полученное число на 4, после чего прибавляет или отнимает соответствующую промежуточную частоту, для получения реальной частоты. Полученная частота конвертируется для отображения на дисплее.
Для того, чтобы частотомер работал правильно, его необходимо откалибровать. Проще всего это сделать так: подключить источник импульсов с заранее точно известной частотой и вращая подстроечный конденсатор выставить необходимые показания. Если данный метод не подходит, то можно воспользоваться «грубой калибровкой». Для этого, выключите питание прибора, а 10 ножку микроконтроллера подсоедините на GND. Затем, включите питание. МК будет измерять и отображать внутреннюю частоту.
Если вы не можете подстроить отображаемую частоту (путем подстройки конденсатора 33 пФ), то кратковременно подсоедините вывод 12 или 13 МК к GND. Возможно, что это нужно будет сделать несколько раз, так как программа проверяет эти выводы только один раз за каждое измерение (0.4 сек). После калибровки, отключите 10 ногу микроконтроллера от GND, не выключая при этом питания прибора, чтобы сохранить данные в энергонезависимой памяти МК.
Печатную плату рисовал под свой корпус. Вот что получилось, при подаче питания выскакивает кратковременно заставка и частотомер переходит в режим измерения, тут на входе нет ни чего:
Программная часть
Код для ATtiny414
При написании кода для ATtiny414 и его обвязки мне пригодилась документация AVR1000b: Getting Started with Writing C-Code for AVR MCUs. Кроме того, при выборе символов для конкретных настроек регистра, будет нелишним почитать iotn414.h, который находится у вас на ПК в megaTinyCore.
OLED дисплей
В интерфейсн дисплея я задействовал те же функции, что и во многих прежних проектах, например Tiny Function Generator, где использовался такой же OLED дисплей I2C. Текст отрисовывается при помощи набора символом размером 6х8 пикселей, но при удвоенном масштабе для получения символов 12х16 пикселей используется функция сглаживания, описанная мной в Smooth Big Text.
Обратите внимание, что на ATtiny414 в megaTinyCore размер буфера I2C с целью экономии ОЗУ составляет всего 16 байт, поэтому мне пришлось изменить функции ClearDisplay и PlotChar() на отправку данных меньшими порциями.
Функцию Plotlnt() я подкорректировал на отображение запятых между каждой тройкой цифр, чтобы облегчить их чтение.
Часы реального времени
Настраивать RTC на использование внешнего кристалла сложнее, чем может показаться, поскольку контроллер часов защищен от случайного вмешательства со стороны протокола изменения конфигурации (CCP). По этой причине перед каждым внесением корректировок необходимо это действие активировать. Хорошо, что в приложении есть примечание, объясняющее, как это делать, и код я писал на примере из этого примечания.
Таймер/счетчик TCD0
TCD0 настроен вести отсчет от 0 до 0xFFF и захватывать значение счетчика в регистр CAPTUREB при получении события B. Он генерирует прерывания при событии захвата, а также при переполнении счетчика, и тактируется от внешнего сигнала, поступающего через вывод EXTCLK/PA3: void TCDSetup () { TCD0.CTRLB = TCD_WGMODE_ONERAMP_gc; // Установка режима счетчика TCD0.CMPBCLR = 0xFFF; // Отсчет до максимума TCD0.INPUTCTRLB = TCD_INPUTMODE_EDGETRIG_gc; // Захват и сброс счетчика TCD0.EVCTRLB = TCD_CFG_ASYNC_gc | TCD_ACTION_bm | TCD_TRIGEI_bm; // Активация события TCD0.INTCTRL = TCD_OVF_bm | TCD_TRIGB_bm; // Активация прерываний // ожидание установки бита ENRDY while(!(TCD0.STATUS & TCD_ENRDY_bm)); // Внешний тактовый сигнал, без делителя, активация таймера TCD0.CTRLA = TCD_CLKSEL_EXTCLK_gc | TCD_CNTPRES_DIV1_gc | TCD_ENABLE_bm; } Служба прерываний при переполнении инкрементирует счетчик MSByte для старшей части значения частоты: ISR (TCD0_OVF_vect) { TCD0.INTFLAGS = TCD_OVF_bm; // Очистка флага прерывания по переполнению MSByte++; } Служба прерывания при захвате считывает регистр захвата и совмещает его значение с MSbyte, формируя значение Counter. ISR (TCD0_TRIG_vect) { PORTA.IN = PIN4_bm; // Включение светодиода TCD0.INTFLAGS = TCD_TRIGB_bm; // Очистка флага прерывания по перехвату Counter = TCD0.CAPTUREB; Counter = (uint32_t)MSByte<<12 | Counter; MSByte = 0; Ready = true; PORTA.IN = PIN4_bm; // Отключение светодиода TCD0.INTFLAGS = TCD_OVF_bm; // Очистка флага прерывания по переполнению } Она также зажигает светодиод, сигнализируя о выполнении захвата. Если вам это не нужно, можете светодиод исключить.
События
Для того, чтобы задействовать события, нужно настроить переполнение RTC на генерацию события в канале 1, а TCD0 на использование этого события для выполнения захвата: void EvsysSetup (void) { EVSYS.ASYNCCH1 = EVSYS_ASYNCCH1_RTC_OVF_gc; // Событие, сгенерированное RTC OVF EVSYS.ASYNCUSER7 = EVSYS_ASYNCUSER7_ASYNCCH1_gc; // Событие вызывает захват TCD0 EVSYS.ASYNCCH0 = EVSYS_ASYNCCH0_PORTA_PIN1_gc; // PA1 – это генератор событий EVSYS.ASYNCUSER8 = EVSYS_ASYNCUSER8_ASYNCCH0_gc; // ASYNCUSER8 – это EVOUT0 (PA2) PORTMUX.CTRLA = PORTMUX_EVOUT0_bm; // Активация EVOUT0 PORTA.PIN1CTRL = PORT_INVEN_bm; // Инвертирование входа } Канал событий 0 служит для создания инвертора между PA1 и PA2, который, как говорилось выше, будет выступать в качестве кварцевого резонатора.
Основной цикл
Основной цикл ожидает установки глобальной переменной Ready, что укажет на выполнение захвата. Затем он копирует значение Counter в temp. При этом прерывания отключены, чтобы исключить возможное изменение этого значения службой прерываний в процессе его отображения: void loop() { uint32_t temp; unsigned long start = millis(); while (!Ready) { if (millis() — start > 1000) { Counter = 0; break; } } Ready = false; cli(); temp = Counter; sei(); PlotInt(temp, 1, 0); } При отсутствии входного сигнала TCD0 не тактируется, и значение Counter не обновляется. Для проверки подобной ситуации присутствует односекундный таймаут, который сбрасывает Counter на ноль, если Ready не была установлена. Нулевое значение отображается функцией PlotInt() в виде трех прочерков.
Использование системы событий
Я мог использовать RTC для генерации прерывания каждую секунду, а затем захватывать значение счетчика из TCD0 через программу обработки прерываний. Тем не менее последние процессоры AVR предоставляют систему событий (Event System), позволяющую реализовать это более эффективно.
Можно сгенерировать внутренний сигнал с RTC и с помощью него непосредственно активировать захват. Преимущество здесь в том, что вызов службы прерываний не требует лишней обработки, в результате чего ответ возвращается практически мгновенно.
Компиляция
Для компиляции используйте megaTinyCore Спенса Конде c GitHub. В меню Board под вкладкой megaTinyCore выберите опцию ATtiny1614/1604/814/804/441/404/241/204. Проверьте, чтобы следующие опции были установлены так (на остальные внимания не обращайте): Chip: «ATtiny414» Clock: «20 MHz Internal» millis()/micros(): «TCA0 (default on 0-series)» Затем с помощью программатора UPDI загрузите программу на ATtiny414. Теперь megaTinyCore поддерживает две возможности:
- Создание программатора UPDI из Arduino Uno или другой платы на базе ATmega328P (инструкция на странице Make UPDI Programmer) и установку опции Programmer на jtag2updi.
- Использование платы USB-Serial, такой как SparkFun FTDI Basic, подключение TX к выводу UPDI через резистор 4.7кОм, подключение RX напрямую к выводу UPDI и установку опции Programmer на Serial port and 4.7k (pyupdi style).
Ошибку «Cannot locate flash and boot memories in description» можете проигнорировать.
Если же возникнет такая ошибка:
(.text+0x0): multiple definition of __vector_14 Это значит, что вы не установили опцию millis()/micros() как TCA0, о чем говорилось выше.
Вот вся программа для частотомера до 100МГц: 100MHz Frequency Meter Program.
Использование таймера/счетчика TCD0
Об использовании TCD0 я задумался просто между делом. Это 12-битное устройство, но, в отличие от большинства своих аналогов, работает оно асинхронно, то есть независимо от тактов процессора.
В первую очередь TCD0 предназначен для генерации сигналов, например при управлении электродвигателем, и я даже не знаком со многими из его возможностей. Однако мне показалось, что с его помощью вполне можно реализовать захват значения счетчика, работающего под управлением часов реального времени.
Опытным путем я выяснил, что TCD0 можно тактировать на частоте более 100МГц, что позволило бы собрать очень простой частотомер с нужным мне диапазоном действия без делителя.
Резонансные геркономеры
Резонансные герконы обычно работают на более низких частотах и поэтому редко используются в ВЧ приложениях. Однако их низкие частоты делают их пригодными для настройки двигателей и других устройств, использующих приложенную мощность переменного тока. Из-за своей простой механической работы резонансные язычковые измерители менее точны, чем измерители отклонения, но достаточно прочные, чтобы их можно было использовать для полевых измерений.
Рид-измерители просто состоят из набора металлических язычков, настроенных на разные частоты. Когда на измеритель подается питание переменного тока, язычок, наиболее близкий по частоте к сигналу, будет вибрировать сильнее, чем другие, вызывая звуковой сигнал на этой частоте. Это показано на изображении ниже. Поскольку подаваемое напряжение 120 В переменного тока правильно настроено на 60 Гц, центральный язычок на 60 Гц вибрирует сильнее других.
Точность
Для проверки этого проекта мне нужно было найти способ генерировать точные сигналы с частотой до 100МГц, но такого генератора у меня нет. Точность моего предыдущего проекта, Programmable Signal Generator, составляет всего 1.1%, чего для данного случая будет явно недостаточно, к тому же его верхний предел всего 68МГц.
В связи с этим я купил коммутационную плату генератора тактовых импульсов Si5351A от Adafruit, которую можно через I2C запрограммировать на генерацию сигналов от 8кГц до 160МГц (еще есть вариант аналогичной платы на Banggood). Управление ей я реализовал через прекрасную библиотеку Si5351 Джейсона Миллдрама, работающую на Arduino Uno.
Точность частотомера в первую очередь зависит от точности кристалла, используемого для генерации дискретизированного сигнала 1Гц. Я использовал цилиндрический кристалл с заявленной точностью 20ppm. Звучит неплохо, пока не вычислишь, что при входном сигнале 100МГц это эквивалентно ±2000Гц. На практике же его точность в целом оказалась раз в 5-10 выше заявленной.