Interface USB HID

Contrôlez vos systèmes depuis un PC en utilisant simplement un port USB

Qui n’a pas eu envie de contrôler un robot, un système embarqué ou son chauffage depuis un PC?

Traditionnellement, la liaison utilisée par les électroniciens pour communiquer entre un système embarqué et un PC est la liaison RS232. Elle est en effet très simple à mettre en place, tant sur le plan matériel que logiciel. Malheureusement, cette dernière commence à ce faire vielle (introduit sur le marché en 1962). De plus en plus de cartes mères arrivent aujourd’hui sur le marché sans port RS232, rendant ainsi impossible l’utilisation du PC pour des applications électroniques.
Heureusement pour nous, l’USB est arrivé, et avec lui tout une gamme de microcontrôleurs pourvus de contrôleurs USB intégrés.

L’interface que je vous propose s’appuie sur un micro-contrôleur PIC18F4550 utilisé en périphérique HID.
La programmation de cette interface est en outre simplifiée par l’excellent IDE C pour PIC: MikroC. Ne prenez pas peur en voyant le prix de la licence MikroC, le logiciel est disponible en version de démonstration. Sa seule limite porte sur la taille du code généré par le compilateur (2ko).

Le schéma s’articule donc autour du PIC. On y retrouve son horloge, un circuit de Reset, des connecteurs permettant d’accéder aux ports, un connecteur ICSP pour Pickit, un connecteur I2C et un connecteur USB.Schéma de l'interface HID

Les deux capacités du résonateur quartz ne sont pas cruciales: si vous ne disposez pas de la bonne valeur, il vaut mieux ne pas mettre de condensateur du tout. De même pour la capacité C3: si votre alimentation présente un front raide à la mise sous tension, il n’est pas nécessaire de la monter (ne pas la mettre facilite la connexion du Pickit…). En revanche, les deux capacités de découplage C5 et C6 doivent être montées au plus près du PIC. La valeur du condensateur C4 (régulation de la tension USB) est assez libre. La datasheet impose 470nF à 20%, j’ai mis une capacité électrochimique de 2.2µF et l’interface marche très bien… À l’origine, cette carte à été conçue pour être interfacée avec les Légo Mindstorm NXT, les valeurs des résistances de Pull Up sur la ligne I2C répondent donc aux spécifications Légo. Si vous visez une application plus conventionnelle, des résistances de 1k ou 1k8 feront parfaitement l’affaire. La LED3 est un témoin d’alimentation et les deux LED 1 et 2 sont des LED de debug.

Le typon tiens sur un circuit simple face:Typon de l'interface HID

Le schéma d’implantation:Schéma d'implantation de l'interface HID

Vous trouverez tous les documents du projet ci-dessous:

2 thoughts on “Interface USB HID”

Laisser un commentaire