delco logique ii
DESCRIPTION
Vendredi 12 Juin 2009. Delco Logique II. Logiciel Embarqué. Tuteuré par Pascal ACCO. Présenté par Alexis DELZON, Clément GEAMBLU, Natalia MENDOZA. Plan. Alexis Delzon. Présentation – Organisation/Retard – La conception – Bilan. Cahier des Charges. - PowerPoint PPT PresentationTRANSCRIPT
1
Delco Logique IILogiciel Embarqué
Présenté parAlexis DELZON, Clément GEAMBLU, Natalia MENDOZA
VENDREDI 12 JUIN 2009
Tuteuré par Pascal ACCO
1 •Présentation
2 •Organisation / Retard
3 •La conception
4 •Bilan
Plan
2Alexis Delzon
Mettre en place un ordonnancement pour l’allumage du moteur d’une super 5
Traiter les informations d’autres capteurs pour informer le conducteur
Cahier des Charges
3Alexis Delzon
Analyse du fonctionnement du moteur Création d’algorithmes de calcul d’allumage Programmation d’un microcontrôleur DsPIC
Présentation – Organisation/Retard – La conception – Bilan
Le moteur 4 temps
Introduction à l’allumage classique
4Alexis Delzon
Présentation – Organisation/Retard – La conception – Bilan
Présentation global du système
5Alexis Delzon
Présentation – Organisation/Retard – La conception – Bilan
Delco Logique I
6Alexis Delzon
Batterie 4 Bobines Bougies
Microcontrôleur
Rupteur électronique
Sécurité
Rupteur + Distributeur
Présentation – Organisation/Retard – La conception – Bilan
Les apports de Delco-Logique 2
7Alexis Delzon
Nouveaux capteurs
Simulateur capteurs
Programmation DsPIC
Présentation – Organisation/Retard – La conception – Bilan
8
Organisation de l’équipe
Clément Geamblu
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
Présentation – Organisation/Retard – La conception – Bilan
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
Retards
Clément Geamblu 9
Présentation – Organisation/Retard – La conception – Bilan
Le choix
• PICos v1.05
Le Noyau Temps Réel
Clément Geamblu 10
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
Présentation – Organisation/Retard – La conception – Bilan
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
Le PMH
Clément Geamblu 11
Présentation – Organisation/Retard – La conception – Bilan
Principe
Le driver PMH
Clément Geamblu 12
Source:http://www.geea.org/
Auteur:Jean Pierre HOAREAU
Présentation – Organisation/Retard – La conception – Bilan
Problème ! SELON GROUPE CAPTEUR
• Pas de roue dentée 60 dents• PMH non compatible avec la super 5
Le driver PMH
Clément Geamblu 13
Solution
• Utiliser la roue dentée 101 dents• Nouvel ordonnancement
Présentation – Organisation/Retard – La conception – Bilan
Principe d’allumage des bougies
Le driver PMH
Clément Geamblu 14
Dent34 84 34 84 34
Bougie 1
Bougie 2
Bougie 3
Bougie 4
Interruption Dents
Interruption Index Interruption Index Interruption Index
5 ms
5 ms
5 ms
5 ms
Présentation – Organisation/Retard – La conception – Bilan
Nouvel algorithme sur l’allumage
Le driver PMH
Clément Geamblu 15
Dent34 84 34 84 34
Bougie 1
Bougie 2
Bougie 3
Bougie 4
Interruption Dents
Interruption Index Interruption Index Interruption Index
5 ms 5 ms
5 ms 5 ms
Algorithme à étincelle perdue
Présentation – Organisation/Retard – La conception – Bilan
Pourquoi ?
•1 seul régime pris en compte• Pas de différence entre le démarrage et le régime établi
Le driver PMH
Clément Geamblu 16
Inconvénient• Consommation d’énergie non optimisée
Présentation – Organisation/Retard – La conception – Bilan
Le driver PMH
Clément Geamblu 17
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
Finalement
101 dents
Présentation – Organisation/Retard – La conception – Bilan
Le driver PMH
Clément Geamblu 18
Pour l’utilisateur◦ Activation par init_PMH()◦ Paramétrable en statique et en dynamique
Les points importants
Présentation – Organisation/Retard – La conception – Bilan
Le driver PMH / Noyau Temps Réel
Clément Geamblu 19
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
Temps
Présentation – Organisation/Retard – La conception – Bilan
Simulation du driver PMH
Clément Geamblu 20
Présentation – Organisation/Retard – La conception – Bilan
Haut Régime Pindex=13.55msBas Régime Pindex=188ms
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
Ordonnancement par Delco
21Alexis Delzon
Présentation – Organisation/Retard – La conception – Bilan
Principe de Fonctionnement
22Alexis Delzon
Présentation – Organisation/Retard – La conception – Bilan
Principe de Fonctionnement
23Alexis Delzon
Présentation – Organisation/Retard – La conception – Bilan
Fréquence de Fonctionnement ?◦ 10 ms et 40ms
Ordre d’apparition
Mise en place du simulateur
24Alexis Delzon
Présentation – Organisation/Retard – La conception – Bilan
Création du simulateur
25Alexis Delzon
Présentation – Organisation/Retard – La conception – Bilan
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
Ordonnancement par Delco I
26Alexis Delzon
Présentation – Organisation/Retard – La conception – Bilan
Principe de l’ordonnancement
27Alexis Delzon
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
Présentation – Organisation/Retard – La conception – Bilan
Résultat
28Alexis Delzon
Test en simulation : rajout du simulateur d’indexT(bob) modifiable entre 3ms et 5ms
Présentation – Organisation/Retard – La conception – Bilan
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◦ Programme
Les drivers Position et Vitesse
Natalia Mendoza 29
Présentation – Organisation/Retard – La conception – Bilan
Le driver Position
Natalia Mendoza 30
Récupérer la position de la pédale pour la transmettre à la partie communication.
Présentation – Organisation/Retard – La conception – Bilan
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
Le driver Position
Natalia Mendoza 31
Fonctionnement
Présentation – Organisation/Retard – La conception – Bilan
Valeur récupérée sur ADCBUF3
Le driver Position
Natalia Mendoza 32
Configuration du registre de l’ADC
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
}
Présentation – Organisation/Retard – La conception – Bilan
Récupère une image de la position
Le driver Position
Natalia Mendoza 33
Programme: 1ere Fonction
int calcul_acceleration (void){ ADCON1bits.SAMP = 0; // start conversion while(ADCON1bits.DONE); // attend la fin return ADCBUF3;}
Présentation – Organisation/Retard – La conception – Bilan
Récupère la position en %
Le driver Position
Natalia Mendoza 34
Programme: 2eme Fonction
float calcule_niveau_acceleration(void) { long num ; num = calcul_acceleration (); return ((0.0244)*num); }
Présentation – Organisation/Retard – La conception – Bilan
Le driver Vitesse
Natalia Mendoza 35
-Mesure le temps entre chaque front montant- gère les interruptions- fait le calcul.
Présentation – Organisation/Retard – La conception – Bilan
Configuration du port d’entrée
Configuration du registre d’interruption et du Timer
Lancement de l’interruption
Exécution de la boucle
Le driver Vitesse
Natalia Mendoza 36
Fonctionnement
Présentation – Organisation/Retard – La conception – Bilan
Le driver Vitesse
Natalia Mendoza 37
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 0T4CON = 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 positiveIEC2bits.INT3IE = 1; //Validation Interruption INT3
Présentation – Organisation/Retard – La conception – Bilan
Le driver Vitesse
Natalia Mendoza 38
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;
}
Présentation – Organisation/Retard – La conception – Bilan
Calcul et fourni la vitesse de la voiture
Le driver Vitesse
Natalia Mendoza 39
Fonction Utilisateur
void lance_Vitesse_voiture (void){
// resultat en (Km/H)Vitesse_voiture = (3. 392 / periode_vitesse) ;
}
Présentation – Organisation/Retard – La conception – Bilan
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
Bilan technique
40
Présentation – Organisation/Retard – La conception – Bilan
Alexis Delzon
Points forts ◦ Répartition des tâches pour travailler
indépendammentMeilleur gestion du temps
◦ Séparation en driversDélimitation précise des périphériques et du code à
générer Points faibles
◦ Partage des ressources parfois difficileUne seule carte de test + 1 DsPIC
Bilan organisationnel
Natalia Mendoza 41
Présentation – Organisation/Retard – La conception – Bilan
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
Améliorations envisageables
42
Présentation – Organisation/Retard – La conception – Bilan
Clément Geamblu
Si vous avez des questions ?
Merci de votre attention
43