АЦП в atmega против PIC

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: АЦП в atmega против PIC

Сообщение YS »

Здесь больше всего вопросов вызывает расчет коэффициента мощности.


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

Я бы взял по сто выборок, вообще.

Если говорить о реактивной мощности там несколько сложнее организовать измерение.


Так активная - это произведение тока и напряжения на косинус угла, а реактивная - на синус. :) Меряя сдвиг, при желании автоматом получаем обе мощности.

Я бы привязался, например, к напряжению, и измерял бы время от перехода напряжения через ноль (его можно даже определять компаратором, и даже завести выход оного на прерывание) до перехода тока через ноль (можно либо вычислять, либо тоже сделать аппаратно).

Т.е., программно вычисляем среднеквадратичные значения напряжения и тока с АЦП, аппаратно определяем переходы напряжения и тока через ноль, программно или аппаратно замеряя время между ними, а дальше считаем что угодно. :idea:
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

Re: АЦП в atmega против PIC

Сообщение BCluster »

YS писал(а):Так активная - это произведение тока и напряжения на косинус угла, а реактивная - на синус

Верно. Я просто опять про настоящие счетчики подумал :) Надо попробовать, посмотреть точность. Точно могу сказать что в счетчиках такой подход не применяется, видимо ввиду как раз низкой точности.
Можно взять любой даташит на ADE измеритель, там очень хорошие картинки нарисованы, можно посмотреть каким образом происходят измерения.
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: АЦП в atmega против PIC

Сообщение YS »

Понятное дело, что если интересует точность, то лучше взять специализированный измеритель и не изобретать велосипед. :)

Но я так понял, в этой теме измеритель конструируется с нуля. Это тоже может быть оправдано.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Bовка
Нашел транзистор. Понюхал.
Сообщения: 175
Зарегистрирован: Вт май 01, 2012 15:07:19

Re: АЦП в atmega против PIC

Сообщение Bовка »

В счетчиках такой подход не применяется, не из-за низкой точности, а потому что таким ваттметром можно измерять только линейную нагрузку. Если нужен ваттметр исключительно для лапочек и ТЭНов, то инструкция годная. К слову, классический ваттметр электромагнитной системы тоже обходится без измерения углов, именно благодаря этому он не скопытился на современных нелинейных потребителях.
Чтоб не бегать по граблям почитайте что и как измеряют специализированные м/с. Кстати, у Atmel'a есть appnote 465 ЕМНИП с ваттметром на меге.
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

Re: АЦП в atmega против PIC

Сообщение BCluster »

Добрался до дома, можно обстоятельно что-нибудь написать :)
Bовка писал(а):потому что таким ваттметром можно измерять только линейную нагрузку

Можно любую, только точность при этом страдает при таком подходе очень сильно. Наличие высших гармоник в сети значительно увеличивает погрешность измерений даже правильным способом. Напишу примерный алгоритм работы измерителя в счетчике.
Два независимых канала, один для тока, другой для напряжения, с некоторой частотой делают выборки (у msp430f6779 софтовый измеритель, 4096 выборок в секунду). На каждой выборке происходит расчет квадратов напряжения и тока, их произведение. Тут же они и суммируются. Раз в секунду происходит расчет среднеквадратичных тока и напряжения. В то же время производится расчет мощностей за этот же период. Активная мощность рассчитывается по формуле Pact = sum(vn*in)/sampleCount. Выборки перед этим расчетом проходят этап коррекции фазы, сдвиг которой может вноситься, например трансформатором тока. Для расчета реактивной мощности производится сдвиг напряжения на 90 градусов и рассчитывается таким же образом как и активная мощность. Это стандартный метод измерения, применятся практически везде для расчета реактивной мощности.
Затем рассчитывается полная мощность, которая равна Papparent = sqrt(Pact^2+Preact^2)
Коэффициент мощности рассчитывается косвенным путем:
Pact/Papparent, если емкостная нагрузка
-Pact/Papparetn, если индуктивная
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: АЦП в atmega против PIC

Сообщение YS »

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


Гм-гм, все это очень напоминает квадратурную обработку радиосигнала - выделение комплексного сигнала путем перемножения в двух каналах с опорным сигналом и его сдвинутой на 90° копией... :)
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: АЦП в atmega против PIC

Сообщение Jack_A »

BCluster писал(а):Это стандартный метод измерения, применятся практически везде для расчета реактивной мощности.

Для линейных нагрузок - да. Для реальных сетей несколько сложнее, и без вычисления спектра не обойтись.
http://ru.electrical-installation.org/r ... _гармоники
amd9800
Опытный кот
Сообщения: 822
Зарегистрирован: Вс июн 02, 2013 12:23:03

Re: АЦП в atmega против PIC

Сообщение amd9800 »

У меня вопрос зачем так все усложнять.

Не проще ли вычислять ток и напряжение в тот же момент времени умножать и получать мощность.
Потом вычислить среднюю мощность за секунду вот и мощность.

Ну если 32 выборки мало - то можно увеличить количество выборок за 10мс.
Не забывайте 32 выборки на один полупериод. Мало ли это?
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: АЦП в atmega против PIC

Сообщение YS »

Не проще ли вычислять ток и напряжение в тот же момент времени умножать и получать мощность.
Потом вычислить среднюю мощность за секунду вот и мощность.


Ну, во-первых, это будет только активная мощность. Да и тут вылезают требования к синхронности выборок и все такое...
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

Re: АЦП в atmega против PIC

Сообщение BCluster »

Jack_A писал(а):Для линейных нагрузок - да. Для реальных сетей несколько сложнее, и без вычисления спектра не обойтись.

Мы работаем с реальным сигналом а не с его моделью в описанном мной способе. Никаких приближений насчет того, что это синусоидальный сигнал не делается, в отличии с вариантом измерения отдельно тока, напряжения и угла.
Дополнительно на балансных счетчиках на подстанциях часто измеряется THD. Помимо этого я говорил про реактивную мощность в цитируемой Вами фразе - а реактивная мощность определяется только для основной частоты.
Аватара пользователя
abc
Друг Кота
Сообщения: 3678
Зарегистрирован: Чт мар 20, 2008 01:06:40
Откуда: Севастополь

Re: АЦП в atmega против PIC

Сообщение abc »

amd9800 писал(а):У меня вопрос зачем так все усложнять.
Не проще ли вычислять ток и напряжение в тот же момент времени умножать и получать мощность.
вы не с того начали (см. первое сообщение этой темы), потому и советы вам дают ... разные.
И переименуйте, кстати, саму тему. Толку будет явно больше.
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

Re: АЦП в atmega против PIC

Сообщение BCluster »

Посмотрели бы вы все же на внешние двухканальные АЦП, которые есть в наличии... Например MCP3422
amd9800
Опытный кот
Сообщения: 822
Зарегистрирован: Вс июн 02, 2013 12:23:03

Re: АЦП в atmega против PIC

Сообщение amd9800 »

YS писал(а):Ну, во-первых, это будет только активная мощность. Да и тут вылезают требования к синхронности выборок и все такое...


Почему вы так думаете. Как раз таким методом можно вычислять и активную и полную мощность.
Если ток по знаку не соответствует напряжению то мы получаем мощность с отрицательным знаком.
Если мы вычитаем мощность из суммы по всем правилам математики получим только потребляемую мощность.
Если мы ее возьмем по модулю то получим всю мощность.

А для синхронности выборки будут делаться по команде микроконтроллера. Начинаться оцифровка будет одновременно на обеих каналах. А вот если один результат будет на 1% быстрее это не страшно.
Микроконтроллер прочитает оцифрованные данные и опять даст команду на следующую выборку и так далее.

А во время выборок микроконтроллер может проводить разные расчеты и выводить результаты на экран.

BCluster писал(а):Например MCP3422


Где они есть в наличии - у нас их нигде нету на радио рынке.
Посмотрел на aliexpress тоже нету.

http://ww1.microchip.com/downloads/en/D ... 22088b.pdf
И кстати скорость у него маленькая - 240 выборок в секунду. Это 2,4 выборки за полупериод. Это далеко не 32.

А у атмелов при частоте дискретизации 200 кгц - сколько выборок в секунду будет?
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: АЦП в atmega против PIC

Сообщение YS »

Почему вы так думаете.


В Википедии написано ровно это.

Изображение
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

Re: АЦП в atmega против PIC

Сообщение BCluster »

amd9800 писал(а):Почему вы так думаете. Как раз таким методом можно вычислять и активную и полную мощность.
Если ток по знаку не соответствует напряжению то мы получаем мощность с отрицательным знаком.
Если мы вычитаем мощность из суммы по всем правилам математики получим только потребляемую мощность.
Если мы ее возьмем по модулю то получим всю мощность.


Ув. YS говорил о том, что данный способ не позволяет измерять реактивную мощность

amd9800 писал(а):И кстати скорость у него маленькая - 240 выборок в секунду.

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

amd9800 писал(а):Посмотрел на aliexpress тоже нету.

Если вы можете купить на али детали - купите ADE7753/ADE7758, будет проще и намного качественнее :)
amd9800
Опытный кот
Сообщения: 822
Зарегистрирован: Вс июн 02, 2013 12:23:03

Re: АЦП в atmega против PIC

Сообщение amd9800 »

BCluster писал(а):Ув. YS говорил о том, что данный способ не позволяет измерять реактивную мощность

Как раз можно и легко.

Предположим у нас подключен только конденсатор и у нас только реактивная мощность.
И смотрим таблицу ниже. Первая таблица восемь выборок за период.
Вторая 16 выборок.
Как видим активная мощность 0, а реактивная чем больше выборок тем ближе к реальности.
Я предлагал 64 выборки за период - думаю не плохой вариант.


Изображение
Изображение
Вложения
wattmetrTable.PNG
(15.39 КБ) 1238 скачиваний
wattmetr.PNG
(18.01 КБ) 1093 скачивания
Последний раз редактировалось amd9800 Ср фев 05, 2014 13:46:08, всего редактировалось 1 раз.
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

Re: АЦП в atmega против PIC

Сообщение BCluster »

То, что вы привели, это не реактивная мощность, а полная. Вольт-амперы. То, что она совпадает с реактивной по значению в данном примере обусловлено чисто реактивной нагрузкой.
Как я писал ранее, полная, активная и реактивная мощности связаны между собой таким соотношением:
Papparent = sqrt(Pact^2+Preact^2)
В вашем примере Pact = 0. Следовательно Papparent=Preact
amd9800
Опытный кот
Сообщения: 822
Зарегистрирован: Вс июн 02, 2013 12:23:03

Re: АЦП в atmega против PIC

Сообщение amd9800 »

Вы правы полная мощность.
Просто у конденсатора активная ноль. И она же получается равной реактивной.

Но тот факт что можно рассчитать полную мощность и активную. А уже отсюда вычислить (реактивую + индуктивную).

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

Теперь осталось правильно выбрать АЦП.
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

Re: АЦП в atmega против PIC

Сообщение BCluster »

amd9800 писал(а):Но тот факт что можно рассчитать полную мощность и активную. А уже отсюда вычислить (реактивую + индуктивную).

Можно! Для линейной нагрузки :)
На самом деле учет реактивной мощности нужен редко. Обычно нужно измерять активную прямую и активную обратную. Эта задача несколько проще.
amd9800 писал(а):реактивую + индуктивную

реактивная есть емкостная+индуктивная, полагаю вы опечатались :)

Вопрос в синхронизации выборок стоит остро.
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

Re: АЦП в atmega против PIC

Сообщение BCluster »

Можно сделать запуск АЦП от внешнего прерывания, а его формировать мастер-контроллером. Тогда, по идее, выборки будут происходить синхронно. Это если использовать 2 контроллера - один для тока, другой для напряжения
Ответить

Вернуться в «AVR»