Bonjours a tous!
Commençons par le début... Je suis perdu! ^^
bref
Je fait beaucoup de recherches sur le sujet des moteur pas à pas 5 phases!
ce qui m’amène a plusieurs solutions
-
EIC4101(IC controle) + EIC4081 et EIC4091 (POWER)
-> Très bonne solution! Mais datasheet introuvable, j'ai contacté le fournisseur afin d'avoir les documents. toujours dans l’attente. -
PMM8714PT avec PMM5301 driver
-> Trop cher et un peu plus difficile a mettre en oeuvre -
SI7510 controler avec SLA5073 & SLA5074 driver
-> Controleur introuvable a prix resonnable!
Ce qui m'amène a la dernière solution.
La solution Microcontrôleur!
Je possède un moteur PAP SANYO DENKI 103H7521-7051.
- J'ai donc construit une interface de puissance avec des PMOS, 10*IRF9540N
Comme le site ORiental motor le présente: Link
Et ça marche! Problème mes transistor ont commencé a fumer ^^
-
Deuxième idée mettre en haut des PMOS et bas des NMOS, baah pareil fumé!
-
Dernière idée: je met que des NMOS, puis des LEDs pour vérifier mes phases de commandes
-> Aucune réaction du moteur ...
voici mon programme :
///////////////////////////////////////////
/////// ///////
////// STEPPER MOTOR 5 PHASES //////
////// ///////
/////////////////////////////////////////
/// transistor N MOS
const int VOHGA = 13;
const int VOHGB = 3;
const int VOHGC = 4;
const int VOHGD = 5;
const int VOHGE = 12;
const int VOLA = 7;
const int VOLB = 8;
const int VOLC = 9;
const int VOLD = 6;
const int VOLE = 11;
int STEP;
int delaytime;
int a =500;
void setup() {
Serial.begin(9600);
pinMode(VOHGA, OUTPUT);
pinMode(VOHGB, OUTPUT);
pinMode(VOHGC, OUTPUT);
pinMode(VOHGD, OUTPUT);
pinMode(VOHGE, OUTPUT);
pinMode(VOLA, OUTPUT);
pinMode(VOLB, OUTPUT);
pinMode(VOLC, OUTPUT);
pinMode(VOLD, OUTPUT);
pinMode(VOLE, OUTPUT);
}
void loop(){
// 1000000110
digitalWrite(VOHGA, HIGH);
digitalWrite(VOHGB, LOW);
digitalWrite(VOHGC, LOW);
digitalWrite(VOHGD, LOW);
digitalWrite(VOHGE, LOW);
digitalWrite(VOLA, LOW);
digitalWrite(VOLB, LOW);
digitalWrite(VOLC, HIGH);
digitalWrite(VOLD, HIGH);
digitalWrite(VOLE, LOW);
delay(a);
// 1100000010
digitalWrite(VOHGA, HIGH);
digitalWrite(VOHGB, HIGH);
digitalWrite(VOHGC, LOW);
digitalWrite(VOHGD, LOW);
digitalWrite(VOHGE, LOW);
digitalWrite(VOLA, LOW);
digitalWrite(VOLB, LOW);
digitalWrite(VOLC, LOW);
digitalWrite(VOLD, HIGH);
digitalWrite(VOLE, LOW);
delay(a);
// 0100000011
digitalWrite(VOHGA, LOW);
digitalWrite(VOHGB, HIGH);
digitalWrite(VOHGC, LOW);
digitalWrite(VOHGD, LOW);
digitalWrite(VOHGE, LOW);
digitalWrite(VOLA, LOW);
digitalWrite(VOLB, LOW);
digitalWrite(VOLC, LOW);
digitalWrite(VOLD, HIGH);
digitalWrite(VOLE, HIGH);
delay(a);
// 0110000001
digitalWrite(VOHGA, LOW);
digitalWrite(VOHGB, HIGH);
digitalWrite(VOHGC, HIGH);
digitalWrite(VOHGD, LOW);
digitalWrite(VOHGE, LOW);
digitalWrite(VOLA, LOW);
digitalWrite(VOLB, LOW);
digitalWrite(VOLC, LOW);
digitalWrite(VOLD, LOW);
digitalWrite(VOLE, HIGH);
delay(a);
// 0010010001
digitalWrite(VOHGA, LOW);
digitalWrite(VOHGB, LOW);
digitalWrite(VOHGC, HIGH);
digitalWrite(VOHGD, LOW);
digitalWrite(VOHGE, LOW);
digitalWrite(VOLA, HIGH);
digitalWrite(VOLB, LOW);
digitalWrite(VOLC, LOW);
digitalWrite(VOLD, LOW);
digitalWrite(VOLE, HIGH);
delay(a);
// 0011010000
digitalWrite(VOHGA, LOW);
digitalWrite(VOHGB, LOW);
digitalWrite(VOHGC, HIGH);
digitalWrite(VOHGD, HIGH);
digitalWrite(VOHGE, LOW);
digitalWrite(VOLA, HIGH);
digitalWrite(VOLB, LOW);
digitalWrite(VOLC, LOW);
digitalWrite(VOLD, LOW);
digitalWrite(VOLE, LOW);
delay(a);
// 0001011000
digitalWrite(VOHGA, LOW);
digitalWrite(VOHGB, LOW);
digitalWrite(VOHGC, LOW);
digitalWrite(VOHGD, HIGH);
digitalWrite(VOHGE, LOW);
digitalWrite(VOLA, HIGH);
digitalWrite(VOLB, HIGH);
digitalWrite(VOLC, LOW);
digitalWrite(VOLD, LOW);
digitalWrite(VOLE, LOW);
delay(a);
// 0001101000
digitalWrite(VOHGA, LOW);
digitalWrite(VOHGB, LOW);
digitalWrite(VOHGC, LOW);
digitalWrite(VOHGD, HIGH);
digitalWrite(VOHGE, HIGH);
digitalWrite(VOLA, LOW);
digitalWrite(VOLB, HIGH);
digitalWrite(VOLC, LOW);
digitalWrite(VOLD, LOW);
digitalWrite(VOLE, LOW);
delay(a);
// 0000101100
digitalWrite(VOHGA, LOW);
digitalWrite(VOHGB, LOW);
digitalWrite(VOHGC, LOW);
digitalWrite(VOHGD, LOW);
digitalWrite(VOHGE, HIGH);
digitalWrite(VOLA, LOW);
digitalWrite(VOLB, HIGH);
digitalWrite(VOLC, HIGH);
digitalWrite(VOLD, LOW);
digitalWrite(VOLE, LOW);
delay(a);
// 1000100100
digitalWrite(VOHGA, HIGH);
digitalWrite(VOHGB, LOW);
digitalWrite(VOHGC, LOW);
digitalWrite(VOHGD, LOW);
digitalWrite(VOHGE, HIGH);
digitalWrite(VOLA, LOW);
digitalWrite(VOLB, LOW);
digitalWrite(VOLC, HIGH);
digitalWrite(VOLD, LOW);
digitalWrite(VOLE, LOW);
delay(a);
}
Si vous avez des idées a me proposer...
Merci de bien vouloir m'aider,
Julien RAUCH




