

Детальное описание и прошивку можно скачать тут
Измененная прошивка от автора и описание изменение скачать
Доработка прошивки:
При более плотной эксплуатации своего прибора я столкнулся с проблемой зависимости показаний прибора от времени суток. Это обусловлено неудачным выбором алгоритма измерения синусоидального напряжения. Дело в том, что форма напряжения 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:



Доработка прибора от vofik:
Изменения и доработки:
Добавил три разрядника (случаи бывают разные :))
Использована более мощная релюха, с фиксацией контактов (защелкой), которая управляется не постоянным током а кратковременным импульсом, что позволило уменьшить потребление от сети и коммутировать мощные нагрузки.
Соответственно добавил мк для управлениями обмотками реле.
Остальное в разводке, типа выбора стабилитрона либо тиристора, кренки на пять вольт… варианты разных элементов связано с тем, что было то и паял. 4 прибора собрал, и все с отличиями. Но работают как часы!
Что касается электролитов на 4700,0 я думаю объяснять не нужно. :)
Все элементы, места пайки проводников подписаны.
Программирование attiny13:
Используется внутренний генератор на 4,8 МГц, делитель на 8 отключен, всё остальное по умолчанию.
Скачать [58,12 Kb] (cкачиваний: 340) печатку, прошивку для attiny13 от vofik
|