La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Delco Logique II Vendredi 12 Juin 2009 Présenté par

Présentations similaires


Présentation au sujet: "Delco Logique II Vendredi 12 Juin 2009 Présenté par"— Transcription de la présentation:

1 Delco Logique II Vendredi 12 Juin 2009 Présenté par
Logiciel Embarqué Tuteuré par Pascal ACCO Présenté par Alexis DELZON, Clément GEAMBLU, Natalia MENDOZA

2 Plan Alexis Delzon 1 Présentation 2 Organisation / Retard 3
La conception 4 Bilan Alexis Delzon

3 Présentation – Organisation/Retard – La conception – Bilan
Cahier des Charges Mettre en place un ordonnancement pour l’allumage du moteur d’une super 5 Traiter les informations d’autres capteurs pour informer le conducteur  Analyse du fonctionnement du moteur  Création d’algorithmes de calcul d’allumage  Programmation d’un microcontrôleur DsPIC Alexis Delzon

4 Introduction à l’allumage classique
Présentation – Organisation/Retard – La conception – Bilan Introduction à l’allumage classique Le moteur 4 temps Le groupe DELCOI réalisé un allumage électronique des bougies BUT : gérer l’allumage : enflammer le mélange air-essence en fin de compression Produire une étincelle qui déclenche une explosion : les gazs se détendent et poussent le piston vers le bas de la chambre de combustion Avance à l’allumage : Consiste à déclencher l’étincelle quelque instants avant que le piston atteigne le point le plus haut de la chambre de combustion (on parle de Point Mort HAUT) afin que l’explosion soit la meilleure IL faut allumer plus ou moins tôt le mélange, pour amorcer la combustion alors que le piston n'est pas au PMH. la pression commence à monter avant le PMH et est optimale à ce dernier. Il faut donc allumer au bon moment  meilleur rendement Alexis Delzon

5 Présentation global du système
Présentation – Organisation/Retard – La conception – Bilan Présentation global du système Alexis Delzon

6 Présentation – Organisation/Retard – La conception – Bilan
Delco Logique I Batterie 4 Bobines Bougies Rupteur + Distributeur Rupteur électronique Microcontrôleur Sécurité Alexis Delzon

7 Les apports de Delco-Logique 2
Présentation – Organisation/Retard – La conception – Bilan Les apports de Delco-Logique 2 Simulateur capteurs Nouveaux capteurs Programmation DsPIC Alexis Delzon

8 Organisation de l’équipe
Présentation – Organisation/Retard – La conception – Bilan Organisation de l’équipe Relation Inter-Equipe 3 Taches / 3 Membres Noyau Temps Réel Drivers Simulateurs Répartition selon Driver Driver PMH + NTR Clément Geamblu Driver Delco v2 Alexis Delzon Autres Drivers Natalia Mendoza Au début Finalement Clément Geamblu

9 Présentation – Organisation/Retard – La conception – Bilan
Retards 1 Conception des drivers Groupe Capteur 2 Ressources Communes 1 microcontrôleur à se partager 3 Installation de l’espace de Travail 30 min avant et après pour l’aménagement Clément Geamblu

10 Présentation – Organisation/Retard – La conception – Bilan
Le Noyau Temps Réel Le choix PICos v1.05 Particularités Spécifique aux PIC Basé sur OSEK/VDX (Les années 1990) Offene Systeme und deren Schnittstellen fur die Elektronik im Kraftfahrzeug Vehicle Distributed eXecutive Clément Geamblu

11 Présentation – Organisation/Retard – La conception – Bilan
Le PMH Qu’est ce que c’est? Point Mort Haut (PMH) Capteur envoyant des signaux carrés Après Mise en Forme Où est placé le PMH? Sur la roue dentée du cylindre moteur Renvoie l’image de la position du cycle moteur Clément Geamblu

12 Présentation – Organisation/Retard – La conception – Bilan
Le driver PMH Principe Source: Auteur: Jean Pierre HOAREAU Clément Geamblu

13 Présentation – Organisation/Retard – La conception – Bilan
Le driver PMH Problème ! Selon groupe capteur Pas de roue dentée 60 dents PMH non compatible avec la super 5 Solution Utiliser la roue dentée 101 dents Nouvel ordonnancement Clément Geamblu

14 Présentation – Organisation/Retard – La conception – Bilan
Le driver PMH Principe d’allumage des bougies Dent 34 84 Bougie 1 Bougie 2 Bougie 3 Bougie 4 Interruption Dents Interruption Index 5 ms Clément Geamblu

15 Présentation – Organisation/Retard – La conception – Bilan
Le driver PMH Nouvel algorithme sur l’allumage Dent 34 84 Bougie 1 Bougie 2 Bougie 3 Bougie 4 Interruption Dents Interruption Index 5 ms Algorithme à étincelle perdue Clément Geamblu

16 Présentation – Organisation/Retard – La conception – Bilan
Le driver PMH Pourquoi ? 1 seul régime pris en compte Pas de différence entre le démarrage et le régime établi Inconvénient Consommation d’énergie non optimisée Clément Geamblu

17 Présentation – Organisation/Retard – La conception – Bilan
Le driver PMH Finalement Fonctionne Simulateur du driver PMH! Le driver PMH avec algorithme à étincelle perdue Une version de l’algorithme normal pour le régime établi Soucis Erreur de précision négligeable pour la charge Pas de réglage de l’avance (1 dent = 3.56°) Noyau Temps Réel instable avec le driver PMH 101 dents Clément Geamblu

18 Présentation – Organisation/Retard – La conception – Bilan
Le driver PMH Les points importants Pour l’utilisateur Activation par init_PMH() Paramétrable en statique et en dynamique Clément Geamblu

19 Le driver PMH / Noyau Temps Réel
Présentation – Organisation/Retard – La conception – Bilan Le driver PMH / Noyau Temps Réel Temps Temps alloué au traitement pour un régime de 6000tr/min Tdent= 99µs Temps Max d’exécution mesuré en simulation Ttraitement_dent_MAX=76µs (avec Focs = 16MHz) Temps disponible pour les traitements du noyau Tnoyau_MAX=23µs Clément Geamblu

20 Simulation du driver PMH
Présentation – Organisation/Retard – La conception – Bilan Simulation du driver PMH Haut Régime Pindex=13.55ms Bas Régime Pindex=188ms Clément Geamblu

21 Ordonnancement par Delco
Présentation – Organisation/Retard – La conception – Bilan Ordonnancement par Delco Réutilisation des capteurs du groupe Delco I (2008) Pourquoi? Interrogations sur les nouveaux capteurs Faisabilité? Fonctionnement? Quand? Démarrage de la voiture Régime transitoire incertain Système de remplacement Alexis Delzon

22 Principe de Fonctionnement
Présentation – Organisation/Retard – La conception – Bilan Principe de Fonctionnement Alexis Delzon

23 Principe de Fonctionnement
Présentation – Organisation/Retard – La conception – Bilan Principe de Fonctionnement Alexis Delzon

24 Mise en place du simulateur
Présentation – Organisation/Retard – La conception – Bilan Mise en place du simulateur Fréquence de Fonctionnement ? 10 ms et 40ms Ordre d’apparition Fréquence de fonctionnement  Varie en fn du régime moteur Liée à l’arbre du villebrequin  entre 750 tour/min – 3000tr/min  2 explosions/tour villebrequin  10ms et 40 ms Période entre 2 impulsions Copt ou Rupteur  divisé par 4  2,5ms et 10 ms  Configuration des timers REMARQUE : Le dispositif de Départ ne pouvait pas chargé pdt plus de 2,5ms en haut régime  4 bobines vont augmenter cette possibilité D’après les mesures du groupe DELCOI, le signal Copt apparaît quelque temps avant l’impulsion rupteur Alexis Delzon

25 Création du simulateur
Présentation – Organisation/Retard – La conception – Bilan Création du simulateur Alexis Delzon

26 Ordonnancement par Delco I
Présentation – Organisation/Retard – La conception – Bilan Ordonnancement par Delco I Volonté de pouvoir basculer d’un programme à un autre Partage des ressources du DsPIC Ressources attribuées au départ: Un Timer : gestion de l’ordonnancement Une entrée interruptive : rupteur 4 entrée NI: Signaux Delco I Alexis Delzon

27 Principe de l’ordonnancement
Présentation – Organisation/Retard – La conception – Bilan Principe de l’ordonnancement Gestion en mode scrutatif des signaux DELCOI + Interruption par rupteur T(bob)  5ms Anticipation sur 2 fronts Nécessité de 2 timers T(TIMER) = 2T(opt) – T(BOB)  Calcul de T(opt) : utilisation du capteur d’INDEX ordonnancement uniquement basé sur la détection du signal Copt N et décharger la bobine N+1 COMME dans le système mécanique de DEPART PRACTICITE besoin d’aucun calcul charge sur front de T(opt) décharge sur front Rupteur CONTRAINTE : Nécessité d’un temps de Charge bobine INFERIEUR ou EGALE à 5ms  dispositif électronique qui déclenchement automatique la décharge pour une durée supérieure PROBLEME En bas régime  si T(opt) = 10 ms le temps de charge de la bobine serait trop long  DECHARGE TROP TOT DEUXIEME PROBLEME EN HAUT REGIME Si l’on veut une charge bobine de 5ms (Bonne étincelle)  nécessité d’anticiper sur 2fronts car T(OPT) = 2,5ms Principe de l’ordonnancement  lancer un timer sur un front de C(opt) puis déclenchement d’une interruption CHARGE d’une des bobines Le déchargement des bobines sera commandé lors de l’ouverture du rupteur. Le temps de chargement timer doit être calculé en fonction de la période du doigt du DELCO et du temps de charge bobine que l’on veut  CALCUL AVEC CAPTEUR INDEX Gestion sructative Si T(TIMER) TROP long > manquer un signal C(opt)  Nécessité de 2 timers  Ressources DsPIC insuffisante Alexis Delzon

28 Présentation – Organisation/Retard – La conception – Bilan
Résultat Test en simulation : rajout du simulateur d’index T(bob)  modifiable entre 3ms et 5ms Alexis Delzon

29 Les drivers Position et Vitesse
Présentation – Organisation/Retard – La conception – Bilan Les drivers Position et Vitesse Driver Gestion de la Position de la pédale d’accélération (driver Position) Fonctionnement de l’ADC Configuration de registres de l’ADC Programme Driver Vitesse de la voiture (driver Vitesse) Fonctionnement Configuration de Registre du Timer et d’interruption Natalia Mendoza

30 Présentation – Organisation/Retard – La conception – Bilan
Le driver Position Récupérer la position de la pédale pour la transmettre à la partie communication. Natalia Mendoza

31 Présentation – Organisation/Retard – La conception – Bilan
Le driver Position Fonctionnement L’ADC du dsPIC permet de convertir une grandeur continue analogique de tension comprise entre AVSS et AVDD (0 à 5V dans notre cas) Initialise les ports d’entrée Configure les registres Lance la conversion Exécute la boucle sans fin Natalia Mendoza

32 Présentation – Organisation/Retard – La conception – Bilan
Le driver Position Configuration du registre de l’ADC Valeur récupérée sur ADCBUF3 void adcconfiguration(void){ // Configuration ADC en lancement immédiat ADCON1 = 0x8000; // ADON = 1 module de conversion active ADCON2 = 0x0400; // ALTS=0 ADCHS = 0x0003; // Selection de l’entrée : CHONA=0, CHOSA=0011 ADCON3 = 0x0080; // Tad = internal RC clock, ADCR = 1 ADCON1bits.ADON = 1; // turn ADC ON } Natalia Mendoza

33 Présentation – Organisation/Retard – La conception – Bilan
Le driver Position Programme: 1ere Fonction Récupère une image de la position int calcul_acceleration (void){ ADCON1bits.SAMP = 0; // start conversion while(ADCON1bits.DONE); // attend la fin return ADCBUF3; } Natalia Mendoza

34 Présentation – Organisation/Retard – La conception – Bilan
Le driver Position Programme: 2eme Fonction Récupère la position en % float calcule_niveau_acceleration(void) { long num ; num = calcul_acceleration ();  return ((0.0244)*num); } Natalia Mendoza

35 Présentation – Organisation/Retard – La conception – Bilan
Le driver Vitesse Mesure le temps entre chaque front montant - gère les interruptions - fait le calcul. Natalia Mendoza

36 Présentation – Organisation/Retard – La conception – Bilan
Le driver Vitesse Fonctionnement Configuration du port d’entrée Configuration du registre d’interruption et du Timer Lancement de l’interruption Exécution de la boucle Natalia Mendoza

37 Présentation – Organisation/Retard – La conception – Bilan
Le driver Vitesse Configuration des registres //Configuration du Port d’entrée : TRISD |= 0x0400; //RD10 en entrée //Configuration du registres du Timer : TMR4 = 0; //Initialisation du Compteur a 0 T4CON = 0xA020; //T2ON=1 (Demarrage Compteur), //TSIDL=1(Fonctione sur idle mode) //(Synchronisation sur Front externe), //TCS=1 (Entrée Externe sélectionné) //Configuration du registres d’Interruption: INTCON2 &= 0xFFF7; //INT3 sur front positive IEC2bits.INT3IE = 1; //Validation Interruption INT3 Natalia Mendoza

38 Présentation – Organisation/Retard – La conception – Bilan
Le driver Vitesse La fonction d’interruption void __attribute__((__interrupt__, auto_psv)) _INT3Interrupt(void){ IEC2bits.INT3IE = 0; //Inhibe les interruptions sur INT3 pendant le traitement periode_vitesse = TMR4; TMR4 = 0; //Réinitialisation Timer 4 (Base de Temps Calcul Période) pour le prochain tour IFS2bits.INT3IF = 0; // Supprime drapeau d'interruption sur INT3 IEC2bits.INT3IE = 1; } Natalia Mendoza

39 Présentation – Organisation/Retard – La conception – Bilan
Le driver Vitesse Fonction Utilisateur Calcul et fourni la vitesse de la voiture void lance_Vitesse_voiture (void){ // resultat en (Km/H) Vitesse_voiture = ( / periode_vitesse) ; } Natalia Mendoza

40 Présentation – Organisation/Retard – La conception – Bilan
Bilan technique Points forts Fonctionnement des drivers Fonctionnement des simulateurs des capteurs Drivers adaptables par fichier de configuration Points faibles Aucun test en réel Noyau temps réel difficile à maîtriser Avance driver Delco v2 gérée mécaniquement Alexis Delzon

41 Bilan organisationnel
Présentation – Organisation/Retard – La conception – Bilan Bilan organisationnel Points forts Répartition des tâches pour travailler indépendamment Meilleur gestion du temps Séparation en drivers Délimitation précise des périphériques et du code à générer Points faibles Partage des ressources parfois difficile Une seule carte de test + 1 DsPIC Natalia Mendoza

42 Améliorations envisageables
Présentation – Organisation/Retard – La conception – Bilan Améliorations envisageables Noyau Temps Réel Faire un noyau Temps Réel propre au projet Driver PMH Utiliser un Timer pour le début de la charge de la bobine Réaliser l’algorithme de passage entre démarrage et régime établi Driver Delco v2 Utilisation de Timers pour la gestion de l’avance Clément Geamblu

43 Merci de votre attention
Si vous avez des questions ?


Télécharger ppt "Delco Logique II Vendredi 12 Juin 2009 Présenté par"

Présentations similaires


Annonces Google