Вы здесь: Главная » Микроконтроллеры AVR защищают аппаратуру от анамального напряжения

Микроконтроллеры AVR защищают аппаратуру от анамального напряжения

Микроконтроллеры AVR защищают аппаратуру от анамального напряжения


Доработка прошивки:

 

При более плотной эксплуатации своего прибора я столкнулся с проблемой зависимости показаний прибора от времени суток. Это обусловлено неудачным выбором алгоритма измерения синусоидального напряжения. Дело в том, что форма напряжения 220 В в разное время суток разная. Причина - обилие включенных активных и импульсных нагрузок днем и малое их количество ночью. Эту проблему я смог побороть, только изменив полностью алгоритм измерения напряжения. Теперь мой прибор измеряет действующее значение напряжения, прошивки прилагаю. Правда, несколько снизилось удобство управления прибором: теперь кнопка РЕЖИМ активна только в момент, когда прибор измеряет напряжение, т.е. для повторного нажатия кнопки РЕЖИМ приходится ждать перехода прибора в состояние измерения сетевого напряжения.

Возможно, придется также разменять местами провода идущие на 26 и 25 ноги микроконтроллера (прошивка переделывалась под другую плату).

Алгоритм измерения в двух словах выглядит теперь так: Во время прихода положительной полуволны запускается АЦП, Который успевает за время прохождения этой полуволны сделать порядка 100 выборок, которые обрабатываются по формуле:

 

Urms= sqrt(1/T* S[u(t)*u(t)]dt,

 

где: sqrt - корень квадратный, S - интеграл за период времени от 0 до Т.

Для дискретного способа взятия интеграла формула упроститься до вида

 

Urms=K*sqrt(1/N*sum(Uadc*Uadc)),

 

Где: К - поправочный коэффициент, Uadc - значение на выходе АЦП, N - число выборок за время прохождения полуволны синусоиды. Более точно подсказать я вам не смогу, т.к. исходники на Си были уничтожены вместе с винчестером, прошивки в hex я вам скачал с оставшегося прототипа, надеюсь, они Вам помогут.

 

Фьюзы прогаммируются так: для меги 8

В программаторе кодвижн сверху вниз

1. первые два – галки                           CKSEL0=0,  CKSEL1=0

2. третий – нет галки                            CKSEL2=1

3. следующие пять – есть галки           CKSEL3=0, SUT0=0, SUT1=0, BODEN=0, BODLEVEL=0.

4.остальные нет галок

Частота внутреннего генератора микроконтроллера 8 МГц.

 

Фото от OlK:

Источник http://cxema.my1.ru