Здравствуйте!
Сейчас Вам предстоит перечитать много отсебятины и возможно почерпнуть чего-то полезного!
НО…перед этим позвольте выразить большую благодарность всему коллективу, модераторам, программистам, дизайнерам и так далее … тоесть всем кто принимал непосредственное участие в создании и развитии сайта «Радиокот». Спасибо Вам Ребята! Именно Вы открыли для меня увлекательный мир микроконтроллеров! Удачи вам всем и собственно РАДИОКОТУ в частности!
А теперь собственно сама статья!
Предисловие. Недавний кризис заставил если не всех то большинство людей задуматься над расходами на коммуналку. Как-то раньше меня лично не напрягали счета за свет в 100 долларов а бабушка стеснялась меня позвать на помощь подремонтировать поплавок в туалетном бачке(он пропускал) дескать – а что там…вода-то дешевая…
Но вот пришел тот самый злостный кризис…доллар подорожал…зарплаты перестали платить … и начал даже я начал иногда задумываться стоит ли прикупить очередную пачку микроконтроллеров…
Вот тогда меня и заинтересовали вопросы «А откуда собственно такие суммы за свет воду тепло газ»… казалось бы ничем не балуемся, окна позакрыты загерметизированы…
И стал я каждое утро идя на работу записывать показания счетчиков в ексель…далее по дням расход, цену и так далее…но система эта продержалась пару месяцев…потом я стал просто забывать да и информация-то не особо ценная…и было это зимой…в конце зимы…в общем всё что мне дали эти данные так это две вещи: стекла и окна надо утеплять тщательнее, топить выгоднее светом
Вот тут то и родилась идея как-то это всё осистематизировать. Тоесть сделать прибор который будет измерять напряжение + ток и записывать это накапливая киловатт-часы… сделал небольшой приборчик … нашел в сети разных их вариаций…но…..все они были вообще неудобными, мало подходили к моим потребностям…не отменяли применение екселя и что самое обидное….их показания никогда не совпадали с реальностью…то шунт то калибровка то на малых токах хорошо на больших никак….то от температуры….в общем безобразие….
уже было отчаялся и хотел пойти купить просто счетчик и прикошачить к нему розетку с вилкой….но…выйдя на рынок немного прифигел….у нас счетчиков дешевле 50 доларов и не найти…да и сам счетчик не очень то пригоден для моих целей – снова тот же эксель…неуниверсальность…и т.д.
В общем я было уже отчаялся найти что-то готовое и думал как же доводить до кондиции прошлые поделки…Как тут…внезапно мой любимый сайт Радиокот сообщил о новой теме…Цифровой ваттме…. А дальше я не дочитал ибо ринулся внутрь…и тут то всё началось….
В общем было решено делать универсальный девайс который не будет только ваттметром а ещё и чем-то полезным даже радиолюбителю….
Если присмотреться внимательно ко всем счетчикам – света воды газа – то окажется что выход у них всех один и тот же – частотный….тоесть на один киловаттчас/кубометр они выдают какое-то определенное и фиксированное количество импульсов. Значит нам нужен частотомер…не вопрос – в сети их полно….но как оказалось всё не то….просто потому что диапазон частоты очень низкий…импульс раз в 10 минут! это нормальное явление…
Кроме того если присмотреться то можно обнаружить что и любой спидометр/тахометр это тоже тот же частотомер…
В общем постепенно сформировались требования к прибору:
1) Частота должна умножаться на некий коэффициент
2) Он должен считать количество импульсов и делить их на некий коэффициент
3) Должна быть возможность калибровки
4) Должен быть раздельный учет по дням
5) Должна быть указана цена
6) Должны производиться усредняющие расчеты стоимости
7) Простота повтора
8) Универсальность назначения выводов для удобной разводки
Всем этим требованиям удовлетворяет прибор данной статьи – «Ваттметр/Расходометр/Частотомер/Спидометр/Одометр/Тахометр»
Процесс создания этого устройства занял целых 18 страниц, было придумано много вариаций его интерфейса, поддержка разных экранов но об этом попозже
Изначально хотелось сделать просто частотомер низкочастотный
Для этого нужно было считать не импульсы а количество времени прошедшее между двумя соседними.. Сделали и тут же повылазили бока…
самые неприятные – замершие показания 1500 ватт(чайник) даже после того как он отключен – 10 минут мы ведь ждём импульса….было решено сделать промежуточные расчеты – на экране ватты побежали вниз показывая промежуточный результат – какая цифра была бы на экране если именно в данный момент пришел бы импульс
вторая засада – высокая частота – уже на частоте 100 герц проявлялась дискретность…
особенно если эту частоту ещё и на 1250 надо умножать
потому добавлен и нормальный принцип частотомера – считаем испульсы за секунду…..только снова тормознутое обновление – пришлось считать 16 раз по 1/8 секунды потом суммировать и получать средневзвешенное кол-во импульсов в секунду….тут уже повеселее стало….значения красиво и плавно набирали максимум и спадали в минимум при этом показывая промежуточные значения
далее была добавлена база данных на 20 показаний по количеству импульсов(деленных на коэффициент) – получилось кагбэ 20 разных счетчиков….их можно использовать и как суточные и как просто на разные нагрузки(правда прийдётся запоминать какая нагрузка какому номеру соответствует)
далее…была добавлена стоимость киловаттчаса/куба/километра и в результате в тех 20-ти ячейках показывается усредненное расчетное значение затрат в месяц и год на данном варианте использования
тоесть например включили мы 1-ю ячейку и тут же включили чайник – 1500 ватт
всё это время он будет показывать баснословную цифру – потому что учет идет на то что чайник так и будет нерперывно включен весь месяц
но если оставить эту ячейку с чайником выключенным до следующего включения – ситуация резко поменяется
учет будет на то что из допустим 10 часов чайник был включен на 10 минут…..вот так и проапроксимируется его использование(и потребление) на весь месяц и в конце концов год….аналогично и по газу, аналогично и по воде….аналогично же и по спидометру – ведь известен же расход на 100 км в деньгах….так за пару дней и будет видно – сколько в таком режиме езды будет израсходовано денег на бензин J
Кроме того всегда ведется отдельный общий счетчик посмотреть который можно долгим нажатием кнопки «Вверх» в основном экране…
выбор ячейки персонального счетчика, просмотр данных по персональным счетчикам, сброс общего счетчика задание частоты кварца, коэффициентов деления и умножения, цены за единицу учета накопительного счетчика – всё задаётся в меню.
При пропадании света все данные сохраняются в еепром – единственная неувязка…вода может быть….а света – нет….получится неучтенный объём…но..это решается или батареей металгидридных аккумов 8 штук и простым зарядным устройством держущим на них 12 вольт или 200 миллиампер…само устройство в зависимости от экрана кушает от 10 до 100 миллиампер. Конечно же подсветку лучше не бросать на аккумуляторы…
ИТОГО
Имеем полнофункциональный доведенный многоцелевой прибор измерения мгновенных значений расхода эл.энергии/воды/газа/километров/частоты и накопительные значения этих расходов – для электричества – киловатты и киловатт-часы, для воды – грамм/с и кубы, для газа то же что и для воды, для спидометра – километры/ч и километраж.
Устройство состоит из минимума деталей и может быть переразведено как угодно – в прошивке реализовано подключение любого индикатора серии 44780 к любым ногам микроконтроллера кроме 5-ти – масса, питание, ИНТ0, ИНТ1 и счетный вход таймера.
поддержка экранов – 16х2 16х4 20х2 20х4 – через макросы условной компиляции
База устройства – микроконтроллер atmega8 может быть использован любой с любыми буквенными индексами и любыми корпусами
Частота рекомендуемая – 16 мегагерц с внешним кварцем но можно обойтись и внутренним на 8 мегагерц – проблемы будут только в точном счете времени и как следствие – немного неправильных расчетах по денежным затратам ну и на частотомер это имеет непосредственное влияние…
Один из вариантов разводки схемы вот
главным ключевым моментом является то что подсветка должна брать питание до кренки 5-тивольтовой.. почему? а чтоб контроллер увидел сразу что напруга питания 12 вольт пропала.
при этом на питании самого контроллера должен висеть кондер не менее 10000 микрофарад … хотя я добивался уверенного срабатывания сохранения данных и от 1000 микрофарад – но это уже ухищрения с супервизорами – ваша же задача сделать так чтоб при пропадании сети на ноге ИНТ0 напряжение сразуже упало ниже 2-х вольт – тогда МК поймёт что пропало питание. Но при этом питание самого МК ещё хотябы 200 миллисекунд должно продержаться выше 2.7 вольт чтоб он успел сохранить данные в еепром!
сама кренка очень плохой диод….можно на её вход поставить диод а подсветку питать резистором ДО диода….тогда конденсатор с выпрямителя будет мгновенно разряжен «стабилитроном» подсветки до уровня срабатывания прерывания
Чего в устройстве ещё нет? Ну например логгирования на флешку…на данный момент флешка меги 8-й заполнена на 120% тоесть даже текстовые константы все вынесены в еепром дабы сэкономить памяти программ… поэтому работа с флешкой планируется организовать или внешней приставкой или сделать какой-нибудь RS-485 в который периодически будут выплевываться данные о текущем расходе и мощности/потоке/скорости.
Также в ближайшем будущем планируется полная реинкарнация устройства с существенным расширением функционала….тоесть это уже будет АРМ + графический дисплей LS020 с тач-скрином и флешкой для логгирования данных ну и конечно же программка на компьютере для оперативного удобного просмотра и анализа полученных данных….возможно ещё и блютуз встрою в эту версию…но это уже отдельная тема
возвращаясь к начатой теме о экономии воды газа света можно лишь сказать собственную статистику:
готовить на газе дороже чем на электроплитке (если газ по 250 грн/баллон)
обогреваться дешевле электроэнергией/кондиционером(в режиме нагрева) чем платить за центральнее отопление (оно у нас на газе а он по 1,40 за куб) – почему не знаю но выходит дороже J
как воду не экономь а полюбому на один раз покупаться надо 80-120 литров воды …. итого в месяц-1 куб воды на одного проживающего….никуда от этого не денешся…
бойлер очень много энергии тратит на поддержание температуры – 25 грн в месяц ил 50-ти общего расхода бойлера(поддержание и подогрев свежей воды…снова таки получается что особо экономить на использовании гарячей воды нет смысла!
Кондиционер летом кушает ооочень много электроэнергии – порядка 200 грн в месяц!
лампочки обходятся по 10 грн если непрерывно горят
компьютер равносилен 3-4 лампочкам…
всякие микроволновки чайники и т.д. вместе не закушали и 8-ми гривен ибо используются они очень кратковременно а основное время – простаивают…
Аналогично и холодильник – одна лампочка!
Главные потребители это бойлер кондиционер и постоянновключенный компьютер….и вообще любое устройство что постоянно включено в сеть – довольно вного кушает
по воде могу лишь сказать что через стандартный кран и давлении 3 килограмма может пройти 120 грамм в секунду….150 это при 4-х килограммах
много воды уходит на стиралку…так что нужно её настройкой серьёзно заниматься и выбирать программы не абыяк а с заглядыванием в инструкцию – у моей заявленные расходы ненамного разнились с реальностью
В общем прибор получился что надо и делает он то что от него можно только хотеть….единственное на что не хватило места так это на изменение величин измерения…хотелось чтоб одним и тем же прибором можно было и воду мерять и электричество…это конечно решаемо – можно в исходнике поменять текст с ватт на литры и т.д. но удобнее было бы в самом устройстве переключать эти величины…
Заключение.
С технической стороны – прошивка написана в кодевижне (старые варианты) и ИАР для последней версии….скомпилирована под схему приведенную выше под любые экраны…впринципе подправить под другую распиновку или другие наименования величин – не проблема – всё делается дефайнами
есть так же прошивка под 328-ю мегу но она не доделана ибо не хватило ножек для подключения флешки под логгирование….на данный момент собираюсь переехать на LPC1114 и там уже развернуться во весь рост….возможно будет и многоканальность и разрядность не 32 бита а 64…но это уже будущее
Другой нюанс – где брать электросчетчики-водомеры-газомеры ?
а вот электросчетчики можно за бутылку надыбать в РЭСе
вот….облизывайтесь…
водомеры требующие поверки по сроку – в водоканале их море…показывают один-в-один с только купленным счетчиком!
газомеры посложнее…они дороги и их поверка обходится дешевле….но в газовом хозяйстве можно выцепить и эту штучку….другое дело что они не особо будут рады самовольному подключению такого газомера но то уже дело наживное
с точки зрения спидометров – тут фантазии нет предела – хоть датчик холла в приборную панель, хоть специальные датчики прямо в коробку передач, хоть холла возле кардана а сам кардан электромагнитом намагнитить(на гвозде железнодорожном намотать 50-100 витков провода 1 мм2 и пару раз разрядить 1000 микрофарадный кандер на 400 вольт через выпрямитель заряженный от розетки – немного искор конечно будет но…место намагниченности будет даже шайбы притягивать металлические
На велосипеде посложнее – надо или возле подшипников ставить холла и намагничивать обойму этого самого подшипника или брать какой-то генератор-динамку и с него подавать через мегаом сигнал на вход прерывания счетного таймера – естественно зашунтировав диодами и стабилитронами…
Кстати….вот пара вариантов моих готовых устройств
с этого всё началось
эти платки достались как "пробники" из РЭСа
далее был первый прототип
довольно хорошо получился...единственное - неудачная разводка и неудачный дисплей - отгорела одна строка и он очень сильно греется(подсветка)
потом пошел новый вариант
потом сделал макетик для потаскать с собой частотомер....
это была пробная версия для РЭСокцев....им очень понравилось...и вот долго переговариваясь и доооолго ища на чем же делать и куда интегрировать мобильные калибровочные станции - получилось вот такое вот
это готовые платки счетчика в котором перепрошит микроконтроллер
ИТОГОО
На этом прошу откланяться ... итак ели успел к концу конкурса...надеюсь данный прибор позволит пролить свет на состояние электроприборов и прочих потребителей в доме и наведет порядок в голове потребителя!
Естественно на форуме будет вестись развитие данного прибора
НЕБОЛЬШАЯ ИНСТРУКЦИЯ ПО ИСПОЛЬЗОВАНИЮ
Описание меню.
1) " Выбор № персонального" счета кВт/ч с фиксацией времени периода активности ячейки
2) "Просмотр персонального" счета кВт/ч, 21 ячейка ( та которая выводится в первой строке, при нажатии кнопок"вправо/enter" обнуляется.)
3) "Сброс общего" (тотального) кВт/ч, (на персональные счета не влияет)
4) "Сброс текущего" счета кВт/ч, (в EEPROM не сохраняется)
5) >>НАСТРОЙКИ<<
5.1) "Частота кварца" настройка коррекции тактов кварцевого резонатора ATmega8 на 1 секунду (влияет только на расчет ватт)
5.2) "Ватт на герц" установка кол-ва ватт на 1 герц (доп. выводится максимальная точность по ваттам дойдя до которой выключатся таймаутом в ноль показания ватт)
5.3) "Импульс на кВт/ч" это количество импульсов со счетчика на 1 кВт/ч ( доп. выводится калькулятор соотношения импульсов счетчика на ватт на герц )
5.4) "Тактов в секунду" внутренняя переменная внутренних часов на выводе PB1 она выдаёт импульс 0.5Гц , если часы спешат - число надо увеличивать, если отстаёт - число надо уменьшать.
5.5) "Калькулятор стоимости" Предварительно обсчитывается стоимость энергопотребления нагрузки за месяц и год.
цена указывается в копецках для экрана двустрочного и в гривнах для прошивки под 4 строки
5.6) "сигнал превышения порога мощности " настраивается на любое потребление от ватта до максимальных киловатт , сигнал выводится на порт РС0 , в виде логической 1 .
5.7) <Вост. умолчания> восстановить настройки умолчания.
5.8) <Сохранить настройки> - пока вы не нажали этот пункт - всё действует только до выключения.
Сохраняются в EEPROM такие данные;
а) общие настройки,
б) тотальные показания (общая сумма всех счетчиков) с фиксацией и отображением часов, периода работы активного состояния ваттметра.
в) 21 персональная ячейка показаний кВт, с фиксацией и отображением часов, периода работы активного состояния отображаемой ячейки.
Для тотальных и персональных данных за сохранение в память при обесточке схемы, отвечает вывод INT 0 он подсоединен через резисторный делитель, который подсоединен 2кОм на землю и 4.7кОм на + 12 V питания кренки.
Файлы:
Новая прошивка со всеми прибамбасами исходники и разные прошивки под разные разводки
Старая версия Кодевижновской прошивки исходника и прочие вкусности
06.jpg
первые платки со стороны элементов
Все вопросы в Форум.