Подобные датчики тока очень распространены в технике. Они представляют собой измерительные трансформаторы, у которых роль первичной обмотки играет провод с измеряемым током. Такие трансформаторы выполняются на замкнутых сердечниках в виде кольца из ферромагнитных материалов, причем сердечник некоторых моделей имеет разрез, через который в отверстие кольца вводится провод. Таким образом, подключение трансформатора очень простое, его раскрывают, одевают на провод и защелкивают. Такой трансформатор (датчик) назвали «неинвазивным». Этот термин чисто хирургический и понимать его нужно так — для подключения ничего резать не нужно.

SCT-013-030

При протекании переменного тока по проводу, в катушке возникнет ЭДС, а если к ней подключить амперметр, то цепь замкнется и прибор покажет ток, пропорциональный измеряемому. Коэффициент пропорциональности зависит от числа витков катушки. Например, на датчике SCT-013-000, который измеряет ток до 100 А, написано, что при 100 А ток в катушке будет составлять 50 мА. Если разделить 100/0,05 получим 2000 – число витков катушки. Подключить такой датчик напрямую к аналоговому порту Arduino не выйдет, ведь АЦП измеряет напряжение. Поэтому сначала к выводам датчика нужно подключить резистор. Ток, протекая через резистор, вызовет падение напряжения на нем и вот это напряжение уже можно направлять в АЦП.

SCT-013-030


Конструкция SCT-013-030 тоже классическая, но отличается от своего старшего 100-амперого собрата. У этого датчика резистор уже есть. Ради любопытства разбираем датчик.

SCT-013-030

SCT-013-030

Действительно, на плате видим SMD-резистор на 62 Ом. На корпусе датчика написано, что при токе 30 А напряжение на выходе составит 1 В. По закону Ома ток через резистор будет чуть больше 16мА. Отлично! Можно подключать.

Но прежде нужно позаботиться об испытательном «стенде» и нагрузке. Далее вам придется работать с высоким напряжением и большими токами, что ОПАСНО ДЛЯ ЖИЗНИ! Все работы по сборке схем нужно делать только при выключенном питании. Также обращайте свое внимание на обеспечение изоляции и меры по защите от поражения электрическим током. При возможных негативных последствиях для вас или вашего оборудования автор текста никакой ответственности не несет! Вы все делаете на свой страх и риск.

Вам понадобится кусок многожильного провода (лучше 2х2,5), розетка, вилка, два клеммника Wago. Из этих деталей собираем вот такую систему:

SCT-013-030

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

SCT-013-030

Далее, можно было бы уже собирать схему на макетной плате. Один вывод разъема под «джек» датчика завести в А0 на Arduino, а другой соединить с GND. Но такая схема не учитывает то, что мы имеем дело с синусоидальным переменным напряжением, у которого периодически меняется полярность. Arduino ждет на аналоговом входе напряжение в пределах от 0 до 5 В, а у нас из датчика вытекает нечто в пределах от -1 В до +1 В.

SCT-013-030

Такую синусоиду нужно «поднять» над осью t, вывести целиком в положительную область. Это можно сделать, прибавив к u(t) половину напряжения питания нашей Arduino.

SCT-013-030

Для этого подключим датчик к +5В через делитель напряжения. Для борьбы с возможными помехами добавим в схему конденсатор. Конденсатор взял какой попался под руку.

SCT-013-030

В качестве нагрузки я взял электрочайник. Ток через него составляет почти ровно 7 А. Собираем схему и пишем простой скетч.

void setup() { Serial.begin(9600); } void loop() { int x = analogRead(0); Serial.println(x); }

Запускаем наш стенд и смотрим результаты на амперметре и в мониторе порта.

SCT-013-030

На амперметре – ожидаемые 7 А, а вот на графике данных, которые поступают из порта, мы видим такую картинку:

SCT-013-030

Во-первых – датчик работает, и это радует. Явно прослеживается «прыжок» напряжения, а, следовательно, и тока в проводе к чайнику. Но вот где искать 7 А?

Во-вторых – не забываем нагрузку выключать! Провода амперметра не рассчитаны на такие токи, и они будут сильно греться.

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

Устанавливаем библиотеку и переписываем наш скетч. Можно взять и готовый пример из библиотеки.

#include «EmonLib.h»

EnergyMonitor emon1;

void setup()

{ Serial.begin(9600); emon1.current(0, 30); }

void loop()

{ double Irms = emon1.calcIrms(1480); Serial.println(Irms); }

Некоторые пояснения к тексту программы.

Функция emon1.current(0, 30) имеет два параметра. Первый – номер аналогового порта, куда подключен датчик (А0). Второй – калибровочный коэффициент, который получается делением максимального значения измеряемого тока на максимальное значение выходного напряжения датчика. У нас 30/1=30.


Функция emon1.calcIrms(1480), которая выдает действующее значение тока Irms (от англ. root-mean-square), имеет в параметре число 1480. Это означает, что измерения производятся 1480 раз за 14 периодов изменения тока, что составляет примерно 106 измерений за один период. Менять этот параметр не стоит.

Заливаем, запускаем. Теперь картинка на мониторе резко изменилась, и нужно заметить — в лучшую сторону.

SCT-013-030

Видно, что ток находится в районе 7 А, нагрузка включилась, а потом выключилась. Правда, значения тока в мониторе порта несколько отличаются от показаний амперметра (7 А).

SCT-013-030

Но данная беда может быть решена введением некоторого поправочного коэффициента. Принципиально, задача по измерению тока датчиком SCT-013-030 решена, а все остальное в проекте (эран, корпус, …) можно отнести к украшательству, и каждый из вас выполнит эту часть на свой лад.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

два × один =