Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить

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

Ср апр 04, 2012 08:43:31

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

ну там можно ввести просто сбрасывание какой-то из персональных ячеек всегда сначала при включении...а можно и просто системное время выводить...

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

Чт апр 05, 2012 19:35:53

А можно перейти на 8 МГц кварц или штатный генератор, в программе что потребуется менять?

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

Чт апр 05, 2012 21:18:01

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



ну и частоту в менюшке задать ....8000000 герц как оно и есть....прошивка не меняется!!!!!

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

Чт апр 05, 2012 22:43:09

Спасибо. А скорость вывода на дисплей не изменится, т.е. не появится "тормознутость"?

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

Пт апр 06, 2012 08:57:06

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

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

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

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

драйвер экрана не использует задержек!!! он работает по флагу бизи....тоесть по факту синхронизируется(насколько это возможно) с процем экрана

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

Пт апр 06, 2012 18:58:44

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

Кстати, а на счет все-таки более продвинутого МК AVR с большей памятью, развития не будет? ARM-ы всякие - это пока не каждому доступно, а вот какая-нибудь жирная мега - очень даже замечательно.

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

Пт апр 06, 2012 23:58:02

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

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

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

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

Вс апр 08, 2012 14:31:04

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

Схема всё та-же 38_wattmeter.rar.

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

Вс апр 08, 2012 15:19:43

f как же таймеры? а вачдог?
время-то считать надо?
полюбому будет просыпаться...так что никак:)
ну или вконце каждого прерывания засыпайте..я даже низнаю....или в каждой итерации главного цикла...как вариант...

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

Вс апр 08, 2012 21:40:43

clawham писал(а):f как же таймеры? а вачдог?
время-то считать надо?
Не, не надо. Я имею ввиду вообще выключать всё. Вместо выключателя питания (при работе от батареек) чтобы не потреблял "ничего", а включился автоматом по первому срабатыванию датчика (счетчика).
Просто механический выключатель в мою конструкцию никак не вписывается.
Такое получиться?

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

Пн апр 09, 2012 08:24:14

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

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

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

Кстати 2 - судя по даташиту вачдог продолжает работать всегда и естественно будит МК прерыванием....потому - его перед уходом в сон тож надо выкинуть....как и отключение БОД....говорят он много кушает неоправданно...

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

Пн апр 09, 2012 11:53:19

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

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

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

Пн апр 09, 2012 12:13:27

дык не проблема это....нужно всеголиш выключить 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 грн в месяц....воо...полезно...

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

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

Пн апр 09, 2012 12:58:04

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

clawham писал(а):а так эта функция будет негееспособна....ведь девайсина по таймауту то и вырубится...и некому будет считать время отсутствия потребления...тоесть добрая половина устройства - в топку :)
А, в этом случае не по таймауту, а вручную вырубать. Тогда все полнофункционально будет.

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

Сб апр 14, 2012 01:32:41

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

В общем, буду публиковать статью по своему девайсу. Кому интересно, welcome в личку, как будет готово дам копию.

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

Сб апр 14, 2012 23:06:35

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

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

Вс июн 17, 2012 00:03:35

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

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

Лучше ищите 7753 или CS456x от Cirrus Logic... с ними, судя по докам, работать намного приятнее... мне просто не удалось их достать, поэтому сделал на 7756.
Вложения
DSCN1816.JPG
(65.77 KiB) Скачиваний: 2929
DSCN1813.JPG
(55.9 KiB) Скачиваний: 3418
DSCN1769.JPG
(59.54 KiB) Скачиваний: 2724
DSCN1764.JPG
(63.25 KiB) Скачиваний: 2756
DSCN1763.JPG
(56.03 KiB) Скачиваний: 2695

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

Чт июн 28, 2012 06:16:20

Повторил это замечательное, полезное для меня устройство. Спасибо автору. При попытке изменить тариф в меню "настройки" он меняется, но не сохраняется. Остается как и был забит 0,2. Это так и должно быть?

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

Чт июн 28, 2012 09:41:23

crf;bnt какую версию прошивки использовали....тариф у меня не сохранялся на самой первой прошивке(просто забыл прописать) потом всё исправлено...
версия это какой экран и какой компилятор...могу глянуть

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

Чт июн 28, 2012 10:47:24

Использовал прошивку из архива"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.
Ответить