Мобільна версія Форум Arduino Документація Гарантійні умови 0 0
UA RU
Графік роботи магазину:
Пн-Пт: 8.00 - 19.00
Сб: 10.00 - 17.00
Нд: вихідний
Каталог
Напиши статтю і отримай знижку!

Вимірювання сили струму датчиком SCT-013-030

2017-08-10

Всі статті →

А.Чечин

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Во-первых – датчик работает, и это радует. Явно прослеживается «прыжок» напряжения, а, следовательно, и тока в проводе к чайнику. Но вот где искать 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 измерений за один период. Менять этот параметр не стоит.

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

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

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

Ваша оцінка статті:

Відмінно
Добре
Задовільно
Погано
Дуже погано

Загальна оцінка:

Оцінка "Вимірювання сили струму датчиком SCT-013-030"
5 з 5
зроблена на основі 19 оцінок 19 клієнтських відгуків.

Дякуємо Вам за звернення! Ваш відгук з'явиться після модерації адміністратором.
Вадим
15.07.2023 09:12:32
Конденсатор нужен не там.. именно этот надо между 5 и GND, особенно, если другие выходы ADC измеряют еще что-то другое...иначе они будут измерять еще и синусоиду от этого сегмента.а второй керамический на 100n по учебнику между A0 и GND прямо на ножку A0.
Анатолій
16.08.2022 22:01:49
Добре розписано! )) Чудовий сайт ! І обладнання, і пояснення ))
Игорь
10.06.2022 04:25:37
Схему можно сделать ещё стабильнее, если вместо делителя смещения поставить ИОН TL431 в базовой схеме включения (разумеется при питании 5В).
Александр
08.04.2020 15:13:30
Статья отличная. Скетч рабочий. Резисторы поменял на потенциометр. Выставил на среднюю точку. Все работает. Кондер взял на 4,7 мкФ.Но. Библиотека реально на 7-10% завышает показания. Причем, нелинейно. С этим можно побороться :)Кстати, можно посмотреть мои значения на http://s-file.ru:8082Велкам!
Андрей
12.03.2020 19:09:15
Слава богу нашел как правильно снимать показания с такого датчика тока! Автору большое спасибо!
Антон
09.10.2019 09:10:58
Привет! Подскажите пожалуйста как быть если ток нужно мерить сразу с трёх фаз, задействованы 3 входа АЦП, как использовать эту библиотеку? или может подскажите подобные библиотеки. заранее признателен!
Віктор С.
22.05.2019 20:36:28
Привіт. А що коли у мене трифазна мережа, і я хочу вимірювати в ній струм? Бібліотека передбачає використання трьох і більше трансформаторів?? Не буде помилок?А ще, у мене є трансформатори струму зі значеннями 1:2500. На них є написи 5(20)А/2mA 10Oм, чи можу я використовувати їх на струм 100 ампер, і як розрахувати резистор?Також, я не розумію які саме числа потрібно змінювати і як працює бібліотека. Прошу допомоги. Дякую
Alexandr
09.04.2019 10:47:08
Спасибо за статью. Скажите как сохранить измеренные данные с учетом времени в файл для дальнейшей обработки?Спасибо
Alexandr
05.04.2019 18:24:54
Скажите как на ардуино сохранить значения измеренного тока (мощности) в файл?Спасибо
Михаил
23.02.2019 18:35:09
нагрузочный резистор токового транса забыли нарисовать на схеме.
Игорь
09.02.2019 14:20:13
Измеряю потребление дома и выработанную энергию солнца инверторами. /ОТДЕЛЬНО/. АРДУИНО УНО сравнивает данные и подключает ступенчатые балластные нагрузки в случае если энергии солнца больше чем потребление домом. Система инверторов вырабатывает 1.8 кВт. энергии. Вообщем 2 датчика на одну Arduino UNO.
Максим
02.02.2019 08:55:35
Замечание: такие датчики работают в режиме трансформатора тока, или трансформатора напряжения. Ну или в какой-то смеси. Режим определяется величиной нагрузочного сопротивления.В режиме трансформатора тока сигнальный ток воспроизводит форму переменного тока в измеряемой цепи. В режиме трансформатора напряжения напряжение на выходе равно производной тока. Для синусоиды получится синусоида сдвинутая на 90 градусов, для более хитрых зависимостей может получиться нечто странное.Для работы в режиме трансф. тока итоговое падение напр. на нагрузочном сопротивлении должно быть намного ниже "холостого" напряжения на выводах. Зачастую в этом случае напряжение получается невысокое и его нужно усиливать.
Пётр
20.01.2019 21:50:47
Всё понятно и для меня очень полезно, но сразу возник вопрос: Что будет если через трансформатор потечет ток короткого замыкания, скажем 600A? И как от этого защититься от этой проблемы (если она есть)?
Виталий
10.11.2018 16:01:02
Скиньте пожалуйста скетч в комментарии. Не могу скачать
Олег
06.10.2018 17:37:23
Всё понятно. Повторяю. :-)
DЭN_Master
17.07.2018 03:42:47
Благодарность не знает предела!!! Это очень ценная и полезная информация! У меня есть необходимость измерить переменный ток около 25 ампер с помощью ардуино. имеется трансформатор тока хоть и отличный от того что использовался в статье. Буду пробовать применять. Надеюсь всё получится!
иван
06.05.2018 20:06:32
бред
Сергей
15.01.2018 01:44:32
.
Илья
13.11.2017 16:34:44
Отлично!Месяц назад мутил проект похожий, только он считал мощность и потребление преборов в квартире.с помощью него померил КПД БП от ПК.
оплата картами Visa і MasterCard