Узмеритель нагрузки на базе ACS712-20 модуле

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
Первый раз сказал Мяу!
Сообщения: 28
Зарегистрирован: Ср апр 21, 2010 12:35:48

Сообщение ne100r »

Хочу сделать измеритель нагрузки 220 вольт на базе модуля ACS712-20 (и MCU Atmega8)
Изображение

Сделано:
1. Модифицирован удлинитель. Последовательно подключен ACS712-20 модуль
2. Из удлинителя выведено кабель для питания модуля и снятия показаний (телефонный кабель 4 жилы) длина около 1 метра
3. Подключено к АЦП atmega8
4. Снимаю показания АЦП каждую мили секунду 40 раз подряд (чтобы покрыть две волны синусоиды переменного тока)
5. Беру максимальное и минимальное значения АЦП (из 40-ка полученных)
6. Далее по формуле определяю значение нагрузки W=(max-min)*0.7/1024*20A*220V (0.7 округленное деление на корень из двух, 1024 как максимум 10 битного АЦП)

Столкнулся с проблемой, что мой измеритель нагрузки не замечает нагрузок ни 30 ватт ни 60 ватт (при теоретическом минимуме 4-8 ватт).
Начинает реагировать уже начиная с 80 ватт и больше, но немного обманывает в меньшую сторону (сравнивал с "ваттметром" из UPSа)

Может кто подскажет где искать проблему и как ее устранить. Сам новичок буду рад любым советам.
Спасибо
Реклама
Держит паяльник хвостом
Аватара пользователя
Сообщения: 954
Зарегистрирован: Вс дек 02, 2012 16:58:33
Откуда: от туда

Сообщение GARMIN »

Для начала сохрани лог измерений. Потом по этим данным проверь алгоритм и найди косяк.
Контактная информация:
Реклама
Первый раз сказал Мяу!
Сообщения: 28
Зарегистрирован: Ср апр 21, 2010 12:35:48

Сообщение ne100r »

При отсутствии нагрузки модуль ACS712-20 должен отдавать Vсс/2 ( 5В / 2 = 2.5В у меня один источник питания для MCU и ACS712-20)

Но у меня АЦП дает 399 а не теоретические 512 (или 511) значение.

Может ли "проседать" напряжение на кабеле длинною 1 м. или здесь что-то другое связанное с переменным током?
Поскольку при нагрузке датчик должен генерировать переменное напряжение малой амплитуды.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница

Сообщение urry »

а тестером напряжение померить при отсутствии нагрузки не судьба ? Если там половина напряжения, то нужно разбираться с ацп, что он там выдает.
и это ... на 0.7 умножать тоже стремная затея, там необязательно синусоида может быть.
для того, чтобы получить приемлемую точность 128 измерений на период - необходимо
за 50 Герц получить 128 измерений, т.е. частота должна составлять 6400 Герц.

Код: Выделить всё

#define GATE_ACP 512
#define SAMPLE 128
 static uint fnAdcSumm(void)
{
	unsigned long z=0;//  переменная для суммы
	uchar i;
	unsigned long lRez=0;
	for(i=0;i<SAMPLE;i++)    // усредняем  выборки
	{
		if(iAcpRez[i] >GATE_ACP )
		{
			z=iAcpRez[i]-GATE_ACP;
		}
		else
		{
			z=GATE_ACP - iAcpRez[i];
		}
		z*=z;// возвели в квадрат
		lRez+=z;
	}	
	lRez/=SAMPLE;//  cумму поделили на 128
	return (uint) sqrt(lRez);// сняли квадратный корень
}
// для измерителя тока 20х -  100 мв составляет 1 А, нам необходимо десятые ампера, т.е 10мв
// для 0.1 ампера 
static uint fnCalculate(void)
{
	unsigned long lRez;
	lRez=(unsigned long)fnAdcSumm() * U_OPORN;
	lRez+=512; // снижаем ошибку целочисленного деления
	lRez/=1024; // делим в последнюю очередь
	// получили милливольты, переводим в десятые
	lRez+=5;// снижаем ошибку целочисленного деления
	lRez/=10; // перевели
	return (uint)lRez;			
}
http://vrtp.ru/index.php?showtopic=22591&hl=
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Первый раз сказал Мяу!
Сообщения: 28
Зарегистрирован: Ср апр 21, 2010 12:35:48

Сообщение ne100r »

Спасибо за детальный ответ,
сегодня попробую и потом отпишусь
Реклама
Первый раз сказал Мяу!
Сообщения: 28
Зарегистрирован: Ср апр 21, 2010 12:35:48

Сообщение ne100r »

Проверял тестером в состоянии без нагрузки
Питание 5.00-5.01 вольта.
На выходе ACS712-20 модуля 2.10-2.11 вольт (должно быть 2.5 в.)

Может ли это значить что у меня модуль поломан/бракован?
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница

Сообщение urry »

у меня их было штук 6 - такого не наблюдалось. В серию не пошло, посчитали, что дорого стоит. Проверь обвязку по шиту. Может, какой конденсатор пробивает, не знаю.
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 28
Зарегистрирован: Ср апр 21, 2010 12:35:48

Сообщение ne100r »

В серию не пошло, посчитали, что дорого стоит.
Может посоветуете альтернативное решение ?

Мне по сути более важно знать есть ли нагрузка вообще (включено что-то в розетку или нет).

Спасибо
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница

Сообщение urry »

Если есть место для небольшого трансформатора (220 -12), то выход очевиден - сматываете вторичную обмотку, на ее место - 1 виток толстого провода, а первичку - на детектор и ацп :)
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 28
Зарегистрирован: Ср апр 21, 2010 12:35:48

Сообщение ne100r »

Если есть место для небольшого трансформатора (220 -12)
Можете на вскидку подсказать модели трансформаторов как можно мельче ?
Первый раз сказал Мяу!
Сообщения: 28
Зарегистрирован: Ср апр 21, 2010 12:35:48

Сообщение ne100r »

Немного опишу общую идею, думаю так легче будет делать подсказки и остальным интереснее.

Собственно идея не нова, создать "умную" розетку.
Она должна:
  • включать-выключать нагрузку
    определять включена ли нагрузка (измерять нагрузку будет весомым плюсом)
Составные части:
  • корпус - от простых радио розеток на 433 МГц
    "мозг" - atmega8
    радио - nrf24l01+
    ключ - реле 220В/10А + обвязка
    питание - пока под вопросом (как вариант из миниатюрной телефонной зарядки) сильный не нужно 100-200 мА должно хватать на реле + MCU + RF
    измерение нагрузки - под вопросом ???
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница

Сообщение urry »

купите еще парочку ACS712 - габариты имеют значение.
Контактная информация:
Прорезались зубы
Аватара пользователя
Сообщения: 217
Зарегистрирован: Чт июн 03, 2010 12:23:55
Откуда: Выхино

Сообщение mozgososik »

Имел опыт печальный общения с ACS712
она абсолютно не защищена от внешних магнитных полей
достаточно поднести к её корпусу отвёртку (хоть стальную хоть медную) и показания существенно
изменяются
необходимо магнитное экранирование
от применения ACS712 отказался
но если сделать экран то использовать её наверно можно
Первый раз сказал Мяу!
Сообщения: 28
Зарегистрирован: Ср апр 21, 2010 12:35:48

Сообщение ne100r »

Шунт является простейшим измерительным преобразователем тока в напряжение.
А если использовать шунт как в китайском тестере ?

Сильный минус - отсутствие гальванической развязки.

Плюс - должен быть дешевле.

Может кто что подскажет стоит ли связываться с Шунтом ?
Ответить

Вернуться в «Периферия»