Vous êtes ici : Home > Fiches Techniques > Carte Moteurs Pour PC104

Carte Moteurs Pour PC104

Dans la plus part des robots mobiles, il y a des moteurs. Pour se déplacer, c'est souvent plus pratique . Dans notre cas, nous refaisions chaque année une nouvelle carte pour la commande des moteurs en fonction de leurs puissances, de leurs tensions, du processeur utilisé. Alors, plutôt que de réinventer la roue chaque année, nous avons décidé de construire une carte de commande des moteurs qui pourra être réutilisable. Cette carte a été faite pour fonctionner avec un PC104. Elle peut gérer deux moteurs et supporter des pics jusqu'à 4A. Les codeurs sont pris en compte, et il est aussi possible de diviser le nombre d'impulsions par tours.

 
oDécodage du BUS ISA
 

La première chose à faire est décoder le bus ISA pour pouvoir envoyer les consignes et recevoir les informations de la carte. Le décodage d'adresse est réalisé à l'aide du 74HC688 qui est un comparateur 8 bits. La sélection de l'adresse de la carte se fait à l'aide d'un switch. Une DEL en sortie du 688 permet de vérifier que la carte est bien adressée pendant le fonctionnement. Puis deux 74HC138 décode les bits de poids faible de l'adresse. Le circuit U9 s'occupe des informations allant de la carte vers le PC et le U10 des écritures sur la carte. Voici les schémas du décodage d'adresse :

Cliquez pour agrandir Cliquez pour agrandir

Pour conserver les informations aprés écriture du bus, nous utilisons des 74HC573 et 541 qui sont des buffers 8 bits. Les buffers U11 et U13 gérent les codeurs, et les U12, U14 et U15 s'occupent de la commande des moteurs. Comme il restait deux bits libres en sortie, nous avons mis deux LEDs qui permettent de débugger les programmes et de visualiser des informations pendant le déroulement du code.

 
oCommande des moteurs
 

Cette carte est divisée en deux partie, la puissance et la logique. Pour éviter les problèmes, les deux parties sont découplée. La carte génére les signaux PWM pour les deux moteurs. Deux PIC16F84 générent le PWM pour les moteurs. Un seul PIC aurait largement suffit, mais l'objectif à terme de cette carte est d'intégrer l'asservissement des moteurs directement sur la carte. Pour éviter de retrouver des courants de forte puissance dans la logique (et surtout le PC) nous avons utilisé des optocoupleurs qui commandent les ponts en H. Les ponts en H sont des L298 fabriqué par ST, qui sont des doubles ponts entiérement intégrés.

Cliquez pour agrandir

Lorsque le PC démarre les valeurs écrites sur le BUS ISA sont inconnue. Cela risque de faire tourner les moteurs avant que le programme ne commence. Pour contrer ce problème, un code particulier (85) doit être envoyé au PICs avant qu'il ne démarre l'execution du programme. Il est également possible d'activer le reset des PICs depuis le PC afin de permettre une réinitialisation du programme.

Pour alimenter les otpocoupleurs et la partie logique des L298, nous avons besoin de 5V. Celui-ci est obtenu grace au LM1117-50 qui est un régulateur 5V. Celui-ci ne peut pas supporter des tensions superieures à 20V en entrée. Afin d'éviter d'endommager les régulateur, une diode zener 18V (1.3 W) D10 permet d'éviter d'avoir des tensions superieures à 20V. Si la tension d'alimentation est inferieure à 20V, il est possible de ne pas mettre la zener et de remplacer les résistances R16 et R17 par des fils.

 
oGestion des codeurs
 

Il est souvent dur d'estimer le nombre d'impulsion nécessaire par tour de moteur. Surtout que ce nombre d'impulsion va grandement influencer la période d'échantillonage de l'asservissement. Alors pour contrer ce problème, il est possible de diviser par 2,4,8,16 ... ou 256 le nombre d'impulsions moteurs. Grâce à la redondance canal A et canal B, il est aussi possible de multiplier ce nombre d'impulsions par 2 (circuit U1A et U1B). Le rapport de division est imposé par un petit jumper pour chaque moteur (J1 et J4).

Cliquez pour agrandir

Le sens de rotation du moteur est aussi déterminé par la redoncance canal A, canal B. Ce sont las bascules U4A et U4B qui déterminent le sens et le renvoit vers le PC par l'intermédiaire du bit de poids fort de l'octet codeur. Un premier compteur (U3 et U6) permet de diviser le nombre d'impulsion, et enfin un compteur final va accumuler les impulsions avant de les renvoyer vers le PC. Comme pour les PICs, il est possible d'activer le reset des compteurs afin de remettre les données à zero. Attention toutefois à ne pas perdre d'impulsions pendant le reset, surtout pour les codeurs précis.

 
oRéalisation de la carte
 

Vous trouverez ci dessous les typons et les schémas d'implantation de la carte :

Cliquez pour agrandir
Cliquez pour agrandir
Typon vue de dessous (ps pdf)
Implant vue de dessous (ps pdf)
Cliquez pour agrandir
Cliquez pour agrandir
Typon vue de dessus (ps pdf)

Implant vue de dessus (ps pdf)

Voici quelques photos de la carte :

Cliquez pour agrandir Cliquez pour agrandir Cliquez pour agrandir
Cliquez pour agrandir Cliquez pour agrandir Cliquez pour agrandir
 
oQuelques liens
 
 
oContact
 
Pour toutes questions envoyer moi un mail: Sinclair