Bonjour,
J'aimerais savoir si mon schéma et mon code vous paraissent sencés, car je n'arrive pas à trouver pourquoi mon pont en H ne fonctionne pas... Je joins le schéma en pièce jointe.
Quelques infos:Code:Q1-Q3-Q4-Q2 FX 1 - 0 - 1 - 0 FWD 0 - 1 - 0 - 1 REV 0 - 0 - 1 - 1 BRK
Diodes 1n4001
Transisors 8550-8050 pilotés par un Arduino (5V)
VCC=5.9V (Moteurs de lecteur DVD)
Code:const int M1_CTRL_Q1 = 3; //1 const int M1_CTRL_Q2 = 5; //2 const int M1_CTRL_Q3 = 6; //3 const int M1_CTRL_Q4 = 9; //4 const long MX_CTRL_DELAY = 1000; // Delai 1 sec. void setup() { /* Définit les sorties */ pinMode(M1_CTRL_Q1, OUTPUT); pinMode(M1_CTRL_Q2, OUTPUT); pinMode(M1_CTRL_Q3, OUTPUT); pinMode(M1_CTRL_Q4, OUTPUT); //Pause Moteurs M1_CTRL_BRK(); } void M1_CTRL_FWD() { digitalWrite(M1_CTRL_Q1, HIGH); digitalWrite(M1_CTRL_Q2, LOW); digitalWrite(M1_CTRL_Q3, LOW); digitalWrite(M1_CTRL_Q4, HIGH); } void M1_CTRL_REV() { digitalWrite(M1_CTRL_Q1, LOW); digitalWrite(M1_CTRL_Q2, HIGH); digitalWrite(M1_CTRL_Q3, HIGH); digitalWrite(M1_CTRL_Q4, LOW); } void M1_CTRL_BRK() { digitalWrite(M1_CTRL_Q1, LOW); digitalWrite(M1_CTRL_Q2, HIGH); digitalWrite(M1_CTRL_Q3, LOW); digitalWrite(M1_CTRL_Q4, HIGH); } void loop() { M1_CTRL_FWD(); delay(MX_CTRL_DELAY); M1_CTRL_RWD(); delay(MX_CTRL_DELAY); M1_CTRL_BRK(); delay(MX_CTRL_DELAY); }
Merci par avance
Pièce jointe supprimée
-----