Comment aurais-je contrôle le niveau de sortie de l'alimentation des ports USB sous Linux?
J'ai construit un robot à partir d'un thin client pc (peut fonctionner avec Windows CE ou Linux) et deux servo-moteurs. J'ai mis USB se termine sur le servo moteurs, de sorte que lorsqu'ils sont branchés sur le client léger, ils continuent à courir. Sous Linux, comment pourrais-je définir la quantité de courant ou de tension allant de ports USB et de la servo-moteurs? Serais-je en mesure d'exécuter un script shell pour régler la puissance d'un certain port USB pour ralentir un moteur ou arrêter? Si cela ne peut être fait par un logiciel, ce qui est la façon la plus simple de le faire par le biais de matériel sans avoir à acheter trop?
Vous ne devriez pas demander à la partie matérielle de votre question ici. Essayez de l'électronique.se
OriginalL'auteur Chris Galzerano | 2011-09-07
Vous devez vous connecter pour publier un commentaire.
L'USB tension est fixée à un taux nominal de 5 volts et ne peut pas être contrôlé.
Le comportement des périphériques USB au sujet de leur consommation de courant est bien définie dans les spécifications USB. Les périphériques USB sont censés tirer jusqu'à 1 unité de charge (100 ma), à moins qu'ils ont négocié une hausse de la charge de l'USB host. Il est très probable que le servo moteurs que vous avez allez avoir besoin de tirer des courants plus élevés que cela, et ne serait pas en mesure d'en faire la demande sans être un périphérique USB et de la négociation avec l'hôte.
Il est également possible, selon le servo moteur que vous essayez de contrôle, que vous aurez besoin soit de fournir un signal PWM ou un analogue de la tension de contrôle de la position du moteur. USB hôtes ne sont pas destinés à fournir l'un de ces.
Vos meilleures options à conduire votre automobile à partir de votre PC sont:
Merci, mais mon client léger ne dispose pas d'un port parallèle. Pourrais-je contrôler à l'aide d'un port rs-232. Aussi, avec l'arduino, je programme, puis d'exécuter un programme pour le contrôle de mes moteurs ou serait-il fonctionner comme un contrôleur usb parce que de ce que j'ai fait des recherches, arduinos en réalité coûté beaucoup moins que le moteur servo contrôleurs usb.
Oui, vous devez exécuter du code sur l'Arduino pour réellement conduire le servo-moteur. Pour permettre au client léger "contrôler" le servo soit le programme de l'Arduino comme un périphérique usb ou, comme une option plus simple, utilisez le port rs232 de la client léger à l'arduino et de mettre en œuvre votre propre protocole de contrôle.
OriginalL'auteur Andrew Edgecombe
Les réponses ici semblent dire que c'est un problème matériel, mais je pense que c'est une question de logiciel. ASUS a Ia Charge de plus du double de la volts pour le chargement des produits Apple en standard d'un port usb 2.0.
Ia Charge de travaux sur ASUS et non les cartes mères ASUS et est un programme que vous pouvez installer dans Windows.
Personnellement je DÉTESTE Apple, de sorte que je veux trouver un moyen de ce faire de 1,2 usb 2.0 sortie de truc pour mon netbook lors de l'exécution de Linux.
OriginalL'auteur mtelesha
Je ne crois pas qu'il est possible de manipuler directement l'USB tensions. Ils sont conçus pour fournir une sortie +5V à toutes les fois que l'alimentation électrique est atténuée avec d'autres centres.
Vous pourriez être mieux servis poster cette question sur http://electronics.stackexchange.com
OriginalL'auteur Nate
vous devez utiliser le PWM pour contrôler la vitesse des moteurs, pour cela vous avez besoin d'un micro-contrôleur, PIC18F série prend en charge l'USB de la communication, il y a beaucoup d'exemples de code disponible sur internet comment utiliser l'USB dans les PIC18F de la série, aussi vous avez besoin d'un transistor de tableau ou de Pont en H pour contrôler mortors de PIC.
La façon la plus simple de communiquer, programme une série USB dans PIC18F de micro-contrôleur, et lorsque vous branchez que 18F à votre ordinateur, il permet de détecter le port série USB, de sorte que vous pouvez envoyer les commandes au port série de contrôles de vitesse.
OriginalL'auteur user1479203
Je ne pense pas que c'est possible, et même s'il l'était, considérez ceci: Le port USB n'est pas suposed pour les moteurs de puissance parce que vous pouvez graver le port USB. USB est limité à 500mA (ou il abouts) et de la toute puissance de l'appareil comme un moteur peut potentiellement besoin de plus que cela.
Une autre chose est que les servos doivent être conduits avec une tension constante, et la vitesse est contrôlée par la synchronisation des impulsions sur le fil de commande.
http://en.wikipedia.org/wiki/Pulse-width_modulation
Vous devez utiliser un pilote (matériel) pour alimenter le moteur avec une source d'alimentation externe.
OriginalL'auteur MaxSantos
C'est le transistor de l'objet, ou essayer avec un potentiomètre
OriginalL'auteur BlackBear