если используется AVR то таймер справиться, а АЦП - нет.m16, 19 Марта 19, 08:42
Сорри, забыл уточнить я не работаю с AVR только с PIC и рассчитывал для них
если у контроллера АЦП 12разрядов и выше , то вполне возможноm16, 19 Марта 19, 08:42
тут дело в том что чем выше разрядность там больше время преобразования АЦП, лучше бы вообще 8 разрядное но там получится уровень через 1 вольт даже чуть выше учитывая что пиковое напряжение больше 300 в
за период сетевого 20мС равно 307 при тактовой частоте проца 12,8Мгц.m16, 19 Марта 19, 08:42
Я думаю мерять надо не за период а за полупериод так, как предполагается что полупериоды в периоде симметричны, а это 10 мСек и если брать 360 отсчетов, каждый отсчет будет 27 мкСек, частота выборок в этом случае должна превышать 37 кГц. За второй полупериод можно производить окончательные расчеты и вычислять время включения следующего периода.
режим быстрого преобразования
Микроконтроллер PIC16C74
Тактовый сигнал 20МГц
Минимально допустимое время Tad = 1.6 мкс
Tad = 32/Fosc; Tad = 1.6 мкс
Ttrac = (5 мкс + 0 мкс + 2.57 мкс) = 7.57 мкс
Tcon = 1.5 * 1.6 мкс + 8 * 1.6 мкс + (8 –

(2 * 50 нс) = 15.2 мкс
Полное время преобразования
T = 15.2 мкс + 7.57 мкс + 2 * 1.6 мкс = 25.97 мкс
Максимальная частота выборок
F = 38.5 КГц
Параметры расчета описывать не буду кому интересно найдет сам
таймер здесь совсем не нужен , АЦП запускается в начале периода в режиме непрерывного преобразования и всё.m16, 19 Марта 19, 08:42
Таймер нужен для того чтобы не зависеть от временных параметров АЦП, которые не стабильны и зависят в свою очередь от времени зарядки, от температуры, от входного сопротивления, а нам нужно определенное количество выборок за полупериод 360. Сработал таймер, посмотрел флаг окончания преобразования АЦП, взял данные и потом снова запустил преобразование. Ну и дальше можно возводить в квадрат и суммировать с накопителем, и все через равные промежутки.
Ну и по таймеру можно выставлять точное время открытия симистора, ну или закрытия, что тоже возможно, вопрос с шунтирующим транзистором был выше, кстати я сам этим пользовался
Ну и в конце, есть PIC18F2331, или аналогичные, с быстрым АЦП, можно применять их, там можно и 12 разрядное кодирование применить
Добавлено через 9мин.:Надеюсь вы понимаете, что измерения до включения симистора не несут для вас полезной информацииmekkaod, 19 Марта 19, 09:37
Почему не несут 0 на нагрузке тоже информация и участвует в расчетах RMS.
итак измерять напряжение нужно только с подключенной нагрузкой, а для этого надо знать момент её подключения(время задержки включения)mekkaod, 19 Марта 19, 09:37
А нам то ее зачем знать, решение о включении симистора принимает контроллер, он же и запустит начало измерения.
Ну а если измерение и управление на разных контроллерах, тогда, появился на порту сигнал при включении симистора начинай считать, пропал кончай. Только количество выборок будет зависеть от угла включения, их придется считать, так как их количество тоже участвует в расчетах RMS.
PS
Конечно не все так просто поэтому и и задал вопрос
Один маленький вопрос, как напряжение считать будешь?Александр Волков, 18 Марта 19, 09:38
Добавлено через 12мин.:1.симистор открывается в начале полуволны.mekkaod, 19 Марта 19, 16:40
Осмелюсь спросить, а где пункт когда он закрывается.
И еще, я не понял, ты хочешь сказать что по одному замеру мгновенного значения можно вычислить СКЗ всего полупериода. Хм, может что то новое изобрели пока я спал.
А вообще преклоняюсь столько формул расписать на листке, я бы не смог, честно.