Оглавление:

Регистратор данных мониторинга переменного тока: 9 шагов (с изображениями)
Регистратор данных мониторинга переменного тока: 9 шагов (с изображениями)

Видео: Регистратор данных мониторинга переменного тока: 9 шагов (с изображениями)

Видео: Регистратор данных мониторинга переменного тока: 9 шагов (с изображениями)
Видео: РЗ #84 Регистраторы аварийных событий (РАС) 2024, Июль
Anonim
Регистратор данных мониторинга переменного тока
Регистратор данных мониторинга переменного тока

Всем привет, добро пожаловать на мой первый инструктаж! Днем я работаю инженером-испытателем в компании, поставляющей промышленное отопительное оборудование, а ночью я заядлый любитель технологий и DIY'er. Часть моей работы включает в себя тестирование производительности нагревателей, в этом случае я хотел иметь возможность отслеживать среднеквадратичное потребление тока 8 устройств в течение 1000 часов и регистрировать данные для построения графика результатов позже. У меня есть доступ к регистратору данных, но он уже был задействован в другом проекте, и мне нужно было что-то недорогое, поэтому я решил собрать этот базовый регистратор данных.

В проекте используется Arduino Uno для считывания аналоговых датчиков через аналого-цифровой преобразователь (АЦП) и записи данных с отметкой времени на SD-карту. При разработке схем задействовано много теории и расчетов, поэтому вместо того, чтобы объяснять абсолютно все, я просто покажу вам, как это сделать. Если вы заинтересованы в том, чтобы увидеть ПОЛНЫЙ хит, дайте мне знать в комментариях, и я объясню дальше.

ЗАМЕТКА:

У меня было много вопросов о расчетах True RMS. В этом устройстве используется полуволновой выпрямитель для захвата пика волны, который затем можно умножить на 0,707, чтобы получить среднеквадратичное значение. Следовательно, точный результат будет получен только при линейных нагрузках (т. Е. Измеряемый ток является чистой синусоидой). Нелинейные источники питания или нагрузки, которые дают треугольные, прямоугольные или любые другие несинусоидальные формы сигналов, не дадут истинного расчета среднеквадратичного значения. Это устройство измеряет только переменный ток, оно не предназначено для измерения напряжения, следовательно, оно не рассчитывает и не измеряет коэффициент мощности. Пожалуйста, посмотрите мои другие инструкции о том, как создать измеритель коэффициента мощности, который можно использовать для этого. Многие люди также сказали, что прямая связь по переменному току с центральной линией 2,5 В лучше, однако это приводит к осложнениям, поскольку включает достаточно высокую частоту дискретизации, надежное усреднение / сглаживание данных и т. Д., А неопределенность, которую это вносит, намного выше, чем при измерении. необработанное значение. Лично я предпочитаю аппаратные решения и, где возможно, более простой код, поэтому мне этот метод неинтересен. С точки зрения точности, я считаю, что это намного лучше, чем последнее, и позже вы увидите в моих результатах, что после калибровки коэффициент регрессии близок к 1,0.

Шаг 1: трансформаторы тока

Трансформаторы тока
Трансформаторы тока
Трансформаторы тока
Трансформаторы тока

В этом проекте используется трансформатор тока HMCT103C 5A / 5MA. Он имеет соотношение витков 1: 1000, что означает, что на каждые 5 А тока, протекающего по проводнику, 5 мА будет проходить через трансформатор тока. К двум клеммам ТТ необходимо подключить резистор, чтобы на нем можно было измерить напряжение. В этом случае я использовал резистор 220 Ом, поэтому, используя закон Ома V = IR, на выходе ТТ будет 1,1 В переменного тока на каждые 5 мА тока ТТ (или каждые 5 А измеренного тока). Трансформаторы трансформаторов тока были припаяны к плате снятия изоляции с резистором и некоторым приборным проводом для создания выводных выводов. Я закончил провода штекерами аудиоразъема 3,5 мм.

Вот техническое описание трансформатора тока.

Техническая спецификация

Шаг 2: формирование сигнала

Преобразование сигнала
Преобразование сигнала
Преобразование сигнала
Преобразование сигнала

Сигнал от CT будет слабым, поэтому его необходимо усилить. Для этого я спаял простую схему усилителя, используя двухканальный операционный усилитель uA741. В этом случае коэффициент усиления устанавливается равным 150 по формуле Rf / Rin (150k / 1k). Однако выходной сигнал усилителя по-прежнему является переменным, диод на выходе операционного усилителя отсекает отрицательный полупериод переменного тока и передает положительное напряжение на конденсатор емкостью 0,1 мкФ, чтобы сгладить волну в пульсирующий сигнал постоянного тока. Ниже приведены детали, составляющие схему:

  • V1 - это произвольно на этой диаграмме, это просто представляет собой напряжение сигнала, которое подается на неинвертирующий вход операционного усилителя.
  • R1 - он известен как резистор обратной связи (Rf) и установлен на 150 кОм.
  • R2 - он известен как входной резистор (Rin) и установлен на 1 кОм.
  • 741 - Это интегрированная схема uA741
  • VCC - Положительная шина питания + 12В
  • VEE - Отрицательная шина питания -12В
  • D1 - Сигнальный диод 1N4001, выпрямляющий внутреннюю волну
  • C3 - Этот конденсатор удерживает сигнал постоянного тока в течение заданного времени.

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

Шаг 3: Источник питания

Источник питания
Источник питания
Источник питания
Источник питания
Источник питания
Источник питания

Если вам не нравится делать это с нуля, вы можете купить предварительно собранную плату из Китая, как показано на рисунке выше, но вам все равно понадобится трансформатор 3 ВА (понизьте 240 В до 12 В). Тот, что на фото, обошелся мне примерно в 2,50 фунта стерлингов.

Для питания проекта я решил сделать свой собственный двухканальный источник питания 12 В постоянного тока. Это было удобно, поскольку операционные усилители требуют +12 В, 0 В, -12 В, а Arduino Uno может принимать любое питание до 14 В постоянного тока. Ниже приведены детали, составляющие схему:

  • V1 - представляет питание от сетевой розетки 240 В 50 Гц.
  • T1 - Это небольшой трансформатор на 3 ВА, о котором я лежал. Важно, чтобы трансформатор имел центральный отвод на вторичной обмотке, который был подключен к 0 В, то есть к земле.
  • D1 - D4 - это двухполупериодный мостовой выпрямитель с диодами 1N4007.
  • C1 и C2 - электролитические конденсаторы 35 В 2200 мкФ (должно быть 35 В, так как потенциал между положительным и отрицательным достигнет 30 В)
  • U2 - LM7812, стабилизатор положительного напряжения 12 В
  • U3 - LM7912, стабилизатор отрицательного напряжения 12 В (обратите внимание на разницу выводов между 78xx и 79xx IC!)
  • C3 и C4 - 100 нФ Сглаживающие конденсаторы 25 В электролитические
  • C5 и C6 - керамические дисковые конденсаторы 10 мкФ

Я припаял компоненты к монтажной плате и соединил вертикальные дорожки оголенным одножильным луженым медным проводом. На фото 3 выше показан мой блок питания DIY, извините, на фото много перемычек!

Шаг 4: аналого-цифровые преобразователи

Аналого-цифровые преобразователи
Аналого-цифровые преобразователи
Аналого-цифровые преобразователи
Аналого-цифровые преобразователи

Arduino Uno уже имеет встроенный 10-битный АЦП, однако аналоговых входов всего 6. Поэтому я решил использовать два выхода ADC с 16-разрядным ADS1115. Это позволяет 2 ^ 15 = 32767 битов для представления уровней напряжения от 0 до 4,096 В (4,096 В - рабочее напряжение пробоя), это означает, что каждый бит представляет 0,000125 В! Кроме того, поскольку он использует шину I2C, это означает, что можно адресовать до 4 АЦП, что позволяет контролировать до 16 каналов при желании.

Я попытался проиллюстрировать соединения с помощью Fritzing, однако из-за ограничений нет специальных частей для иллюстрации генератора сигналов. Фиолетовый провод подключается к выходу схемы усилителя, черный провод рядом с ним показывает, что все схемы усилителя должны иметь общую землю. Поэтому я использовал макет, чтобы проиллюстрировать, как я сделал связующие точки. Однако в моем реальном проекте прорывы расположены в женских разъемах, припаянных к Veroboard, и все точки соединения припаяны к вероборду.

Шаг 5: микроконтроллер

Микроконтроллер
Микроконтроллер

Как уже упоминалось выше, контроллер, который я выбрал, был Arduino Uno, это был хороший выбор, поскольку он имеет много встроенных и встроенных функций, которые в противном случае потребовалось бы строить отдельно. Кроме того, он совместим со многими специально построенными «щитами». В этом случае мне потребовались часы реального времени для отметки времени всех результатов и устройство записи на SD-карту для записи результатов в файл.csv или.txt. К счастью, щит регистрации данных Arduino имеет оба щита, которые вставляются в исходную плату Arduino без дополнительной пайки. Щиток совместим с библиотеками RTClib и SD-карт, поэтому специальный код не требуется.

Шаг 6: Сборка

сборка
сборка
сборка
сборка
сборка
сборка

Я использовал 5-миллиметровый твердый ПВХ средней / низкой плотности (иногда известный как пенопласт), чтобы прикрутить большинство моих компонентов и отрезать его до удобного размера с помощью ремесленного ножа. Все компоненты были построены по модульному принципу для прототипа, поскольку он позволяет снимать отдельные части, если что-то пойдет не так, однако это не так эффективно или аккуратно, как травленная печатная плата (дальнейшая работа), это также означает множество перемычек между компоненты.

Шаг 7. Загрузка кода

Загрузите код в Arduino или получите код из моего репозитория Github

github.com/smooth-jamie/datalogger.git

Шаг 8: Калибровка

Калибровка
Калибровка
Калибровка
Калибровка
Калибровка
Калибровка

Теоретически измеренный ток будет результатом сочетания нескольких факторов:

Измеренный ток = (((a * 0,45) / 150) / (1,1 / 5000)) / 1000, где 'a' - напряжение сигнала от усилителя.

0,45 - среднеквадратичное значение Vout схемы усилителя, 150 - коэффициент усиления операционного усилителя (Rf / Rin = 150 к / 1 кОм), 1,1 - выходное напряжение полной шкалы ТТ при измеренном токе 5 А, 5000 - просто 5 А в мА, а 1000 - количество витков в трансформаторе. Это можно упростить до:

Измеренный ток = (b * 9,216) / 5406555, где b - заявленное значение АЦП.

Эта формула была протестирована с использованием 10-битного АЦП Arduino, и разница между значениями мультиметра и значениями, сгенерированными Arduino, составила 11%, что является недопустимым отклонением. Мой предпочтительный метод калибровки - записать значение АЦП в зависимости от тока на мультиметре в электронную таблицу и построить полином третьего порядка. Исходя из этого, кубическая формула может быть использована для получения лучших результатов при вычислении измеренного тока:

(ax ^ 3) + (bx ^ 2) + (cx ^ 1) + d

Коэффициенты a, b, c и d вычисляются в Excel из простой таблицы данных, x - это значение вашего АЦП.

Чтобы получить данные, я использовал керамический переменный резистор 1 кОм (реостат) и трансформатор 12 В для понижения сетевого напряжения переменного тока с 240 В, что дало мне возможность генерировать источник переменного тока от 13 мА до 100 мА. Чем больше точек данных будет собрано, тем лучше, однако я бы предложил собрать 10 точек данных, чтобы получить точный тренд. Прилагаемый шаблон Excel рассчитает коэффициенты за вас, а затем просто введите их в код Arduino.

В строке 69 кода вы увидите, куда вводить коэффициенты.

float chn0 = ((7.30315 * pow (10, -13)) * pow (adc0, 3) + (-3.72889 * pow (10, -8) * pow (adc0, 2) + (0,003985811 * adc0) + (0,663064521)));

что совпадает с формулой на листе 1 файла Excel:

у = 7E-13x3 - 4E-08x2 + 0,004x + 0,663

Где x = adc0 любого калибруемого канала

Шаг 9: Готово

Заканчивать
Заканчивать
Заканчивать
Заканчивать
Заканчивать
Заканчивать
Заканчивать
Заканчивать

Поместите его в приложение к проекту. Я закончил блок питания с помощью тумблера, чтобы включить / выключить все это на блоке питания, и разъемом IEC «восьмерка» для входа в сеть. Прикрутите все вместе, и вы готовы проверить это.

Дальнейшая работа

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

Обновление 18.12.2016

Теперь я добавил ЖК-дисплей 16x2, используя «рюкзак» I2C для мониторинга первых четырех каналов, добавлю еще один для мониторинга последних четырех, когда он будет доставлен через почту.

Кредиты

Этот проект стал возможным благодаря всем авторам библиотек, использованных в моем скетче Arduino, включая библиотеку DS3231, библиотеку Adafruit ADS1015 и библиотеку Arduino SD.

Рекомендуемые: