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

Литиевые батарейки Fanso для систем телеметрии и дистанционного контроля

Системы телеметрии находят все более широкое применение во многих отраслях на промышленных и коммунальных объектах. Требования, предъявляемые к условиям эксплуатации приборов телеметрии и, как следствие, источников питания для них, могут быть довольно жесткими. Fanso предоставляет широкую линейку продукции, рассчитанной на различные условия эксплуатации, что позволяет подобрать батарейку для каждого конкретного применения, в том числе и для устройств телеметрии.

Подробнее

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

Share this post


Link to post
Share on other sites
                     

Приглашаем на вебинар Решения для построения ультразвуковых счетчиков жидкостей и газов на базе MSP430

Компэл совместно с Texas Instruments 23 октября 2019 приглашают на вебинар, посвященный системам-на-кристалле для построения ультразвуковых расходомеров жидкостей и газов на базе ядра MSP430. Вебинар проводит Йоханн Ципперер – эксперт по ультразвуковым технологиям, непосредственно участвовавший в создании данного решения. На вебинаре компания Texas Instruments представит однокристальное решение, позволяющее создавать точные недорогие счетчики жидкостей и газов.

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

Скорее всего, это невозможно - фактическое потребление тока устройствами 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  

  • Сообщения

    • Тяжело таскать такой чумадан однако. Я недавно у приятеля двигал полуторатактник 2х40W, сделанный по схеме misterzu - куль картошки легче. А горячий, суко ... яичницу жарить можно. 
    • Частота дикая какая-то. У меня нет нормальных приборов. С  "частотомером до 50 МГц своими руками. На одной микросхеме 74hc4060" при делителе 16х показывает 126кГц. То-бишь 126кГц х 16 = примерно 2 МГц при делителе 32х показывает 52кГц. 52кГц х 32 = примерно 1,66 МГц Мерил на выходе на динамик. На 5й, 10й, 12й ногах ситуация кардинально не меняется. Щас ваще 144-150кГц х 16 показывает = 2,4МГц
    • Как только умер Ленин, оказалось, что второй человек в партии, товарищ Троцкий — предатель. Каменев, Зиновьев, Бухарин и Сталин свергли Троцкого и изгнали из СССР. Но через пару лет оказалось, что Каменев, Зиновьев и Бухарин тоже враги и вредители. Тогда доблестный товарищ Генрих Ягода их арестовал. Чуть позже Ягоду как вражеского агента арестовал Ежов. Но через пару лет оказалось, что и Ежов не товарищ, а обычный предатель и вражеский агент. И Ежова арестовал Берия. После смерти Сталина, все поняли, что и Берия тоже предатель. Тогда Жуков арестовал Берию.  Но вскоре Хрущев узнал, что Жуков враг и заговорщик. И сослал Жукова на Урал.  А чуть позже вскрылось что и Сталин–то был врагом, вредителем и предателем. А вместе с ним и большая часть политбюро. Тогда Сталина вынесли из мавзолея, а политбюро и примкнувшего к ним Шепилова разогнали честные партийцы во главе с Хрущевым.  Прошло несколько лет и выяснилось, что Хрущев был волюнтаристом, проходимцем, авантюристом и врагом. Тогда Брежнев отправил Хрущева на пенсию. После смерти Брежнева, выяснилось, что и он был вредителем и причиной застоя.  Потом было еще двое, которых никто и запомнить-то не успел. Но тут пришел к власти молодой, энергичный Горбачев. И оказалось, что вся партия была партией вредителей и врагов, но он–то сейчас все исправит.  Тут–то СССР и развалился. А Горбачев оказался врагом и предателем.  Вы ознакомились с кратким курсом истории СССР.
    • А где ФЧХ? Вещать о линейности без созерцания картины PH-фактора - моветон. 
    • Судя по формату номера, это контроллер с неперезаписываемой заказной прошивкой. Даташиты на такое не выпускаются.
    • германий ангажируется в связи с малым падением напряжения на переходе, я правильно понимаю? Так то и кремний умеет быть диодом
  • Покупай!

×
×
  • Create New...