Outils pour utilisateurs

Outils du site


Panneau latéral

Accès aux Documents

documentation:pap1

Notice technique de la carte PAP1

Carte PAP1

Nomenclature de la carte

  • 1 Circuit imprimé ( Réf : PAP1 )
  • 2 Embases 5 broches ( J1 et J2 )
  • 8 leds MOTA ( de A à D ) et MOTB ( de A à D )
  • 1 Réseau de 8 résistances k ( RN2 )
  • 1 Réseau de 4 résistances k ( RN1 )
  • 2 Condensateurs 10 nF ( C1 et C3 )
  • 1 Condensateur polarisé 10 uF 25V ( C2 )
  • 1 Bornier 2 pôles ( X1 )
  • 1 Connecteur coudé 4 pôles ( JP1 )
  • 2 Porte circuit 18 broches
  • 1 CI ULN2803
  • 1 CI PIC16F88
  • 1 header 1×3 broches avec un cavalier

Principe général de fonctionnement

La carte PAP1 est un contrôleur de deux moteurs pas à pas intelligent. La carte communique avec votre microcontrôleur en utilisant le bus I2C et décharge celui-ci de la gestion des impulsions à envoyer aux moteurs pas à pas. Le contrôle se fait à l'aide de 30 registres ( octets ) qu'il suffit de configurer correctement pour obtenir le type de mouvement souhaité.La carte PAP1 supporte 3 modes de fonctionnement différents qui se règle à l'aide du registre n°4 :

  • Un mode de fonctionnement continue : Dans ce mode, on contrôle les deux moteurs pas à pas comme si il s'agissait de deux moteurs à courant continue. On peut régler indépendamment leurs vitesses ( entre 0 pour l'arrêt et 255 pour la vitesse maximale ) ainsi que leurs directions.
  • Un mode de fonctionnement relatif programmé : Si l'on souhaite par exemple que le moteur A avance de 54 pas à une certaine vitesse et que le moteur B recule de 4000 pas à une autre vitesse
  • Un mode de fonctionnement absolue programmé : On fixe une position comme étant le zéro puis on peut se déplacer à tel ou tel position et cela indépendamment pour les deux moteurs.

Votre microcontrôleur à la possibilité d'effectuer un pooling du registre n°5 pour savoir si le mouvement précédemment demandé a été totalement exécuté.

Il est a noter que le contrôlleur PAP1 ne gère pas l'accélération des moteurs.

Une librairie Arduino PAP1 facilite la programmation des mouvements.

Adressage de la carte sur le bus I2C

L'adresse de la carte sur le bus I2C est configurable entre la valeur 16 et 23 à l'aide des dipswitchs A1,A2 et A3 de la carte. La correspondance d'adresse est donnée dans le tableau ci-dessous :

A3 A2 A1 Adresse I2C de la carte
OFF OFF OFF 16
OFF OFF ON 17
OFF ON OFF 18
OFF ON ON 19
ON OFF OFF 20
ON OFF ON 21
ON ON OFF 22
ON ON ON 23

Il est donc possible de connecter jusqu'à 8 cartes PAP1 sur un même bus I2C et donc de commander jusqu'à 16 moteurs pas à pas simultanément. Attention toutefois à ne pas alimenter plus de deux moteurs pas à pas sur le +5V du bus I2C. Pour un nombre plus important de moteur, il faut prévoir une alimentation externe pour ceux-ci.

Remarque : Le DIP-SWITCH marqué A0 n'est pas utilisé.Sa position n'a aucune importance

Alimentation électrique de la carte

Les moteurs peuvent être alimentés soit par le +5V présent sur le bus I2C, soit par une alimentation externe régulé comprise entre 5V et 9V ( lire l'avertissement de sécurité ci-dessous ! ). Le choix du type d'alimentation s'opère grâce au cavalier JP2 comme le montre le tableau ci_dessous :

Position du cavalier JP2 Alimentation des moteurs
Via le +5V du bus I2C. Au maximum deux moteurs peuvent être alimentés par ce moyen
Via une alimentation externe régulé entre 5V et 9V connecté sur le connecteur X1 ( la masse sur GND, le + sur Ext ).

Remarque : Plus la tension d'alimentation des moteurs est élevée, plus les moteurs ont de couple : la contrepartie étant un échauffement des moteurs qui peut les endommager ou même provoquer des brulûres. Il est donc fortement conseillé de limiter la tension d'alimentation à une limite de 9V régulé. A la tension nominale de 5V Régulé, les moteurs ne s'échauffent quasiment pas.L'utilisation du registre n°28 permet de limiter l'échauffement des moteurs au repos en les plaçant dans un mode roue libre

Les registres de commande

Adresse du registre Fonction du registre
0 Sens du moteur A
0 : Moteur sens CW
Autre : Moteur sens CCW
1 Vitesse du moteur A
( entre 0 et 255 )
0 : Moteur arrêté
255 : Vitesse maximum
2 Sens du moteur B
0 : Moteur sens CW
Autre : Moteur sens CCW
3 Vitesse du moteur B
( entre 0 et 255 )
0 : Moteur arrêté
255 : Vitesse maximum
4 Mode de fonctionnement :
0 : Controlleur en attente de configuration. Mouvements suspendus. Dans ce mode, le registre n°28 permet de maintenir les moteurs en position ou en roue libre
1 : Mode mouvement continue
2 : Mode mouvement relatif programmé
3 : Mode mouvement absolue programmé
5 Flag mouvement programmé terminé
( en lecture seul )
0 : Mouvement programmé en cours
1 : Mouvement programmé terminé
6 Mouvement relatif programmé Moteur A
Octet de poids fort
7 Mouvement relatif programmé Moteur A
Octet de poids faible
8 Mouvement relatif programmé Moteur B
Octet de poids fort
9 Mouvement relatif programmé Moteur B
Octet de poids faible
10 Position absolue Moteur A
( poids fort )
11 Position absolue Moteur A
12 Position absolue Moteur A
13 Position absolue Moteur A
( poids faible )
14 Position absolue Moteur B
( poids fort )
15 Position absolue Moteur B
16 Position absolue Moteur B
17 Position absolue Moteur B
( poids faible )
18 Position Cible Moteur A
( poids fort )
19 Position Cible Moteur A
20 Position Cible Moteur A
21 Position Cible Moteur A
22 Position Cible Moteur B
( poids fort )
23 Position Cible Moteur B
24 Position Cible Moteur B
25 Position Cible Moteur B
( poids faible )
26 Invertion sens Moteur A :
0 : pas d’invertion
Autre valeur : Inversion du sens
27 Invertion sens Moteur B :
0 : pas d’invertion
Autre valeur : Inversion du sens
28 Roue libre :
0 : Lorsque le mouvement est suspendu, les moteurs sont mis en roue libre et ne consomment plus rien
Autre valeur : Lorsque le mouvement est suspendu, les moteurs sont maintenu en position par un courant de maintient
29 Mode pas à pas :
0 : Single stepping mode
1 : Full stepping mode
Autre valeur : Half stepping mode

Les différents modes pas à pas

Pour comprendre le fonctionnement d'un moteur pas à pas, il faut se pencher sur le schémas ci-dessous. Un moteur pas à pas unipolaire est constitué de 4 bobines ( notées A,B,C et D ) qui peuvent être séparément commandées par l'activation d'un ou plusieurs transistors ( T1,T2,T3 ou T4 ). Lors de l'activation d'une bobine, le courant qui la traverse crée un champ magnétique qui va orienter le rotor constitué d'un aimant.

Pour mettre en rotation le rotor du moteur, il convient de commuter les bobines dans un certain ordre suivant une séquence bien établie.

Le registre n°29 permet de sélectionner 3 modes pas à pas différents. La séquence de commande des enroulements du moteur varie en fonction du mode utilisé. Détaillons chacune des séquences possibles :

Le mode Single_Stepping

Dans ce mode, on commute chaque enroulement l'un après l'autre. Une séquence complète comporte donc 4 pas élémentaires qui se répètent. Dans ce mode, un seul enroulement est activé à la fois d'où un couple faible mais une vitesse de rotation qui peut être élevé. La consommation électrique du moteur est la plus faible. Dans ce mode, et en tenant compte de la réduction intégré au moteur, la résolution est de 2048 pas par tour.

Le mode Full Stepping

Dans ce mode, on commute deux enroulements à la fois. Une séquence complète comporte donc 4 pas élémentaires qui se répètent. Dans ce mode, le couple est élevé avec une vitesse de rotation qui peut être élevé. La consommation électrique du moteur est la plus forte ainsi que son échauffement. Dans ce mode, et en tenant compte de la réduction intégré au moteur, la résolution est de 2048 pas par tour.

Le mode Half Stepping

Ce mode est un mélange des deux précédents puisque l'on commute alternativement un seul enroulement puis deux. Une séquence complète comporte donc 8 pas élémentaires qui se répètent. Dans ce mode, le couple est moyen avec une vitesse de rotation plus faible. La consommation électrique du moteur ainsi que son échauffement est moyen. Dans ce mode, et en tenant compte de la réduction intégré au moteur, la résolution est de 4096 pas par tour.

Une librairie pour Arduino

Pour faciliter l'utilisation de la carte PAP1, une librairie Arduino PAP1 est disponible.

Utilisation avec le logiciel Organigram

Test des moteurs pas à pas en mode courant continu

Afin de tester vos moteurs pas à pas avec Organigram, Connecter :

  • Un potentiometre sur la broche J-A10 de votre carte EASYCON2
  • Une carte “contrôleur de moteur pas à pas” réf PAPCONTROL1 sur le bus I2C de la carte EASYCON2. Pour effectuer la connexion utiliser le câble réf I2CBUS1
  • Afin d'alimenter correctement vos moteurs pas à pas , utiliser le bornier à vis pour y connecter une tension d'alimentation entre 6V et 12V et positionner le cavalier JP2 de la carte contrôleur sur la position Ext. L'utilisation du 5V de la carte Arduino Mega n'étant pas suffisante pour alimenter deux moteur pas à pas …

Afin de vous faciliter la phase de test, je vous propose de télécharger le projet complet ci-dessous puis dans le menu fichier sélectionnez Importer un projet complet.

Organigramme de test

L'organigramme de test est reproduit ci-dessous.

  • Dans la partie (1), on initialise correctement la carte contrôleur. On commence par choisir le mode “courant continu” afin que les moteurs pas à pas émulent le fonctionnement de moteurs à courant continu ( ils sont par défaut arrêté). Puis on sélectionne le mode pas à pas “Full stepping” ( cf dans la section “les différents modes pas à pas”) et le mode “Roue libre” ( cf dans la section “les registres de commande” ). On fixe ensuite le sens de rotation de chaque moteur. Durant cette phase d'initiation, les moteurs ne tournent pas puisque par défaut, leurs vitesses sont fixées à 0.
  • Dans la section (2), on copie la valeur du potentiomètre qui est stockés dans la variable S dans les variables A et B ( puisque Z contient 0 ! ).
  • Dans la section (3), on fixe la vitesse des deux moteurs suivant les valeurs contenues dans les variables A et B. Les moteurs se mettent à tourner suivant la vitesse fixée par le potentiomètre.

Après une courte pause, l'organigramme reboucle vers la lecture du potentiomètre

Description des codes associés aux actions et tests

Pour comprendre la signification des codes , nous allons décrire l'action et le test ci dessus :

  • (1) L'action “Moteur pas à pas A pleine vitesse” est associés au code iW01602001255.
    iW est la commande pour écrire 02 octets vers un composant I2C d’adresse 016. Le premier octet 001 est le numéro du registre à écrire avec la valeur du second octet 255. En se reportant à la section “les registres de commandes”, on voit que le registre 001 correspond à la vitesse du moteur A qui est ici fixé à 255 ce qui provoque la rotation du moteur A à pleine vitesse.
  • (2) Le test “Mouvement des moteurs pas à pas terminés ?” est associé aux codes iW01601005 et iR01601=1 séparés par un point virgule.
    iW est la commande pour écrire 01 octet vers un composant I2C d’adresse 016. Le premier octet 005 est le numéro du registre à écrire. Comme il n'est pas précisé quelle valeur écrire dans ce registre, cette commande provoque uniquement le déplacement du pointeur interne du composant I2C sur le registre 005 sans modifier sa valeur. Ceci permet ensuite de lire ce registre qui d'après la section “les registres de commande” corresponds au “Flag mouvements programmés terminé”.
    iR est la commande pour lire 01 octet à partir du registre actuellement pointé depuis le composant I2C d’adresse 016. Le résulat de la lecture sera comparé à la valeur 1 pour déterminer si le test est positif ou non.

Condition d’utilisation des produits de la gamme technozone51 et clause de responsabilité

Les produits de la gamme technozone51 sont uniquement destinés à un usage pédagogique et dans le but d’automatiser des maquettes légères en milieu scolaire avec des niveaux de tension, d’intensité de courant et de puissance des actionneurs compatibles avec une utilisation par des élèves. Ils ne sont pas conçu pour entrez dans un contrôle de processus industriel. Le Fabriquant/distributeur interdit l’usage de ses cartes pour la commande, l’automatisation de machines industrielles. La connectique jack utilisé par les interfaces EASYCON ne sont pas prévu pour une utilisation dans l’industrie car ils ne permettent pas de garantir une connexion assez fiable pour ce type d’utilisation. Technozone51 se dégage de toute responsabilité en cas d’utilisation non conforme de ces produits.

Elimination des déchets électroniques

Pour la protection de l’environnement, ne jetez pas le produit usagé avec les ordures ménagères. Vous pouvez vous en débarrasser auprès de votre distributeur Technozone51 ( contacter dechet@techno-zone-51.fr pour connaître les modalités de reprise des déchets ) ou dans des lieux de collecte adaptés mis à votre disposition dans votre pays.

Technozone51 certifie que les composants utilisés dans la fabrication de ses cartes électroniques sont RoHS.

documentation/pap1.txt · Dernière modification: 2014/11/17 11:45 par admin