Jump to content

    

Цифровой вольтметр-амперметр-ваттметр на AVR для бытовой сети

Извините.

А почему нельзя проще?

+1. Я сейчас делаю стабилизатор и для меня важно ловить момент перехода синусоиды через 0. Поэтому я взял просто измерительный транс, сместил его выход вверх на 2,5В и пустил на вход АЦП. Семплирую 255 раз за полпериода синусоиды, что в итоге приводит к точности в 1В, чего мне вполне достаточно. АЦП запускаю единичное по прерываю таймера. В выходном потоке данных из АЦП ищу min и max потом получаю амплитуду (max-min), суммирую значения, ищу среднее и получаю напряжение. Если результат АПЦ равен (max-min)/2 - то это переход через ноль.

Share this post


Link to post
Share on other sites
ловить момент перехода синусоиды через 0.

А не проще использовать аналоговый компаратор? Про него как-то все забыли :crying: Можно получить прерывание при переходе через 0.

Share this post


Link to post
Share on other sites
А не проще использовать аналоговый компаратор? Про него как-то все забыли :crying: Можно получить прерывание при переходе через 0.

Но ведь один if поставить проще, чем даташит открыть :-) Но абсолютно с Вами согласен, более правильно использовать компаратор.

Share this post


Link to post
Share on other sites

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

И коммутировать входа либо на делитель напряжения, либо трансформатор тока, либо на то и другое для оценки активной мощности.

и измерять честное действующее значение...

Share this post


Link to post
Share on other sites
ловить момент перехода синусоиды через 0. Поэтому я взял просто измерительный транс, сместил его выход вверх на 2,5В и пустил на вход АЦП. Семплирую 255 раз за полпериода синусоиды, что в итоге приводит к точности в 1В, чего мне вполне достаточно. АЦП запускаю единичное по прерываю таймера. В выходном потоке данных из АЦП ищу min и max потом получаю амплитуду (max-min), суммирую значения, ищу среднее и получаю напряжение. Если результат АПЦ равен (max-min)/2 - то это переход через ноль.

 

У меня похожий алгоритм. Но пока до отлова перехода синусоиды через ноль (2.5 в при смещенном сигнале) пока не добрался - работы навалили, не успел реализовать :crying: ...

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

Программное убирание смещения пока не сделал.

 

А не проще использовать аналоговый компаратор?

 

А это идея :rolleyes: . Только сравнивать с Uсмещ.

Надо будет попробовать. Хоть ради интереса.

 

А не проще ли поставить ADE7755

 

Проще. Еще проще поставить ADE7753, AD636, AD637 или что-то типа того.

Но лично у меня принцип - как можно реже использовать разные спец. микросхемы.

Тем более, что здесь алгоритмы не бог весть какие сложные.

 

.... для оценки активной мощности.

и измерять честное действующее значение...

 

Я собираюсь измерять все 3 мощности S, P, Q. При анализе сдвига фаз это вполне реализуемо. По-моему.

Действующее - у меня меряется среднеквадратическое (True RMS, если не ошибаюсь) - те самые 3.2в. Что меряет мой мультиметр - не знаю :rolleyes: .

Edited by hd44780

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites
Наличие диодов сразу говорит о том, что достаточную точность вы не получите.

 

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

 

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

 

Меня, вообще, всегда удивляло, почему народ так не любит отрицательные напряжения.

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

А мне проще сместить, чем искать двуполярный АЦП.

 

Кто мешает непрерывно оцифровывать мгновенные значения тока и напряжения, перемножать их и суммировать?

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

Share this post


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

Ну это совсем другое дело!

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

Да ладно, в некоторых АВРках есть псевдодифференциальные входы. Тогда тебе даже операционники не понадобятся.

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

Ну и как? Похоже на правду?

Share this post


Link to post
Share on other sites
Да ладно, в некоторых АВРках есть псевдодифференциальные входы. Тогда тебе даже операционники не понадобятся.

 

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

 

Ну и как? Похоже на правду?

 

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

Правда не знаю, корректно ли сравнивать их так непосредственно.

Edited by hd44780

Share this post


Link to post
Share on other sites

Доделал вольтметр полностью .

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

Edited by hd44780

Share this post


Link to post
Share on other sites
Доделал вольтметр полностью .

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

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

Share this post


Link to post
Share on other sites
У меня вход идет через подстроечный резистор 10К на АЦП, и точность измерений я настраивал им, чтобы не использовать коэффициенты. Потому как при использовании операций умножения/деления прошивка "кабанеет" на глазах. (При использовании только одной операции умножения у меня hex вырос с 3 до 11 кБ). Поэтому умножать/делить лучше только на числа, которые являются степенями двойки.

Ну ни фига себе доводы! Ну так для того он и процессор, пусть работает, он железный! Тебе какое дело 3 кб там или 11? А подстроечник стоит денег и понижает надежность. Лучше выкинуть его, а коэффициент держать в EEPROM

Share this post


Link to post
Share on other sites

У меня и подстроечник и коэффициенты в EEPROM :biggrin: .

Можно и подстроечник убрать, но тогда нужна вторичка вольт на 1-2 переменки. У меня пока такой нету :( .

Когда алгоритмы отлажу, может намотаю ее. Она вроде небольшая.

 

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

Пихать их в ОУ, работающий от 5в мне как-то боязно. Лучше я подстроечником перестрахуюсь ...

Edited by hd44780

Share this post


Link to post
Share on other sites
Ну ни фига себе доводы! Ну так для того он и процессор, пусть работает, он железный! Тебе какое дело 3 кб там или 11? А подстроечник стоит денег и понижает надежность. Лучше выкинуть его, а коэффициент держать в EEPROM

Да никакого дела, собсно, если бы не одно но:

8 bit AVR Microcontroller with 8K Bytes of In-System Self-Programmable Flash

Share this post


Link to post
Share on other sites
Да никакого дела, собсно, если бы не одно но:

А, кстати, почему умножение занимает так много? Может ты в плавающей точке вычисления делаешь?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this