Bonjour Je vous pose mon problème car je suis bloquer j'ai du exploser 20 mosfet et j'ai besoin d'un seconde avis pour évitée d'en exploser plus.
PROJET INITIAL:
prendre un Moteur brushless d'hoverboard avec c'est capteur a effet hall et le faire tournée
MONTAGE:
détail de mon schéma
schema detailler.png
sans détail
schema.png
CODE:
PROBLEMATIQUE:Code:#define APLUS 13 // A+ bleu #define BPLUS 12 // B+ vert #define CPLUS 14 // C+ jaune #define AMOIN 27 // A- #define BMOIN 26 // B- #define CMOIN 25 // C- #define H1 34 // A+ bleu #define H2 35 // B+ vert #define H3 32 // C+ jaune void setup() { // put your setup code here, to run once: pinMode(APLUS, OUTPUT); pinMode(AMOIN, OUTPUT); pinMode(BPLUS, OUTPUT); pinMode(BMOIN, OUTPUT); pinMode(CPLUS, OUTPUT); pinMode(CMOIN, OUTPUT); pinMode(H1, INPUT); pinMode(H2, INPUT); pinMode(H3, INPUT); digitalWrite(APLUS, LOW); digitalWrite(AMOIN, LOW); digitalWrite(BPLUS, LOW); digitalWrite(BMOIN, LOW); digitalWrite(CPLUS, LOW); digitalWrite(CMOIN, LOW); } void posi(int nombre, int tempi){ if(nombre == 1){ digitalWrite(APLUS, HIGH); digitalWrite(BMOIN, HIGH); } if(nombre == 2){ digitalWrite(APLUS, HIGH); digitalWrite(CMOIN, HIGH); } if(nombre == 3){ digitalWrite(BPLUS, HIGH); digitalWrite(CMOIN, HIGH); } if(nombre == 4){ digitalWrite(BPLUS, HIGH); digitalWrite(AMOIN, HIGH); } if(nombre == 5){ digitalWrite(CPLUS, HIGH); digitalWrite(AMOIN, HIGH); } if(nombre == 6){ digitalWrite(CPLUS, HIGH); digitalWrite(BMOIN, HIGH); } delay(5); digitalWrite(APLUS, LOW); digitalWrite(BPLUS, LOW); digitalWrite(CPLUS, LOW); digitalWrite(AMOIN, LOW); digitalWrite(BMOIN, LOW); digitalWrite(CMOIN, LOW); delayMicroseconds(20); nombre = 0; if(tempi > 0){delay(tempi);} } void vitesse(int tempii){ if((digitalRead(H1) == 1 and digitalRead(H2) == 0) and digitalRead(H3) == 1){posi(1,tempii);} if((digitalRead(H1) == 1 and digitalRead(H2) == 0) and digitalRead(H3) == 0){posi(2,tempii);} if((digitalRead(H1) == 1 and digitalRead(H2) == 1) and digitalRead(H3) == 0){posi(3,tempii);} if((digitalRead(H1) == 0 and digitalRead(H2) == 1) and digitalRead(H3) == 0){posi(4,tempii);} if((digitalRead(H1) == 0 and digitalRead(H2) == 1) and digitalRead(H3) == 1){posi(5,tempii);} if((digitalRead(H1) == 0 and digitalRead(H2) == 0) and digitalRead(H3) == 1){posi(6,tempii);} } void loop() { vitesse(1000); }
J'ai essayer de faire tournée mon code sans le moteur j'ai ramplacer le moteur par des led tous fonctionne je peu voire l'etat de mes 6 mosfet se qui ma montrer que a chaque fois mes mosfet était mort (contact entre les trois pâte). j'en est meme un qui a explosée, je pence en cours circuit mais je suis pas sur car pour sortir mes 20 volt je les sort d'une alimentation de labo avec limitation de courant.
breff
j'ai tester avec le moteur sa fait 2 impulsion put je remarque de mon alimentation fait les des impulsion en cours circuit donc c'est a se moment la que je me rend compte que j'ai cramée un mosfet. defois c'est que 1 defois c'est les 3 + ligne A+ B+ C+ la ligne - casse jamais. je fait le test sur une breadboard je pence pas que cela change quelle que chose. en plus d'exploser le mosfet sa tue le transistor C337 npn qu'il y a derrière.
je continuer mes test en changent a charque fois mes transitor et mosfet pour tester avec une autre combinaison de phase. j'ai un fils jaune vers et bleu mais je sais pas le quelle est le A ,le quellle est le B et non plus le C.
brefff j'ai tester les 6 Combinaison possible (B=BLEU J=JAUNE V=VERT)
A = J B= B C = V
A = J B= V C = B
A = B B= J C = V
A = B B= V C = J
A = V B= B C= J
A = V B= J C =B
et rien ne marque alors soit c'est dans mon code soit le montage mais je sais pas a chaque fois 2 pulse et un ou plusieurs mosfet casse. deja je voudrais savoir si il y avais un moyen d'évité que les mosfet casse puis apres les transistor car j'ai pas stock infini par ailleurs j'ai changer de ref de mosfet par manque de irfb3607 j'ai mit des irf24 puis des irfz46 puis des irf1010. j'ai aussi ajouter des diode dans mon montage en plus entre la source et le drain en pensant que sa changerais quelle que chose mais rien car le mosfet dispose deja d'une diode.
-----