Auteur | Message |
TK7
Newbie
Messages : 2 Inscrit(e) le: 03/04/2017
|
Posté le 03/04/2017 18:57 | | Programmation Arduno UNO |
Bonjour a tous, Alors voila je dois réaliser un projet qui consiste à programmer sur un Arduino Uno un moteur pas à pas (Bipolaire) à l'aide d'un pont en H L298 qui va me permettre de configurer le sens de rotation du moteur. Mon moteur doit pouvoir actionner un piston sur lequel est relier une seringue elle même relier à une membrane. La pression dans la membrane est mesurée par un capteur de pression différentiel. Et je doit pouvoir afficher la valeur de cette pression en millimètre de mercure (mmhg).
Mon problème est le suivant:
Lorsque je relie mes lignes d'instructions pour faire tourner mon moteur avec celles concernant mon capteur de pression ou mon afficheur lcd 2*16. A ce moment là, mon moteur ne tourne pas comme il faudrait et mon pont en H L298 surchauffe alors qu'il ne devrait pas.
Auriez-vous une solution à me proposer svp.
|
|
|
Revenir en haut | Permalien | |
|
saws
Newbie
Messages : 1 Inscrit(e) le: 17/04/2017
|
Posté le 17/04/2017 07:49 | | RE : Programmation Arduno UNO |
Bonjour, concernant le moteur qui ne tourne pas convenablement : j'ai presque le même problème et je l'ai corrigé. Il faut savoir que l'instruction delay(time) la valeur de time doit être <16000. Donc j'ai fait une boucle qui expire par bloc de 15000. càd si j'ai un delay de 47000, je la fait boucler 3 fois de 15000 et le reste une 4ème fois de 2000. Bonne chance Voici une partie de mon programme digitalWrite(Power,LOW); delay(500); digitalWrite(Power,HIGH); z=(x - y)*correcteur; if( z<0 ) { z=-z; digitalWrite(SenseB, LOW); while (z>15000) { delay(15000); z=z-15000; } delay(z); digitalWrite(SenseB, HIGH); } else if (z>0) { digitalWrite(SenseA, LOW); while (z>15000) { delay(15000); z=z-15000; } delay(z); digitalWrite(SenseA, HIGH); Serial.println("z="); Serial.print(z); y = x;
|
Edité par saws le 17/04/2017 10:06 |
|
|
Revenir en haut | Permalien | |
TK7
Newbie
Messages : 2 Inscrit(e) le: 03/04/2017
|
Posté le 18/04/2017 18:33 | | RE : Programmation Arduno UNO |
Merci pour cette information. Mon moteur tourne beaucoup mieux maintenant.
Mais j'ai un autre souci au niveau de la programmation de mon capteur de pression différentiel. je pense que je me trompe au niveau du calcul pour convertir les tensions en kPa .
Mon capteur de pression peut mesurer 0 à 50 kPa, mais j'ai besoin de mesurer que de 0 à 20 kPa. le capteur peut être alimenter avec une tension 6 à 12 V. et je peux pas utiliser les broches concernant I2c. voici le datasheet en piece jointes.
|
|
|
Revenir en haut | Permalien | |
|