Bienvenu(e)! Identification Créer un nouveau profil

Recherche avancée

Moteur Pas à Pac et PIC 18F4550

Envoyé par tiamat 
Moteur Pas à Pac et PIC 18F4550
vendredi 23 novembre 2007 09:33:58
Bonjour à tous,

bon j'ai pas mal avancé dans mon projet, mais je bute sur la commande d'un moteur pas à pas...
c'est un moteur pas à pas bipolaire que je tente de commander en unipolaire pour le moment (donc 4 fils A,B,C,D).
voici le schéma du bobinage (*=bobine moteur)
A-*-
|
B-*-
C-*-
|
D-*-

Donc dans un premier temps, je tente de le piloter depuis 4 Sorties du PIC 18F4550:
#define MOTOR_A TRISDbits.TRISD4
#define MOTOR_B TRISDbits.TRISD5
#define MOTOR_C TRISDbits.TRISD6
#define MOTOR_D TRISDbits.TRISD7

chaque sortie du PIC sont reliées à un ULN2803 selon le brochage suivant:

RD4(pin5)-| |-A(pin 14)
RD5(pin6)-| |-B(pin 13)
RD6(pin7)-| |-C(pin 12)
RD7(pin8)-| |-D(pin 11)
GND(pin9)-| |-Vmot(pin 10)

J'applique également Vmot (12v) à l'entrée A du moteur.

voici pour la partie commande.
PAr contre depuis le PIC je procède de la manière suivante:
(init outputs):
void InitMotor(void){

//Init des outputs vers le moteur
TRISDbits.TRISD4 = 0;
TRISDbits.TRISD5 = 0;
TRISDbits.TRISD6 = 0;
TRISDbits.TRISD7 = 0;
}

et la fonction qui fait avancer le moteur est la suivante:

void Backward(byte step){

byte i=0;
while(i<step){
if(MOTOR_A == 1){
MOTOR_A = 0;
MOTOR_B = 1;
MOTOR_C = 0;
MOTOR_D = 0;
}
else if(MOTOR_B == 1){
MOTOR_A = 0;
MOTOR_B = 0;
MOTOR_C = 1;
MOTOR_D = 0;
}
else if(MOTOR_C == 1){
MOTOR_A = 0;
MOTOR_B = 0;
MOTOR_C = 0;
MOTOR_D = 1;
}
else if(MOTOR_D == 1){
MOTOR_A = 1;
MOTOR_B = 0;
MOTOR_C = 0;
MOTOR_D = 0;
}
i++;
}
}

voilà c'est vraiment basique mais c'est juste pour tester encore une fois...
donc la fonction est bien exécutée mais bien entendu le moteur n'avance pas d'un poil...

Avez vous une idée ?

Merci,
Tiamat.

Re: Moteur Pas à Pac et PIC 18F4550
vendredi 23 novembre 2007 10:27:50
Salut,

Un moteur pas à pas bipolaire tu ne saurais pas le commander en moteur bipolaire, il te faudrait pour ça avec un moteur avec un point commun sur les bobinnes ce qui visiblement dans ton cablage n'est pas présent

Il faut donc que tu changes ta séquence...

Tiens regarde ici deux trois explications complémentaire sur les moteur

[sciences-physiques.ac-dijon.fr]

A++

Benjamin
Re: Moteur Pas à Pac et PIC 18F4550
vendredi 23 novembre 2007 10:44:06
Merci de ta réponse...
en fait le brochage exact du moteur est le suivant:

2-------
|
1-*--*--
|
3---
6---
|
4-*--*--
|
5-------

Si je veux donc je faire fonctionner en utilisant toutes les bobines, je dois donc faire les séquences suivantes:

1 2 3 4 5 6
-----------
1 0 1 0 0 0
1 1 0 0 0 0
0 1 1 0 0 0
0 0 0 1 0 1
0 0 0 0 1 1
0 0 0 1 1 0
Re: Moteur Pas à Pac et PIC 18F4550
vendredi 23 novembre 2007 14:14:23
Salut,

Normallement le fil 1 et le fil 4 doit être en continu connecté à la source d'alimentation, puis en fermant le circuit au travers d'un transistor tu fais circuler le courant.

[nicolas.marchildon.net]

Publie toujours un schéma de ton circuit, se sera peut-être plus clair

A++
Re: Moteur Pas à Pac et PIC 18F4550
vendredi 23 novembre 2007 15:32:08

voici le lien sur le Schéma du circuit.

[jean-remi.quiriconi.club.fr]

je n'ai mis que le fil 1 sur l'alim, je refais un essai en mettant les deux.
Re: Moteur Pas à Pac et PIC 18F4550
vendredi 23 novembre 2007 16:22:15
Salut,

Sur la troisieme ligne du tableau de schéma, tu vois en effet que l'on ne touche jamais au point commun, celui ci est continuellement à l'alimentation, et on met suivant le pas l'autre pole a la masse ou au + pour faire ou non circuler le courant...

A++
Re: Moteur Pas à Pac et PIC 18F4550
vendredi 28 mars 2008 12:07:15
salut Tiamat

va voir cette adresse tu vas trouver tout ce qu'il te faut :

[co12000.free.fr]

Merci de votre attention & soutien A+
Seuls les utilisateurs enregistrés peuvent poster des messages dans ce forum.

Cliquez ici pour vous connecter