Каталог файлов
Главная » Файлы » » На микроконтроллере

Микроконтроллеры AVR защищают аппаратуру от анамального напряжения
17.01.2013, 20:01
Микроконтроллеры 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
Категория: На микроконтроллере | Добавил: DontMoO | Теги:
Просмотров: 1313 | Загрузок: 0 | Комментарии: 0 | Рейтинг: 0.0/0
Помоги сайту, кликни на рекламу
Всего комментариев: 0

Добавить комментарий
(