Arnaud Beauclair / Mbed 2 deprecated regulateur_V2

Dependencies:   mbed

Committer:
arn_beauclair
Date:
Sun Jun 15 15:32:04 2014 +0000
Revision:
0:af7247fcd74c
ADS_technologie

Who changed what in which revision?

UserRevisionLine numberNew contents of line
arn_beauclair 0:af7247fcd74c 1 #include "mbed.h"
arn_beauclair 0:af7247fcd74c 2 #include"biblio_prog.h"
arn_beauclair 0:af7247fcd74c 3
arn_beauclair 0:af7247fcd74c 4 float TemporisationDemarreur,commandeLimite,comptDem,vitesseMin;
arn_beauclair 0:af7247fcd74c 5 int courantLim;
arn_beauclair 0:af7247fcd74c 6 int tensionMin, tensionMax;
arn_beauclair 0:af7247fcd74c 7 char Etat_Precedant, Etat;
arn_beauclair 0:af7247fcd74c 8 int compteur_Demarreur,compteur_Tempo;
arn_beauclair 0:af7247fcd74c 9 int tour,tour_par_minute;
arn_beauclair 0:af7247fcd74c 10 char Demarreur, moteur, accelerateur;
arn_beauclair 0:af7247fcd74c 11 char demInfini, infini,Erreur;
arn_beauclair 0:af7247fcd74c 12 Ticker timer;
arn_beauclair 0:af7247fcd74c 13 InterruptIn event (p8);
arn_beauclair 0:af7247fcd74c 14 Serial pc(USBTX, USBRX);
arn_beauclair 0:af7247fcd74c 15
arn_beauclair 0:af7247fcd74c 16 int main() {
arn_beauclair 0:af7247fcd74c 17 event.rise(&compteur_vitesse); //creation d'une interruption lors d'un front montant du port 8
arn_beauclair 0:af7247fcd74c 18 Initialisation(); //Initialisation des capteur
arn_beauclair 0:af7247fcd74c 19 printf("\n\t\tbonjour\n\n"); // creation d'un message en dirrection d'un ordinateur
arn_beauclair 0:af7247fcd74c 20 timer.attach(&boucle,0.1); //creation d'une interruption en fonction d'un timer 0,1ms
arn_beauclair 0:af7247fcd74c 21 while(1) {
arn_beauclair 0:af7247fcd74c 22 //calibrage tension
arn_beauclair 0:af7247fcd74c 23 do{
arn_beauclair 0:af7247fcd74c 24 do
arn_beauclair 0:af7247fcd74c 25 {
arn_beauclair 0:af7247fcd74c 26 printf("\nLa tension minimum de la batterie:\n\n");
arn_beauclair 0:af7247fcd74c 27 scanf("%d",&tensionMin);
arn_beauclair 0:af7247fcd74c 28 printf("\t\t%d",tensionMin);
arn_beauclair 0:af7247fcd74c 29 if((tensionMin < 0)||(tensionMin>=100))
arn_beauclair 0:af7247fcd74c 30 printf("\n***Erreur: valeur tension minimum erronner***\n");
arn_beauclair 0:af7247fcd74c 31 }while((tensionMin < 0)||(tensionMin>=100));
arn_beauclair 0:af7247fcd74c 32 printf("\nLa tension maximum de la batterie:\n\n");
arn_beauclair 0:af7247fcd74c 33 scanf("%d",&tensionMax);
arn_beauclair 0:af7247fcd74c 34 printf("\t\t%d",tensionMax);
arn_beauclair 0:af7247fcd74c 35 if((tensionMax <= tensionMin)||(tensionMax>100))
arn_beauclair 0:af7247fcd74c 36 printf("\n***Erreur: valeurs tensions erronners***\n");
arn_beauclair 0:af7247fcd74c 37 }while((tensionMax <= tensionMin)||(tensionMax>100));
arn_beauclair 0:af7247fcd74c 38 //calibrage courant
arn_beauclair 0:af7247fcd74c 39 do{
arn_beauclair 0:af7247fcd74c 40 printf("\nLa limite de courant:\n\n");
arn_beauclair 0:af7247fcd74c 41 scanf("%d",&courantLim);
arn_beauclair 0:af7247fcd74c 42 printf("\t\t%d",courantLim);
arn_beauclair 0:af7247fcd74c 43 if((courantLim < 0)||(courantLim>=100))
arn_beauclair 0:af7247fcd74c 44 printf("\n***Erreur: valeur courrant erronner***\n");
arn_beauclair 0:af7247fcd74c 45 }while((courantLim < 0)||(courantLim>=100));
arn_beauclair 0:af7247fcd74c 46 //calibrage demarreur
arn_beauclair 0:af7247fcd74c 47
arn_beauclair 0:af7247fcd74c 48 do{
arn_beauclair 0:af7247fcd74c 49 printf("\nLa duree du demarreur est elle infini :\n Y si oui, N si non\n\n");
arn_beauclair 0:af7247fcd74c 50 Erreur=getchar();
arn_beauclair 0:af7247fcd74c 51 demInfini= getchar();
arn_beauclair 0:af7247fcd74c 52 printf("\t\t%c",demInfini);
arn_beauclair 0:af7247fcd74c 53 if((demInfini==0x59)||(demInfini==1111001))
arn_beauclair 0:af7247fcd74c 54 infini=1;
arn_beauclair 0:af7247fcd74c 55 else
arn_beauclair 0:af7247fcd74c 56 {
arn_beauclair 0:af7247fcd74c 57 if((demInfini==0x6E)||(demInfini==0x4E))
arn_beauclair 0:af7247fcd74c 58 {
arn_beauclair 0:af7247fcd74c 59 infini=0;
arn_beauclair 0:af7247fcd74c 60 do{
arn_beauclair 0:af7247fcd74c 61 printf("\nLa duree du demarreur :\n\n");
arn_beauclair 0:af7247fcd74c 62 scanf("%f",&TemporisationDemarreur);
arn_beauclair 0:af7247fcd74c 63 printf("\t\t%f",TemporisationDemarreur);
arn_beauclair 0:af7247fcd74c 64 if((TemporisationDemarreur<0)||(TemporisationDemarreur>30))
arn_beauclair 0:af7247fcd74c 65 printf("\n***Erreur: valeur du demarreur Erronner***\n");
arn_beauclair 0:af7247fcd74c 66 }while((TemporisationDemarreur<0)||(TemporisationDemarreur>30));
arn_beauclair 0:af7247fcd74c 67 }
arn_beauclair 0:af7247fcd74c 68 }
arn_beauclair 0:af7247fcd74c 69 }while(((demInfini!=0x59)&&(demInfini!=0x79))&&((demInfini!=0x6E)&&(demInfini!=0x4E)));
arn_beauclair 0:af7247fcd74c 70
arn_beauclair 0:af7247fcd74c 71 //calibrage limiteur de commande
arn_beauclair 0:af7247fcd74c 72 do{
arn_beauclair 0:af7247fcd74c 73 printf("\nLa limite de la commande poignee lors de la recharge:\n\n\tCommande en pourcentage\n\n");
arn_beauclair 0:af7247fcd74c 74 scanf("%f",&commandeLimite);
arn_beauclair 0:af7247fcd74c 75 printf("\t\t%f",commandeLimite);
arn_beauclair 0:af7247fcd74c 76 if(commandeLimite < 0||commandeLimite>=100)
arn_beauclair 0:af7247fcd74c 77 printf("\n***Erreur: valeur commande erronner***\n");
arn_beauclair 0:af7247fcd74c 78 }while((commandeLimite < 0)||(commandeLimite>=100));
arn_beauclair 0:af7247fcd74c 79 //calibrage temporisation
arn_beauclair 0:af7247fcd74c 80 do{
arn_beauclair 0:af7247fcd74c 81 printf("\nLa temprorisation entre la detection d'un fort courant et le lancemant du moteur essence:\n---Par defaut elle est a zero---\n\n");
arn_beauclair 0:af7247fcd74c 82 scanf("%f",&comptDem);
arn_beauclair 0:af7247fcd74c 83 printf("\t\t%f",comptDem);
arn_beauclair 0:af7247fcd74c 84 if((comptDem < 0)||(comptDem>=100))
arn_beauclair 0:af7247fcd74c 85 printf("\n***Erreur: valeur est erronner***\n");
arn_beauclair 0:af7247fcd74c 86 }while((comptDem < 0)||(comptDem>=100));
arn_beauclair 0:af7247fcd74c 87 //calibrage vitesse minimum
arn_beauclair 0:af7247fcd74c 88 do{
arn_beauclair 0:af7247fcd74c 89
arn_beauclair 0:af7247fcd74c 90 printf("\nLa vitesse minimum devant etre atteint avant de lancee le moteur essence pour un fort courant:\nPar defaut elle sera de zeros\n\n");
arn_beauclair 0:af7247fcd74c 91 scanf("%f",&vitesseMin);
arn_beauclair 0:af7247fcd74c 92 printf("\t\t%f",vitesseMin);
arn_beauclair 0:af7247fcd74c 93 if((vitesseMin < 0)||(vitesseMin>=100))
arn_beauclair 0:af7247fcd74c 94 printf("\n***Erreur: valeur est erronner***\n");
arn_beauclair 0:af7247fcd74c 95 }while((vitesseMin < 0)||(vitesseMin>=100));
arn_beauclair 0:af7247fcd74c 96 printf("\n\n\t\tFin des reglage\n\n");
arn_beauclair 0:af7247fcd74c 97 }
arn_beauclair 0:af7247fcd74c 98 }