【问题标题】:Controlling voltage supply on usb port using c or any programming language使用 c 或任何编程语言控制 USB 端口上的电压供应
【发布时间】:2013-05-31 13:16:06
【问题描述】:

我在电子方面没有太多知识。我想使用程序打开/关闭连接到 USB 端口的 LED。 USB端口包含4条线(数据+,数据-,电压,接地)如果我将电压和接地线连接到LED,它会发光。我一直在网上搜索这个问题,我发现无法使用程序控制连接到 USB 的 LED,因为通过 datapin 的供应太低,无法用于关闭 LED。

但是如果我将我的 LED 连接到 vol 和接地引脚并控制 USB 端口的整个电源,我想可以使用程序来控制 LED。有一种方法可以通过 USB 端口禁用和启用电源。

我也想知道遵循这种方法是否不好。频繁启用/禁用电源是否会损坏 USB 控制器。

Algo :

      a = Get_input_from_user() ;
      if(a=="ON")
           turn power supply of usb port ON.
          else
           turn power supply of usb port OFF.

这件事当然可以使用额外的硬件,我不想使用任何额外的硬件。

【问题讨论】:

  • 这完全取决于您使用的平台。另外,您为什么要这样做?
  • 这样连接LED相当于短路。需要一个电阻器来限制电流。在您造成更多损坏之前,请在 electronics.stackexchange.com 上询问有关此问题
  • @OliverCharlesworth 想到的一个应用是只用一台计算机为热电偶供电,而无需从 National Instruments 购买 IO 接口。

标签: c usb


【解决方案1】:

计算机 USB 端口的电源通常不是软件可控制的。在大多数情况下,USB 端口的电源引脚直接连接到电源的 5V 电源轨(通常通过 polyfuse),因此无法打开和关闭它们。

Some powered USB hubs do support switching power to their ports,但是你说你不想使用任何额外的硬件,所以你运气不好。

【讨论】:

    【解决方案2】:

    您可以使用任何基本的Arduino 板来执行此操作,有一个完整的IDE 免费和很多sample code 可以满足您的需求

    您也可以使用 COOL 板。

    Arduino 兼容代码可用于 Teensy

    软件开发工具HERE

    【讨论】:

      【解决方案3】:

      您可以使用带有电阻的外部电源 (the Vcc and GND pins of the USB port in this case) 为二极管供电,并在中间连接一个晶体管作为中断器。然后,将base和emisor连接到USB端口的de data+和data-上。

      this page 不让我上传图片。

      很抱歉绘图的质量,但我在电脑上只有油漆。 为了获得更稳定的性能,请确保将 R1 设置得足够低,以便在数据引脚打开时晶体管处于饱和模式,但不要太低以至于晶体管被烧毁(我真的不知道 USB 端口上数据引脚的电压电平是多少, 对不起)。 要选择合适的 R2 值,您需要知道为二极管供电所需的电流。根据欧姆定律计算:

      Idiode = (Vcc - Vce,sat - Vd) / R2.
      

      其中 Vce,sat 是晶体管处于饱和模式时集电极和发射极之间的电位差(可在制造商网页上的晶体管数据表中找到,通常约为 0.2V),Vd 是二极管的归一化电位差(相同,但这次约为 0.6V)。

      请注意,data- 和 GND 引脚已连接。我 99% 确信这不会损坏您的 USB 端口,但使用它需要您自担风险。

      无论如何,我都会先使用另一个外部电源对其进行测试,以确保您正确连接所有设备。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-12-27
        • 1970-01-01
        • 2014-03-01
        • 1970-01-01
        • 2021-03-07
        • 1970-01-01
        • 2010-12-11
        相关资源
        最近更新 更多