Вдохновленный статьями: «Как подружить BASCOM AVR с USB» и «USB термометр на ATmega8» (http://bascom.at.ua/publ/kak_podruzhit_bascom_avr_s_usb_russkij_variant_an_178_software_implementation_of_usb_in_avr/1-1-0-34), (http://bascom.at.ua/publ/usb_termometr_na_atmega8/1-1-0-30), а так же внимательно ознакомившись со статьей Пётра с PureBasic – форума и библиотекой г-на Ollopa (http://purebasic.mybb.ru/viewtopic.php?id=46), решил собрать практическое устройство для управления нагрузками с помощью компьютера. Давно заметил, как неудобно, работая на компьютере включать при необходимости периферийные устройства подключенные к нему (принтер, сканер), а также что-нибудь дополнительное (освещение, обогреватель). Надо отвлекаться, лезть включать переключатели устройств. Они, как правило, ради дизайна устройств, проклятыми капиталистами расположены где-то, где удобно им, а не нам. Вообще лень – двигатель прогресса! Был собран USB-термопереключатель обладающий следующими характеристиками:
-подключение к порту USB, определение устройства как HID, т.е. не требуется установка драйверов; -включение всех нагрузок общим выключателем сети; -включение и отключение выборочных нагрузок при загрузке и завершении программы (например монитор при помещении программы в автозагрузку); -включение и отключение выборочных нагрузок или из окна основной программы, или из иконки в трее (правой клавишей мыши); -включение и отключение выборочных нагрузок по заранее установленному времени (компьютерная периферия, световые приборы); -включение и отключение выборочных нагрузок по заранее установленным диапазонам температуры (термостат для обогревателя).
Сначала занялся поиском подходящего корпуса для будущего устройства. После, достаточно долгих переборов, разборок и некоторых финансовых трат, был подобран фильтр-удлинитель «Power Cube» российского ООО «Промэлектро-3», стоимостью, в рознице, порядка 6,5 USD. Этот удлинитель замечателен тем, что в нем присутствует автоматический предохранитель на 10А и варистор для защиты от перенапряжения. Когда-то в нем видимо присутствовали фильтры подавления сетевых помех, но ныне с целью снижения себестоимости их убрали. Но самое главное место для их установки осталось, т.е. присутствует место для размещения нашей электронной начинки. Была составлена принципиальная схема:
Особо стоит отметить подбор блока питания для устройства. Задача: небольшой блок питания на 5V 250-300 mA. Собрав и перепробовав немыслимые конденсаторные блоки питания уперся в то, что все они не обеспечивают необходимый ток, да и отсутствие гальванической развязки тоже не в радость. В результате поисков было выбрано китайское зарядное устройство для мобильных телефонов – конденсаторно-трансформаторный блок питания с гальванической развязкой. Основные достоинства: не дорогой (в Минске на рынке с устаревшим разъемом просят 1 – 1,5 USD), напряжение 5,7V, заявленный выходной ток до 800mA, маленькие размеры, гальваническая развязка с сетью, относительно стабильное напряжение выхода. Большинство криков о ненадежности китайских зарядных связано с их неправильной эксплуатацией. В каждой инструкции на зарядное устройство написано, что сначала надо подключить сотовый телефон, а затем включать его в сеть. Конденсаторные блоки питания боятся работы без нагрузки, а так как наши граждане инструкции не читают или не выполняют, все норовят сначала включить в розетку, а за тем подключить сотовый (сам такой !!!). Вот они и горят. В нашем случае нагрузка включается одновременно с подачей питания, так что нам это не грозит. Второй недостаток блока состоит в том, что при действующем напряжении 200V, амплитудное напряжение сети составляет порядка 311V, т.е. конденсатор на входе должен быть не менее чем на 400V. Братья китайцы иногда вставляют на 250V, рассчитывая видимо что мы уже почти Америка.. Но так как весь бывший Советский Союз, пользуется такими блоками питания и не парится, я решил не переделывать его (мне попадались и на 400V, пока не разберете – не определите). Тем более что, при критической ситуации горит сам конденсатор, а не элементы схемы. Вы же в целях пущей безопасности проверьте и можете заменить конденсатор.Остальная комплектация: -USB кабель любой, т.к. передача данных низкоскоростная. Отрезаем принтерный разъем и готовый кабель; -светодиоды любые. Лучше обыкновенные, сначала собрал на ярких, прикольно, но в темноте очень мешает, пришлось переделывать; -температурный датчик DS18B20; -реле на 5V 7А, потребляет около 70 mA:
для управления реле, вместо транзисторных ключей, использовал микросхему ULN2003A (она содержит 7 транзисторных ключей на составных транзисторах (схема Дарлингтона). Они позволяют управлять нагрузкой до 500 мА при напряжении до 50 В. При этом вход этой микросхемы можно подключать непосредственно к линиям портов ввода/вывода микроконтроллера. Внутри микросхемы уже имеется встроенный защитный диод, который можно подключать или отключать, осуществляя внешние соединения). Можно использовать ULN2803. У нее соответственно 8 ключей. Стоит у нас она 0,25 USD, что дешевле даже четырех необходимых нам транзисторов с сопротивлениями. Да и плату разводить проще. -разъем для датчика температуры – я взял обыкновенный звуковой Jack для аудио наушников ; -остальные элементы обычные. Была разведена и изготовлена плата под конкретное место в удлинителе:
После мучений с распайкой проводками, была разведена и изготовлена двухсторонняя плата для подключения реле, светодиодов и датчика температуры:
Соответственно вид собранных плат:
Плату от китайского зарядного разместил сверху основной платы. Соединения необходимых контактов сквозное. Начинаем сборку: Спаиваем плату реле-светодиодов-датчика. В переборках удлинителя пропиливаем технологический пазы под плату реле-светодиодов. Одну шину 220V разрезаем и сгибаем чтобы помещались реле (загнутые концы, чтобы были неподвижны упираются в реле:
Вставляем и соединяем основную плату:
Припаиваем варистор и автоматический предохранитель, сетевой шнур и кабель USB, распаиваем основной переключатель сети. Основную плату и плату реле я соединил обычным шлейфом от компьютерной периферии.
Соответственно, вставляем и распаиваем разъем для температурного датчика:
Вид полусобранного устройства:
И собранного:
Сетевой выключатель служит для принудительного включения всех розеток одновременно, т.е. работает как обыкновенный удлинитель:
Для выборочного включения-выключения нагрузок с компьютера и автоматического включения-выключения нагрузок по времени или по значениям температуры была дописана программа на PureBasic. Основное окно программы:
Выносной термометр (для показа в реальном времени температуры):
При прошивке в CodeVisionAVR выставляем слудующие фьюзы:
Примерная стоимость комплектации USB-термопереключателя (розничные цены г.Минск ТД «Ждановичи» июнь 2010 года):
Прошивка микроконтроллера, принципиальная схема в формате «spl», печатные платы в формате «lay» прилагаются.
С, уважением Лукеренко Андрей.
|