Arduino ACS712TELC-05B
тел. +7(499)347-04-82
Описание Arduino ACS712TELC-05B
Arduino ACS712TELC-05B — датчик тока на эффекте Холла
Описание
ACS712TELC-05B — это линейный датчик переменного и постоянного тока на основе эффекта Холла, произведённый компанией Allegro MicroSystems. Модуль широко используется в проектах на Arduino, ESP32, Raspberry Pi и других микроконтроллерах для измерения силы тока в диапазоне ±5 А с гальванической развязкой между силовой цепью и измерительной.
Датчик выдаёт аналоговое напряжение, пропорциональное протекающему току. При нулевом токе на выходе присутствует напряжение смещения (половина питания, обычно 2,5 В). Отклонение от этого значения вверх или вниз указывает на направление и величину тока.
Важно: в маркировке «TELC» означает, что чип поставляется в устаревшем корпусе SOIC-8, который снят с производства (снят с производства в 2019 году и заменён на ACS712LLCTR). Версия «B» — диапазон ±5 А, коэффициент чувствительности 185 мВ/А.
Технические характеристики
| Параметр | Значение | |---|---| | Производитель | Allegro MicroSystems | | Тип датчика | Датчик тока на эффекте Холла (изолированный) | | Диапазон измерения | ±5 А (AC и DC) | | Чувствительность | 185 мВ/А (@ Vcc = 5 В) | | Напряжение питания (Vcc) | 4.5 – 5.5 В (типовое 5 В) | | Потребляемый ток | 10 мА (тип.) | | Напряжение смещения при 0 А | Vcc / 2 = 2.5 В (тип.) | | Точность | ±1.5 % при 25 °C | | Нелинейность | ±1.5 % | | Полоса пропускания | 80 кГц (для -05B) | | Время отклика | ~5 мкс | | Напряжение изоляции | 2.1 кВ RMS (мин., 60 с) | | Сопротивление внутреннего проводника | 1.2 мОм (тип.) | | Рабочая температура | -40…+85 °C | | Корпус | SOIC-8 | | Разрешение АЦП Arduino (10 бит) | ≈ 26 мА/шаг (реально ~30–40 мА) |
Выходное напряжение:
- 0 А → 2.5 В
- +5 А → 3.425 В
- −5 А → 1.575 В
Парт-номера (Part Numbers)
Основные артикулы Allegro и совместимых модулей:
| Парт-номер | Описание | |---|---| | ACS712TELC-05B | ±5 А, SOIC-8 (устаревший / discontinued) | | ACS712ELCTR-05B-T | ±5 А, SOIC-8, Tape & Reel (актуальная замена TELC) | | ACS712ELCTR-20A-T | ±20 А, SOIC-8 | | ACS712ELCTR-30A-T | ±30 А, SOIC-8 | | ACS712TELC-20A | ±20 А, старый корпус | | ACS712TELC-30A | ±30 А, старый корпус | | ACS712LLCTR-05B-T | ±5 А, промышленная версия | | ACS713 | Улучшенный преемник (односторонний) | | ACS714 / ACS715 | Автомобильные версии | | ACS724 / ACS725 / ACS729 | Современная линейка, рекомендуется вместо ACS712 |
Модули на рынке (готовые платы, часто обозначаются как «ACS712 module 5A»):
- KY-039 (не ACS712, а IR-датчик, не путать)
- Модуль GY-ACS712-05B
- Blue PCB Module «ACS712 5A» (Deek-Robot, RobotDyn, China-generic)
Совместимые модели / альтернативы
Pin-compatible аналоги от Allegro (в порядке улучшения):
- ACS712LLCTR-05B — та же функциональность, пром. диапазон
- ACS723LLCTR-05AB — замена с меньшим дрейфом
- ACS724LLCTR-05AB — улучшенная точность,差分感测
- ACS730 / ACS732 / ACS733 — высокоскоростные, до 1 МГц
- ACS37612 — бессердечниковый (Coreless), для больших токов
От других производителей:
- Texas Instruments INA219 / INA226 / INA169 — I²C/аналоговые датчики
- Allegro ACS758 — до ±200 А, более мощный
- LEM LTSR 6-NP — профессиональные токовые сенсоры
- Hall-сенсор WH-05B / WCS1700
Совместимость с платформами:
- Arduino Uno / Nano / Mega / Leonardo
- ESP8266 / ESP32
- STM32 (с АЦП 12 бит)
- Raspberry Pi (только внешний ADC: MCP3008 и др.)
- Любой МК с аналоговым входом 0…5 В
⚠️ Raspberry Pi без АЦП — модуль напрямую подключать нельзя, потребуется внешний АЦП.
Простая схема подключения к Arduino
ACS712 VCC → Arduino 5V
ACS712 GND → Arduino GND
ACS712 OUT → Arduino A0 (аналоговый вход)
IP+ / IP- → нагрузка (разрыв силовой цепи)
Пример кода
const int sensorPin = A0;
const float sensitivity = 0.185; // 185 мВ/А для -05B
const float vRef = 5.0; // опорное напряжение ADC
void setup() {
Serial.begin(9600);
// Калибровка нуля: замер среднего значения при отсутствии тока
float zero = 0;
for (int i = 0; i < 500; i++) { zero += analogRead(sensorPin); delay(2); }
zero /= 500;
Serial.print("Zero point: "); Serial.println(zero);
}
void loop() {
int raw = analogRead(sensorPin);
float voltage = raw * (vRef / 1023.0);
float current = (voltage - (vRef / 2.0)) / sensitivity;
Serial.print("Ток: "); Serial.print(current, 3); Serial.println(" A");
delay(300);
}
Рекомендации
- TELC — устарел. Для новых проектов берите ACS712ELCTR-05B или сразу ACS724LLCTR-05AB.
- Помните о шуме АЦП Arduino (10 бит) — реальное разрешение ~30–50 мА. Для точных измерений применяйте ADC с внешним Aref или INA226 (I²C).
- Обязательно калибруйте ноль в прошивке — напряжение смещения «плавает».
- Не превышайте ±5 А длительно и кратковременно до ±20 А — чип выйдет из строя.
- Корпус SOIC-8 требует аккуратной пайки: силовые выводы (IP+, IP−) — толстые дорожки на плате.