Портал для радиолюбителей
   Universal device
    Главная -> Статьи -> Устройства на микроконтроллерах -> Universal device


<< Назад в раздел   Распечатать Дата добавления: 2016-11-24 | Просмотров: 14229

Универсальное устройство: часы, термометр, термостат, будильник, система удалённого управления

Устройство "Universal device" (Универсальное устройство) содержит в себе функции нескольких устройств, которые сильно облегчают жизнь людям, автоматизируя жилую площадь. Так как устройство стремительно улучшается, оно имеет свой USB загрузчик, поэтому для обновления прошивки достаточно просто подключить Universal device к компьютеру, включить режим самопрограммирования и запустить на ПК программу для обновления прошивки. При этом, отсутствует опасность заблокировать устройство [навечноk, как это иногда бывает при обновлении прошивки мобильных телефонов.

Содержание:

  1. Краткое описание возможностей устройства.
  2. Схема.
  3. Пульт дистанционного управления.
  4. Управление устройством.
  5. Связь с компьютером. Работа с программой "UD Control".
  6. Завершение.

1. Краткое описание возможностей устройства


Universal device имеет такие функции:

  • Отображение времени в формате [чч - мм ссk (время автоматически синхронизируется с компьютером, к которому устройство подключено по USB-интерфейсу).
  • 5 будильников с возможностью подключения внешнего, более громкого сигнализатора (например, рупора). Все настройки будильников можно сохранять во встроенной энергонезависимой памяти, которая имеет до 1000000 циклов записи/стирания.
  • 2 термометра(-55С +125С) с 8-канальнымPтермостатом (термостаты не автономные).
  • Управление 8 нагрузками (лампы, люстры, насосы, электромоторы и другие электроприборы) с помощью пульта дистанционного управления (ПДУ) или компьютера.

Также, устройство подключается к компьютеру по USB-интерфейсу, при этом, кроме выше написанных функций, доступны такие:

  • Настройка будильников (время, день недели, источник сигнала, продолжительность звонка).
  • Отображение текущей температуры обеих термометров на мониторе. При этом. Можно просматривать график смены температуры с момента запуска программы.
  • Управление нагрузками. Установка времени автоматического включения/отключения для каждого канала, управление функцией термостата.
  • При этом, с помощью Пульта Дистанционного Управления можно управлять такими функциями:
    • Управление функциями Windows.
    • Управление мышью.
    • Виртуальное нажатие клавиш.
    • Управление плеером Winamp.
  • Возможность включения отображения большого сообщения поверх всех окон, например, при переключении трека в Winamp. Таким образом, можно увидеть текущий трек на настоянии от монитора даже более чем 5 метров.
  • Доступны возможности отображения программы в системном трее (возле часов) и автозагрузки программы (вместе с загрузкой Windows).

2. Схема

Открыть схему в полном размере
Рис. 2.1. Схема устройства. (Нажмите для увеличения) .

Основой устройства является микроконтроллер ATmega16, он работает на частоте 16 МГц. Его питание может быть от USB порта или внешнего блока питания (выбор питания джампером J9) .

На устройстве есть 2 дисплея: символьный 16х2, и сегментный (2 штуки по 4 сегмента). Сегментный предназначен для отображения времени и температуры. Символьный - для удобства управления некоторыми функциями устройства, но его ставить совсем не обязательно.

Микросхема IC6 - это ПЗУ AT24C64 предназначена для сохранения настроек будильника, ROM адресов термодатчиков и еще некоторых настроек.

TSOP1738 (лучше установить TSOP1736) - приемник ИК сигналов с пульта дистанционного управления.

USB - разъем для подключения устройства к компьютеру.

BUZZER - сигнализатор для будильника. Обязательно со встроенным генератором.

IR-Led - инфракрасный светодиод. В настройках будильника его можно выбрать в качестве сигнализатора. Для чего он нужен? Если, к примеру в комнате находятся несколько людей но утром нужно чтобы проснулись только Вы, тогда можно собрать простейший приемник ИК сигнала, который будет вибрировать при появлении инфракрасных лучей, и прицепить его на руку, тогда утром устройство активизирует ИК-передатчик и Ваше устройство завибрирует, разбудив Вас.

4 сдвиговых регистра 74HC595. Предназначены для управления светодиодами, сегментным дисплеем и нагрузками.

8 светодиодов (LED1 - LED8) - их предназначение смотрите в инструкции к программе.

ULN2003 - это сборка Дарлингтона. Микросхема предназначена для управления нагрузками, таким образом, к каждому выходу(кроме восьмого) можно подключить нагрузку до 500мА.

IRFZ44N(на схеме я случайно поставил другой) - полевой транзистор, управляет восьмой нагрузкой.

IC5 - линейный стабилизатор 5В. Я ОЧЕНЬ рекомендую заменить его на импульсный стабилизатор (например, R-78xx), тогда КПД устройства сильно повыситься.

Печатная плата в формате Sprint Layout 5.

Печатная плата
Рис. 2.2. Печатная плата.

Скачать плату в формате *.lay вы можете нижеP(для того, чтобы увидеть номинал компонента, наведите курсор на компонент, который Вас интересует).

В качестве сегментных дисплеев я взял KW4-563ASA так как он очень яркий и стоит около 1$. А в качестве разъема для подключения вешнего термодатчика - аудиоразъем.

Вот что получилось:

Готовое устройство
Рис. 2.3. Фото устройства.

  1. Большой сегментный индикатор. На нем попеременно отображается время и температура(слева внешний термометр, справа - внутренний).
  2. Индикаторы. Два крайние (1 и 8) горят постоянно для того, чтобы в темноте было проще понять где какой индикатор. 2 включен прием команд с ПДУ. 3 команда с ПДУ предназначена для компьютера. 4 зарезервирован. 5 чтение с ПЗУ. 6 запись с ПЗУ. 7 горит при ответе устройства на запрос с ПК.
  3. Регулятор контрастности символьного ЖКИ.
  4. Сигнализатор для будильника.
  5. Жидко - кристаллический индикатор (ЖКИ).
  6. Кнопки управления устройством.
  7. Разъем для подключения внешнего термодатчика DS18B20.
  8. Кнопка RESET. Используется для перепрошивки и просто, для рестарта устройства.
  9. PВстроенный термодатчик DS18B20.
  10. Разъем USB для подключения к компьютеру.
  11. Инфра - красный светодиод. В настройках будильника его можно выбрать в качестве сигнализатора.
  12. Приемник сигнала с ПДУ.
  13. Индикатор работоспособности вешнего блока питания.
  14. Перемычка для выбора источника питания. Когда замкнуты средний и левый контакты, питание от USB порта, средний и правый от внешнего БП. БП может быть переменного или постоянного напряжения 8-20 В.
  15. Подключение внешнего блока питания.
  16. Подключение нагрузок. Как видно на рисунку, справа расположены контакты для подключения 8 нагрузок. Четыре контакта VCC общие и соединены вместе. PОстальные контакты (О1 О8) это ключи которые включают/отключают нагрузки. Если, к примеру, Вы хотите подключить рупор, то [+k нужно подключить к VCC а [-k к одному с выходов (О1-О8).

3.Пульт дистанционного управления

Очень долго я ходил по магазинам и базару чтобы найти самый подходящий пульт, в разных магазинах были разные пульты, но один пульт был во всех магазинах в которых я побывал. Вам не сложно будет приобрести это пульт так как он очень распространен и его стоимость не более 3$. Вот его фото:

ПДУ
Рис. 3.1. пульт дистанционного управления.

ПДУ имеет 35 кнопок. Красной (Pon) включается/отключается режим приема команд. Если на устройстве НЕ будет гореть второй светодиод, то устройство будет реагировать только на кнопку Pon (красная снизу). Если горит второй светодиод, а третий нет, то команды будут обрабатываться устройством. Зеленой кнопкой включается/отключается режим приема команд для компьютера (при включении загорается третий светодиод).

4. Управление устройством

В этом подразделе будет рассказано, как управлять устройством (нужно чтобы горел второй светодиод и НЕ горел третий).

Функции кнопок ПДУ.

В режиме управления устройством для управления используются 5 кнопок:

  • BTN_MUTE отключение сигнала будильника.
  • BTN_0 BTN9 включить/отключить соответствующую нагрузку.
  • BTN_TXT Подтвердить выбор подпункта меню.
  • BTN_ChUp Следующий пункт меню.
  • BTN_ChDown Предыдущий пункт меню.
  • BTN_VolInc Следующий подпункт меню.
  • BTN_VolDec Предыдущий подпункт меню.
  • Pon Отключить прием команд с ПДУ.
  • Pst включить/отключить прием команд для компьютера.

Меню.

Меню устройства еще слаборазвитое, но будет развиваться в следующих версиях прошивки. Сейчас оно имеет всего 2 пункта и несколько подпунктов.

Меню
Рис. 4.1. Меню устройства.

В первом пункте меню (Alarms) можно просматривать расписание звонковPбудильника (их всего 5). Если в подпунктах PAlarm 1 Alarm 5 Pнажать BTN_TXT то будильник включиться или отключиться. В подпунктах Load timing и Save timing можно сохранить или загрузить настройки будильников с ПЗУ.
Во втором пункте меню можно отформатировать микросхему ПЗУ. ВНИМАНИЕ: после форматирования обязательно отключите внешний термодатчик и нажмите кнопку RESET, после этого устройство определит адрес внутреннего термодатчика и на дисплее появиться надписьP[Reset Devicek, нажмите кнопку RESET, подключите внешний термодатчик и еще раз нажмите кнопку RESET.
Также на устройстве в левом нижнем углу есть 4 кнопки перехода по пунктам меню.

5. Связь с компьютером. Работа с программой UD Control

Подключение

[Universal Devicek имеет возможность подключения к компьютеру. Специально для работы с устройством создана программа UD Control, в этом мануале будет описана работа с версией программы 1.0.2.2. Программа работает на операционных системах Windows Home Edition и выше (включая Windows 7 и Windows Vista).
Для установки программы запустите файл UDC_Setup.exe и укажите папку (по умолчанию C:Program FilesUniversal DeviceUD Control ). После этого подключите устройство к ПК, Windows найдет новое оборудование и запросит драйвера, укажите папку с драйвером (c:Program FilesUniversal DeviceUD Controlwindows-driver ). После успешной установки драйвера запустите программу UD Control с рабочего стола. Если в нижнем левом углу программы будет написано [Устройство не подключеноk, то проверьте надежность соединения USB кабеля и правильность установки драйверов, так же желательно перезагрузить ПК.

UD Control

Программа UD Control создана автором данного проекта (тоесть мной). Для удобства, она имеет несколько вкладок чтобы быстро ориентироваться. Настройки программы сохраняются в системном реестре.

При первом запуске программа может показать предупреждение об ошибке, просто нажмите ОК и перезапустите программу.

В этой статье будет описана работа с версией программы 1.0.2.2.

Настройки

mc41-7.jpg
Рис. 5.1. Вкладка [Настройкиk

Частота опроса. Задержка, с которой программа опрашивает устройство. Рекомендуемое значение 50 мс.
Показывать большое сообщение. При переключении треков в Winamp или выборе управляемой программы, на мониторе появляется большое сообщение с двумя строками.
Обновить прошивку устройства. Прошивка устройства, если при запуске программы появиться сообщение о несовместимости текущей версии программы с текущей версией прошивки то нажмите эту кнопку и следуйте дальнейшим указаниям программы. Таким образом прошивка устройства обновиться до последней прошивки, поддерживаемой текущей версией программы.

Функции, которые расположены в третей рамке, думаю, всем понятны.

Будильник

mc41-8.jpg
Рис. 5.2. Вкладка [Будильникk

Тайминг. Длительность сигнала звонка.
Повторительность. Длина сигнала и паузы.
Источник. Можно выбрать в качестве сигнализатора встроенный Буззер, ИК-светодиод или любой с восьми выходов, к которым подключен сигнализатор.
Задайте параметры будильников, после чего нажмите [Записатьk и расписание звонков будет передано устройству, если установить галочку возле [Запись в ПЗУk, то расписание будет сохранено в ПЗУ (энергонезависимая память) устройства.

Температура

mc41-9.jpg
Рис. 5.3. Вкладка [Температураk

На данной вкладке можно увидеть температуру обеих термодатчиков, слева внешний, справа внутренний. Ниже, расположен график температуры. Каждую минуту график обновляется, и число снизу увеличивается на 1.
mc41-10.jpgmc41-11.jpgPPPЕсли подвести курсор к температурной метке, то появиться окошко в котором написано время и дата запуска программы, минимальная и максимальная температура на выбранном термодатчике и время + дата, когда она была зафиксирована.
Названия датчиков (те, что сейчас Inside и Outside) можно изменять. Для Pэтого нажмите на температурной метке, выскочит окошко и формой ввода, введите в него новое название и нажмите ОК.

mc41-12.jpg

Управление нагрузками

mc41-13.jpg
Рис. 5.3. Вкладка [Нагрузкиk

Нагрузками можно управлять не только с помощью ПДУ, но и с помощью компьютера (при подключении к компьютеру нагрузками так же можно управлять с ПДУ).
Сверху размещены кнопки для управления нагрузками, если возле кнопки зеленый маркер выход активен, красная не активен. Чтобы включить/отключить нагрузку нужно просто нажать на соответствующую кнопку. Кнопку для каждой нагрузки можно переименовать, для этого, нажмите на соответствующую кнопку, перед этим зажав левый Shift, появится такое же окошко как и при переименовании температурной метки.

Автоматическое управление нагрузками

Программа для ПК способна самостоятельно управлять нагрузками, то есть в автоматическом режиме.
Для каждой нагрузки можно задать свой способ управления, программа имеет 4 алгоритма:

  • Вручную обычное управление с ПДУ или кнопками программы.
  • По времени управление нагрузками исходя из значений времени заданных пользователем.
  • По температуре Inside управление нагрузками исходя из значений температуры внутреннего термодатчика заданных пользователем.
  • По температуре Outside управление нагрузками исходя из значений температуры внутреннего термодатчика заданных пользователем.

Также нужно задать условие управление, в программе иметься шесть условий:

  1. В пределах Значения 1 и Значения 2 Нагрузка включается, когда текущая температура или время находятся в пределах Значения 1 и Значения 2. При временном способе можно использовать, например, когда нужно включить электроприбор в определенное время и потом его выключить. Например, Значение 1 = 7:30:00, Значение 2 = 7:35:00, в качестве нагрузки электрочайник, в таком случает он сам, когда Вы еще спите включиться, нагреет воду и выключиться.
  2. За пределами Значения 1 и Значения 2 Аналогично первому случаю только нагрузка включается в не пределах Значения 1 и Значения 2.
  3. Выше чем Значение 1.
  4. Ниже чем Значение 1.
  5. Включать выше Значения 1, выключать ниже Значения 2.
  6. Включать ниже Значения 1, выключать выше Значения 2 Если у вас есть электрообогреватель в котором нет функции термостата, Вы можете добавить ему эту функцию с помощью Universal Device. Подключите в качестве одной с нагрузок этот обогреватель. Выберите способ управления [По температуре Insidek, Значение 1 = 25, Значение 2 = 30. И нажмите [Сохранитьk. Теперь, когда температура в комнате упадет ниже 25С то обогреватель включиться и нагреет температуру в комнате до 30С, после чего, обогреватель сам отключиться. И все это, делается автоматически, без Вашего участия, Вам нужно всего лишь задать нужный алгоритм, а Universal Device сам об это позаботиться!

Внимание! Для того, чтобы управлять более мощной нагрузкой чем 500мА, нужно собрать ключ на симисторе, тиристоре или электромагнитном реле. Вот схема с реле:

КлючПечатная плата

Плата с двумя реле

Рис. 5.4. Плата с двумя реле

Пульт дистанционного управления (ПДУ)


Рис. 5.5. Вкладка [ПДУk

С помощью ПДУ можно управлять многими функциями компьютера. Справа расположен листинг с принятыми командами, чуть ниже последняя принятая команда, даже если она не предназначена для компьютера!
С ПДУ можно управлять такими функциями:

  • Команды MS Windows Включить, выключить, открыть CD-ROM и т.д.
  • Манипулятор Мышь двигать курсор, нажимать кнопки. Можно выбирать скорость передвижения и ускорение. Для удобства, есть возможность симуляции двойного нажатия кнопки мыши.
  • Клавиатура Нажатие клавиш клавиатуры с помощью джойстика.
  • Winamp Управление популярнейшим плеером.

И еще одна, очень хорошая функция UD Control отображение большого сообщения.
Для каждого пункта есть табличка в которой нужно задать значения кнопок.
Для того, чтобы выбрать, чем будем управлять с пульта, нужно нажать на ПДУ кнопку BTN_MENU. После чего, на экране появиться большое сообщение:
mc41-18.gif

После этого, вам нужно нажать цифровую кнопку на пульте для выбора приложения:

  1. Windows.

  2. Mouse.

  3. Keyboard.

  4. Winamp.

После чего, появиться такое же сообщение, только в нижней строке будет [Выбрано Winampk.
Теперь, когда нажать кнопку открытия Winamp, соответственно, откроется Winamp. Если нажать на пульте кнопку, которая по таблице в программе посылает команду Play, то появиться большое сообщение и, если оно не помещается в выделенную для него область, то прокручивается (как бегущая строка):
mc41-19.gif

Сообщение прокручивается

Завершение

Я буду поддерживать проект, поэтому программа UD Control, а соответственно, и прошивка устройства будут улучшаться, все обновления будут доступны на сайте http://unidev.org.ua/.

Файлы


Добавил:  Павел (Admin)  
Автор:  Бражников Михаил 

Вас может заинтересовать:

  1. Электронная игра "Светодиодные наперстки"
  2. Терморегулятор на PIC
  3. Станция для монтажа и демонтажа BGA и других SMD радио компонентов
  4. Светодиодная гирлянда на МК ATtiny 2313
  5. MP3 плеер своими руками


    © PavKo, 2007-2018   Обратная связь   Ссылки   Яндекс.Метрика