Программирование BASCOM
Меню сайта
Категории каталога
Мои статьи [115]
Наш опрос
Оцените мой сайт
Всего ответов: 1292
Главная » Статьи » Мои статьи

USB-термопереключатель ThermoPower
Вдохновленный статьями: «Как подружить 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» прилагаются.

С, уважением Лукеренко Андрей.
Категория: Мои статьи | Добавил: bascom (05.10.2010)
Просмотров: 11590 | Комментарии: 10
Всего комментариев: 8
8 сете  
0
Почемуто не работает программа на Вин7.

7 сете  
0
почемуто не запускается программа на вин7 , почему?

6 Roman  
0
Проект действительно класс!!! Но при попытки скомпилть ругается на строку:
_usb_crc = Crc16uni(txstate(3) , Count , &HFFFF , &H8005 , 1 , 1)
Ошибка номер 680... версия БАСКОМА 1.11.9.0

В чем может быть проблема???

5 Vitalik_Nic  
0
Программа работает хорошо только на ОС ХР
когда запускаешь ее Win 7 работает только первая вкладка на остальных вкладках зависает
попытка перекомпелировать для 7-ки в PureBasic выдает ошибку на 701 строчек, исправление этой ошибки не чего не решает,
скорее всего нет доступа к некоторым функциям HIP или чего то другого (мои познания не так уж велики как у автора)
(хотя это может проявляться данный сбой программы при отсутствие датчика температуры ?) у меня его нет.
хотелось услышать мнение автора на счет зависания программки на других вкладках кроме основной

4 and_lk  
1
Давно не был на сайте. К сожалению собранных три устройства раздарил друзьям, так что не на чем проверить. Как ни странно у них работает - не жаловались. В апреле соберу себе еще одно и займусь этой проблемой.
Что такое виснет? Сама программа зависает и устройство перестает реагировать на комманды? Или что? И пишите лучше на ящик: and_u@rambler.ru

3 Mahalov24  
0
Собрал такой девайс. Очень удобная штука!!!
Программа работает только в ОСНОВНОМ РЕЖИМЕ, в остальных виснет cry
Подскажите пожалуйста в чем может быть проблема.

2 Ewgen  
0
Пробовал на разных компах,без результатно,в текстовом файле делаешь изменения допустим какие каналы в ключить при загрузке и при выходе ,все работает,в остальных нехочет.

1 Ewgen  
0
Хороший проект!!!,вопрос по самой проге,в основном режиме все работает,в других (при загрузке,автомат ЧЧ.ММ и автомат С)виснет,в чем может быть проблема?,термометр работает.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Друзья сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Copyright Radan Studio © 2024