ACS712ELC-20A для переменного тока
- Войдите на сайт для отправки комментариев
Чт, 22/06/2017 - 21:51
Кто-нибудь пользовался датчиком ACS712ELC-20A для отслеживания наличия фазы в сети?
подклюил его в разрыв к лампе накаливания.
Показания не меняются, включенна лампа или нет.
A какие показания должны меняться? При переменном токе на выходе будет синусоида +- 2 вольта при 20 амперах. Для лампочки в 40 ватт будет синусоида 0.02 вольта. Отследить напряжение не получится если нет нагрузки. Только наличие тока. И то довольно большого. Синусоида 50 герц есть на выходе всегда из за окружающих магнитных полей.
Кто-нибудь пользовался датчиком ACS712ELC-20A для отслеживания наличия фазы в сети?
подклюил его в разрыв к лампе накаливания.
Показания не меняются, включенна лампа или нет.
Значит, либо лампа неправильно включена, либо показания не умеете считать.
Вообще же, "наличие фазы" - это жаргон. Подразумевается наличие переменного напряжения. Но данный датчик напряжение измерять не может - только ток. Т.е. если у Вас правильная лампа (желательно на 4 кВт), правильная схема и праильный способ измерения, показания должны изменяться с частотой сети. Если же хотя бы что-то одно из трех неправильное - может быть все, что угодно.
Собственно лампа выступает в роли нагрузки.
И да, меня устраивает именно наличие тока.
Значит, либо лампа неправильно включена, либо показания не умеете считать.
один из проводов идущих к лампе имеет разрыв, в который и подключен датчик.
Касаемо неумеете считать - брал готовые примеры в сети, да считать не умею, потому и спрашиваю.
...потому и спрашиваю.
Так на Ваш вопрос невозможно отвеить, т.к. Вы не привели ни схемы подключения, ни используемого скетча, ни полученных в результате его работы результатов.
всю информацию черпал тут http://www.rlocman.ru/shem/schematics.html?di=113437
Может есть какие-то готовые устройства, выдающие сигнал о наличии напряжения в сети?
Может есть какие-то готовые устройства, выдающие сигнал о наличии напряжения в сети?
Ночник.
У меня была похожая ситуация с модулем max471 на 3А постояного тока. Он показывал всегда одну цифру. Я стал проверять не погорело ли чего. Ток через датчик течет, проверил амперметром. Схему и компоненты проверил, все в норме, на всякий случай процарапал между дорожками. там иногда бывает припой. Потратил около недели, результата нет, думаю погорела микросхема, отложил в сторону. Через пару неделю включаю, все работает, долго гонял проверял нагрев светодиодов в зависимости от тока.
Схема включения простая, там только аналоговый выход, можно проверить напряжение тестером под нагрузкой и без нагрузки. Так как Нагрузка слишком мала, напряжение на выходе будет маленьким. Желательно увидеть скетч и нагрузку поболее.
нашел аналогичную ветку http://arduino.ru/forum/apparatnye-voprosy/kak-proverit-datchik-toka-acs712
Код, который пользовал:
#define CURRENT_SENSOR A0 // Analog input pin that sensor is attached to float amplitude_current; //amplitude current float effective_value; //effective current void setup() { Serial.begin(9600); pins_init(); } void loop() { int sensor_max; sensor_max = getMaxValue(); Serial.print("sensor_max = "); Serial.println(sensor_max); //the VCC on the Grove interface of the sensor is 5v amplitude_current=(float)(sensor_max-512)/1024*5/185*1000000;// for 5A mode,you need to modify this with 20 A and 30A mode; effective_value=amplitude_current/1.414; //minimum_current=1/1024*5/185*1000000/1.414=18.7(mA) //Only for sinusoidal alternating current Serial.println("The amplitude of the current is(in mA)"); Serial.println(amplitude_current,1);//Only one number after the decimal point Serial.println("The effective value of the current is(in mA)"); Serial.println(effective_value,1); } void pins_init() { pinMode(CURRENT_SENSOR, INPUT); } /*Function: Sample for 1000ms and get the maximum value from the S pin*/ int getMaxValue() { int sensorValue; //value read from the sensor int sensorMax = 0; uint32_t start_time = millis(); while((millis()-start_time) < 1000)//sample for 1000ms { sensorValue = analogRead(CURRENT_SENSOR); if (sensorValue > sensorMax) { /*record the maximum sensor value*/ sensorMax = sensorValue; } } return sensorMax; }видел данную тему.
я так понял что датчик очень хреновенький, и точных показаний не видать, как собственных ушей.
Точность вещь относительная, мой мне показался более точным чем китайский лабораторный БП.
Начать лучше с чего нибудь попроще, примерно так, если подключено к А0.
void setup() { Serial.begin(9600); } void loop() { int reg = analogRead(A0); Serial.println(reg); delay(1000); }Кто-нибудь пользовался датчиком ACS712ELC-20A для отслеживания наличия фазы в сети?
"для отслеживания наличия фазы в сети" - подойдёт оптрон типа 817, включеный последовательно с резистором 100к и диодом in4007, выход оптрона подключить к цифровому пину и через резистор примерно 2к подать "+" питания и соответственно GND.
Точность вещь относительная, мой мне показался более точным чем китайский лабораторный БП.
Начать лучше с чего нибудь попроще, примерно так, если подключено к А0.
void setup() { Serial.begin(9600); } void loop() { int reg = analogRead(A0); Serial.println(reg); delay(1000); }Вот результат:
Вот такой вот код:
const int analogIn = A0; int mVperAmp = 100; // use 185 for 5A Module, 100 for 20A Module, 66 for 30A Module int RawValue= 0; int ACSoffset = 2500; double Voltage = 0; double Amps = 0; void setup(){ Serial.begin(9600); } void loop(){ RawValue = analogRead(analogIn); Voltage = (RawValue / 1024.0) * 5000; // Gets you mV Amps = ((Voltage - ACSoffset) / mVperAmp); Serial.print("Raw Value = " ); Serial.print(RawValue); Serial.print("\t mV = "); Serial.print(Voltage); Serial.print("\t Amps = "); Serial.println(Amps,2); delay(1000); }Выдает такой результат:
Показания не изменяются от состояния лампы, включена она в сеть или нет.
"для отслеживания наличия фазы в сети" - подойдёт оптрон типа 817, включеный последовательно с резистором 100к и диодом in4007, выход оптрона подключить к цифровому пину и через резистор примерно 2к подать "+" питания и соответственно GND.
В схемотехнике не силен, потому и спрашивал про более или менее готовое решение в виде даташита.
"для отслеживания наличия фазы в сети" - подойдёт оптрон типа 817, включеный последовательно с резистором 100к и диодом in4007, выход оптрона подключить к цифровому пину и через резистор примерно 2к подать "+" питания и соответственно GND.
В схемотехнике не силен, потому и спрашивал про более или менее готовое решение в виде даташита.
Вверхнем правом углу есть окно поиск и стоит там набрать - "контроль напряжения сети" - выскакивает с десяток сылок, даже на этом форуме. Для описанного выше в первой же сылке axill привёл фото платки и разжувал как это сделать.
Вот результат:
Получается всегда максимальное 5В на выходе. У меня тоже так было. Можно попробовать поменять входы AO на А1, А2, мне не помогло. Еще стоит поставить резистор 1-3Ком, между AO и землей, может там наводки.
Выходы менял, эфекта нет.
Резистор попробую добавить.
Все же думаю пойти путем axill, и купить готовый сенсор
лучше наерно это купить и самому какой нибудь ОУ 358 к нему присобачить
https://ru.aliexpress.com/item/HMCT103C-5A-5MA/32671337956.html
на те деньги можно многомного даччиков тока понаделать
Еще стоит поставить резистор 1-3Ком, между AO и землей, может там наводки.
В моем слуае резистор никак не изменил картину.
Буду ждать посылку из китая с другим датчиком.