Спасибо.
Вечером попробую. Если успею

.
Цитата(MaslovVG @ May 24 2011, 11:23)

Если потребуется фаза отдельно накапливать положительные Sp отдельно отрицательные Sn значения Активная мощность S есть сумма всех значений. Для ее получения не требуется Cos_fi. При этом метод справедлив при любых искажениях формы сигнала.
Немного не понял. S вроде полная мощность, а активная - P.... Косинус нужен именно для P: P= UI*cos=интеграл_ui за_период.
И зачем накапливать отдельно?
Цитата(MaslovVG @ May 24 2011, 11:23)

Это справедливо только для чисто синусоидального сигнала чего сейчас в сети практически не бывает.
Я в курсе. Сделал так, больше ради спортивного интереса.
Цитата(MaslovVG @ May 24 2011, 11:23)

Отдельно накапливайте мощность, квадрат тока, квадрат напряжения.
Так и сделано.
Цитата(MaslovVG @ May 24 2011, 11:23)

Если первым измеряется напряжение то для подсчета мощности значение тока берите средне арифметическое двух соседних измерений. (Это если измерения идут равномерно и поочередно)
Угу ...
Сейчас раз в 1 мс прерывание, там замеряет напряжение, ток (подряд, поэтому интервал минимален), затем считает суммы квадратов, сумму мгн ui, анализирует переход через 0.
Ну и кол-во замеров обязательно

.
Все квадраты и пр. вычисляются целочисленно, над значениями из АЦП.
Пересчёт всего этого в вольты и пр. потом, по истечении одного периода. Кол-во периодов легко увеличить.
Сообщение отредактировал hd44780 - May 24 2011, 09:57
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда