Главная » Статьи » Проекты

USB розетка для ноутбука


 Устройство будет полезно владельцам ноутбуков, нетбуков и, возможно, планшетов и принадлежит к классу USB-HID (Human Interface Device).
 "USB-розетка" "следит" за уровнем заряда АКБ и включает/выключает зарядное устройство (ЗУ) по заранее выставленным порогам. Если по каким либо причинам ЗУ не включится, то управляющая программа об этом сообщит.


Об истории создания.

Наблюдая за женой, как она "судорожно" пытается успеть подключить ЗУ к ноутбуку, пока он не перешел в "спящий режим" или после полного заряда АКБ забывает ее отключить (как известно, по-стоянное подключение ЗУ негативно влияет на АКБ), в голову пришла мысль: "А возможно ли про-граммно "вытащить" значение заряда АКБ из системы? " Как оказалось, возможно.

О функционале.

Так уж сложилось, что к моменту создания девайса WINDOWS XP осталась только на "большом" ПК. На нетбуке стоит WINDOWS 8, а на ноутбуке - WINDOWS 7. По этой причине программа в пол-ном объеме тестировалась только на этих системах. Но, использовав маленькие хитрости, скриншоты привожу именно с WINDOWS XP. Вот так выглядит окно программы:




 Если говорить честно, то эта уже вторая версия программы и устройства, но об этом чуть позже.
"USB-розетка" "следит" за уровнем заряда АКБ и включает/выключает зарядное устройство (ЗУ) по заранее выставленным порогам. Если по каким либо причинам ЗУ не включится, то управляющая программа об этом сообщит:




Вывод окна сопровождается звуковым сигналом. Он повторяется каждые 15 секунд. При устранении неисправности, окно само закроется.

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




Изначально программа запускалась и была поверх всех открытых окон, но при тестировании жена несколько раз машинально закрывала окно, нажав на "крестик". Программа постоянно проверяет на-личие девайса, и при его отсутствии выводит соответствующее сообщение:




Так же идет постоянное считывание из системы уровня заряда АКБ в процентах. Если батарея не обнаружена, то программа так и "напишет":




Экранный светодиод дублирует основные режимы работы: ЗУ выключено, ЗУ включено (зеленый), ошибка ЗУ (красный).


  



 Имеются кнопки добавления/удаления автостарта программы после старта операционной системы. 
 Иконка в трее имеет меню, вызывается нажатием правой кнопки мыши:



Развернуть - Развернуть окно программы из трея.
Свернуть - Свернуть программу в трей.
Язык/Language - Выбор языка интерфейса.
Выход - Выход из программы, при этом все настройки сохраняются.

 Как видно языка пока только три. Добавить новый язык просто. В папке Files/Language копируем и вставляем любой язык, например Русский. Переименовываем его в соответствии с названием нового языка. Открываем новый язык в любом текстовом редакторе с возможностью выбора кодировки со-хранения файла, например AkelPad. Заменяем в каждой строчке после равно слова из нового языка. Обязательно сохраняем файл в кодировке Юникод (UNICODE).




О конструкции.

  За основу был взят Demo – device Петра, опубликованный на http://bascom.at.ua
Были убраны кнопки, лишние светодиоды и переделана питающая часть. В итоге получилась такая схема:



Перечень элементов:

Все электролитические танталовые чип-конденсаторы типоразмера B, керамические чип-конденсаторы и чип-резисторы типоразмера 0805.
C1, C5 = 47µ, 10В.
C2, C3, C6, C9, C10 = 0,1 мкФ, 50В.
C4 = 1 мкФ, 50В.
C7, C8 = 22 пФ, 50В.
DA1 = 1117S33
FU1 = 250mA, предохранитель интегральный N05.
FU2 = 1A*, держатель предохранителя ZH266 5x20 на плату с предохранителем.
HL1 = L-937EGW, светодиод с держателем Corpus 9004 с заманенным на L-937EGW или LC-03.
K1 = 845HN-2A-C-05VDC
R1 = 1,5 кОм.
R2 = 1 МОм.
R3, R4 = 68 Ом.
R5 = 0 Ом.
R6, R8 = 10 кОм.
R7 = 470 Ом.
R9 = 330 Ом.
VD1 = LL4148
VT1 = IRLML2502
ZQ1 = 12,000 МГц, резонатор кварцевый HC-49S или 3852.
IC1 = ATMEGA8A или ATMEGA48-20PU (эти МК проверялись).
XS1 = Кабель USB2.0 A (вилка). Не жалейте денег, купите хороший.
XP1 = DG306-5.0-2P

Как я уже говорил, эта уже вторая версия устройства. Придя с работы, я услышал, что моя "штуко-вина" не включила ЗУ и не видно работает она или нет. Изначально, при подключении, устройство мигало три раза светодиодом, показывая, что контроллер стартовал, а программа запускалась и была поверх всех открытых окон, но при тестировании мой самый главный тестер машинально закрыл окно, нажав на "крестик". Было принято решение о модернизации устройства. В результате программу можно закрыть либо через ALT+F4, либо через меню в трее, появилась индикация основных режимов, как в программе, так и в устройстве.

Была разработана плата:






В качестве корпуса была использована плинтусная розетка серии "Прима" - RA16-003-2M-B. 




Правильно собранное устройство начинает сразу работать. Несколько фото готового устройства:


   




   



Вот так выглядит наклейка на корпус:



 Код практически без изменений. Изменил VID и PID: PID=2112 , VID=2012. :) 

Изменил прием данных, дескриптор продукта. При первом подключении к компьютеру систе-ма обнаружит новое устройство - "USB-розетка для ноутбука", и сама установит для него стандартные драйверы HID.




 Вот небольшая программка для создания строковых дескрипторов в формате юникода. http://pure-basic.narod.ru/miscfiles/Bascom_USB.rar Просто вводим текст и нажимаем на кнопку "Преобразовать". Программа преобразует текст в формат юникода и создаст код для BASCOM'а. Спасибо говорим Петру.



Фьюзы

Фьюзы выставляются на тактирование микроконтроллера от внешнего высокочастотного кварцевого резонатора














Программа для ПК написана на языке PUREBASIC 4.61. Для компиляции потребуются библиотеки Droopy Library и HID_Lib. Код программы занимает 563 строки, поэтому достаточно demo-версии.

В итоге цель достигнута, жена спокойно работает за ноутбуком.


Полезные ссылки:

http://www.purebasic.com — сайт разработчика PUREBASIC.
http://pure-basic.narod.ru — русскоязычный сайт о PUREBASIC.
http://www.mcselec.com/ — сайт разработчика BASCOM AVR.
http://bascomavr.3bb.ru/ — русскоязычный форум о BASCOM AVR.
http://pure-basic.narod.ru/libs.html — библиотеки Droopy Library и HID_Lib.




Устройство разработано по принципу «КАК ЕСТЬ» и автор не несёт ответственности за явный или не явный ущерб, причинённый в результате повторения девайса!

 

 
Выражаю огромную благодарность: Петру за перевод программы на украинский язык и помощь в написании программы; Mrshilov за перевод программы на английский язык; админу портала за возможность опубликовать статью.


автор: Илюшкин Максим (max), Барнаул, 2012г.





Категория: Проекты | Добавлено: 06.01.2013
Просмотров: 20072 | Комментарии: 19 | Рейтинг: 4.7/11
Всего комментариев: 19
19 max   (27.03.2017 14:31) [Материал]
Всем привет!
Экземпляр из статьи уже давно уехал в другой город, другого лишнего нет.

0  
18 exersizze   (22.03.2017 17:04) [Материал]
Автор max, напишите ему в личку

http://avrproject.ru/index/8-404

17 jedayak   (21.03.2017 19:37) [Материал]
Доброго времени суток
как связаться с автором сего чуда и приобрасти его?

16 max   (24.12.2016 17:19) [Материал]
Доброго.

>>>А в DIP корпусе mega8 можно поставить?
Можно, только плату нужно будет переделать.
>>>И запитать от 5v USB порта без стабилизатора?
Тут http://bascom.at.ua/publ/usb_voprosy_soprjazhenija_s_avr/1-1-0-42# почитайте и сами решите.

15 A2a   (23.12.2016 19:12) [Материал]
Доброго Max.А в DIP корпусе mega8 можно поставить? И запитать от 5v USB порта без стабилизатора?

14 max   (24.12.2015 18:12) [Материал]
К разъему XP1 подключается розетка в разрыве с сетью.

13 zloytoni   (23.12.2015 21:54) [Материал]
Классный прибор, взял себе его как тему курсового, вот только одно не понятно, каким образом плата соеденяется с самой розеткой??? Или в эту плинтусную розетку ничего и не должно подключаться, это просто корпус?

+1   Спам
12 exersizze   (10.01.2013 23:55) [Материал]
Надо это схему ребятам из MSI показать, пускай знают как правильно контроллеры зарядки для ноутов делать biggrin

+1   Спам
11 Manowarus   (10.01.2013 13:26) [Материал]
Устройство конечно интересное, но абсолютно бесполезное и даже вредное для батареи ноутбука. Вот вам часть схемы бука с зарядкой http://yadi.sk/d/bYUpHl4M1ksKV . А теперь покажите мне каким образом постоянно включенный в сеть ноут будет уменьшать срок службы батареи? В кратце. Мультик бука мониторит состояние батареи общаясь с нею по квадратной шине, и если заряд ниже определённого уровня говорит по шине контроллёру зарядки заниматся своим делом, тоесть заряжать батарею. В нормальном состоянии батарея полностью отключена от схемы бука. И будет заряжаться только при разряде, а так как саморазряд у исправной батареи достаточно маленький то и заряжать он её бестолку не будет. А это устройство только будет уменьшать срок службы батареи. Да и к тому же лишний раз гонять шим зарядки, ключи которого в некоторых буках довольно сильно греются и может привести к преждевременному выходу их из строя.
P.S. Никак не хотел обидеть автора устройства, но это бред.

10 amv2000   (08.01.2013 20:36) [Материал]
Ноутбук Asus 3года, батарея держится где то час-полтора, аккумулятор литиево-ионный он не имеет эффекта памяти, следовательно зарядка его уместна на любом этапе разрядки.
Мнение людей здесь не при чём, всё зависит от используемого аккумулятора...что бы не разводить полемику забейте в гугле вопрос да просветитесь.

9 max   (08.01.2013 15:21) [Материал]
Сколько людей - столько мнений. Я не однократно слышал, что батарея у бука умерла от того, что постоянно была подключена зарядка. На счет циклов заряда: получается, что батарею нужно менять через пол года? У меня одному буку 1,5 года, другому - 1 год. Что - теперь нужно батарею менять? Бред.

8 exersizze   (08.01.2013 13:11) [Материал]
vpvideo, да я тоже так думал что если заряжен и подключен к сети то какбэ батарея будет отключена. Но как оказалось нифига, через некоторое время (месяцев 9-10) стала заметно падать емкость аккумулятора, держал все меньше и меньше, сам ноут предлагал его заменить, мол акб испорчен. А потом аккумулятор вообще расперло что не смог закрыть крышку ноутбука, пришлось срочно его утилизировать. Все это время ноутбук постоянно! был подключен к сети. Общее время более-менее нормальной работы ноутбука с батареей получается чуть больше года. Ноут MSI X-400

+2   Спам
7 vpvideo   (08.01.2013 12:38) [Материал]
Народ! Чья бабушка такую теорию сочинила? Признавайтесь! Не верю я, что люди, способные создать такое устройство могут на столько забруждаться! Разве, что ноутбуки у них самодельные без контроля заряда и доступа в интернет (информационный вакуум). Где логика?! Это устройство предназначено для убивания батареи! А вытаскивание батареи... - Может еще бесперебойник предложите к ноуту купить? Работайте всегда с включеным БП. Батарея будет всегда заряжена и никаких циклов со счетчиками, и, тем более, перезарядов не будет!

6 Skull   (06.01.2013 21:37) [Материал]
2 RD3AVJ Абсолютно согласен насчет ФИЗИЧЕСКОГО срока службы. Однако имею дело на практике с ноутами, и более 460 циклов пока не встречал. Кстати, он суммирует и нецелые циклы (т.е. и полцикла, и четверть..иногда сбивается) А производителю абсолютно не выгодно чтобы работало долго, стоит глянуть на цену батарей )(про теорию запланированного устаревания слышали ? )) )
2 exersizze У кого как, я не выключаю никогда, разве несу куда-то )
ЗЫ. Кстати, респект за статьи,особенно хорошо разжевал с регистрами ))

5 exersizze   (06.01.2013 21:21) [Материал]
Вообще да, если ноут часто не переносится и постоянно включен в сеть, то лучше работать со снятой батареей. По поводу расчетного времени работы, он же работает не целыми сутками, по крайней мере у большинства))

4 RD3AVJ   (06.01.2013 20:55) [Материал]
2 Skull: Не знаю, что там записано у производителей батарей для ноута, но я сейчас печатаю с HP Compaq 6220 которому больше 5 лет. Юзаю постоянно, это и рабочий и домашний ноут. Раньше батареи хватало на 3 часа, сейчас минут на 30 активного использования. Если бы я пользовал представленное устройство с начала работы ноута, думаю емкость так сильно не упала бы. А количество циклов заряд\разряд для литиевых батарей уже давно перевалило за тысячу и больше...

3 Skull   (06.01.2013 18:54) [Материал]
Господа, не претендуя на обхаивание устройства (а работы проделано немало),хотелось бы уточнить:
Количество циклов батареи ноута около 350 (прописано в контроллере батареи). Время работы ноута на одной зарядке- 1-6 часов, в зависимости от модели. Время заряда ок. 2х часов. Отсюда имеем, что за сутки будет делаться около 3х циклов, что дает нам срок службы батареи приблизительно 3 месяца, после чего контроллер заблокирует батарею.
Гм, не проще ли вытаскивать батарею на уровне заряда 80%, как рекомендует производитель ?? )

2 max   (06.01.2013 10:05) [Материал]
На реализацию и тестированние ушло несколько дней, а вот идея была с начала года, но по разным причинам воплотить ее в жизнь смог только в конце.

1 exersizze   (06.01.2013 06:17) [Материал]
Макс, спасибо за отличное устройство! Оно бы очень пригодилось некоторое время назад - у меня ноут постоянно был включен в сеть, как итог через год работы батарея взбухла и ушла в утиль (хорошо что хоть не взорвалась).
Розетка интересная, прямо создана для подобного применения))

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






авторизация
Логин:
Пароль: