Датчик счетчика электроэнергии основан на трансформаторе TA12-100, который позволяет преобразовывать переменный ток в малую амплитуду. Датчик переменного тока TA12-100 Arduino можно использовать в домашней электросети для измерения большого переменного тока или управления нагрузкой до 5А. Рассмотрим, как подключить модуль к плате Ардуино с примером программы для измерения переменного напряжения.
СОДЕРЖАНИЕ
Необходимые компоненты:
- Arduino Uno / Arduino Nano / Arduino Mega
- датчик тока ta12-100
- нагрузка 220В (лампочка или мотор)
- коннекторы
Дополнительные материалы на эту тему:
В этом обзоре мы будем измерять переменное напряжение в проводнике, к которому подключена нагрузка 220 Вольт (это может быть двигатель или просто лампа накаливания). С помощью перемычек на модуле можно выбрать параллельный выход и настроить диапазон выходных аналоговых значений при проведении измерений тока. Внимание! Соблюдайте меры безопасности при работе с высоким напряжением.
Датчик TA12-100 Arduino распиновка, характеристики

Характеристики датчика тока TA12-100 Arduino (datasheet)
- Источник питания: 5В
- Потребляемый ток: макс 5 мА
- Тип интерфейса: аналоговый
- Измерительный ток: до 5 ампер
- Рабочая температура: от -55°C до +85°C
- Размер платы модуля: 30 x 24 мм
Модуль TA12-100, в отличии от датчика тока ACS712, работает по другому принципу. Модуль измеряет напряжение, падающее на резисторе, расположенном на выходе трансформатора. Сенсор TA12 100 преобразует напряжение на резисторе в аналоговый сигнал по закону Ома (I = E / R). Коэффициент трансформации модуля составляет 1000:1, и для получения значения тока полученные данные необходимо умножить на 1000.
Подключение датчика переменного тока к Ардуино

Модуль TA12 100 используется для измерения только переменного тока и является аналоговым. Для подключения к Ардуино понадобится два провода (хотя на модуле три контакта) — один провод подключается к GND, а другой — к аналоговому входу. Провод, на котором вы хотите измерять напряжение, должен проходить сквозь катушку трансформатора. Соберите схему, как показано на картинке выше, и загрузите программу.
Скетч для измерения переменного тока с TA12-100
#define TA12 A1 // пин для подключения датчика
float nVPP;
float nCurrThruResistorPP;
float nCurrThruResistorRMS;
float nCurrentThruWire;
void setup() {
Serial.begin(9600);
pinMode(TA12, INPUT);
}
void loop() {
// узнаем напряжение на резисторе
nVPP = getVPP();
// расчета тока на резисторе
nCurrThruResistorPP = (nVPP / 200.0) * 1000.0;
// преобразуем значения тока в среднекватичное значение
nCurrThruResistorRMS = nCurrThruResistorPP * 0.707;
// коэффициент трансформатора 1000:1, поэтому умножаем на 1000
nCurrentThruWire = nCurrThruResistorRMS * 1000;
// выводим данные на монитор порта
Serial.print("Volts Peak : ");
Serial.println(nVPP, 3);
Serial.print("Current Through Resistor (Peak) : ");
Serial.print(nCurrThruResistorPP, 3);
Serial.println(" mA Peak to Peak");
Serial.print("Current Through Resistor (RMS) : ");
Serial.print(nCurrThruResistorRMS, 3);
Serial.println(" mA RMS");
Serial.print("Current Through Wire : ");
Serial.print(nCurrentThruWire, 3);
Serial.println(" mA RMS");
Serial.println();
}
// узнаем пиковое значение за одну секунду
float getVPP() {
float result;
int readValue;
int maxValue = 0;
uint32_t start_time = millis();
while ((millis() - start_time) < 1000) {
readValue = analogRead(sensorTA12);
if (readValue > maxValue) {
maxValue = readValue;
}
}
result = (maxValue * 5.0) / 1024.0;
return result;
}
Заключение. Электрический датчик основан на трансформаторе тока TA12-100, который может преобразовывать сигналы переменного тока большой силы в сигналы малой амплитуды. Мы рассмотрели, как подключить модуль к микроконтроллеру Ардуино и представили пример программы для измерения силы тока переменного напряжения. Вопросы по работе с сенсором вы можете написать в комментариях к этому посту.
