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

 
 
> Цифровой вольтметр-амперметр-ваттметр на 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
11 страниц V   1 2 3 > »   
Start new topic
Ответов (1 - 99)
Vasily_
сообщение Mar 16 2011, 12:10
Сообщение #2


Знающий
****

Группа: Модераторы
Сообщений: 925
Регистрация: 25-01-09
Из: Рига
Пользователь №: 43 909



А зачем это делать http://www.conrad.com/VOLTCRAFT-ENERGY-LOG...f75c01%2Fmd5%7D и это работает точно!
Go to the top of the page
 
+Quote Post
RabidRabbit
сообщение Mar 16 2011, 12:13
Сообщение #3


Местный
***

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



2. Результаты для тока и напряжения складывать в кольцевой буфер, выводить среднее арифметическое для значений в буфере. Чем длиннее буфер, тем (по-моему) меньше будет прыгать sm.gif
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 16 2011, 12:32
Сообщение #4


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

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



Vasily_, ага. и платить 50 еврозеленых баксов rolleyes.gif . Плюс накладные расходы....
Моя конструкция в разы дешевле получится, даже если я туда граф. дисплей прилеплю и нарисую на нем большие цифры.
Да и интересно просто. Я ж разработчик, а не юзер с замашками тупых бухгалтеров с единственной мыслью в голове - "нажал кнопку и оно само все посчитает" blink.gif .
Я резко разбогатею, если начну паять эти ваттметры и продавать их по 50 евро biggrin.gif .

RabidRabbit, попробую, спасибо за идею.

И еще - как можно определить тот косинус угла между током и напряжением?
Для определения не только полной мощности (S=UI), но и активной (P=UI*cos(phi)).

Я знаю, что там как-то анализируется время выхода синусоид "из нуля",
Время я могу посчитать, а что потом делать - мне непонятно crying.gif .

Сообщение отредактировал hd44780 - Mar 16 2011, 14:04


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


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Цитата(hd44780 @ Mar 16 2011, 15:32) *
И еще - как можно определить тот косинус угла между током и напряжением?
Для определения не только полной мощности (S=UI), но и активной (P=UI*cos(phi)).


А его и не надо определять. Надо просто взять сумму произведений мгновенных значений тока на напряжение за период. Результатом и будет значение активной мощности.


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
defunct
сообщение Mar 16 2011, 13:47
Сообщение #6


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(hd44780 @ Mar 16 2011, 14:32) *
И еще - как можно определить тот косинус угла между током и напряжением?
Для определения не только полной мощности (S=UI), но и активной (P=UI*cos(phi)).

Я определял с помощью детектора фазы.
Ловите переход напряжения через 0 запоминаете номер семпла, потом тока - тоже запоминаете номер семпла,
Потом нехитрыми формулами вычисляете дельту между семлами, конвертируете дельту в угол, и считаете cos.
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 16 2011, 14:03
Сообщение #7


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

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



Цитата(dimka76 @ Mar 16 2011, 15:26) *
Надо просто взять сумму произведений мгновенных значений тока на напряжение за период. Результатом и будет значение активной мощности.


Спасибо. Где-то видел такое. Наверное, в AVR465. Только не понял, на фига оно ...
Попробую.

Цитата(defunct @ Mar 16 2011, 15:47) *
Ловите переход напряжения через 0 запоминаете номер семпла, потом тока - тоже запоминаете номер семпла,
Потом нехитрыми формулами вычисляете дельту между семлами, конвертируете дельту в угол, и считаете cos.


Дельта - разность? И как дельту в угол перевести?
Что такое "детектор фазы"?

Сообщение отредактировал hd44780 - Mar 16 2011, 15:04


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


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(hd44780 @ Mar 16 2011, 18:03) *
Спасибо. Где-то видел такое. Наверное, в AVR465. Только не понял, на фига оно ...


Это, кажись, прямо из учебника Бессонова по ТОЭ. Там про мощности в цепи переменного тока хорошо написано ...
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 16 2011, 17:44
Сообщение #9


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

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



Цитата(kovigor @ Mar 16 2011, 18:12) *
Это, кажись, прямо из учебника Бессонова по ТОЭ. Там про мощности в цепи переменного тока хорошо написано ...


Книжку нашел (учебник 1996 г), почитаю.

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


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


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(hd44780 @ Mar 16 2011, 16:03) *
Дельта - разность? И как дельту в угол перевести?

Ф = delta * 2 Pi * F / Fd,
где Ф - искомый угол, F - частота входного сигнала, Fd - частота дискретизации, delta - разность между номером семла перехода напряжения через 0 и номером семпла перехода тока через 0.

На практике у вас, например, есть частота дискретизации Fd = 4kHz с которой оцифровывается входной сигнал и частота входного сигнала - 50Гц.
За период входного сигнала, будет 4K / 50 = 80 семлов, 80 семплов это 2Pi, формула преобразования соотв:
Ф = delta * 2 Pi / 80.

Детектор фазы это есть - способ определения где был переход через 0. Можно программно, можно компаратором. Удобнее всего просто срезать диодом отрицательную полуволну входного сигнала, тогда условием перехода через 0 будет переход от семпла равного 0 к ненулевому.
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 18 2011, 14:20
Сообщение #11


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

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



Цитата(defunct @ Mar 18 2011, 15:30) *
Ф = delta * 2 Pi * F / Fd,

....
Детектор фазы это есть - способ определения где был переход через 0. Можно программно, можно компаратором. Удобнее всего просто срезать диодом отрицательную полуволну входного сигнала, тогда условием перехода через 0 будет переход от семпла равного 0 к ненулевому.


Спасибо.
Диоды там уже есть biggrin.gif .

Надеюсь, на выходных проверю все это...


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


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 13-11-09
Из: Украина Шостка
Пользователь №: 53 609



Цитата(hd44780 @ Mar 18 2011, 17:20) *
Спасибо.
Диоды там уже есть biggrin.gif .

Надеюсь, на выходных проверю все это...

как мне кажеться у диода есть маленькая неприятность обычные кремниевые диоды имеют прямое падение напряжения около 0,6—0,7 вольт, применение диодов Шоттки позволяет снизить это значение до 0,2—0,4 вольт, а если сделать активный выпрямитель и того не останется laughing.gif
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 20 2011, 12:34
Сообщение #13


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

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



На ТТ у меня диод германиевый (старый советский Д220), в выпрямителе - кремниевые - 1N4007.

Насчет активного выпрямителя - была мысль, но схемы не нашел sad.gif . Одни абстрактные размышления на тему попадались. Из которых схему трудно сделать. Мне, по крайней мере.
Не подкинете ли схемку?

Хотя я решил мерить амплитуду и делить ее на корень из 2 - как в букваре.
Среднее арифметическое сильно "бегает" (писал выше), кольцевой буфер на 200 значений не спас, больше делать не могу - килобайта памяти в меге 8 не хватает sad.gif. Не вешать же туда SRAM на 64 КБ wacko.gif ...
Среднеквадратичное бегает меньше, но дает завышенные результаты - почти в 2 раза (при 230 на входе показывает 380-400 sm.gif ). Я, конечно, могу подогнать коэффициентом, но мне интересно - почему идет завышение? Может потому, что диод на входе пол-периода режет и надо сперва делить, потом поднимать уровень ОУ, а в микрокоде смещать обратно?

А вчера проектик нарыл - берет 1000 отсчетов, меряет по ним максимум и делит на коэффициент. Правда не знаю, как такой подход с т.з. теории.

К мощности пока не приступал. Дай Бог с напряжением и током управиться rolleyes.gif .

Сообщение отредактировал hd44780 - Mar 20 2011, 12:48


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


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(hd44780 @ Mar 20 2011, 16:34) *
Насчет активного выпрямителя - была мысль, но схемы не нашел sad.gif


Странно. Например, см. у М.Джонса в "Практической электронике". Да и у Хоровица и Хилла должно быть. Это же классическая схема - активный выпрямитель на ОУ ...
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 20 2011, 15:46
Сообщение #15


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

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



Я неточно выразился. Я не пойму, куда мне его ставить?
Если б была 2-я вторичка на понижащем трансе, там понятно, а тут ....


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


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 8-12-09
Пользователь №: 54 138



Google рулитsm.gif
Вот почитайте, насчет выпрямителей. Коротко и понятно.
http://de.ifmo.ru/bk_netra/page.php?tutindex=36&index=13
Последняя схемка, кстати, используется в болгарских приводах постоянного тока. Классика sm.gif
Go to the top of the page
 
+Quote Post
azizcheg
сообщение Mar 21 2011, 06:27
Сообщение #17


Участник
*

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



Добрый день всем.
Хочу сделать подобное. На мк ATMEGA128 построить вольтметр/ваттметр. Выводить на 3 семисегментных элемента. Подскажите где посмотреть. Если кто делал, напишите, пожалуйста, на azizcheg@gmail.com.
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 21 2011, 08:25
Сообщение #18


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

Группа: Свой
Сообщений: 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
ASZ
сообщение Mar 21 2011, 09:15
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 302
Регистрация: 24-07-06
Из: Донецк, Украина
Пользователь №: 19 042



Цитата(hd44780 @ Mar 21 2011, 12:25) *
Я пока в процессе... Долбаное напряжение померить не могу ...
Постоянку миллион раз мерил - с датчиков давления/влажности, БП делал со встроенным вольтметром - с первого раза оживало.
А тут - уже неделю парюсь... Вроде все понятно, а ни фига не получается wacko.gif
...skipped...

Мне непонятно, зачем вообще диоды ставить и иметь головную боль из-за их нелинейности?
Погасить на делителе до приемлемой величины и сместить положительным напряжением до нуля посередине. И АЦПируйтесь наздоровье.
Кстаати, у германиевых диодов ВАХ от температуры сильно зависит.
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 21 2011, 09:48
Сообщение #20


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

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



Цитата(ASZ @ Mar 21 2011, 11:15) *
Мне непонятно, зачем вообще диоды ставить и иметь головную боль из-за их нелинейности?
Погасить на делителе до приемлемой величины и сместить положительным напряжением до нуля посередине. И АЦПируйтесь наздоровье.
Кстаати, у германиевых диодов ВАХ от температуры сильно зависит.


Пока только для комнатной температуры. Пока алгоритмы не обкатаю. Потом сделаю активный делитель на ОУ со смещением.
Диод по напряжению - кремниевый, из диодного моста (схема в первом посте). Или такая схема плоха?


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


Местный
***

Группа: Свой
Сообщений: 302
Регистрация: 24-07-06
Из: Донецк, Украина
Пользователь №: 19 042



Цитата(hd44780 @ Mar 21 2011, 13:48) *
Пока только для комнатной температуры. Пока алгоритмы не обкатаю. Потом сделаю активный делитель на ОУ со смещением.
Диод по напряжению - кремниевый, из диодного моста (схема в первом посте). Или такая схема плоха?

Посмотрите прямую ветвь ВАХ Ваших диодов. Диод открывается при напряжении >0,8В (? - склероз) и имеет очень большую нелинейность.
Таким образом, при малых напряжениях Вы получите сверхпогрешность.

А зачем вообще ставить ОУ? С трансформатора и так достаточно большое напряжение sm.gif
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 21 2011, 10:34
Сообщение #22


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

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



Не понял sad.gif ...
Я ж получаю полож. полуволну с верхнего входа моста .... Зачем ее смещать?
Если б была 2-я вторичка, там были бы обе полуволны.


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


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 8-12-09
Пользователь №: 54 138



Цитата(ASZ @ Mar 21 2011, 12:11) *
А зачем вообще ставить ОУ? С трансформатора и так достаточно большое напряжение sm.gif


На ОУ собирается "прецизионный выпрямитель". Все уже давно придумано до (для) нас sm.gif
Можно, в принципе, засемплировать синусоиду, проинтегрировать и посчитать среднеквадратичное значение, но аналоговая техника справится с этим быстрее и точнее. Гораздо проще мерять постоянное напряжение. С ВЧ помехами, опять-же программно бороться будет не просто. Ну, это все конечно, если мы хотим иметь прибор, а не коробочку с лампочками, которая будет показывать значения в попугайчиках sm.gif

PS:Ну, уж если есть желание решить задачу исключительно программно, то это очень интересная и объемная тема для обсуждения.

Сообщение отредактировал nk@ - Mar 21 2011, 10:51
Go to the top of the page
 
+Quote Post
e_one
сообщение Mar 21 2011, 12:13
Сообщение #24


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 14-03-09
Пользователь №: 46 084



Занимался подобной задачей. Для развязки от сети использовал схему из книги Полупроводниковая схемотехника У. Тице и К. Шенк, страница 469.
измерение делал 1 раз в миллисекунду. Синхронизировал начало измерений с переходом синуса через ноль. Измерял 1 полный период. по прерыванию от таймера запускал преобразование АЦП, потом USUM=(ADCW>>2)*(ADCW>>2)+USUM; и по следующем переходе через 0 подсчитывал RESULT=sqrt(USUM/N);
Задача точности остро не стояла. реально пришлось увеличить количество периодов измерения до 10. Погрешность измерений примерно +-1В.
Тестировал эту схему в диапазоне температур от 20 до 55 градусов и напряжений 150-230В. заметил, что оба оптрона должны иметь одну температуру - находится рядом, иначе точность теряется.

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

Кто знает, какой минимальный уровень напряжение может быть на входе опорного напряжения АЦП меги16. В даташите молчат, может кто-то подскажет ответ?
Go to the top of the page
 
+Quote Post
RabidRabbit
сообщение Mar 21 2011, 14:44
Сообщение #25


Местный
***

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



Цитата(hd44780 @ Mar 20 2011, 15:34) *
Среднее арифметическое сильно "бегает" (писал выше), кольцевой буфер на 200 значений не спас, больше делать не могу - килобайта памяти в меге 8 не хватает sad.gif. Не вешать же туда SRAM на 64 КБ wacko.gif ...
Мнэээ, а float у Вас сколько битов? Не то если по 32 - то как два буфера (напряжение и ток) 200 * 2 * 4 влезло в 1 килобайт? С сишным компилятором и один, я думаю, не влезет... А если всё-таки влезло 200 значений, то какой же должен быть разброс, болтанка в 10 вольт при таком раскладе даст изменение в результате только на 5 сотых...
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 21 2011, 15:35
Сообщение #26


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

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



Я на С в CvAvr пишу.

float у него 4 байта вроде - никакой памяти не хватит складывать их в буфер. 1 буфер = 4*200 = 800 байт - почти весь SRAM Mega8.
Не цеплять же мне ATMega32 ...

В буфер я клал 8-битовые значения с АЦП. 2 буфера - по 200 значений на напряжение и ток.
Мож где ошибся в дальнейших обсчетах... Хз...

Сейчас сделал среднее арифметическое отсчетов АЦП без буфера за 1000 замеров без таймера - тьфу-тьфу вроде получше стало...
С началом полуволны пока не синхронизируюсь. Но в будущем может и понадобится. Для определения угла сдвига фаз между напряжением и током. Ну это потом.
Сделал пока только для напряжения.
Токовый транс пока отключил. Все равно, алгоритмы замеров идентичные, отличия только в коэффициентах..

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


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


Местный
***

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



Цитата(hd44780 @ Mar 21 2011, 18:35) *
В буфер я клал 8-битовые значения с АЦП. 2 буфера - по 200 значений на напряжение и ток. Мож где ошибся в дальнейших обсчетах... Хз...
Я, конечно, не спец, но если задаться интервалом в 400 вольт, да поделить этот интервал на 256 (8-битовые отсчёты), то на один бит придётся около 1.5 вольта, как-то так... И чего вы таки хотите? Для более-менее приличных результатов, по-моему, можно что-то типа оверсэмплинга применить, например 64 восьмибитных замера сложить, результат поделить на 8 (получив "одиннадцатибитный" результат), далее всё же организовать кольцевой буфер на 16 "одиннадцатибитных" значений, и, добавив очередное, считать сумму значений из буфера и поделить на 16.
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 21 2011, 16:59
Сообщение #28


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

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



С буфером получается вот что:

// Для сумм
//volatile dword summU;
volatile byte arrayU[200];

// Кол-во преобразований напряжения и тока
volatile word count_U=0;

................


// ADC interrupt service routine
interrupt [ADC_INT] void adc_isr(void)
{
word adc_data=ADCW;

adc_data>>=2;
arrayU[count_U]=adc_data&0xFF;
count_U++;
if (count_U>=200)
count_U=0;
} // adc_isr

..........
// Обрабока
f_sqr_summU=0.0;
for (i=0;i<200;i++)
{
f_sqr_summU+=(float)arrayU[i];
} // for
sprintf (buffer, "A=%.2f ", f_sqr_summU);
hd44780_puts_xy ( 0, 0, buffer );

f_sqr_summU/=200;

// Uацп=ср*5/1024
f_sqr_summU=f_sqr_summU*5.0/1024;
sprintf (buffer, "B=%.2f ", f_sqr_summU);
hd44780_puts_xy ( 8, 0, buffer );

На дисплее:
A=19360 B=0.47

Т.е. сумма значений в буфере - 19360 (примерно, оно меняется все время)
U на входе АЦП = 0.47в, хотя на самом деле там 2.00-2.50в

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


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


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 8-12-09
Пользователь №: 54 138



А AD делает отличные RMS to DC конвертеры:
http://www.analog.com/static/imported-file...heets/AD636.pdf
http://www.analog.com/static/imported-file...heets/AD637.pdf
А дальше меряем постоянное напряжение - и всех делов sm.gif

PS: Прошу прощения, цена почти 20 бакинских. Дороговато sad.gif

Сообщение отредактировал nk@ - Mar 21 2011, 19:05
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 21 2011, 19:21
Сообщение #30


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

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



Еще и достать их не очень....
Правда из доки можно кой-чего интересного нарыть.


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


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

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



К вопросу о тех кольцевых буферах.

С какой частотой должны идти выборки в эти буфера?
Сейчас у меня АЦП тактируется 125 кГц. Сколько там получится сэмплов в секунду я посчитать пока не удосужился (в доке как-то мутно про это написано sad.gif ), но, думается 100KSPS наберется. 1 сэмпл за 10 мкс.
Т.е. 200 байт буфера полностью обновятся за 2 мс. Т.е. весь буфер не вмещает даже полпериода 50 герцового сигнала.

Это нормально? Или надо понижать частоту выборки?

e_one, не знаю. Посмотрел я схему, не понял ее.


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


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


Участник
*

Группа: Участник
Сообщений: 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
Сообщение #33


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

Группа: Свой
Сообщений: 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
Сообщение #34


Участник
*

Группа: Участник
Сообщений: 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
Сообщение #35


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

Группа: Свой
Сообщений: 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, 08:52
Сообщение #36


Местный
***

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



Цитата(hd44780 @ Mar 22 2011, 10:11) *
К вопросу о тех кольцевых буферах. С какой частотой должны идти выборки в эти буфера?
Сейчас у меня АЦП тактируется 125 кГц. Сколько там получится сэмплов в секунду я посчитать пока не удосужился (в доке как-то мутно про это написано sad.gif ), но, думается 100KSPS наберется. 1 сэмпл за 10 мкс.
Т.е. 200 байт буфера полностью обновятся за 2 мс. Т.е. весь буфер не вмещает даже полпериода 50 герцового сигнала.
Это нормально? Или надо понижать частоту выборки?

Семён Семёныч! В кольцевые буферы я предлагал складывать уже вычисленные значения напряжения и тока wink.gif Я думаю, вполне хватит по 16 значений тока и напряжения. Чтобы не было неоднозначностей, набросаю код.
CODE

#define MY_BUFFER_SIZE 16

float get_voltage( const float mesuredVoltage )
{
static float voltage[MY_BUFFER_SIZE] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
static int pos = 0;
int i;
float result = 0;

//
voltage[pos++] = mesuredVoltage;
//
if ( pos >= MY_BUFFER_SIZE )
pos = 0;
//
for ( i = 0; i < MY_BUFFER_SIZE; i++ )
{
//
result += voltage[i];
}
//
return result / MY_BUFFER_SIZE;
}

И такую же фигню для тока sm.gif

Сообщение отредактировал RabidRabbit - Mar 22 2011, 10:05
Go to the top of the page
 
+Quote Post
ASZ
сообщение Mar 22 2011, 09:12
Сообщение #37


Местный
***

Группа: Свой
Сообщений: 302
Регистрация: 24-07-06
Из: Донецк, Украина
Пользователь №: 19 042



Цитата(hd44780 @ Mar 21 2011, 13:34) *
Не понял sad.gif ...
Я ж получаю полож. полуволну с верхнего входа моста .... Зачем ее смещать?
Если б была 2-я вторичка, там были бы обе полуволны.

А зачем вообще выпрямлять? Делителем уменьшаете ПЕРЕМЕННОЕ напряжение трансформатора напряжения до 2/3 максимального входного АЦП и смещаете его до середины шкалы.
Разность Umax-Umin=Ua дает Вам амплитудное значение измеренного напряжения. Действующее значение для синусоиды U=0,707Ua.
Этим избавляетесь от всяких нелинейностей от диодов и значительно упрощаете схему (3 резистора!).
Это же касается и цепи тока.

Лично считаю, что усложнять схему ради упрощения программы - дурной тон.
Go to the top of the page
 
+Quote Post
RabidRabbit
сообщение Mar 22 2011, 09:28
Сообщение #38


Местный
***

Группа: Свой
Сообщений: 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
сообщение Mar 22 2011, 09:45
Сообщение #39


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

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



RabidRabbit, спасибо. я так не пытался wink.gif .
Попробую. Если, конечно потянет считать float значения прямо в прерывании. Но можно и целочисленно сделать, в умноженных на 1000, например.

Цитата(RabidRabbit @ Mar 22 2011, 11:28) *
лучше зарядить таймер на частоту 1000 Гц, в обработчике прерывания запускать одиночное преобразование, дожидаться его завершения и результат приплюсовывать к накопителю. 100 отсчётов АЦП в таком случае перекроют 5 периодов частоты 50 Гц, что снимает необходимость ловить переход через 0 (я надеюсь, у Вас мега от кварца тактируется). По сумме этих 100 отсчётов (ну или 200, лишь бы на 20 делилось) можно вычислить напряжение. Скакать не должно sm.gif


Есть у меня такая мысль. Наверное сделаю.
Сейчас мега тактируется от внутренних 8MHz, просто ног не хватает sad.gif . На PB (там, где кварц) у меня ШД LCD сидит.
Можно поставить и 16-ю мегу ...

Цитата(ASZ @ Mar 22 2011, 11:12) *
А зачем вообще выпрямлять? Делителем уменьшаете ПЕРЕМЕННОЕ напряжение трансформатора напряжения до 2/3 максимального входного АЦП и смещаете его до середины шкалы.
Разность Umax-Umin=Ua дает Вам амплитудное значение измеренного напряжения. Действующее значение для синусоиды U=0,707Ua.


А можно потенциометр включить ко вторичке параллельно мосту, а напряжение на движке смещать?

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


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


Местный
***

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



Цитата(hd44780 @ Mar 22 2011, 12:45) *
Попробую. Если, конечно потянет считать float значения прямо в прерывании. Но можно и целочисленно сделать, в умноженных на 1000, например.
Вы правильно понимаете - не нужны float'ы в прерывании. В прерывании, например, можно суммировать целочисленные значения от АЦП (как есть, не надо их ни на что умножать, только в случае 8-битных значений для 100 замеров хватит 16-битной переменной, а для 10-битных значений уже надо 24-битную или 32-битную). Просуммировали 100 значений - скопировать в какую-нибудь глобальную переменную, увеличить другую глобальную переменную на 1, чтобы просигналить основной задаче о доступности нового результата, и снова суммировать сотню значений sm.gif Если я недоступно излагаю - спрашивайте в личке, например sm.gif
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 22 2011, 10:24
Сообщение #41


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

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



Цитата(RabidRabbit @ Mar 22 2011, 12:03) *
Если я недоступно излагаю - спрашивайте в личке, например sm.gif


Да нет, все понятно. Спасибо. Напишу, проверю вечером. Я на работе, железо дома biggrin.gif .

У меня отсчеты 10-битные, суммирую в беззнаковый 32 бит.

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


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


Местный
***

Группа: Свой
Сообщений: 302
Регистрация: 24-07-06
Из: Донецк, Украина
Пользователь №: 19 042



Цитата(hd44780 @ Mar 22 2011, 12:45) *
...skipped...
А можно потенциометр включить ко вторичке параллельно мосту, а напряжение на движке смещать?

Можно, если постоянное напряжение после моста НИКАК не связано с измерительной схемой.
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 22 2011, 14:04
Сообщение #43


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

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



Цитата(ASZ @ Mar 22 2011, 14:53) *
Можно, если постоянное напряжение после моста НИКАК не связано с измерительной схемой.


Мост питает мегу и LCD. Обычный БП на LM7805.


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


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

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



RabidRabbit, с буферами вроде получилось. Показывает 213-214 при где-то 230 в. Но это без калибровки, коэффициенты "на глаз".

Теперь, наверное, займусь смещением и среднеквадратическим.


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


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

Группа: Свой
Сообщений: 1 210
Регистрация: 24-01-05
Из: Россия Волгодонск
Пользователь №: 2 134



Позволю себе заметиь.
Первое для определения среднего не нужен буфер.
вычисляем по формуле
Аy= ((к-1)Ac+M)/k где Ac предидущее среднее, Ау новое среднее, М последнее измерение, к глубина усреднения(эквивалентна длине буфера)
при к равном степени двойки вычисления сводатся к двум сложениям идвум сдвигам.
Измерять лучше средне квадратичное значение и тока и напряжения и мощности без всяких выпрямителей. При этом можно измерять несинусоидальные величины.
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 23 2011, 07:30
Сообщение #46


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

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



Цитата(MaslovVG @ Mar 22 2011, 22:20) *
Измерять лучше средне квадратичное значение и тока и напряжения и мощности без всяких выпрямителей. При этом можно измерять несинусоидальные величины.


Я знаю, что среднеквадратичное лучше disco.gif . Но через выпрямитель/диод фигня получается sad.gif . Пытался.
Сейчас как раз занимаюсь сборкой измерительной цепи без выпрямителя rolleyes.gif . Жаль, что только по вечерам ...

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


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


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

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



Без выпрямителя я вот такое вижу - схема. Вместо 2-го транса можно взять 2-ю вторичку.
Как сделать то же на одной обмотке, при наличии средней точки - не знаю sad.gif.
Если кто знает - подскажите плиз.

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


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


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Цитата(hd44780 @ Mar 23 2011, 12:39) *
Как сделать то же на одной обмотке, при наличии средней точки - не знаю sad.gif.

Прикрепленное изображение



--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 23 2011, 11:54
Сообщение #49


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

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



dimka76, спасибо. Попробую.



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


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(hd44780 @ Mar 23 2011, 14:54) *
dimka76, спасибо. Попробую.

Попробуйте лучше операционный усилитель.
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 23 2011, 14:11
Сообщение #51


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

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



Цитата(Tanya @ Mar 23 2011, 14:17) *
Попробуйте лучше операционный усилитель.


Вы имеете в виду БП с активным выпрямителем?


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


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(hd44780 @ Mar 23 2011, 17:11) *
Вы имеете в виду БП с активным выпрямителем?

Я имела в виду схему сдвига уровня для попадания в диапазон АЦП.
Вместо фантазий на тему двух потенциометров.
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 23 2011, 15:05
Сообщение #53


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

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



Цитата(Tanya @ Mar 23 2011, 16:22) *
Я имела в виду схему сдвига уровня для попадания в диапазон АЦП.


Понял. Мож и сделаю biggrin.gif ..

Схема нормальная? Для тока рисовать не стал.
Кстати - БП (мост) переделал. Работает.
До ОУ пока руки не дошли..

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


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


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(hd44780 @ Mar 23 2011, 18:05) *
Схема нормальная?

Схема нормальная. Только после выпрямителя не ставьте конденсатор с большой емкостью.
А если есть еще обмотка, то лучше оттуда сигнал брать.
Go to the top of the page
 
+Quote Post
Stanislav_S
сообщение Mar 23 2011, 17:04
Сообщение #55


извечный пессимист
*****

Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125



Что то схемы измерения у вас больно альтернативные sm.gif Для начала выкинте все ваши подстроечники и сформируйте для начала нормальную "виртуальную" землю, затем правильно постройте с каскады усиления на ОУ, если конечно вы не хотите показометр сделать sm.gif


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 23 2011, 19:18
Сообщение #56


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

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



Цитата(Tanya @ Mar 23 2011, 18:59) *
Схема нормальная. Только после выпрямителя не ставьте конденсатор с большой емкостью.
А если есть еще обмотка, то лучше оттуда сигнал брать.


После моста электролит 1000mF.
Второй обмотки нету. Могу 2-й транс поставить, как я нарисовал. Мне кстати с ним понятнее biggrin.gif

Цитата(Stanislav_S @ Mar 23 2011, 19:04) *
Что то схемы измерения у вас больно альтернативные sm.gif Для начала выкинте все ваши подстроечники и сформируйте для начала нормальную "виртуальную" землю, затем правильно постройте с каскады усиления на ОУ, если конечно вы не хотите показометр сделать sm.gif


Схема из поста 46 - взято из AVR465. Ее же вариант на ОУ - оттуда же. Только слегка упрощенный. Без переключаемого Ку. По напряжению он не нужен.

Сообщение отредактировал hd44780 - Mar 23 2011, 18:49


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


извечный пессимист
*****

Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125



Цитата(hd44780 @ Mar 23 2011, 23:18) *
Схема из поста 46 - взято из AVR465. Ее же вариант на ОУ - оттуда же. Только слегка упрощенный. Без переключаемого Ку. По напряжению он не нужен.

Апонт это конечно хорошо, но обычно там идея дается, направление для мысли так-сказать, а если хочется сделать хороший девайс, то все равно думать самому надо sm.gif



--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 24 2011, 09:05
Сообщение #58


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

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



Stanislav_S, а зачем виртуальная земля? Для точности измерений?
Просто не сталкивался как-то sad.gif .


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


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(hd44780 @ Mar 23 2011, 22:18) *
После моста электролит 1000mF.
Второй обмотки нету. Могу 2-й транс поставить, как я нарисовал. Мне кстати с ним понятнее biggrin.gif

Нужно считать. Вот посчитайте форму тока во вторичной обмотке. Будут импульсы на вершине синусоиды. Если умножить на сопротивление обмотки, получится ошибка напряжения, которое измеряется. При этом не нужно забывать, что эти самые вершинки вносят основной вклад в сумму квадратов.

Цитата(hd44780 @ Mar 24 2011, 12:05) *
Stanislav_S, а зачем виртуальная земля? Для точности измерений?
Просто не сталкивался как-то sad.gif .

Это буфер на ОУ, который держит половину питания. К нему можно обмотки подключать.
Go to the top of the page
 
+Quote Post
Stanislav_S
сообщение Mar 24 2011, 10:17
Сообщение #60


извечный пессимист
*****

Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125



Цитата(hd44780 @ Mar 24 2011, 13:05) *
Stanislav_S, а зачем виртуальная земля? Для точности измерений?
Просто не сталкивался как-то sad.gif .

Да именно так, тем более что ее можно завести на АЦП (хотя можно и не заводить), таким образом вы сможете ловить переходы через ноль програмно, ну и точность повысится.


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 24 2011, 10:19
Сообщение #61


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

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



Цитата(Tanya @ Mar 24 2011, 11:25) *
Это буфер на ОУ, который держит половину питания. К нему можно обмотки подключать.


Кажется, начинаю что-то понимать.... Это чтобы сместить синусоиду на 2.5в (у меня питание 5в)?
А чем это отличается от того ОУ с потенциометром?
Подскажите, где об этом почитать? Гуглом искал по фразе "виртуальная земля", нашел только про потенциал минусового входа ОУ в инв. усилителе ...

Есть Хоровиц-Хилл, Пейтон А.Дж., Волш В "Аналоговая техника на ОУ".
Бегло проглядел, не заметил sad.gif

Спасибо.

Сообщение отредактировал hd44780 - Mar 24 2011, 10:23


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


извечный пессимист
*****

Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125



Вот так это выглядет, измерение напряжения с обмотки питания схемы, опорное напряжение в данном случае 5 вольт, но для повышения точности (если надо) используйте внешний референс, например МСР1541.

Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post
Tanya
сообщение Mar 24 2011, 10:38
Сообщение #63


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(hd44780 @ Mar 24 2011, 13:19) *
А чем это отличается от того ОУ с потенциометром?

Только тем, что только один ОУ, если масштабировать не нужно. А еще тем, что эта искусственная средняя точка одна на несколько каналов.

Цитата(Stanislav_S @ Mar 24 2011, 13:28) *
Вот так это выглядет,

А зачем такие сложности - C8...
Можно же один резистор с обмотки на инвертирующий вход... Второй конец и искусственную среднюю точку - на неинвертирующий. Или я чего-то недопонимаю?
Go to the top of the page
 
+Quote Post
Stanislav_S
сообщение Mar 24 2011, 10:50
Сообщение #64


извечный пессимист
*****

Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125



Цитата(Tanya @ Mar 24 2011, 14:38) *
А зачем такие сложности - C8...
Можно же один резистор с обмотки на инвертирующий вход... Второй конец и искусственную среднюю точку - на неинвертирующий. Или я чего-то недопонимаю?

В данном, конкретном случае, подвешивать второй конец обмотки на среднюю точку не представляется возможным.


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 24 2011, 10:53
Сообщение #65


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

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



Stanislav_S, Tanya, спасибо.
Вроде понятно. Буду пробовать.

Сообщение отредактировал hd44780 - Mar 24 2011, 10:57


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


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(Stanislav_S @ Mar 24 2011, 13:50) *
В данном, конкретном случае, подвешивать второй конец обмотки на среднюю точку не представляется возможным.

А я про трансформатор тока... И не факт, что у автора обмотки соединены внутри... Может он сам - снаружи?
Go to the top of the page
 
+Quote Post
Stanislav_S
сообщение Mar 24 2011, 11:09
Сообщение #67


извечный пессимист
*****

Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125



Цитата(Tanya @ Mar 24 2011, 14:59) *
А я про трансформатор тока... И не факт, что у автора обмотки соединены внутри... Может он сам - снаружи?

А понятно, ну с трансформатором тока согласен, я про измерение напряжения sm.gif


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post
Tanya
сообщение Mar 24 2011, 11:26
Сообщение #68


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(Stanislav_S @ Mar 24 2011, 14:09) *
А понятно, ну с трансформатором тока согласен, я про измерение напряжения sm.gif

А с напряжением... брать с нагруженной на выпрямитель с конденсатором обмотки... не стоит, наверное.
Кроме всего прочего... Ваша схема не годится для полноразмахного выхода, так как входы будут слишком сильно раскачиваться. Уж лучше и в этом случае инвертирующую схему... даже с искусственной средней точкой. Сигнал будет несимметричный, но не сильно уж. На неинвертирующий вход можно подать немного меньше половины...
Или уж ИУ с базой на средней точке... Кто на первой базе....?
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 24 2011, 11:38
Сообщение #69


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

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



Мне так видится - схема.
Со второй вторичкой/трансом мне все-таки больше нравится.

Вместо R5 можно поставить тот буферный ОУ.
Оба ОУ д.б. либо оба инвертирующие, либо оба неинвертирующие. Мне там еще сдвиг фаз напряжение-ток анализировать. Для измерения мощности.

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


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


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(hd44780 @ Mar 24 2011, 14:38) *
Мне так видится - схема.

Оба ОУ д.б. либо оба инвертирующие, либо оба неинвертирующие. Мне там еще сдвиг фаз напряжение-ток анализировать. Для измерения мощности.

Конденсаторы лишние. R2 не нужен. Концы обмоток - на среднюю (искусственную) точку. Резисторы на входы добавить.
Номиналы увеличить.
Go to the top of the page
 
+Quote Post
Stanislav_S
сообщение Mar 24 2011, 12:21
Сообщение #71


извечный пессимист
*****

Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125



Цитата(Tanya @ Mar 24 2011, 15:26) *
А с напряжением... брать с нагруженной на выпрямитель с конденсатором обмотки... не стоит, наверное.
Кроме всего прочего... Ваша схема не годится для полноразмахного выхода, так как входы будут слишком сильно раскачиваться. Уж лучше и в этом случае инвертирующую схему... даже с искусственной средней точкой. Сигнал будет несимметричный, но не сильно уж. На неинвертирующий вход можно подать немного меньше половины...
Или уж ИУ с базой на средней точке... Кто на первой базе....?

То что не стоит брать с обмотки питания это понятно, но в данном случае изделие серийное (тираж очень большой), поэтому заказчик на дополнительный измерительный трансформатор не пошел, днег экономит sm.gif. Для полного размаха не годится конечно, но! никто не мешает пойти двумя путями, поставить rail to rail, по входу и по выходу, либо увеличить коэфициент деления входного аттенюатора, а для каскада на ОУ ввести небольшое усиление. Хотя конечно инвертирующую схему никто не отменял.


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post
Tanya
сообщение Mar 24 2011, 12:25
Сообщение #72


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(Stanislav_S @ Mar 24 2011, 15:21) *
То что не стоит брать с обмотки питания это понятно, но в данном случае изделие серийное

Кто это сказал?
Автор в самом начале произнес - "Вот делаю такую штуку - сабж.
Делается для себя,...."
Лучше всего... - поставить инструментальный усилитель и прекратить думать о пустяках...
Go to the top of the page
 
+Quote Post
Stanislav_S
сообщение Mar 24 2011, 13:09
Сообщение #73


извечный пессимист
*****

Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125



Цитата(Tanya @ Mar 24 2011, 16:25) *
Кто это сказал?
Автор в самом начале произнес - "Вот делаю такую штуку - сабж.
Делается для себя,...."
Лучше всего... - поставить инструментальный усилитель и прекратить думать о пустяках...

А зачем инструментальный усилитель? Разве что для тока (и то непонятно зачем), а для напряжения инструментальный усилитель не пригодится, во диф усилитель, да sm.gif


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post
Tanya
сообщение Mar 24 2011, 13:25
Сообщение #74


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(Stanislav_S @ Mar 24 2011, 16:09) *
А зачем инструментальный усилитель? Разве что для тока (и то непонятно зачем), а для напряжения инструментальный усилитель не пригодится, во диф усилитель, да sm.gif

А мне кажется, что никакой разницы между дифференциальным и инструментальным нет. Только слова разные.
Go to the top of the page
 
+Quote Post
Sirko
сообщение Mar 25 2011, 15:12
Сообщение #75


Местный
***

Группа: Участник
Сообщений: 245
Регистрация: 15-08-07
Пользователь №: 29 795



Извините.
А почему нельзя проще?
Прикрепленное изображение

Если судить по последней преведенной схеме, то у автора есть дополнительные обмотки.
Напряжение "Напряжения" при необходимости можно поделить, прицепив еще резистор, паралельно конденсатору.
Далее пусть думает проц. Это его головная боль.
И совсем неясно, для чего выпрямлять сигнал физически?
Go to the top of the page
 
+Quote Post
SHUR1K
сообщение Mar 30 2011, 13:53
Сообщение #76


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 6-04-10
Из: Киев
Пользователь №: 56 447



Цитата(Sirko @ Mar 25 2011, 17:12) *
Извините.
А почему нельзя проще?

+1. Я сейчас делаю стабилизатор и для меня важно ловить момент перехода синусоиды через 0. Поэтому я взял просто измерительный транс, сместил его выход вверх на 2,5В и пустил на вход АЦП. Семплирую 255 раз за полпериода синусоиды, что в итоге приводит к точности в 1В, чего мне вполне достаточно. АЦП запускаю единичное по прерываю таймера. В выходном потоке данных из АЦП ищу min и max потом получаю амплитуду (max-min), суммирую значения, ищу среднее и получаю напряжение. Если результат АПЦ равен (max-min)/2 - то это переход через ноль.
Go to the top of the page
 
+Quote Post
nk@
сообщение Mar 30 2011, 18:34
Сообщение #77


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 8-12-09
Пользователь №: 54 138



Цитата(SHUR1K @ Mar 30 2011, 16:53) *
ловить момент перехода синусоиды через 0.

А не проще использовать аналоговый компаратор? Про него как-то все забыли crying.gif Можно получить прерывание при переходе через 0.
Go to the top of the page
 
+Quote Post
SHUR1K
сообщение Mar 31 2011, 04:49
Сообщение #78


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 6-04-10
Из: Киев
Пользователь №: 56 447



Цитата(nk@ @ Mar 30 2011, 20:34) *
А не проще использовать аналоговый компаратор? Про него как-то все забыли crying.gif Можно получить прерывание при переходе через 0.

Но ведь один if поставить проще, чем даташит открыть :-) Но абсолютно с Вами согласен, более правильно использовать компаратор.
Go to the top of the page
 
+Quote Post
НЕХ
сообщение Mar 31 2011, 05:23
Сообщение #79


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

Группа: Участник
Сообщений: 1 220
Регистрация: 10-10-06
Из: Петербург
Пользователь №: 21 169



А не проще ли поставить ADE7755 ценою меньше доллара и использовать вывод "pulse output CF" в режиме калибровки с выходом высокой частоты и просто замерять её ?
И коммутировать входа либо на делитель напряжения, либо трансформатор тока, либо на то и другое для оценки активной мощности.
и измерять честное действующее значение...


--------------------
Когда едешь на поезде - переезд всегда закрыт...
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 31 2011, 07:15
Сообщение #80


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

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



Цитата(SHUR1K @ Mar 30 2011, 15:53) *
ловить момент перехода синусоиды через 0. Поэтому я взял просто измерительный транс, сместил его выход вверх на 2,5В и пустил на вход АЦП. Семплирую 255 раз за полпериода синусоиды, что в итоге приводит к точности в 1В, чего мне вполне достаточно. АЦП запускаю единичное по прерываю таймера. В выходном потоке данных из АЦП ищу min и max потом получаю амплитуду (max-min), суммирую значения, ищу среднее и получаю напряжение. Если результат АПЦ равен (max-min)/2 - то это переход через ноль.


У меня похожий алгоритм. Но пока до отлова перехода синусоиды через ноль (2.5 в при смещенном сигнале) пока не добрался - работы навалили, не успел реализовать crying.gif ...
Но усредненную и поднятую переменку нормально меряет - показывает 3.2 в (при смещении 2 в). Вольтметр DC из мультиметра показывает 3.12в и это без всяких калибровок и коррекций. И опорой в лоб от VCC.
Программное убирание смещения пока не сделал.

Цитата(nk@ @ Mar 30 2011, 20:34) *
А не проще использовать аналоговый компаратор?


А это идея rolleyes.gif . Только сравнивать с Uсмещ.
Надо будет попробовать. Хоть ради интереса.

Цитата(НЕХ @ Mar 31 2011, 07:23) *
А не проще ли поставить ADE7755


Проще. Еще проще поставить ADE7753, AD636, AD637 или что-то типа того.
Но лично у меня принцип - как можно реже использовать разные спец. микросхемы.
Тем более, что здесь алгоритмы не бог весть какие сложные.

Цитата(НЕХ @ Mar 31 2011, 07:23) *
.... для оценки активной мощности.
и измерять честное действующее значение...


Я собираюсь измерять все 3 мощности S, P, Q. При анализе сдвига фаз это вполне реализуемо. По-моему.
Действующее - у меня меряется среднеквадратическое (True RMS, если не ошибаюсь) - те самые 3.2в. Что меряет мой мультиметр - не знаю rolleyes.gif .

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


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


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

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



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

Меня, вообще, всегда удивляло, почему народ так не любит отрицательные напряжения. Кто мешает непрерывно оцифровывать мгновенные значения тока и напряжения, перемножать их и суммировать?
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 31 2011, 10:53
Сообщение #82


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

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



Цитата(777777 @ Mar 31 2011, 10:03) *
Наличие диодов сразу говорит о том, что достаточную точность вы не получите.


У меня собрана схема из поста 69 - http://electronix.ru/forum/index.php?showt...st&p=904668

Там нету никаких диодов. Только в БП biggrin.gif .

Цитата(777777 @ Mar 31 2011, 10:03) *
Меня, вообще, всегда удивляло, почему народ так не любит отрицательные напряжения.

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

Цитата(777777 @ Mar 31 2011, 10:03) *
Кто мешает непрерывно оцифровывать мгновенные значения тока и напряжения, перемножать их и суммировать?

Я так и делаю. Мгновенные замеры раз в 1 мс - 20 раз на период.


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


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

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(hd44780 @ Mar 31 2011, 14:53) *
У меня собрана схема из поста 69 - http://electronix.ru/forum/index.php?showt...st&p=904668

Ну это совсем другое дело!
Цитата(hd44780 @ Mar 31 2011, 14:53) *
Их не народ не любит, а АЦП. Ну не меряет АЦП микроконтроллера отрицательные напряжения.

Да ладно, в некоторых АВРках есть псевдодифференциальные входы. Тогда тебе даже операционники не понадобятся.
Цитата(hd44780 @ Mar 31 2011, 14:53) *
Я так и делаю. Мгновенные замеры раз в 1 мс - 20 раз на период.

Ну и как? Похоже на правду?
Go to the top of the page
 
+Quote Post
hd44780
сообщение Mar 31 2011, 12:30
Сообщение #84


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

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



Цитата(777777 @ Mar 31 2011, 13:54) *
Да ладно, в некоторых АВРках есть псевдодифференциальные входы. Тогда тебе даже операционники не понадобятся.


Дифф входы работоспособны только в SMD корпусах. Я их терпеть не могу biggrin.gif и стараюсь не применять.

Цитата(777777 @ Mar 31 2011, 13:54) *
Ну и как? Похоже на правду?


1-й блин - замер поднятой переменки (на входе АЦП) у меня показал 3.2в, вольтметр - 3.12в.
Правда не знаю, корректно ли сравнивать их так непосредственно.

Сообщение отредактировал hd44780 - Mar 31 2011, 12:34


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


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

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



Доделал вольтметр полностью .
Показал 188-190в при реальных 220-221в. Это без калибровки. Коэффициенты взяты на глаз.

Сообщение отредактировал hd44780 - Mar 31 2011, 18:10


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
SHUR1K
сообщение Apr 1 2011, 05:00
Сообщение #86


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 6-04-10
Из: Киев
Пользователь №: 56 447



Цитата(hd44780 @ Mar 31 2011, 18:53) *
Доделал вольтметр полностью .
Показал 188-190в при реальных 220-221в. Это без калибровки. Коэффициенты взяты на глаз.

У меня вход идет через подстроечный резистор 10К на АЦП, и точность измерений я настраивал им, чтобы не использовать коэффициенты. Потому как при использовании операций умножения/деления прошивка "кабанеет" на глазах. (При использовании только одной операции умножения у меня hex вырос с 3 до 11 кБ). Поэтому умножать/делить лучше только на числа, которые являются степенями двойки.
Go to the top of the page
 
+Quote Post
777777
сообщение Apr 1 2011, 05:25
Сообщение #87


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

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(SHUR1K @ Apr 1 2011, 09:00) *
У меня вход идет через подстроечный резистор 10К на АЦП, и точность измерений я настраивал им, чтобы не использовать коэффициенты. Потому как при использовании операций умножения/деления прошивка "кабанеет" на глазах. (При использовании только одной операции умножения у меня hex вырос с 3 до 11 кБ). Поэтому умножать/делить лучше только на числа, которые являются степенями двойки.

Ну ни фига себе доводы! Ну так для того он и процессор, пусть работает, он железный! Тебе какое дело 3 кб там или 11? А подстроечник стоит денег и понижает надежность. Лучше выкинуть его, а коэффициент держать в EEPROM
Go to the top of the page
 
+Quote Post
hd44780
сообщение Apr 1 2011, 06:24
Сообщение #88


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

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



У меня и подстроечник и коэффициенты в EEPROM biggrin.gif .
Можно и подстроечник убрать, но тогда нужна вторичка вольт на 1-2 переменки. У меня пока такой нету sad.gif .
Когда алгоритмы отлажу, может намотаю ее. Она вроде небольшая.

А сейчас у меня с обмотки измерительного транса прет 13в действующих. Транс обычный, от БП какого-то советского микрокалькулятора. Калькулятор давно помер, а транс остался rolleyes.gif .
Пихать их в ОУ, работающий от 5в мне как-то боязно. Лучше я подстроечником перестрахуюсь ...

Сообщение отредактировал hd44780 - Apr 1 2011, 06:30


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


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 6-04-10
Из: Киев
Пользователь №: 56 447



Цитата(777777 @ Apr 1 2011, 07:25) *
Ну ни фига себе доводы! Ну так для того он и процессор, пусть работает, он железный! Тебе какое дело 3 кб там или 11? А подстроечник стоит денег и понижает надежность. Лучше выкинуть его, а коэффициент держать в EEPROM

Да никакого дела, собсно, если бы не одно но:
Цитата(Datasheet)
8 bit AVR Microcontroller with 8K Bytes of In-System Self-Programmable Flash
Go to the top of the page
 
+Quote Post
777777
сообщение Apr 1 2011, 08:56
Сообщение #90


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

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(SHUR1K @ Apr 1 2011, 12:32) *
Да никакого дела, собсно, если бы не одно но:

А, кстати, почему умножение занимает так много? Может ты в плавающей точке вычисления делаешь?
Go to the top of the page
 
+Quote Post
SHUR1K
сообщение Apr 1 2011, 11:08
Сообщение #91


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 6-04-10
Из: Киев
Пользователь №: 56 447



Цитата(777777 @ Apr 1 2011, 10:56) *
А, кстати, почему умножение занимает так много? Может ты в плавающей точке вычисления делаешь?

Нет, умножение было целочисленным. А много потому, что нет аппаратного умножителя, а програмно получается так много.

Сообщение отредактировал SHUR1K - Apr 1 2011, 11:14
Go to the top of the page
 
+Quote Post
Stanislav_S
сообщение Apr 1 2011, 12:33
Сообщение #92


извечный пессимист
*****

Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125



Цитата(SHUR1K @ Apr 1 2011, 15:08) *
Нет, умножение было целочисленным. А много потому, что нет аппаратного умножителя, а програмно получается так много.

Страхи какие-то у вас sm.gif Повсеместно использую целочисленное умножение типа 16 х 16 или 32 * 32, и никаких таких мегаразмеров программы не получается, как же так?


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post
SHUR1K
сообщение Apr 1 2011, 12:46
Сообщение #93


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 6-04-10
Из: Киев
Пользователь №: 56 447



Цитата(Stanislav_S @ Apr 1 2011, 14:33) *
Страхи какие-то у вас sm.gif Повсеместно использую целочисленное умножение типа 16 х 16 или 32 * 32, и никаких таких мегаразмеров программы не получается, как же так?

16x16 и 32х32 - это совсем другое. Умножение на число, которое является степенью двойки - это просто сдвиг влево на соответствующие число позиций (степень двойки). А Вы попробуйте умножить на 11 или 13 и посмотрите как вырастет hex
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Apr 1 2011, 13:03
Сообщение #94


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

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата(SHUR1K @ Apr 1 2011, 16:46) *
16x16 и 32х32 - это совсем другое. Умножение на число, которое является степенью двойки - это просто сдвиг влево на соответствующие число позиций (степень двойки). А Вы попробуйте умножить на 11 или 13 и посмотрите как вырастет hex


Ну и на сколько?

Код
;*************************************************
;*      ;;/умножение Беззнаковых 16х16;;*       *
;*************************************************
Mul16x16:
        mul        temp,rab
        mov        R13,LoMul    ;| здесь AH*BH
        mov        R14,MeMul
        mul        temp1,rab1
        mov        R11,LoMul    ;| здесь AL*BL
        mov        R12,MeMul
        mul        temp,rab1    ;| здесь AH*BL
        add        R12,LoMul
        adc        R13,MeMul
        adc        R14,HiMUL
        mul        temp1,rab    ;| здесь BH*AL
        add        R12,LoMul
        adc        R13,MeMul
        adc        R14,HiMUL
        ret


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
Stanislav_S
сообщение Apr 1 2011, 13:29
Сообщение #95


извечный пессимист
*****

Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125



Цитата(SHUR1K @ Apr 1 2011, 16:46) *
16x16 и 32х32 - это совсем другое. Умножение на число, которое является степенью двойки - это просто сдвиг влево на соответствующие число позиций (степень двойки). А Вы попробуйте умножить на 11 или 13 и посмотрите как вырастет hex

Проверил, умножил 1000 на 25, программа выросла на 80 байт, но это еще с учетом вызова функции itoa(), и где обещанные килобайты? sm.gif


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Apr 1 2011, 16:10
Сообщение #96


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(SHUR1K @ Apr 1 2011, 16:46) *
16x16 и 32х32 - это совсем другое. Умножение на число, которое является степенью двойки - это просто сдвиг влево на соответствующие число позиций (степень двойки). А Вы попробуйте умножить на 11 или 13 и посмотрите как вырастет hex

Это что, первоапрельский прикол такой ? 16x16 это, простите, не умножение числа 16 на число 16, а перемножение двух произвольных 16-битных чисел. В один килобайт влезают четыре действия в плавучке и еще место останется, а уж целочисленное умножение при отсутствии команды mul - три-четыре десятка команд (меньше сотни байтов).
Go to the top of the page
 
+Quote Post
SHUR1K
сообщение Apr 1 2011, 18:04
Сообщение #97


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 6-04-10
Из: Киев
Пользователь №: 56 447



Цитата(rx3apf @ Apr 1 2011, 18:10) *
Это что, первоапрельский прикол такой ? 16x16 это, простите, не умножение числа 16 на число 16, а перемножение двух произвольных 16-битных чисел. В один килобайт влезают четыре действия в плавучке и еще место останется, а уж целочисленное умножение при отсутствии команды mul - три-четыре десятка команд (меньше сотни байтов).

Прошу прощения, тупанул. Перепроверил у себя, при использовании в одном выражении деления и умножения код вырастает значительно. Если делать это не в одном выражении, то прирост действительно не так велик.
Go to the top of the page
 
+Quote Post
Stanislav_S
сообщение Apr 2 2011, 12:08
Сообщение #98


извечный пессимист
*****

Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125



Цитата(SHUR1K @ Apr 1 2011, 22:04) *
Прошу прощения, тупанул. Перепроверил у себя, при использовании в одном выражении деления и умножения код вырастает значительно. Если делать это не в одном выражении, то прирост действительно не так велик.

Хм, что то у вас с компилятором, добавил деление в формуле, прирост чуть больше чем при умножении, что то у вас не так sm.gif Проверьте настройки компилятора.


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post
SHUR1K
сообщение Apr 3 2011, 14:35
Сообщение #99


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 6-04-10
Из: Киев
Пользователь №: 56 447



Цитата(Stanislav_S @ Apr 2 2011, 14:08) *
Хм, что то у вас с компилятором, добавил деление в формуле, прирост чуть больше чем при умножении, что то у вас не так sm.gif Проверьте настройки компилятора.

Нет, не с компилятором :-). Просто если использовать в одном выражении умножении и деление, ну например *3/2, то получается *1.5, а это уже дробное число, вот и растет код безбожно.
Go to the top of the page
 
+Quote Post
Stanislav_S
сообщение Apr 3 2011, 15:30
Сообщение #100


извечный пессимист
*****

Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125



Цитата(SHUR1K @ Apr 3 2011, 18:35) *
Нет, не с компилятором :-). Просто если использовать в одном выражении умножении и деление, ну например *3/2, то получается *1.5, а это уже дробное число, вот и растет код безбожно.

?? мы говорили о целочисленном делении, разве нет? Если вы говорите о плавучке, тогда да, код раздувается на байт 800 примерно, но! Мы ведь говорили о целых числах sm.gif


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post

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

 


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


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