delco logique ii

Post on 24-Feb-2016

66 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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 Presentation

TRANSCRIPT

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

top related