在Linux中,如何控制USB端口的电源输出?

在Linux中,如何控制USB端口的电源输出?,linux,usb,Linux,Usb,我用一台瘦客户端pc(可以运行Windows CE或Linux)和两个伺服电机构建了一个机器人。我将USB端放在伺服电机上,因此当它们插入瘦客户机时,它们会持续运行。在Linux中,如何设置从USB端口到伺服电机的电流或电压量?我是否能够运行shell脚本来设置某个USB端口的电源,以使电机减速或停止?如果这不能通过软件实现,那么通过硬件实现而不必购买太多东西的最简单方法是什么?这是晶体管的用途,或者尝试使用电位计我认为不可能直接操纵USB电压。它们设计为始终提供+5V输出,除非其他集线器的功率

我用一台瘦客户端pc(可以运行Windows CE或Linux)和两个伺服电机构建了一个机器人。我将USB端放在伺服电机上,因此当它们插入瘦客户机时,它们会持续运行。在Linux中,如何设置从USB端口到伺服电机的电流或电压量?我是否能够运行shell脚本来设置某个USB端口的电源,以使电机减速或停止?如果这不能通过软件实现,那么通过硬件实现而不必购买太多东西的最简单方法是什么?

这是晶体管的用途,或者尝试使用电位计

我认为不可能直接操纵USB电压。它们设计为始终提供+5V输出,除非其他集线器的功率降低


<> p> >我不认为这是可能的,即使是这样,考虑到这一点:USB端口不适合供电,因为你可以烧毁USB端口。USB被限制在500毫安(或大约500毫安),任何像马达这样的电源设备都可能需要更多

另一件事是伺服系统应该用恒压驱动,速度由控制线上的定时脉冲控制。


您应该使用驱动器(硬件)通过外部电源为电机供电。

USB电压固定在标称5伏,无法控制

USB设备的电流消耗行为在USB规范中有明确定义。USB设备的负载应达到1个单位(100mA),除非它们已协商从USB主机获得更高的负载。很有可能你的伺服电机需要比这更大的电流,如果没有USB设备和主机协商,就无法请求

还可能需要提供PWM信号或模拟电压来控制电机位置,这取决于您试图控制的伺服电机。USB主机不打算提供这两种功能

从电脑驱动电机的最佳选择是:

  • 为伺服电机配备专用USB控制器(如果有)
  • 基于小型微处理器(如使用arduino)自行制作
  • 在电脑上选择不同的端口。如果可用,可以控制电脑并行端口以控制电机驱动器

  • 这里的答案似乎是硬件问题,但我认为这是软件问题。华硕拥有Ai充电功能,通过标准的2.0 usb端口为苹果产品充电时,充电电压将提高一倍以上

    USB 1.0、2.0和3.0规格(均为5伏)4线(2个数据线和2个 专用电源)

    电压击穿:USB 1.0和USB 2.0=0.5A或500 mA=2.5瓦 USB 3.0=0.9A或900mA=4.5瓦瓦特壁瘤=1.5A或1500 mA=7.5 瓦特Ai电荷=1.2A或1200mA=6瓦特

    Ai Charge适用于华硕和非华硕主板,是一个可以在Windows中安装的程序


    就我个人而言,我讨厌苹果,所以我想找出一种方法,在运行Linux时为我的上网本实现1.2A usb 2.0输出技巧

    您需要使用PWM来控制电机速度,要做到这一点,您需要一个微控制器,PIC18F系列支持USB通信,互联网上有大量的代码示例,说明如何在PIC18F系列中使用USB,您还需要一个晶体管阵列或H桥来控制PIC中的Mortor


    最简单的通信方式是,在PIC18F微控制器中编程一个USB串口,当您将该18F插入计算机时,它将检测USB串口,因此您可以将命令发送到串口以控制速度。

    他正在尝试更改电源。因为电压总是恒定的,他需要改变电流。当然,很多设备只是尝试在没有协商的情况下拉更多的电流,这里可能就是这种情况。谢谢,但是我的瘦客户端没有并行端口。我可以通过rs-232端口控制它吗。此外,对于arduino,我是否需要对其进行编程,然后运行一个程序来控制我的电机,或者它是否可以作为usb控制器工作,因为根据我的研究,arduinos的成本实际上大大低于伺服电机usb控制器。@Chris-是的,您必须在arduino上运行代码来实际驱动伺服电机。要允许瘦客户端“控制”伺服,可以将Arduino编程为usb设备,或者作为一个更简单的选项,使用从瘦客户端到Arduino的rs232端口并实现您自己的控制协议。您不应该在这里询问问题的硬件部分。试试电子产品