Jump to content
Sign in to follow this  
Дмитрий Андреевич

Утилита, Знающая Потребление Тока Usb Порта

Recommended Posts

Здравствуйте!

Подарили на д.р. вертолет на р/у :)

Заряжается от USB. Т.е. в порту ЮСБИ используется только 2 провода - для питания схемы зарядки. В момент заряда схема потребляет ток (точно не знаю какой - могу померять, думаю около 300мА). В момент окончания заряда и после ток не потребляется.

Хочу сделать, чтобы когда вертолет зарядится полностью, т.е. упадел ток питания 1-го ЮСБи порта, подавался звук и/или выводилось сообщения на панели задач. Как можно просто реализовать?

Может есть готовые проги?

Share this post


Link to post
Share on other sites

Скорее всего, это невозможно - фактическое потребление тока устройствами USB-контроллером, насколько я знаю, не измеряется.

Share this post


Link to post
Share on other sites

Можно попробовать сделать, опираясь на падение напряжения 5 вольтовой линии. В самом вертолете как-нибудь отображается окончание зарядки?

Edited by IIIytNIK

Share this post


Link to post
Share on other sites

Конденсаторы Panasonic. Часть 4. Полимеры – номенклатура

В заключительной, четвертой статье из цикла «Конденсаторы Panasonic» рассматриваются основные достоинства и особенности использования конденсаторов этого японского производителя на основе полимерной технологии. Главной конструктивной особенностью таких конденсаторов является полимерный материал, используемый в качестве проводящего слоя. Полимер обеспечивает конденсаторам высокую электрическую проводимость и пониженное эквивалентное сопротивление (ESR). Номинальная емкость и ESR отличается в данном случае высокой стабильностью во всем рабочем диапазоне температур. А повышенная емкость при низком ESR идеальна для решения задач шумоподавления и ограничения токовых паразитных импульсов в широком частотном диапазоне.

Читать статью

Таких утилит не встречал, но можно попробовать поставить последовательно с зарядкой низкоомный резистор и компаратором измерять падение напряжения на нём. Выход компаратора к LPT порту. А там уже можно что-то простенькое написать что-б окно на экран выводило. Или что-б ничего не писать - просто выход компаратора на пищалку.

Share this post


Link to post
Share on other sites
                     

STM32G0 - средства противодействия угрозам безопасности

Результатом выполнения требований безопасности всегда является усложнение разрабатываемой системы. Особенно чувствительными эти расходы стали теперь, в процессе массового внедрения IoT. Обладая мощным набором инструментов информационной безопасности, микроконтроллеры STM32G0 производства STMicroelectronics, объединив в себе невысокую цену, энергоэффективность и расширенный арсенал встроенных аппаратных инструментов, способны обеспечить полную безопасность разрабатываемого устройства.

Подробнее...

Скорее всего, это невозможно - фактическое потребление тока устройствами USB-контроллером, насколько я знаю, не измеряется.

Как раз и измеряется. По изменению потребляемого тока контролер определяет, что к порту что-то подключено. А уже потом начинается обмен данными.

Share this post


Link to post
Share on other sites

Утверждение Fant(а) не верно, Хост при включении формирует на шине сигнал, если память не изменяет Reset, после чего ждет дальнейших указаний от мастера по нулевому адресу.

Share this post


Link to post
Share on other sites

Я, обычно говорю, что знаю. Не знаю- не говорю. Внимательно читаем спецификацию на USB порт и, в том числе, видим :

" управление энергопотреблением – любое устройство при подключении не должно потреблять от шины ток, превышающий 100 мА. При конфигурировании устройство заявляет свои потребности тока, но не более 500 мА. Если хаб не может обеспечить устройству заявленный ток, устройство не будет использоваться;

приостановка – USB-устройство должно поддерживать приостановку (suspended mode), при которой его потребляемый ток не превышает 500 мкА. USB-устройство должно автоматически приостанавливаться при прекращении активности шины; "

Т.е. переводя с технического на русский, ведётся контроль по току.

P.S. Дмитрий Андреевич, вы наверное удивитесь, но во внешних USB, с отдельным питанием стоит свой контроллер, как и в компе и уже он отслеживает токовые нагрузки..

Edited by fant

Share this post


Link to post
Share on other sites

Пороговые значения контроллер отслеживает, но исключительно в защитных целях, а инициализация производиться с помощью команд, а не как по изменению тока на шине.

Не поленился и посмотрел как происходит определение подключение к USB шине. Так вот Хост заявляет о своем присутствии путем подтяжки D+ или D- через сопротивление 1.5 кOm к 3.3В ни каких замеров тока по питанию (кроме случаев превышения порога потребления в защитных целях) для инициализации не производиться.

Edited by rtfcnf

Share this post


Link to post
Share on other sites

Подтяжка как раз на стороне устройства, а хост (обычно комп) определяет скорость устройства (медленный, обычный, быстрый) измеряя ток, текущий по D+, D- с питания или на землю. Устройство конечно ток не измеряет.

Share this post


Link to post
Share on other sites

rtfcnf Мы с вами говорим о разных вещах.. Внимательно прочитайте мои посты. Где я упоминал термин инициализация? В ответ на пост Tesla о отсутствии контроля тока, я ответил, что он таки имеется. Если девайс при подключении жрёт больше чем надо, то он, девайс , останется незамеченным. А уже потом ( цитирую себя) идёт обмен данными, т.е. то, за что вы агитируете... :lol: Т.е. При подключении нового устройства происходит измерение напряжения в цепи (100 мА), которое улавливается хостом. Тот сразу начинает опрашивать новое устройство о том, кто оно, что и зачем, то есть выясняет его класс, нужную ему полосу пропускания и прочую служебную информацию. После получения ответов новичку присваивается уникальный номер... и т.д.

Кстати, если при работе USB девайса, по каким либо причинам будет превышен потребляемый ток ( величина его заявляется при подключении), то он будет так же отключен...

Edited by fant

Share this post


Link to post
Share on other sites

Процесс энумерации (опознания устройства хостом) инициируется появлением подтягивающего резистора между питанием и одной из сигнальных линий:

USB устройство должно указывать свою скорость путем подтяжки линии D+ или D- посредством сопротивления 1.5кОм +- 5% к напряжению 3.3 вольта. Полноскоростное устройство, изображенное ниже, использует подтягивающий резистор подключенный к линии D+, чтобы ХОСТ смог определить его как полноскоростное устройство. Это подтягивающее сопротивление ХОСТ или Концентратор используют для обнаружения подключения устройства к своему порту. Без этого резистора ни ХОСТ, ни Концентратор не поймут, что к USB шине подключено новое устройство.

Не рискну утверждать, что измерение потребляемого тока ни одним хостом не производится, однако в стандарте USB о нём ничего не говорится. Думаю, хост просто "надеется на честность" подключаемых устройств, и не разрешает переключиться в режим полного потребления тем устройствам, заявленное потребление которых превышает возможности источника питания.

Всякие зарядки, USB-вентиляторы, USB-шредеры и прочие китайские поделки, кстати, плюют на эти стандарты, и кушают не стесняясь по 500, а то и по 700 мА без всякого предупреждения (D+ и D- в них вообще не распаяны), а реакции операционной системы на это никакой нет.

Share this post


Link to post
Share on other sites

Хоспадя... Ну когда вы научитесь поиском пользоваться ? ЗДЕСЬ почитайте. Букф много, но всё по делу... Или ЗДЕСЬ. И про контроль тока и прочие чудеса.

P.S. Какую реакцию системы, кроме перегорания защитных резюков ( на грамотно спроектированной мамке) вы ожидаете при засовывании чего попало в порты ? Сами же пишите про не задействованные сигнальные шины.. Хотя прикольно было бы, "Системой обнаружено новое устройство, вентилятор"... :lol:

Edited by fant

Share this post


Link to post
Share on other sites

fant, а что ты вычитал по твоим ссылкам? Может быть это "...причем измерение напряжение производится на нисходящем конце кабеля...". Что-то ничего более близкого про контроль тока я не нашел. Приведи конкретную цитату. Частенько наблюдал реакцию мамашки "при засовывании чего попало в порты" выгоранием контроллера питания USB. 

Share this post


Link to post
Share on other sites

Ой б... По Этой ссылке читаем пункт 1.3 про контроль ТОКА а не напряжения, при включении девайса. В следующем пункте про отключение при превышении заявленной нагрузки.

Это стандарты USB. А горящие материнки- это на совести дедушки Ляо. Несоблюдение стандартов. И то, что всякая хрень ( вентиляторы, холодильники, сварочные аппараты) палит порты чисто на совести юзера, который это дело покупает..

Edited by fant

Share this post


Link to post
Share on other sites

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

Edited by COKPOWEHEU

Share this post


Link to post
Share on other sites

COKPOWEHEU И это правильно.. В принципе нормально собранный девайс так и поступает. Это и в описалове упоминается ВОТ например. А когда вместо защитных резисторов по питанию ставят коротыши ( экономия, блин)... :ph34r:

Share this post


Link to post
Share on other sites

Вопрос к утверждающим, что контроллер не умеет измерять ток: каким образом он проверяет соответствие тока, заявляемого устройством в дескрипторах (с дискретностью в 2мА) и реального?

Share this post


Link to post
Share on other sites

Полагаю, что никак) Контроллер проверяет только, не превышает ли суммарный заявленный ток всех устройств на шине её теоретическую нагрузочную способность (актуально при использовании хабов без внешнего питания).

Share this post


Link to post
Share on other sites

А в чем проблема-то? Сложно собрать как Esaul предлагал, аппаратный измеритель. Всего-то и надо 2 разъема, резистор и звуковую/световую схему, ну, может, еще компаратор к ней. Резистор можно и самому намотать, там же большое сопротивление не надо а для компаратора даже медной катушки хватит (заодно будет работать индуктивностью).

Share this post


Link to post
Share on other sites

Логично. А то развезли флуд на две страницы :lol:

Share this post


Link to post
Share on other sites

Уважаемый fant. Вы вообще знакомы с цифровой логикой и соответствующими электронными устройствами?

Как раз и измеряется. По изменению потребляемого тока контролер определяет, что к порту что-то подключено. А уже потом начинается обмен данными.

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

Во-вторых, Контроллер определяет что к нему что-то подключено как раз по ответным действиям устройства по линиям данных, как совершенно верно отметили Tesla, rtfcnf и COKPOWEHEU, а не по изменению потребляемого тока (естесственно эти ответные действия могут быть произведены устройством только при наличии на нем питания)

... А уже потом ( цитирую себя) идёт обмен данными, т.е. то, за что вы агитируете... laugh.gif ...

Здесь никто никого не "агитирует".

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

Кстати, если при работе USB девайса, по каким либо причинам будет превышен потребляемый ток ( величина его заявляется при подключении), то он будет так же отключен...

Напряжение измеряется в вольтах. В миллиамперах измеряется ток. Ответные действия со стороны контроллера производятся только после вышеописанной реакции устройства на наличие питающего напряжения, а не по "улавливанию измерения напряжения (100 мА)"

Логично. А то развезли флуд на две страницы laugh.gif

Кто же как не вы развезли. Куча ни о чем не говорящих, постов с попытками оправдать свои незнание и непоследовательные соображения (если это можно назвать соображениями), идущие вразрез с реальностью и словесное недержание.

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

Возьмите биполярный транзистор и пустите часть потребляемого тока через базу-эмиттер, к коллектору подключите светодиод, подберите переменным резистором рабочую точку. Есть заряд - "лампочка" горит. Если необходимо что-то большее, то одними подручными средствами здесь не обойтись.

Edited by serge_sg

Share this post


Link to post
Share on other sites

Уважаемый fant. Вы вообще знакомы с цифровой логикой и соответствующими электронными устройствами?

Што вы. Я только что с пальмы и фотографирую тапком. Всегда интересовало, каким образом можно вытаскивать вверх такое старьё.

P.S. Конечно не рекорд некропостинга, но в первых рядах. Честно, нет желания вчитываться, ибо топик четыре года как остыл к данному вопросу.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...