реклама на сайте
подробности

 
 
> Цифровой вольтметр-амперметр-ваттметр на AVR для бытовой сети, некоторые вопросы
hd44780
сообщение Mar 16 2011, 09:17
Сообщение #101


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



Вот делаю такую штуку - сабж.
Делается для себя, но хочется не только некий показометр (а-ля китайские барометры, которые показывают хрен знает что, мало зависящее от атмосферного давления), а прибор, на показания которого можно ориентироваться biggrin.gif .

Схему измерительной части прилагаю. Резистор R2 - многооборотный. На выходе ТТ предполагается еще поставить ОУ с переключаемым Ку как в AVR465 (для низкоточных нагрузок), но пока его там нету - сразу в ATMega8.
БП на LM7805, мегу и LCD рисовать не стал - все стандартно. Генератор внутренний, 8МГц.

Я принципиально не стал ставить шунт и делитель. С гальванической развязкой надежнее.
Измерительные узлы отдельно от МК и цифровой части проверены обычным мультиметром на различных нагрузках (от 25Вт паяльника до 10КВт кухонной печки) - они полностью адекватны и работают нормально.

Обработка данных такая:
1. АЦП на частоте 125 кГц цифрует сигнал. Обработчик прерывания Считает суммы отсчетов и их кол-во:
// ADC interrupt service routine
interrupt [ADC_INT] void adc_isr(void)
{
dword adc_data, temp;

// Read the AD conversion result
adc_data=ADCW&0xFFFE;

if(isU)
{ // U
temp=adc_data; //*adc_data;
sqr_summU+=temp;
countU++;
} // if
else
{ // I
temp=adc_data; //*adc_data;
sqr_summI+=temp;
countI++;
} // else
} // adc_isr

2. Главная программа меряет по очереди ток и напряжение:

.............
// Измерение напряжения
isU=1;
sqr_summU=0;
countU=0;
ADMUX&=0xFE; // ADC0 - канал напряжения
// Запуск АЦП
ADCSRA|=0x40; // ADCSC - Start ADC
startMs=ms;
// ожидание 21 мс (20мс - период 50 Гц)
while (abs (ms-startMs)<21);
// стоп АЦП
ADCSRA&=0xBF; // 10111111 = BF
.............

для тока также, только переменные другие. Переменная ms глобальная - TC1 по прерыванию считает миллисекунды.

3. Когда оба померяли, вычисляем

// Расчет напряжения
// Среднеквадратическое
// Urms=sqrt(sum(u(i)^2)/N); u(i) - мгновенные отсчеты (с АЦП), i=1..N
f_sqr_summU = ((float)sqr_summU)/countU; // ср. арифм.
// f_sqr_summ=sqrt(f_sqr_summ); // Urms (отсчеты АЦП)

// Uацп=ADC*Vref/1024=ADC*0.005
U = f_sqr_summU*0.005;

// Uвх=Urms*109.52
U*=109.52;

// Расчет тока
// Среднеквадратическое
// Urms=sqrt(sum(u(i)^2)/N); u(i) - мгновенные отсчеты (с АЦП), i=1..N
f_sqr_summI = ((float)sqr_summI)/countI; // ср. арифм.
// f_sqr_summ=sqrt(f_sqr_summ); // Urms (отсчеты АЦП)

// Uацп=ADC*Vref/1024=ADC*0.005
I = f_sqr_summI*0.005;

// Iн=500*Uацп/148,86 =Uацп*3.359
I*=3.359;

// S - Полная мощность
S_temp=((dword)I*U);
S=S_temp;

4. после этого вывод на дисплей.

Калибровки пока нету, но будет.

Заметил странности:
1. При среднеквадратических было завышение показаний почти в 2 раза - вместо 220-230в показывал 380-400. По току аналогично. Поставил среднеарифметическое - нормально стало....
Почему? Или я чего-то прозевал?
2. Показания "бегают" - часто меняются в небольших пределах. Я могу поставить в цикл задержку - типа мерять раз в секунду, но меня такой способ чего-то смущает..

Может кто что посоветует?

Спасибо.

Сообщение отредактировал hd44780 - Mar 16 2011, 09:19
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- hd44780   Цифровой вольтметр-амперметр-ваттметр на AVR для бытовой сети   Mar 16 2011, 09:17
- - hd44780   Разрешите вмешаться в интересную беседу о плавающе...   Apr 6 2011, 07:35
|- - Tanya   Цитата(hd44780 @ Apr 6 2011, 11:35) Когда...   Apr 6 2011, 08:56
|- - glvlad   Цитата(hd44780 @ Apr 6 2011, 11:35) Когда...   Apr 6 2011, 09:18
||- - hd44780   Цитата(glvlad @ Apr 6 2011, 11:18) Усилен...   Apr 6 2011, 09:26
||- - Tanya   Цитата(hd44780 @ Apr 6 2011, 13:26) Вроде...   Apr 6 2011, 09:52
||- - Stanislav_S   Цитата(Tanya @ Apr 6 2011, 13:52) Спалит....   Apr 6 2011, 10:01
|- - sKWO   Цитата(hd44780 @ Apr 6 2011, 10:35) Когда...   Apr 6 2011, 09:25
|- - hd44780   Цитата(sKWO @ Apr 6 2011, 11:25) Подскажи...   Apr 6 2011, 09:33
|- - Stanislav_S   Цитата(hd44780 @ Apr 6 2011, 13:33) Опера...   Apr 6 2011, 09:40
|- - sKWO   Цитата(hd44780 @ Apr 6 2011, 12:33) Или н...   Apr 6 2011, 13:29
|- - Stanislav_S   Цитата(sKWO @ Apr 6 2011, 17:29) А комути...   Apr 6 2011, 13:53
- - hd44780   То что резисторы по факту разные я понимаю. Собств...   Apr 6 2011, 09:09
|- - Tanya   Цитата(hd44780 @ Apr 6 2011, 13:09) А как...   Apr 6 2011, 09:26
- - ChYM   По моему на входах ОУ сигнал разнополярный (переме...   Apr 6 2011, 09:15
|- - hd44780   Цитата(ChYM @ Apr 6 2011, 11:15) По моему...   Apr 6 2011, 09:21
|- - Stanislav_S   Вам же давали совет, переделайте схему измерения, ...   Apr 6 2011, 09:28
||- - Tanya   Цитата(Stanislav_S @ Apr 6 2011, 13:28) н...   Apr 6 2011, 09:35
||- - hd44780   Цитата(Tanya @ Apr 6 2011, 11:35) Там, на...   Apr 6 2011, 09:44
||- - Stanislav_S   Цитата(hd44780 @ Apr 6 2011, 13:44) Да, о...   Apr 6 2011, 09:48
|- - glvlad   Хе-хе, давно я этим не занимался. Твоя проблемма ...   Apr 6 2011, 09:44
|- - hd44780   Цитата(glvlad @ Apr 6 2011, 11:44) Т.е., ...   Apr 6 2011, 10:04
|- - Tanya   Цитата(hd44780 @ Apr 6 2011, 14:04) Rail-...   Apr 6 2011, 10:19
- - hd44780   Неверно выразился, сорри. Я имел в виду ту среднюю...   Apr 6 2011, 10:28
|- - Tanya   Цитата(hd44780 @ Apr 6 2011, 14:28) Невер...   Apr 6 2011, 11:09
|- - hd44780   Цитата(Tanya @ Apr 6 2011, 13:09) А она у...   Apr 6 2011, 11:44
|- - Tanya   Цитата(hd44780 @ Apr 6 2011, 15:44) Вы им...   Apr 6 2011, 11:58
- - hd44780   Сделал схему - приложено. Когда включил - ничего ...   Apr 6 2011, 16:12
|- - Stanislav_S   Ох, вот смотрите, тут и канал измерения тока есть ...   Apr 6 2011, 20:43
|- - 777777   Цитата(hd44780 @ Apr 6 2011, 20:12) На вы...   Apr 7 2011, 04:53
|- - hd44780   Цитата(777777 @ Apr 7 2011, 06:53) Ниччен...   Apr 7 2011, 06:25
|- - Tanya   Цитата(hd44780 @ Apr 7 2011, 10:25) Тесте...   Apr 7 2011, 06:53
|- - hd44780   Цитата(Tanya @ Apr 7 2011, 08:53) У Вас ж...   Apr 7 2011, 08:13
|- - Tanya   Цитата(hd44780 @ Apr 7 2011, 12:13) А чег...   Apr 7 2011, 09:27
||- - hd44780   Цитата(Tanya @ Apr 7 2011, 11:27) Вы - не...   Apr 7 2011, 09:57
||- - Tanya   Цитата(hd44780 @ Apr 7 2011, 13:57) Отлич...   Apr 7 2011, 10:24
|||- - hd44780   Цитата(Tanya @ Apr 7 2011, 12:24) Что зна...   Apr 7 2011, 10:34
|||- - Tanya   Цитата(hd44780 @ Apr 7 2011, 14:34) На об...   Apr 7 2011, 11:00
||- - singlskv   Цитата(hd44780)Если Вас устроит ток до 30А то може...   Apr 7 2011, 10:44
|- - 777777   Напряжение средней точки (с выхода операционника) ...   Apr 7 2011, 11:54
|- - hd44780   Цитата(777777 @ Apr 7 2011, 13:54) Напряж...   Apr 7 2011, 11:57
|- - 777777   Цитата(hd44780 @ Apr 7 2011, 15:57) Я так...   Apr 7 2011, 12:01
- - hd44780   Tanya, спасибо. Вроде понятно. Попробую, отпишусь.   Apr 7 2011, 11:32
- - hd44780   Все получилось. Спасибо всем. Ток я пока не посчит...   Apr 8 2011, 06:16
|- - Stanislav_S   Тогда уж и диоды незабудьте защитные поставить, он...   Apr 8 2011, 12:01
- - hd44780   В общем, все сделал. U, I, S измеряются нормально....   Apr 15 2011, 10:36
|- - rx3apf   Цитата(hd44780 @ Apr 15 2011, 14:36) 2. С...   Apr 15 2011, 10:49
||- - hd44780   Цитата(rx3apf @ Apr 15 2011, 12:49) А 20 ...   Apr 15 2011, 12:11
||- - hd44780   Цитата(rx3apf @ Apr 15 2011, 12:49) А 20 ...   Apr 15 2011, 16:08
||- - rx3apf   Цитата(hd44780 @ Apr 15 2011, 20:08) К то...   Apr 15 2011, 16:44
|- - Tanya   Цитата(hd44780 @ Apr 15 2011, 14:36) 1. П...   Apr 15 2011, 10:55
- - hd44780   Не хочу я с Вами спорить... Считайте, что я ...   Apr 15 2011, 17:39
|- - Stanislav_S   Кстати, не увидел на вашей схеме ФНЧ на входе АЦП,...   Apr 16 2011, 14:15
|- - hd44780   Цитата(Stanislav_S @ Apr 16 2011, 16:15) ...   Apr 16 2011, 15:31
|- - Stanislav_S   Никто не мешает вам уменьшить резистор в цепи изме...   Apr 16 2011, 16:34
|- - hd44780   Цитата(Stanislav_S @ Apr 16 2011, 18:34) ...   Apr 17 2011, 06:11
|- - Stanislav_S   Ну все зависит от задачи какую вы себе поставили, ...   Apr 17 2011, 12:41
- - hd44780   Осциллограммы - интересная мысль, надо подумать. К...   Apr 17 2011, 14:51
|- - Stanislav_S   Ну дак коэфициенты для калибровки надо пересчитать...   Apr 17 2011, 17:14
|- - hd44780   Цитата(Stanislav_S @ Apr 17 2011, 19:14) ...   Apr 18 2011, 04:24
- - hd44780   Все. Нашёл ошибку в прошивке, исправил - заработал...   Apr 23 2011, 16:10
2 страниц V  < 1 2


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 01:53
Рейтинг@Mail.ru


Страница сгенерированна за 0.01467 секунд с 7
ELECTRONIX ©2004-2016