» » Лампочкометр - контроллер освещения, прибор для отображения количества исправных ламп

 
 
 
12

Лампочкометр - контроллер освещения, прибор для отображения количества исправных ламп

Разместил Discover 1 декабря 2009. Просмотров: 22 968


Пролог

С 2006 года я по совместительству работаю в своем доме электриком.
Причины тому у меня были следующие:
1. Дом новый, все электрооборудование новое. Я не мог допустить, и это было в моих силах, что бы вся эта «красота» пришла в упадок, как это у нас обычно бывает.
2. Меня всегда волновал вопрос качественном обслуживания собственников жилья (не только по электрической части), то есть, на сто процентов освещенные места общего пользования и исправность электрооборудования. Ну, и раз уж я смог устроиться электриком – мне и карты в руки. И тем более у меня был один значительный козырь: ранее работая по договору со строительной компанией, строящей наш дом, я осуществлял монтаж электропроводки и электрооборудования дома, и, следовательно, очень хорошо знаю всю схему электроснабжения.
3. Ну, и напоследок, не кривя душой – не на первом для меня месте, это дополнительный заработок, который покрывает квартплату на сто процентов.

Свои обязанности я выполнял добросовестно но, в конце концов, мне надоело бегать попусту по этажам со стремянкой, лампочки не всегда перегорают, а обход делать нужно регулярно.
Вот тут меня и осенило!!! придумать устройство, которое бы показывало мне, в каком подъезде перегорела лампочка.
Это собственно было вступлением, теперь позвольте перейти непосредственно к сути вопроса и рассказать Вам, как это было…

Итак, есть объект, в моем случае - это пять подъездов по пять этажей, и есть задача – ИНДИКАТОР КОЛИЧЕСТВА ЛАМП. Естественно, было несколько схемных решений, первые из которых ушли в историю, но было бы не справедливо хотя бы вкратце не упомянуть о них.
Принцип измерения во всех версиях контроллеров основан на измерении тока в цепи.
В каждом подъезде по пять ламп одинаковой мощности, ток изменяется линейно по количеству ламп. Контроллер я разместил в подвале, в электрощитовой.
Схемы могут незначительно отличаться от реальных, поскольку всякие доработки происходили на рабочем образце. Далее по тексту схемы 2, 3, 4 не приведены из-за не состоятельности.

Схема первая

Сигнал снимается с сопротивления R1 0,1 Ом зашунтированного двумя диодами D1 и D2, включенными встречно направленно – выполняют защитную функцию. Дальше сигнал усиливается ОУ
U1A, выпрямляется и поступает на компаратор U1B. Компаратор настраивается переменным резистором RV1 на порог срабатывания, когда количество ламп меньше пяти. Светодиод зажигается, когда есть нагрузка и количество ламп меньше пяти, если нагрузки нет, считается, что свет выключен. Пять ламп зараз, за мою практику никогда не перегорало. Данное решение имеет существенный недостаток – о том, что перегорела лампа, я мог знать, только когда свет включен.


Схема вторая

Индикация осуществлялась путем передачи СМС. Узел измерения остался прежним, а на выходе был подключен микроконтроллер AT89C51 с подключенным к нему сотовым телефоном. Микроконтроллер отслеживал состояния выходов схем измерения. Программу мне написал мой коллега на основной работе (в то время сам я еще не писал и имел только общие представления о микроконтроллерах). Идея, по моему мнению, была хорошей, но не прижилась по двум причинам: первая – в один прекрасный момент схема «глюкнула» и завалила меня ложными СМСками. У меня тогда не было своего ключа от подвала, а времени было два часа ночи, я просто выключил звук на своем телефоне. Утром взял ключ у председателя, сходил в подвал и отключил контроллер до выяснения причины «глюка»; причина вторая – пока я выяснял причину «глюка», решил, что мне в своем доме не актуально оповещение через СМС потому как, практически каждый день я прихожу домой и могу совершенно бесплатно смотреть на индикатор дома.

Схема третья

Было принято решение о цифровой обработке сигнала. Опущу подробности изысканий, но, в конце концов, выбор мой пал на микроконтроллеры Atmel семейства AVR. Не знаю, почему на AVR, а не на PIC от Microchip, наверное, по алфавиту J. На тот момент я еще не знал ни цен, ни архитектуры микроконтроллеров. Меня устраивало наличие восьми десятибитных каналов АЦП на борту у ATmega16(самый популярный). Сигнал также снимал с резистора, усиливал на ОУ, выпрямлял и подавал на вход АЦП микроконтроллера. В качестве индикатора использовал LCD-индикатор 16х2 строчки. И один сигнальный светодиод. Надо сказать, что на тот момент мои знания языков программирования высокого уровня были практически на нуле. Были остаточные знания со времен ZX-Spectrum с его Бэйсиком. Поэтому первые прошивки писались на mikroBasic_for_AVR. Синтаксис знакомый, встроенные функции для работы с индикатором. Компактность кода и быстродействие меня не волновало, памяти для моих задач у выбранного микроконтроллера было предостаточно, и быстродействие было ни к чему. Поскольку я не программист, то придумывание алгоритма программы мне давалось с большим трудом, поверх этого приходилось вспоминать синтаксис. Кстати именно тогда у меня появилось второе, так сказать уменьшительно ласкательное название моего прибора – «Лампочкометр».

Итак, функции моей первой прошивки для контроллера освещения были следующие:
1. Вывод на дисплей текущей информации о количестве горящих ламп по каждому подъезду (естественно при включенном свете).
2. Просмотр количества ламп при выключенном освещении. При включении прибора, в массив количества ламп, по каждому подъезду, записывается полное количество ламп в подъезде, в моем случае – 5шт.
3. При перегорании одной или более ламп, из полного количества ламп в подъезде вычитается количество сгоревших ламп. Включается сигнальный светодиод для привлечения внимания. Светодиод выключается только после замены лампы, так и будет маячить, хочешь, не хочешь, а менять придется идти.
4. Калибровка прибора. Даем прибору «понюхать» полную нагрузку, считываем значение АЦП и делим на 5, то есть на полное количество ламп, полученную константу запоминаем в EEPROM. Далее в нормальном режиме работы полученное значение АЦП делим на константу – получаем количество ламп в подъезде.

Схема четвертая

Недостатком предыдущей схемы было то обстоятельство, что устанавливалась она непосредственно в электрощитовой, было не очень удобно ходить каждый раз в подвал. То есть, как и следовало ожидать, следующим шагом был выносной дисплей. Тянуть девять жил для дисплея на пятый этаж, где я живу, было бы глупо и дорого, и вряд ли заработало – никто так не делает. Небольшое отступление про финансовую часть: на тот момент и с самой первой схемы я еще расплачивался за свою квартиру, а это была вся моя зарплата. Жили на зарплату жены, она работает воспитателем в детском саду. Так, что покупка любых радиодеталей била по истощенному семейному бюджету как ножом по сердцу. Ну, не будем о грустном. На самом деле кабель у меня уже был, протянут со времен первой схемы, когда дома стоял индикатор из пяти светодиодов. Кабель шестижильный не экранированный 6 х 0,22.
Очевидное решение поставить два микроконтроллера, один измеряет и передает данные по последовательному интерфейсу, второй принимает данные и обрабатывает и выводит на дисплей. Итак, была заложена следующая идеология – контроллер нижнего уровня(измерительный) и контроллер верхнего уровня. Измерительный контроллер только считывал значения с пяти каналов АЦП и передавал контроллеру верхнего уровня на скорости 2400 бод. Есть две причины столь низкой скорости: это неэкранированный кабель протянутый вдоль силовых линий электроснабжения дома, и передавалось в пакете всего шесть байт, идентификатор начала пакета (0хFF, ) и пять байт данных АЦП пяти каналов. Данные обрабатывались по алгоритму, как и в предыдущей схеме.

Итак, схема последняя, действующая и по сей день

В новой схеме была изменена измерительная часть, которая не давала мне покоя с самого начала. Нет, работала она нормально, что может быть проще резистора. У схемы был один существенный недостаток: она не была гальванически развязана с микроконтроллером. С трансформаторами тока у меня как то сразу не пошло, хотелось побыстрее сделать что-то рабочее, поэтому в качестве измерительного узла был выбран резистор. Но оставалось ощущение не правильности. Ну, а поскольку у меня к тому времени уже стоял и работал контроллер, можно было спокойно заниматься теоретическими и техническими изысканиями. Едем дальше. В предыдущей версии калибровка происходила по одному каналу. Тут проблема состояла в том, что при одинаковой нагрузке могут быть разные показания, сказывается погрешность деталей (в основном резисторов в усилителях). Отсюда ошибки при вычислениях. Можно было бы поставить подстроичники, но во первых мне в принципе не хотелось что либо там настраивать, ну, а во вторых, я все равно собирался все переделывать. В новой программе нужно реализовать калибровку по каждому каналу. Ну и последняя доработка это подключение тамбуров, оказывается, лампочки, там тоже перегораютJ.

Разберем аппаратную часть

Идеология та же - контроллер нижнего уровня (измерительный) и контроллер верхнего уровня (обработка, индикация). Только измерительных котроллеров теперь два, для лестниц и тамбуров. Контроллеры соединяются между собой по RS-485 интерфейсу. Схема измерительного контроллера, по моему мнению, теперь представляет собой идеологически правильную, в качестве измерительного элемента – трансформатор тока на ферритовом кольце. Первичной обмоткой, является фазный провод освещения подъезда, проходящий внутри кольца, вторичная обмотка сто витков провода ПЭВ 0,1. Вторичная обмотка подключается к схеме преобразователя ток в напряжение собранного на ОУ. Выход ОУ через резистор 100 кОм подключен на микроконтроллер ATmega8.


Датчик тока в термоусадке.


Для передачи данных используется UART приемо-передатчик микроконтроллера, для реализации интерфейса RS-485 используется микросхема MAX493. Контроллер меряет переменное напряжение, это избавляет меня от лишних деталей, всяких там нелинейностях и падениях на диодах. Способ следующий: микроконтроллер отслеживает переход через ноль, отсчитывает 5мс, что бы попасть на пик синусоиды, и запускает АЦП микроконтроллера. Для детектирования нуля заводим переменное напряжение с обмотки питающего трансформатора на вход INT0. У меня для питания обоих контроллеров (тамбурного и лестничного) используется один трансформатор, а питание лестниц и тамбуров осуществляется с разных фаз, поэтому предусмотрена возможность сдвига фаз, то есть установка разных задержек, 18 и 19 ножка МК

Контроллер нижнего уровня


Общий вид в электрощитовой


Что под крышкой?


В измерительном контроллере предусмотрено два светодиода, первый отображает, то что идет процесс измерения, второй зажигается когда контроллер получает свой адрес и соответственно отправляет данные АЦП.

Контроллер верхнего уровня

Микроконтроллер ATmega16, дисплей 16х2, MAX493, четыре кнопки и два светодиода. Все собрано на макетной плате, не видел смысла что-то разводить для единственного экземпляра. 99% контроллера верхнего уровня это программа. Это мой первый опыт написания программы на СИ, не шедевр и не все писал сам. Со мной в кабинете на работе сидят два очень хороших программиста, мои коллеги и друзья Валера и Сергей, вот они мне и помогали.



Итак, программа

Программа писалась в CodeVisionAVR.
Как я уже и говорил контроллер верхнего уровня, принимает данные от измерительного контроллера для последующей обработки и отображения. При включении микроконтроллер читает из EEPROM параметры калибровки и прочие установки. Для управления контроллером используется четыре кнопки «Esc», «-», «+» и «Enter».
В исходном состоянии контроллер отображает информацию о количестве ламп по каждому подъезду по лестницам и тамбурам.

Всего имеется четыре вида отображения, то был вид первый.
Следующие два вида отображают в верхней строке количество ламп по лестницам и тамбурам соответственно, а в нижней данные АЦП в шестнадцатиричном виде (не очень удобно, но зато на дисплей красиво помещается). Данные АЦП предназначены для диагностических целей, применялось на стадии отладки.


Четвертый вид – для отображения текущего времени в верхней строке, и при перегорании лампочки, в нижней строке выводится сообщение «Лестница» или «Тамбур» или оба вместе, начинает мигать подсветка дисплея.


Светодиоды являются диагностическими, зеленый и красный. Зеленый светодиод мигает с частотой опроса контроллеров нижнего уровня, а красный когда превышен таймаут ожидания ответа от контроллера нижнего уровня.

Меню настроек.
Меню настроек состоит из следующих пунктов:

Данные датчиков. Этот пункт меню для диагностических целей, в двух строчках в шеснтнадцатиричном виде отображаются данные АЦП обоих контроллеров нижнего уровня.
Сгоревшие лампы. Просмотр количества исправных ламп.
Сброс. Выключение отображения аварийного состояния и мигания дисплея, сброс количества перегоревших ламп, контроллеру сообщается полное количество ламп по всем каналам.
Количество сгоревших ламп. Отображение информации о количестве сгоревших лампах за весь период эксплуатации контроллера.
Полная калибровка. Производится полная калибровка всех каналов. Если на каком либо канале нагрузка отсутствует, то калибровка этого канала не производится.
Выборочная калибровка. Позволяет произвести выборочную калибровку, какого либо канала.
Установка дисплея. Установка яркости, контрастности и времени смены дисплеев в исходном состоянии, если время смены установлено «0», то дисплеи можно поменять вручную.
Установка времени опроса. Меняется время опроса датчиков 70-260мс. Пункт был введен на стадии экспериментов со связью, в этом же пункте отображается количество ошибок (превышение таймаута) по каждому контроллеру нижнего уровня, можно определить какой контроллер барахлит.
Перезагрузка. Перезагрузка контроллера. В программе есть маленький глюк, после калибровки неправильно вычисляет количество ламп. При включении контроллера и чтении параметров из EEPROM все нормально работает. Так и не смог найти причину, ввел пункт «Перезагрузка», а позже дописал, что бы после каждой калибровки контроллер перегружался.

Кстати, выключатель питания на контроллере отсутствует по причине случайного выключения и для самодисциплинирования. Не выключен – значит, работает. Работает – значит «симофорит» мне, когда перегорают лампы, иду и меняю! Если неисправен сам прибор, было и такое, я так же все это вижу и как правило не нахожу себе места, стараюсь по быстрее все починить.

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

В приложении содержатся схемы из статьи, файл смоделированной схемы в Proteus 6.9, где можно все потыкать и пощупать, файлы прошивок МК и исходников под CodeVisionAVR.
fajjly-proteus-i-proshivki-i-iskhodniki.zip | Файл 144,18 Kb загружен 85 раз.

Резюме

Прибор, несомненно, облегчил мне жизнь, я уже не трачу бесценное время на обходы, прихожу домой, бросаю взгляд на контроллер, ну а дальше по обстоятельствам, или иду менять лампу в конкретный подъезд, или на диван.
Плюс для жильцов: замена ламп происходит весьма оперативно, то есть, не приходиться ждать моего обхода или звонить мне.
Вторая польза. Научился программировать. Нет, ассом я не стал, но всякие мигалки, термостаты на МК, это можно. Отсюда вывод – если есть настоящая задача, то вы наизнанку вывернитесь, но добьетесь своего.
Иван Гаврилов (Discover)
Вологодская обл. Череповецкий р-н, п.Тоншалово
Профиль Discover
Дата рождения: 13.09.1977.
Работаю в компании "Нординкрафт" , электрик по совместительству в своем ТСЖ.
С паяльником с 12 лет.
Интересы: паяльник, работа, фото, лес.
C 2007г занимаюсь микроконтроллерами AVR.

Напаяно уже много чего, всего и не припомню.
 

Понравилось? Палец вверх!

  • всего лайков: 15

Поделись с друзьями!

Связанные материалы:


Схема на Датагоре. Новая статья Многоканальный 5.1 ламповый усилитель. Часть 1... Однажды, морозным декабрьским вечером, на меня напала скука, хотелось паять схемы, вытравливать...
Схема на Датагоре. Новая статья Тестер ёмкости автомобильного аккумулятора (ATmega8A + LM2575). Готовимся к зиме... Приветствую, граждане Датагории! Позвольте представить вам очередное моё творение — тестер емкости...
Схема на Датагоре. Новая статья Изготовление и установка LED-ламп на штатные места в автомобиле Porsche 924... Статья посвящена модернизации освещения машины через рукодельное, то есть очень кустарное...
Схема на Датагоре. Новая статья Простой контроллер ДХО без микроконтроллеров. Проверено в суровых условиях Якутской зимы... Приветствую сограждан Датагории! Я хочу рассказать вам историю создания мной контроллеров ДХО...
Схема на Датагоре. Новая статья Дистанционный контроллер состояния подъездного освещения с web-интерефейсом: Лампочкометр-WEB... …а вот не видать из Челябинска моего Лампочкометра, я вам скажу больше – его уже и из-за угла не...
Схема на Датагоре. Новая статья Лампочкометр возвращается! (vol. 2)... Вдох глубокий. Руки шире. Не спешите, три-четыре! Бодрость духа, грация и пластика. ...
Схема на Датагоре. Новая статья Идея светильника из убитых флюоресцентных ламп... Дизайнеры из компании Castor Canadensis, Торонто, предложили интересный способ утилизации не...
Схема на Датагоре. Новая статья Плавное включение и выключение ламп накаливания... Как известно, лампы накаливания в основном перегорают в момент включения, когда нить накаливания в...
Схема на Датагоре. Новая статья Новая жизнь энергосберегающих ламп со сгоревшей спиралью... Доброго Всем времени Уважаемые Датагорцы! Сегодня со скуки меня посетила мысль сделать...
Схема на Датагоре. Новая статья Генераторные лампы для звука... Многие думают что на этих лампах нельзя собрать усилитель, якобы лампы предназначались не для...
Схема на Датагоре. Новая статья Применение микроконтроллеров AVR. Схемы, алгоритмы, программы... Какой микроконтроллер выбрать? Где найти его описание? Где взять программу, обеспечивающую...
Схема на Датагоре. Новая статья Электровакуумные приборы. Справочник. Ю.Л. Голубев, Т.В. Жукова... Ю.Л. Голубев и Т.В. Жукова Электровакуумные приборы. Справочник. (100 приёмо-усилительных ламп) под...
<
  • Главный редактор
1 декабря 2009 21:20

Игорь Петрович Котов / Datagor

  • С нами с 25.02.2011
  • Ушёл в реал Пользователь offline
  • 1 631 комментарий
  • 261 публикация
 
  • 0
С древних времен истинный двигатель прогресса - лень! wink
А если серьезно = классная задумка и исполнение.
Мне очень понравилась законченность конструкции, внешний вид.
Это ж просто дизайн и красотищща! Написал бы немного, как сварганил такую панель и сам корпус.

Следующий шаг - робот на монорельсе под потолком, который объезжает подъезд и меняет лампочки... на машинное масло.
winked

<
  • Гражданин
1 декабря 2009 22:38

Иван Гаврилов / Discover

  • С нами с 17.08.2009
  • Ушёл в реал Пользователь offline
  • 38 комментариев
  • 15 публикаций
 
  • 0
Корпус готовый BOX-G100?, на передней панели самоклейка на полимере.

<
  • Главный редактор
1 декабря 2009 22:45

Игорь Петрович Котов / Datagor

  • С нами с 25.02.2011
  • Ушёл в реал Пользователь offline
  • 1 631 комментарий
  • 261 публикация
 
  • 0
Иван, еще раз браво!
Самоклейка на полимере - это то, что можно у рекламщиков заказать?

<
  • Гражданин
1 декабря 2009 23:39

Иван Гаврилов / Discover

  • С нами с 17.08.2009
  • Ушёл в реал Пользователь offline
  • 38 комментариев
  • 15 публикаций
 
  • 0
Не знаю как насчет рекламщиков, у нас в городе в нашем издательском доме есть услуга "Полноцветная печать на полимере", не надо путать с разноцветной самоклейкой. Но по сути таже самая самоклейка, только на полимере можно что-либо напечатать. Есть еще прозрачный полимер.

<
  • Гражданин
2 декабря 2009 00:25

Сергей Балашов / Ser.Balashoff

  • С нами с 4.03.2009
  • Ушёл в реал Пользователь offline
  • 39 комментариев
  • 0 публикаций
 
  • 0
Отличная задумка и отличное исполнение. Мне очень понравилось. Главное - оригинальность. Ничего подобного не видел. Здорово. Поздравляю. Это не дирануть что-нибудь чужое. Это движение мысли. Достойно высочайшего уважения. Класс!

<
  • Прохожий
2 декабря 2009 17:05

/ valb

  • С нами с --
  • 0 комментариев
  • 0 публикаций
 
  • 0
Тот случай - человек горит на работе!
Оригинально!

<
  • Прохожий
2 декабря 2009 21:15

/ Dimarius83

  • С нами с --
  • 0 комментариев
  • 0 публикаций
 
  • 0
Идея 5+

<
  • Прохожий
3 декабря 2009 10:19

/ Ryan

  • С нами с --
  • 0 комментариев
  • 0 публикаций
 
  • 0
Очень приличный уровень идеи и исполнения! Что самое приятное, не успокоился, довел до ума. Браво!!!

<
  • Прохожий
3 декабря 2009 14:17

/ Slujba

  • С нами с --
  • 0 комментариев
  • 0 публикаций
 
  • 0
Класс! Обязательно попробую сделать это устройство!

<
  • Гражданин
27 февраля 2010 05:44

Александр / sasha0014

  • С нами с 7.02.2010
  • Ушёл в реал Пользователь offline
  • 1 комментарий
  • 0 публикаций
 
  • 0
Здравствуйте Иван.Идея и реализация очень хорошие.Не могли-бы вы уточнить подробнее пожалуйста про ферритовое кольцо(размеры,....)

<
  • Гражданин
9 марта 2010 17:25

Алексей / alex

  • С нами с 7.01.2012
  • Ушёл в реал Пользователь offline
  • 58 комментариев
  • 4 публикации
 
  • 0
Очень хорошая статья!
Можно было ещё построить RS485 по радио каналу.
Но думаю это лишнее.
Спасибо за статью!
Так держать!

<
  • Кандидат
15 сентября 2012 23:35

Дмитрий / xpeh

  • С нами с 10.01.2011
  • Ушёл в реал Пользователь offline
  • 1 комментарий
  • 0 публикаций
 
  • 0
Идея и исполнение конечно хороши! Может стоит Ваш проект по-пытаться коммерциализировать, Вы ведь далеко не первый, кто столкнулся с такой проблемой, я думаю многим управляющим компаниям такая сигнализация пригодилась бы.
Дисплей горит всегда или зажигается, когда лампа(-ы) перегорела(-ли)?

Информация
Вы не можете участвовать в комментировании. Вероятные причины:
— Администратор остановил комментирование этой статьи.
— Вы не авторизовались на сайте. Войдите с паролем.
— Вы не зарегистрированы у нас. Зарегистрируйтесь.
— Вы зарегистрированы, но имеете низкий уровень доступа. Получите полный доступ.