Ich habe einen Roboter von einem Thin-Client-PC (kann Windows CE oder Linux ausführen) und zwei Servomotoren gebaut. Ich setze USB-Enden auf die Servomotoren, so dass sie, wenn sie an den Thin Client angeschlossen werden, kontinuierlich laufen. Wie kann ich unter Linux die Stromstärke oder Spannung von den USB-Ports zu den Servomotoren einstellen? Kann ich ein Shell-Skript ausführen, um die Leistung eines bestimmten USB-Anschlusses einzustellen, um einen Motor zu verlangsamen oder zu stoppen? Wenn dies nicht durch Software möglich ist, was ist der einfachste Weg, dies über Hardware zu tun, ohne zu viel kaufen zu müssen?
Die USB-Spannung ist auf nominal 5 Volt festgelegt und kann nicht gesteuert werden.
Das Verhalten von USB-Geräten hinsichtlich ihrer Stromaufnahme ist in den USB-Spezifikationen gut definiert. USB-Geräte sollten bis zu 1 Einheit laden (100 mA), es sei denn, sie haben eine höhere Last vom USB-Host ausgehandelt. Es ist sehr wahrscheinlich, dass die Servomotoren, die Sie haben, höhere Ströme benötigen und nicht in der Lage wären, diese anzufordern, ohne ein USB-Gerät zu sein und mit dem Host zu verhandeln.
Je nach Servomotor, den Sie steuern möchten, ist es wahrscheinlich, dass Sie entweder ein PWM-Signal oder eine analoge Spannung zur Steuerung der Motorposition bereitstellen müssen. USB-Hosts sind nicht dazu vorgesehen, beides bereitzustellen.
Ihre besten Möglichkeiten, Ihren Motor von Ihrem PC aus zu fahren, sind:
Die Antworten hier scheinen zu sagen, dass es sich um ein Hardware-Problem handelt, aber ich denke, das ist ein Softwareproblem. ASUS hat Ai Charge, die die Volt zum Laden von Apple Produkten von einem Standard 2.0 USB Port mehr als verdoppelt.
USB 1.0, 2.0 und 3.0 Spezifikationen (Alle bei 5 Volt) 4 Drähte (2 Daten und 2 dedizierte Macht)
Spannungsausfall: USB 1.0 und USB 2.0 = 0.5A oder 500 mA = 2.5 Volt USB 3.0 = 0.9A oder 900mA = 4.5 Volt Wandwarze = 1.5A oder 1500 mA = 7.5 Volt Ai Ladung = 1,2A oder 1200mA = 6 Volt
Ai Charge funktioniert auf ASUS- und Nicht-ASUS-Motherboards und ist ein Programm, das Sie in Windows installieren können.
Persönlich hasse ich Apple, also möchte ich herausfinden, wie ich diesen 1.2A USB 2.0 Ausgabetrick für mein Netbook machen kann, während ich Linux benutze.
Ich glaube nicht, dass es möglich ist, die USB-Spannungen direkt zu manipulieren. Sie sind so ausgelegt, dass sie jederzeit eine Ausgangsspannung von +5 V liefern, es sei denn, die Leistung wird mit anderen Hubs verringert.
Vielleicht ist es besser, wenn Sie diese Frage auf Ссылка
veröffentlichenSie müssen PWM verwenden, um die Motorgeschwindigkeit zu steuern, dazu benötigen Sie einen Mikrocontroller, die PIC18F-Serie unterstützt die USB-Kommunikation, es gibt viele Codebeispiele im Internet wie Sie USB in der PIC18F-Serie verwenden, außerdem benötigen Sie ein Transistor-Array oder H-Brücke zur Kontrolle von Leichen von PIC.
Am einfachsten kommunizieren Sie mit einer seriellen USB-Schnittstelle im PIC18F-Mikrocontroller, und wenn Sie diesen 18F an Ihren Computer anschließen, erkennt er den seriellen USB-Anschluss, sodass Sie die Befehle zur Steuerung an die serielle Schnittstelle senden können / p>
Ich denke nicht, dass es möglich ist, und selbst wenn es war, bedenken Sie Folgendes: Der USB-Anschluss ist nicht für Motoren geeignet, da Sie den USB-Anschluss brennen können. USB ist begrenzt auf 500mA (oder da) und jedes Stromgerät wie ein Motor kann möglicherweise mehr als das erfordern.
Eine andere Sache ist, dass Servos mit konstanter Spannung angetrieben werden sollten, und die Geschwindigkeit wird durch Zeitimpulse auf der Steuerleitung gesteuert. Ссылка
Sie sollten einen Treiber (Hardware) verwenden, um den Motor mit einer externen Stromquelle zu versorgen.