Aller au contenu

Commander des moteurs avec un ordinateur via le port parallèle

    Vous avez besoin rapidement de monter un projet pour commander des moteurs (continu ou pas à pas) avec un ordinateur ?

    Vous pouvez le faire simplement grâce au port parallèle (appelé aussi port imprimante LPT) de votre ordinateur.

    Le port parallèle permet simplement la commande de 8 pins, c’est-à-dire 8 bits qui pourront avoir un état haut (1) ou un état bas (0).

    8 bits permettent d’adresser 256 valeurs différentes (de 0 à 255).

    Je vais vous présenter comment réaliser un montage pour commander deux moteurs, tout en gérant les deux sens de rotations de vos moteurs (tourner dans le sens horaire, ou inverse).

    C’est un montage simple avec un minimum de composants. Je vous donnerai les clés pour le compléter afin qu’il réponde à vos besoins.

    Première étape le matériel

     

    *  Fer à souder
    * Etain
    * Petits fils
    * Support pour souder (de préférence avec des lignes de circuit)
    * Prise male port parallèle à 25 pins
    * ULN 2803 (circuit à 18 pattes, c’est un opto-coupleur)
    * L293 (c’est un pont H, permettant de commander dans les deux sens les moteurs)
    * 8 diodes de puissance
    * 2 moteurs
    * Alimentation pour les moteurs (suivant le voltage requis par les moteurs)

    Or moteurs, alimentation et outils, vous en avez pour moins de 10€.

    Cheminement

    Nous allons en premier repérer les 8bits du port parallèle qui nous intéressent

    Nous allons utiliser l’opto-coupleur ULN 2803 pour protéger le port parallèle de toute surtension et débit de courant afin de protéger votre ordinateur

    Nous connecterons le L293 pour gérer les moteurs.

    Nous brancherons les moteurs

    Nous connecterons 4 diodes de puissance pour protéger chaque moteur

    Nous verrons quelques solutions pour programmer la commande des moteurs via le port parallèle

    Le port parallèle

    Cet article n’a pas vocation à présenter le port parallèle. Je résumerais seulement en disant que nos 8bits de données se trouvent du pin 2 au pins 9 et que du pins 25 au 18 ce sera la masse.

    compc1

    ULN 2803

    Il comprend 18 pattes : 8 pattes IN venant du port parallèle, 8 pattes OUT liées aux IN, 1 patte alimentation, une patte de masse.

    Ce composant est vraiment une interface qui va permettre de travailler avec des signaux de commandes sans prendre de risque pour votre ordinateur.

    L293

    Pour commander un moteur sur le L293, il y a trois pattes.

    Une patte (EN = enable) pour activer le moteur, sans activation le moteur ne peut être contrôlé.

    Deux pattes pour indiquer le sens : les signaux doivent être opposés (1/0 pour un sens et 0/1 pour l’autre sens.).

    En clair pour deux moteurs il nous faut donc 6 pins du port parallèle, les deux autres ne seront pas exploitées.

    L’alimentation est commune pour le L293 et ULN 2803

    La masse est commune pour le L293 et ULN 2803 et le port parallèle

    Les diodes de puissance

    Elles vont servir à protéger le moteur et aussi le circuit de commande (L293). On a besoin de deux diodes par sens de rotation et par moteur, cela nous fait 8 diodes à monter et en inverse comme vous pouvez le constater sur le schéma suivant…

    Schéma

    compc2

    Utilisation

    Le port parallèle c’est donc 8 bits : b0 b1 b2 b3 b4 b5 b6 b7

    Il va falloir mettre certains bits à la valeur 1 et d’autres à la valeur logique 0.
    Exemple commande du moteur 1

    Mettre le bit relié à la commande EN1 à 1

    Mettre un des deux bits de commande de sens de rotation à 1.

    Pour faire tourner dans l’autre sens, il faut inverser les deux, (1->0 et de 0->1)

    Pour arrêter le moteur il suffit de passer l’état EN1 à 0.

    C’est identique pour l’autre moteur qui est totalement indépendant avec ses 3 bits de commande.

    Éléments de programmation

    Tout est possible maintenant, lancer des exécutions plus ou moins complexe :

    M1 tourner à gauche durant 3sec ;

    M2 tourner à droite durant 4sec ;

    M1 à droite durant 2sec ;

    M1 à gauche durant 1sec ;

    Etc.

    Vous pouvez aussi relier un joystick à la commande de vos moteurs ou plus simplement aux touches du clavier.

    Vous pouvez commander le port parallèle avec quasiment tous les langages de programmation.

    J’ai testé personnellement :

    Le C, assez compliqué, difficile de faire une interface graphique simplement

    Le perl, nécessite l’installation de module, fonction bien sous linux, de nombreuses interactions possibles

    Le C#.net, nécessite le Framework .net installé et Visual Studio pour programmer, c’est très simple à mettre en œuvre, de nombreuses interactions possibles

    Pour gérer un plus grand nombre de moteurs ou libérer des pins du port parallèle

    Il vous faudra rajouter des L293 qui permettent de gérer deux moteurs dans les deux sens. Si vous n’avez besoin que d’un sens, ils peuvent en gérer quatre.

    Il vous faudra optimiser la gestion des bits disponibles, via l’utilisation de porte NON, pour commander le L293 avec une seul PIN.

    Enfin si vos besoins sont supérieurs à la commande de plus de 8 moteurs, il vous faudra utiliser un démultiplexeur.

    une grue meccano motorisé et commandé par un ordinateur via le port parallèle.

    compc3

    Source: knol.google.com/k | CC

    Ne restez pas à la traîne des dernières tendances technologiques !
    This is default text for notification bar