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

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


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

Группа: Свой
Сообщений: 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
 
Start new topic
Ответов
hd44780
сообщение Mar 21 2011, 08:25
Сообщение #2


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

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



Я пока в процессе... Долбаное напряжение померить не могу ...
Постоянку миллион раз мерил - с датчиков давления/влажности, БП делал со встроенным вольтметром - с первого раза оживало.
А тут - уже неделю парюсь... Вроде все понятно, а ни фига не получается wacko.gif .

3-х фазный вольтметр переменного тока - http://www.embed.com.ua/raznoe/tryohfaznyi...remennogo-toka/
Как раз с 7 сегм индикатором. Правда Mega48. А зачем тебе 128 мега?
Ваттметр на Mega8 -
http://radiokot.ru/circuit/digital/measure/23/
http://www.radiokot.ru/forum/viewtopic.php?f=25&t=25937

Только ток шунтами мерить я очень не люблю. Конечно, дешевле ТТ во много раз, но и проблем полно сопутствующих.

Сообщение отредактировал hd44780 - Mar 21 2011, 08:45


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
azizcheg
сообщение Mar 22 2011, 07:38
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 20-01-11
Из: Махачкала
Пользователь №: 62 364



Цитата(hd44780 @ Mar 21 2011, 11:25) *
3-х фазный вольтметр переменного тока - http://www.embed.com.ua/raznoe/tryohfaznyi...remennogo-toka/
Как раз с 7 сегм индикатором. Правда Mega48. А зачем тебе 128 мега?
Ваттметр на Mega8 -
http://radiokot.ru/circuit/digital/measure/23/
http://www.radiokot.ru/forum/viewtopic.php?f=25&t=25937


128 мега потому, что они есть на фирме, а остальных нет вроде.
И вообще я думал и ваттметр и вольтметр объединить в одном устройстве. А вольты выводить или ватты - переключается каким-нибудь тумблером.
Возможна ли такая реализация?

Сообщение отредактировал azizcheg - Mar 22 2011, 07:41
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 22 2011, 08:02
Сообщение #4


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

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



Цитата(azizcheg @ Mar 22 2011, 09:38) *
128 мега потому, что они есть на фирме, а остальных нет вроде.
И вообще я думал и ваттметр и вольтметр объединить в одном устройстве. А вольты выводить или ватты - переключается каким-нибудь тумблером.
Возможна ли такая реализация?


Возможна. В принципе, все равно, какая там мега. Главное, чтобы АЦП был. Но он у любой меги есть.
Идея простая - меряете всегда и все. А выводите на дисплей что-то одно.

Лично у меня пока проблемы с измерениями crying.gif . Напряжение вроде нормально показывает, но все время "бегает"...

Сообщение отредактировал hd44780 - Mar 22 2011, 08:07


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
azizcheg
сообщение Mar 22 2011, 08:13
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 20-01-11
Из: Махачкала
Пользователь №: 62 364



Цитата(hd44780 @ Mar 22 2011, 11:02) *
Лично у меня пока проблемы с измерениями crying.gif . Напряжение вроде нормально показывает, но все время "бегает"...


Что значит бегает?
Как вообще, в принципе осуществляется измерение этого напряжения(тока)? Чуть дайте теории пожалуйста :-)
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 22 2011, 08:34
Сообщение #6


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

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



Цитата(azizcheg @ Mar 22 2011, 10:13) *
Что значит бегает?
Как вообще, в принципе осуществляется измерение этого напряжения(тока)? Чуть дайте теории пожалуйста :-)


Схема в первом посте темы. Мега там не нарисована, только моя измерительная часть.
Программная часть у меня такая (наиболее удачный вариант на текущий момент).
АЦП работает на 125кГц.
Обработчик АЦП суммирует все получаемые отсчеты и считает их кол-во. Как насчитает 1000 штук - останов АЦП (по флагу, в главной программе).
Далее считает среднее арифметическое этих отсчетов. По нему вычисляется напряжение на входе АЦП (формула из ДШ на проц). И умножается на коэффициент делителя (в моем случае это коэф транса*коэф деления потенциометра). Это есть напряжение в сети.

"Бегает" - меняется в небольших пределах.
Я "на глаз" наблюдал диапазон примерно 210..230в. Мультиметр показывает где-то 230. Наверное, можно втупую брать максимум, но я не уверен.

Для тока алгоритм такой же, только последний коэффициент другой, он зависит от того, как вы ток меряете.
Если шунтом - просто закон ома. Если ТТ, то иначе...

Для мощности посложнее. Поэтому и хочется не коэффициентами подгонять, а понять, что там происходит.

Сообщение отредактировал hd44780 - Mar 22 2011, 08:36


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
RabidRabbit
сообщение Mar 22 2011, 09:28
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 397
Регистрация: 3-12-09
Из: Россия, Москва
Пользователь №: 54 040



Цитата(hd44780 @ Mar 22 2011, 11:34) *
АЦП работает на 125кГц.
Обработчик АЦП суммирует все получаемые отсчеты и считает их кол-во. Как насчитает 1000 штук - останов АЦП (по флагу, в главной программе).
Далее считает среднее арифметическое этих отсчетов. По нему вычисляется напряжение на входе АЦП (формула из ДШ на проц). И умножается на коэффициент делителя (в моем случае это коэф транса*коэф деления потенциометра). Это есть напряжение в сети.

Как-то это по-моему не очень правильно. На мой взгляд, лучше зарядить таймер на частоту 1000 Гц, в обработчике прерывания запускать одиночное преобразование, дожидаться его завершения и результат приплюсовывать к накопителю. 100 отсчётов АЦП в таком случае перекроют 5 периодов частоты 50 Гц, что снимает необходимость ловить переход через 0 (я надеюсь, у Вас мега от кварца тактируется). По сумме этих 100 отсчётов (ну или 200, лишь бы на 20 делилось) можно вычислить напряжение. Скакать не должно sm.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- hd44780   Цифровой вольтметр-амперметр-ваттметр на AVR для бытовой сети   Mar 16 2011, 09:17
- - Vasily_   А зачем это делать http://www.conrad.com/VOLTCRAF...   Mar 16 2011, 12:10
- - RabidRabbit   2. Результаты для тока и напряжения складывать в к...   Mar 16 2011, 12:13
- - hd44780   Vasily_, ага. и платить 50 еврозеленых баксов . П...   Mar 16 2011, 12:32
|- - dimka76   Цитата(hd44780 @ Mar 16 2011, 15:32) И ещ...   Mar 16 2011, 13:26
||- - hd44780   Цитата(dimka76 @ Mar 16 2011, 15:26) Надо...   Mar 16 2011, 14:03
||- - kovigor   Цитата(hd44780 @ Mar 16 2011, 18:03) Спас...   Mar 16 2011, 16:12
|||- - hd44780   Цитата(kovigor @ Mar 16 2011, 18:12) Это,...   Mar 16 2011, 17:44
||- - defunct   Цитата(hd44780 @ Mar 16 2011, 16:03) Дель...   Mar 18 2011, 13:30
||- - hd44780   Цитата(defunct @ Mar 18 2011, 15:30) Ф = ...   Mar 18 2011, 14:20
||- - KaMa3eR   Цитата(hd44780 @ Mar 18 2011, 17:20) Спас...   Mar 19 2011, 14:50
|- - defunct   Цитата(hd44780 @ Mar 16 2011, 14:32) И ещ...   Mar 16 2011, 13:47
- - hd44780   На ТТ у меня диод германиевый (старый советский Д2...   Mar 20 2011, 12:34
|- - kovigor   Цитата(hd44780 @ Mar 20 2011, 16:34) Насч...   Mar 20 2011, 13:07
|- - RabidRabbit   Цитата(hd44780 @ Mar 20 2011, 15:34) Сред...   Mar 21 2011, 14:44
- - hd44780   Я неточно выразился. Я не пойму, куда мне его став...   Mar 20 2011, 15:46
- - nk@   Google рулит Вот почитайте, насчет выпрямителей. ...   Mar 20 2011, 19:43
|- - azizcheg   Добрый день всем. Хочу сделать подобное. На мк ATM...   Mar 21 2011, 06:27
|- - ASZ   Цитата(hd44780 @ Mar 21 2011, 12:25) Я по...   Mar 21 2011, 09:15
||- - hd44780   Цитата(ASZ @ Mar 21 2011, 11:15) Мне непо...   Mar 21 2011, 09:48
||- - ASZ   Цитата(hd44780 @ Mar 21 2011, 13:48) Пока...   Mar 21 2011, 10:11
||- - nk@   Цитата(ASZ @ Mar 21 2011, 12:11) А зачем ...   Mar 21 2011, 10:48
- - hd44780   Не понял ... Я ж получаю полож. полуволну с верхн...   Mar 21 2011, 10:34
|- - ASZ   Цитата(hd44780 @ Mar 21 2011, 13:34) Не п...   Mar 22 2011, 09:12
- - e_one   Занимался подобной задачей. Для развязки от сети и...   Mar 21 2011, 12:13
- - hd44780   Я на С в CvAvr пишу. float у него 4 байта вроде -...   Mar 21 2011, 15:35
|- - RabidRabbit   Цитата(hd44780 @ Mar 21 2011, 18:35) В бу...   Mar 21 2011, 16:32
- - hd44780   С буфером получается вот что: // Для сумм //volat...   Mar 21 2011, 16:59
- - nk@   А AD делает отличные RMS to DC конвертеры: http:/...   Mar 21 2011, 18:55
- - hd44780   Еще и достать их не очень.... Правда из доки можно...   Mar 21 2011, 19:21
- - hd44780   К вопросу о тех кольцевых буферах. С какой частот...   Mar 22 2011, 07:11
|- - RabidRabbit   Цитата(hd44780 @ Mar 22 2011, 10:11) К во...   Mar 22 2011, 08:52
- - hd44780   RabidRabbit, спасибо. я так не пытался . Попробую...   Mar 22 2011, 09:45
|- - RabidRabbit   Цитата(hd44780 @ Mar 22 2011, 12:45) Попр...   Mar 22 2011, 10:03
||- - hd44780   Цитата(RabidRabbit @ Mar 22 2011, 12:03) ...   Mar 22 2011, 10:24
|- - ASZ   Цитата(hd44780 @ Mar 22 2011, 12:45) ...s...   Mar 22 2011, 12:53
|- - hd44780   Цитата(ASZ @ Mar 22 2011, 14:53) Можно, е...   Mar 22 2011, 14:04
|- - MaslovVG   Позволю себе заметиь. Первое для определения средн...   Mar 22 2011, 20:20
|- - hd44780   Цитата(MaslovVG @ Mar 22 2011, 22:20) Изм...   Mar 23 2011, 07:30
- - hd44780   RabidRabbit, с буферами вроде получилось. Показыва...   Mar 22 2011, 17:39
- - hd44780   Без выпрямителя я вот такое вижу - схема. Вместо 2...   Mar 23 2011, 09:39
|- - dimka76   Цитата(hd44780 @ Mar 23 2011, 12:39) Как ...   Mar 23 2011, 11:13
- - hd44780   dimka76, спасибо. Попробую.   Mar 23 2011, 11:54
|- - Tanya   Цитата(hd44780 @ Mar 23 2011, 14:54) dimk...   Mar 23 2011, 12:17
|- - hd44780   Цитата(Tanya @ Mar 23 2011, 14:17) Попроб...   Mar 23 2011, 14:11
|- - Tanya   Цитата(hd44780 @ Mar 23 2011, 17:11) Вы и...   Mar 23 2011, 14:22
|- - hd44780   Цитата(Tanya @ Mar 23 2011, 16:22) Я имел...   Mar 23 2011, 15:05
|- - Tanya   Цитата(hd44780 @ Mar 23 2011, 18:05) Схем...   Mar 23 2011, 16:59
||- - hd44780   Цитата(Tanya @ Mar 23 2011, 18:59) Схема ...   Mar 23 2011, 19:18
||- - Stanislav_S   Цитата(hd44780 @ Mar 23 2011, 23:18) Схем...   Mar 23 2011, 19:34
||- - Tanya   Цитата(hd44780 @ Mar 23 2011, 22:18) Посл...   Mar 24 2011, 09:25
||- - hd44780   Цитата(Tanya @ Mar 24 2011, 11:25) Это бу...   Mar 24 2011, 10:19
||- - Stanislav_S   Вот так это выглядет, измерение напряжения с обмот...   Mar 24 2011, 10:28
||- - Tanya   Цитата(hd44780 @ Mar 24 2011, 13:19) А че...   Mar 24 2011, 10:38
||- - Stanislav_S   Цитата(Tanya @ Mar 24 2011, 14:38) А заче...   Mar 24 2011, 10:50
||- - Tanya   Цитата(Stanislav_S @ Mar 24 2011, 13:50) ...   Mar 24 2011, 10:59
||- - Stanislav_S   Цитата(Tanya @ Mar 24 2011, 14:59) А я пр...   Mar 24 2011, 11:09
||- - Tanya   Цитата(Stanislav_S @ Mar 24 2011, 14:09) ...   Mar 24 2011, 11:26
||- - Stanislav_S   Цитата(Tanya @ Mar 24 2011, 15:26) А с на...   Mar 24 2011, 12:21
||- - Tanya   Цитата(Stanislav_S @ Mar 24 2011, 15:21) ...   Mar 24 2011, 12:25
||- - Stanislav_S   Цитата(Tanya @ Mar 24 2011, 16:25) Кто эт...   Mar 24 2011, 13:09
||- - Tanya   Цитата(Stanislav_S @ Mar 24 2011, 16:09) ...   Mar 24 2011, 13:25
|- - Stanislav_S   Что то схемы измерения у вас больно альтернативные...   Mar 23 2011, 17:04
- - hd44780   Stanislav_S, а зачем виртуальная земля? Для точнос...   Mar 24 2011, 09:05
|- - Stanislav_S   Цитата(hd44780 @ Mar 24 2011, 13:05) Stan...   Mar 24 2011, 10:17
- - hd44780   Stanislav_S, Tanya, спасибо. Вроде понятно. Буду п...   Mar 24 2011, 10:53
- - hd44780   Мне так видится - схема. Со второй вторичкой/транс...   Mar 24 2011, 11:38
|- - Tanya   Цитата(hd44780 @ Mar 24 2011, 14:38) Мне ...   Mar 24 2011, 12:07
- - Sirko   Извините. А почему нельзя проще? Если судить по п...   Mar 25 2011, 15:12
|- - SHUR1K   Цитата(Sirko @ Mar 25 2011, 17:12) Извини...   Mar 30 2011, 13:53
|- - nk@   Цитата(SHUR1K @ Mar 30 2011, 16:53) ловит...   Mar 30 2011, 18:34
||- - SHUR1K   Цитата(nk@ @ Mar 30 2011, 20:34) А не про...   Mar 31 2011, 04:49
|- - hd44780   Цитата(SHUR1K @ Mar 30 2011, 15:53) ловит...   Mar 31 2011, 07:15
- - НЕХ   А не проще ли поставить ADE7755 ценою меньше долла...   Mar 31 2011, 05:23
- - 777777   Наличие диодов сразу говорит о том, что достаточну...   Mar 31 2011, 08:03
|- - hd44780   Цитата(777777 @ Mar 31 2011, 10:03) Налич...   Mar 31 2011, 10:53
|- - 777777   Цитата(hd44780 @ Mar 31 2011, 14:53) У ме...   Mar 31 2011, 11:54
|- - hd44780   Цитата(777777 @ Mar 31 2011, 13:54) Да ла...   Mar 31 2011, 12:30
- - hd44780   Доделал вольтметр полностью . Показал 188-190в при...   Mar 31 2011, 16:53
|- - SHUR1K   Цитата(hd44780 @ Mar 31 2011, 18:53) Доде...   Apr 1 2011, 05:00
|- - 777777   Цитата(SHUR1K @ Apr 1 2011, 09:00) У меня...   Apr 1 2011, 05:25
|- - SHUR1K   Цитата(777777 @ Apr 1 2011, 07:25) Ну ни ...   Apr 1 2011, 08:32
|- - 777777   Цитата(SHUR1K @ Apr 1 2011, 12:32) Да ник...   Apr 1 2011, 08:56
|- - SHUR1K   Цитата(777777 @ Apr 1 2011, 10:56) А, кст...   Apr 1 2011, 11:08
|- - Stanislav_S   Цитата(SHUR1K @ Apr 1 2011, 15:08) Нет, у...   Apr 1 2011, 12:33
|- - SHUR1K   Цитата(Stanislav_S @ Apr 1 2011, 14:33) С...   Apr 1 2011, 12:46
|- - ILYAUL   Цитата(SHUR1K @ Apr 1 2011, 16:46) 16x16 ...   Apr 1 2011, 13:03
|- - Stanislav_S   Цитата(SHUR1K @ Apr 1 2011, 16:46) 16x16 ...   Apr 1 2011, 13:29
|- - rx3apf   Цитата(SHUR1K @ Apr 1 2011, 16:46) 16x16 ...   Apr 1 2011, 16:10
|- - SHUR1K   Цитата(rx3apf @ Apr 1 2011, 18:10) Это чт...   Apr 1 2011, 18:04
|- - Stanislav_S   Цитата(SHUR1K @ Apr 1 2011, 22:04) Прошу ...   Apr 2 2011, 12:08
|- - SHUR1K   Цитата(Stanislav_S @ Apr 2 2011, 14:08) Х...   Apr 3 2011, 14:35
|- - Stanislav_S   Цитата(SHUR1K @ Apr 3 2011, 18:35) Нет, н...   Apr 3 2011, 15:30
- - hd44780   У меня и подстроечник и коэффициенты в EEPROM . ...   Apr 1 2011, 06:24
2 страниц V   1 2 >


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

 


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


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