Цифровой ваттметр. Измерит.акт.мощности Atmega8 & ADE7751

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Цифровой ваттметр. Измерит.акт.мощности Atmega8 & ADE775

Сообщение clawham »

Спасибо....хоть ктото оценил заготовку под всё что угодно :)))

ну там можно ввести просто сбрасывание какой-то из персональных ячеек всегда сначала при включении...а можно и просто системное время выводить...
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
Upgrader
Друг Кота
Сообщения: 26671
Зарегистрирован: Пт май 18, 2007 22:56:58

Re: Цифровой ваттметр. Измерит.акт.мощности Atmega8 & ADE775

Сообщение Upgrader »

А можно перейти на 8 МГц кварц или штатный генератор, в программе что потребуется менять?
Не променяю медь на ржавую несгорайку!
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Цифровой ваттметр. Измерит.акт.мощности Atmega8 & ADE775

Сообщение clawham »

можно хоть на 1 мегагерц...хоть на 20...
в меню нужно поправить коэфф деления( при 16 мегагерцах это 1000
при 8-ми - 500...но это всё относительно ибо у меня коэффициент 1121 например...тоесть кварц по факту 17 мегагерц :)))



ну и частоту в менюшке задать ....8000000 герц как оно и есть....прошивка не меняется!!!!!
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
Upgrader
Друг Кота
Сообщения: 26671
Зарегистрирован: Пт май 18, 2007 22:56:58

Re: Цифровой ваттметр. Измерит.акт.мощности Atmega8 & ADE775

Сообщение Upgrader »

Спасибо. А скорость вывода на дисплей не изменится, т.е. не появится "тормознутость"?
Не променяю медь на ржавую несгорайку!
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Цифровой ваттметр. Измерит.акт.мощности Atmega8 & ADE775

Сообщение clawham »

частота обновления экрана и алгоритм расчета частоты по кол-ву импульсов (а не по паузе между ними) работает на отрезке времени 1/8 секунды

при частоте 16 мегагерц я вторым таймером делю эту частоту на 0x0A (тоесть на 10) а потом жду пока таймер досчитает до 250 и выдаёт прерывание....вот количество этих прерываний и задаётся в переменной (импульсов в секунду) поэтому по идее для 16 мегагерц там надо вписать 800
а для 8ми мегагерц - 400

от этой 1/8 секунды обновляется экран и расчитывается стек импульсов
тоесть я имею 16 ячеек каждая считает последовательно сколько за эту 1/8 пришло импульсов, потом всё складывается, усредняется и делится на 2 - выводится на экран..но это когда частоты больше 10 килогерц помоему

весь остальной функционал работает от переменной - частота кварца(системы) - это константа для расчета частоты от времени

драйвер экрана не использует задержек!!! он работает по флагу бизи....тоесть по факту синхронизируется(насколько это возможно) с процем экрана
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
Upgrader
Друг Кота
Сообщения: 26671
Зарегистрирован: Пт май 18, 2007 22:56:58

Re: Цифровой ваттметр. Измерит.акт.мощности Atmega8 & ADE775

Сообщение Upgrader »

А lcd_clear(); закомментировано перед выводом на дисплей по причине мерцания, или просто из-за отсутствия необходимости? В Proteus довольно заметно мигает - а в реальной схеме тоже будет?

Кстати, а на счет все-таки более продвинутого МК AVR с большей памятью, развития не будет? ARM-ы всякие - это пока не каждому доступно, а вот какая-нибудь жирная мега - очень даже замечательно.
Не променяю медь на ржавую несгорайку!
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Цифровой ваттметр. Измерит.акт.мощности Atmega8 & ADE775

Сообщение clawham »

закоментил ибо таки да...мерцает заметно....да и памяти кушает...не нужно :)))
в реальных девайсах делаю раз в 2-5 минут полную очистку экрана и его инит - тогда любые помехи и ошибки прощаются

а по поводу жирной меги....дык..этовот...пока есть другие приоритеты...но если что и будет то на 103 меге или 128 меге...99% что это 103 мега будет....стоит ничего ножек мульён..8 прерываний....таймеров малавата....конечно ну...прорвемся :)
да...частота там тож мала...9.6 мегагерц ещё работает 10 уже нет...
и с прошиванием проблемы...пару чипов запортил по вообще непонятным причинам...
ну та то лирика....может ради изучения архитектуры соберу это дело на MSP
проблема у них - нет еепрома..а мне нужно море еепрома...можно конечно программную память юзать но она настолько медленная и столько току жрет её запись....что....я даже не знаю...прийдётся внешнюю еепромину лепить и внешний РТЦ типа дски....снова таки ... у меня сичас 4 проекта стоят в очереди..."ТИР", "Контроль 20ячеек LiPo", "1Wire Slave", "SmartClock"

когда я это всё успею даж не представляю...плюс ещё ворон подводит сильно....вторую неделю заказ высылает...в общем запара долговременная...ну..продолжение будет....главное оставляйте пожелания коментарии чем пользуетесь чего не хватает..я почитаю и переосмыслю...и заново напишу велосипед :)))
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
Upgrader
Друг Кота
Сообщения: 26671
Зарегистрирован: Пт май 18, 2007 22:56:58

Re: Цифровой ваттметр. Измерит.акт.мощности Atmega8 & ADE775

Сообщение Upgrader »

Пытаюсь в сон вогнать в нужный момент, таким образом:
sleep_enable();
powerdown();
(#include <sleep.h>)
Но после засыпания тут-же просыпается, при нулях на INT0 и INT1.
Не подскажите как настроить, чтобы только по входу INT1 просыпался (c датчика при появлении частоты)?

Схема всё та-же 38_wattmeter.rar.
Не променяю медь на ржавую несгорайку!
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Цифровой ваттметр. Измерит.акт.мощности Atmega8 & ADE775

Сообщение clawham »

f как же таймеры? а вачдог?
время-то считать надо?
полюбому будет просыпаться...так что никак:)
ну или вконце каждого прерывания засыпайте..я даже низнаю....или в каждой итерации главного цикла...как вариант...
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
Upgrader
Друг Кота
Сообщения: 26671
Зарегистрирован: Пт май 18, 2007 22:56:58

Re: Цифровой ваттметр. Измерит.акт.мощности Atmega8 & ADE775

Сообщение Upgrader »

clawham писал(а):f как же таймеры? а вачдог?
время-то считать надо?
Не, не надо. Я имею ввиду вообще выключать всё. Вместо выключателя питания (при работе от батареек) чтобы не потреблял "ничего", а включился автоматом по первому срабатыванию датчика (счетчика).
Просто механический выключатель в мою конструкцию никак не вписывается.
Такое получиться?
Не променяю медь на ржавую несгорайку!
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Цифровой ваттметр. Измерит.акт.мощности Atmega8 & ADE775

Сообщение clawham »

дык всёравно а как же время? получается вам нужен только частотомер?
ну тогда там из меню можно много чего выкинуть
но если по простому - то кидайте его не в слип а в повердаун - он тормозит все свои осциляторы....
можно поставить условие что когда время которое натикалось больше допустим 15 минут (тоесть 900 секунд * 8000000 = 7 200 000 000 / 65536 = 112500000 переполнений таймера времени) то кидаемся в павердаун....он заглушит всё и будет сидеть ждать прерывания...перед павердауном желательно бы всё сохранить в еепром вызвав принудительно eepsave() или как там её :)

а ещё надо бы как-то питать экранчик от самого МК и перед Павердауном снимать с него питание вообще.....после прерывания МК вернется на следующую команду после павердауна и там надо будет вызвать реинит экрана...ну вот как-то так

кстати сам бы поизучал данный прикол - а собственно компилятор кодевижн или иар?

Кстати 2 - судя по даташиту вачдог продолжает работать всегда и естественно будит МК прерыванием....потому - его перед уходом в сон тож надо выкинуть....как и отключение БОД....говорят он много кушает неоправданно...
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
Upgrader
Друг Кота
Сообщения: 26671
Зарегистрирован: Пт май 18, 2007 22:56:58

Re: Цифровой ваттметр. Измерит.акт.мощности Atmega8 & ADE775

Сообщение Upgrader »

clawham писал(а):дык всёравно а как же время?
При неиспользовании устройства, время не нужно. Я не имею ввиду использовать режимы экономии энергии во время работы, нет, только лишь на время неиспользования вообще в отключку. Я имею ввиду то, чтобы подключить аккумулятор к питанию меги навсегда. Если измеритель не используется - в повер даун его и пусть спит вечно (не разряжая аккум) до первого внешнего дерга прерывания. Вогнать в отключку логично вручную либо по какому-то условию (но это уже дело десятое).
clawham писал(а):кстати сам бы поизучал данный прикол - а собственно компилятор кодевижн или иар?
CodeVisionAVR (38_wattmeter.rar)

clawham писал(а):а ещё надо бы как-то питать экранчик от самого МК и перед Павердауном снимать с него питание вообще.....после прерывания МК вернется на следующую команду после павердауна и там надо будет вызвать реинит экрана...ну вот как-то так
Понятно, это вроде понятно как сделать.
Проблема для меня именно как правильно вогнать в повер даун и выгнать мегу.
Не променяю медь на ржавую несгорайку!
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Цифровой ваттметр. Измерит.акт.мощности Atmega8 & ADE775

Сообщение clawham »

дык не проблема это....нужно всеголиш выключить BOD и WDT

BOD выключается примерно так

Код: Выделить всё

tmp = MCUCR | (1<<BODS) | (1<<BODSE);
MCUCR = tmp;
MCUCR = tmp & (~(1<<BODSE));


теперь нужно выключить WDT
WDTCR - взводим бит WDCE, ждём пару нопов, пишем в WDE единичку...ждём ещё 4 нопа и снова пишем нулики в WDE а потом и в WDCE

ну а дальше как написано в шите на странице 33
взводим необходимые биты в SM2..0 - нам нужно powerdown 010

дальше взводим SE бит того же регистра ну и потом #asm("sleep")

на том проц умирает....ожидая прерывания внешнего....

кстати просыпание происодит по истечени не менее 4000 тактов или 4 миллисекунд ито при наличии нормального питания...


тут другой прикол....напрмиер замерить потребление чайника ...
ну вот знаю я что там 2 киловатта...и что?
мне от этого не тепло не холодно..он же работает не более 5 минут раз в час
поэтому я оставляю включенный через ваттметр чайник на 2-3 дня...
и пользуюсь как пользуюсь...а потом вижу что за 2 дня и 10 часов накрутило 4 киловаттчаса.....захожу в просмотр персональных счетов и там хопа - при таком использовании - 25 грн в месяц....воо...полезно...

а так эта функция будет негееспособна....ведь девайсина по таймауту то и вырубится...и некому будет считать время отсутствия потребления...тоесть добрая половина устройства - в топку :)
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
Upgrader
Друг Кота
Сообщения: 26671
Зарегистрирован: Пт май 18, 2007 22:56:58

Re: Цифровой ваттметр. Измерит.акт.мощности Atmega8 & ADE775

Сообщение Upgrader »

clawham писал(а):BOD выключается примерно так

Код: Выделить всё

tmp = MCUCR | (1<<BODS) | (1<<BODSE);
MCUCR = tmp;
MCUCR = tmp & (~(1<<BODSE));
А как перевести эти BODS BODSE в нормальный вид, который съест кодевижн?
Про то всё нашел что и как, а на счет BOD - даже в даташите не вижу ничего подходящего. :oops:

clawham писал(а):а так эта функция будет негееспособна....ведь девайсина по таймауту то и вырубится...и некому будет считать время отсутствия потребления...тоесть добрая половина устройства - в топку :)
А, в этом случае не по таймауту, а вручную вырубать. Тогда все полнофункционально будет.
Не променяю медь на ржавую несгорайку!
Аватара пользователя
Секретный кот
Поставщик валерьянки для Кота
Сообщения: 2106
Зарегистрирован: Ср сен 17, 2008 14:32:15
Откуда: Старые Васюки
Контактная информация:

Re: Цифровой ваттметр. Измерит.акт.мощности Atmega8 & ADE775

Сообщение Секретный кот »

Тем временем домучил я свой ваттметр на ADE7756... ну короче работает, мощу и прочее меряет немедленно, с частотой мигания огонька не завязан (хотя сам огонёк присутствует – для красоты :)) ).
ТТХ такие: МК Mega8535@16MHz, LCD 16x2, шунт 0,025 Ома, напряжение измеряемой сети от 10 до 250 В, точность измерения мощности около 0,02 Вт@220 В, пределы измерения соответственно от ~0,1 Вт до 5 кВт, интервал обновления показаний на дисплее 1 секунда (можно мерить меняющиеся в реальном времени нагрузки). Управление через меню, простая калибровка в виде около 10 байт, записываемых в EEPROM контроллера. Габариты платы чуть больше сигаретной пачки (без шунта и БП).

В общем, буду публиковать статью по своему девайсу. Кому интересно, welcome в личку, как будет готово дам копию.
Даже остановленные часы два раза в сутки показывают правильное время.
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Цифровой ваттметр. Измерит.акт.мощности Atmega8 & ADE775

Сообщение clawham »

Xnjnj я никак не могу найти по разумной цене 7756 у нас в украине.....а жаль...поиграться бы....
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
Секретный кот
Поставщик валерьянки для Кота
Сообщения: 2106
Зарегистрирован: Ср сен 17, 2008 14:32:15
Откуда: Старые Васюки
Контактная информация:

Re: Цифровой ваттметр. Измерит.акт.мощности Atmega8 & ADE775

Сообщение Секретный кот »

Ну вот собственно небольшой отчёт о проделанной работе...
Сам прибор выглядит вот так:
Изображение
Вид сзади:
Изображение
Передняя панель и стартовая заставка:
Изображение
Экран в 1 режиме измерения (время, текущие ватты, кВтч, средние ватты):
Изображение
Экран во 2 режиме измерения (напряжение, ток, ватты, коэффициент мощности):
Изображение
Для примера показан обмер системника моего компа :))
Оказывается, многие домашние приборы жрут просто дофига в режиме standby! Например, старый телевизор более 5 ватт! Выходит, реклама энергосбережения не врёт – всю эту хрень надо принудительно отключать :(

clawham писал(а):Xnjnj я никак не могу найти по разумной цене 7756 у нас в украине.....а жаль...поиграться бы....

Лучше ищите 7753 или CS456x от Cirrus Logic... с ними, судя по докам, работать намного приятнее... мне просто не удалось их достать, поэтому сделал на 7756.
Вложения
DSCN1816.JPG
(65.77 КБ) 3118 скачиваний
DSCN1813.JPG
(55.9 КБ) 3611 скачиваний
DSCN1769.JPG
(59.54 КБ) 2904 скачивания
DSCN1764.JPG
(63.25 КБ) 2942 скачивания
DSCN1763.JPG
(56.03 КБ) 2881 скачивание
Даже остановленные часы два раза в сутки показывают правильное время.
Alex7
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Вт июн 05, 2012 20:55:57
Откуда: Севастополь

Re: Цифровой ваттметр. Измерит.акт.мощности Atmega8 & ADE775

Сообщение Alex7 »

Повторил это замечательное, полезное для меня устройство. Спасибо автору. При попытке изменить тариф в меню "настройки" он меняется, но не сохраняется. Остается как и был забит 0,2. Это так и должно быть?
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Цифровой ваттметр. Измерит.акт.мощности Atmega8 & ADE775

Сообщение clawham »

crf;bnt какую версию прошивки использовали....тариф у меня не сохранялся на самой первой прошивке(просто забыл прописать) потом всё исправлено...
версия это какой экран и какой компилятор...могу глянуть
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Alex7
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Вт июн 05, 2012 20:55:57
Откуда: Севастополь

Re: Цифровой ваттметр. Измерит.акт.мощности Atmega8 & ADE775

Сообщение Alex7 »

Использовал прошивку из архива"16х2_kovir.rar" на стр.19 форума пост от 5 октября 2011, HEX файлы, шил FLASH, EPRON Понипрогом с отмеченными битами BOOTSZ0 и SUT0. А экран WH1602 1-Vss, 2-Vdd, 3-Vo, 4-RS, 5-R\W, 6-E, 7-DB0, 8-DB1, 9-DB2, 10-DB3, 11-DB4, 12-DB5, 13-DB6, 14-DB7, 15-A/Vee, 16-K.
Ответить

Вернуться в «Периферия»