Académie de Rennes Thème 2009 Bac S.T.I. Génie ... ?· Panneau Solaire Automatis ... commande d'un…

  • Published on
    15-Sep-2018

  • View
    212

  • Download
    0

Transcript

  • Acadmie de RennesThme 2009 Bac S.T.I. Gnie lectronique

    Panneau Solaire Automatis

    Squence 4B Dure: 10HAnalyse et simulation de la solution constructeur

    Pr-requis:Analyse fonctionnelle de 1er degr de l'objet technique.Connaissances sur le microcontrleur PIC 18F452 (squence 4A) et le langage Flowcode.

    Savoirs:A: Traitement des signaux logiques

    A1: Amplification.C: Traitement des signaux logiques et/ou numriques

    C3: Transformation de code.C7: Traitement programm de l'information organisation matrielle: architecture fonctionnelle d'un dispositif utilisant la logique programme, squencement, mmorisation, changes des informations entre les entits fonctionnelles. organisation logicielle.

    D: Conversion de grandeurs physiques en grandeurs lectriquesD1: Captage.

    E: Conversion de grandeurs lectriques en grandeurs physiquesE1: Transduction lectrique/acoustique.E2: Transduction lectrique/optique.E3: Conversion de donnes.

    Savoir-faire:D : Identifier une fonction la ou les structures participant sa ralisation.E : Analyser lorganisation structurelle dune fonction.

    E1 : tablir les relations entre grandeurs dentre et grandeurs de sortie.E2 : Justifier le dimensionnement dun composant.E4 : valuer que la fonction requise est assure.

    F: Rechercher, pour les fonctions mixtes (matrielles et logicielles), l'adquation entre les solutions technologiques structurelles et les segments de programme associs afin:

    F1. d'identifier les variables se rapportant cette fonction ;F2.de distinguer, en relation avec les variables, la (ou les) parties se rapportant la fonction mixte tudie ;F3. d'tablir les liens de cause effet entre un lment de la partie concerne du logiciel et les relations entre les grandeurs d'entre et de sortie de la structure matrielle qui caractrise cette fonction mixte.

    G: Proposer la rorganisation structurelle (et/ou logicielle) partielle ou totale d'une fonction.

    Conditions matrielles:poste informatique quip:

    du dossier HTMLdu logiciel PROTEUS Version 6.9 ou suprieuredu logiciel FLOWCODE Version 3

    valuation prvue: valuation crite

    Panneau Solaire Automatis ELECTRONIQUE Squence 4B Page 1/15

  • Panneau Solaire Automatis ELECTRONIQUE Squence 4B Page 2/15

    TRAITEMENT

    PROGRAMME

    DES

    INFORMATIONS

    &

    CONVERSION

    ANALOGIQUE

    NUMERIQUE

    FS1-1

    laboration numrique d'une horloge

    temps rel

    FS1-2

    Informationdate & heure

    Acquisitiondu rglage

    du mode defonctionnement

    FS1-3

    Informationtouche actionne

    Rglage dumode de fonctionnementpar l'utilisateur

    Position moteur lvation

    Position moteur rotation

    SCHEMA FONCTIONNEL DE DEGRE 2 DE FP1SCHEMA FONCTIONNEL DE DEGRE 2 DE FP1

    Alerte dmarrage vhicule

    Courant panneau solaire

    Amplification de courant

    &Transduction

    lectriqueoptique

    FS1-4

    Slectionafficheur

    Information afficher

    Informationsvisuelles

    Amplification de courant

    &Transduction

    lectriqueacoustique

    FS1-6

    InformationsonoreCommande buzzer

    Commande Autorisation_moteurs

    Commande Sens_arrt_lvation

    Commande Sens_arrt_rotation

    [2]

    [16]

    [2]

    [2]

    [2]

    [8]

  • FONCTION SECONDAIRE

    DESCRIPTION ENTREE(S) SORTIE(S)

    FS1-1

    Traitement programm

    de l'information

    &

    conversionanalogiquenumrique

    Cette fonction permet l'orientation optimale du panneau solaire par:- la prise en compte des rglages de l'utilisateur,- la date et de l'heure fournies par une horloge en temps rel, - la position du panneau,- le courant fourni par les cellules photovoltaques aprs conversion A/N,- la commande des moteurs d'lvation et de rotation du panneau.Au dmarrage du vhicule, elle prvient le conducteur par la commande d'un signal sonore.Elle gre l'affichage des informations pour l'utilisateur.Cette fonction ralise aussi la conversion A/N de la tension image du courant panneau.

    - Information date & heure - Information touche actionne

    - Position moteur lvation - Position moteur rotation

    - Alerte dmarrage vhicule - Courant panneau solaire ()

    - Slection afficheur - Information afficher - Commande buzzer - Sens_arrt_lvation - Sens_arrt_rotation - Autorisation_moteurs

    FS1-2laborationnumrique

    d'une horloge en temps rel

    Cette fonction fournit les secondes, minutes, heures, jour, mois et anne sous forme BCD via une liaison srie I2C.En cas de dfaut d'alimentation, une sauvegarde est prvue par une pile Lithium.

    - Information date & heure

    FS1-3Acquisition du rglage du mode de

    fonctionnement

    Cette fonction permet l'acquisition des rglages de l'utilisateur partir d'un clavier matric 16 touches.

    - Rglage du mode de fonctionnement par l'utilisateur

    - Information touche actionne

    FS1-4Amplification

    de courant &

    transduction lectrique optique

    Cette fonction permet l'affichage des informations sur deux afficheurs 7 segments slectionns l'un aprs l'autre (affichage multiplex).

    - Slection afficheur

    - Informations afficher

    - Informations visuelles

    FS1-5Amplification

    de courant &

    transduction lectrique acoustique

    Cette fonction permet l'amplification en courant du signal de commande et l'mission d'un signal sonore l'aide d'un buzzer.

    - Commande buzzer - Information sonore

    Panneau Solaire Automatis ELECTRONIQUE Squence 4B Page 3/15

  • Panneau Solaire Automatis ELECTRONIQUE Squence 4B Page 4/15

    CARTE CONSTRUCTEUR DU BOITIER DE COMMANDE

    Pile Lithium +3VCR2032

    Horloge temps rel& quartz 32768Hz

    PIC18F452& quartz 20MHz

    Double afficheur HDSP-5523

    Buzzer

    R17 & R180,1

    Commandepont en H

    L298

  • Panneau Solaire Automatis ELECTRONIQUE Squence 4B Page 5/15

  • Panneau Solaire Automatis ELECTRONIQUE Squence 4B Page 6/15

  • Panneau Solaire Automatis ELECTRONIQUE Squence 4B Page 7/15

    SCHEMA DE CABLAGE CONSTRUCTEUR

  • I. Identification des structures de FP1 : 1. Identifiez, en les entourant sur le schma structurel de la carte constructeur, les structures correspondant aux fonctions secondaires de FP1.

    II. Etude de la fonction FS1-5 Amplification de courant & Transduction lectrique acoustique :

    La traduction lectrique-acoustique est ralise par un buzzer 6V HCM1206X et l'amplification de courant par un transistor BC847 en boitier SOT23 (CMS).

    1. Relevez les principales caractristiques lectriques du buzzer HCM1206X.

    2. Vrifiez l'tat de saturation du transistor Q1.Simulation de la commande du buzzer sous Proteus avec le schma Simulation carte constructeur_buzzerDans cette simulation, le buzzer est remplac par une led.

    programme principaldbut

    faire jusqu' l'infini:activer le buzzer;attendre 250 ms;teindre le buzzer;attendre 250 ms;

    refaire;fin.

    3. Sous Flowcode V3 et l'aide de l'algorithme prcdent, vous compltez le programme simul_buzzer_eleve.fcf pour PIC18F452 (20MHz) qui produit une commande alterne du buzzer basse frquence. Vous crez le fichier objet (.hex) de votre solution par la commande Puce_Compilez vers C... suivie de Puce_Compilez vers ASM...

    4. Sous Proteus, vous ditez les proprits du PIC18F452 pour slectionner votre programme objet (.hex) par Program File: . Vous lancez ensuite la simulation interactive pour vrifier votre solution.

    III.Etude de la fonction FS1-4 Amplification de courant & Transduction lectrique optique :

    La traduction lectrique-optique est ralise par un double afficheur sept segments HDSP-5523 (U8).L'amplification de courant est ralise par deux transistors BC817 en boitier SOT23 (CMS). Ils assurent l'alimentation des segments de l'afficheur correspondant soit Q3 pour l'afficheur situ droite et Q4 pour l'afficheur situ gauche (voir fiche HDSP-5523).L'affichage multiplex est gr par logiciel; les deux afficheurs sont commands l'un aprs l'autre un rythme suffisant pour obtenir un confort visuel.

    1. Relevez les principales caractristiques lectriques du double afficheur HDSP-5523.

    On mesure un courant de pointe par segment de 30 mA pour une tension de sortie de 2,16V sur le port D du PIC 18F452 (U1).

    Panneau Solaire Automatis ELECTRONIQUE Squence 4B Page 8/15

  • 2. A l'aide des fiches du HDSP-5523 et du PIC 18F452, justifiez la solution retenue par le constructeur (pas de rsistances de limitation du courant entre les sorties du port D et les deux afficheurs sept segments).

    3. Vrifiez la saturation du transistor Q3 dans le cas o tous les segments et le point dcimal sont allums sur l'afficheur correspondant. Vous prendrez une tension de sortie VOH gale 4,9V pour la sortie RC7 du PIC 18F452.

    Simulation de l'affichage multiplex sous Proteus avec le schma Simulation carte constructeur_affmuxVous allez simuler un affichage multiplex partir de l'algorithme suivant:

    programme principaldbut

    faire jusqu' l'infini:commander l'afficheur de gauche;afficher 1 ;attendre 200 ms;commander l'afficheur de droite;afficher 0 ;attendre 200 ms;

    refaire;fin.

    4. A l'aide de l'algorithme prcdent, vous compltez le programme simul_affmux_eleve.fcf. Ensuite, vous crez le fichier objet (.hex) de votre solution par la commande Puce_Compilez vers C... suivie de Puce_Compilez vers ASM...

    5. Sous Proteus, vous ditez les proprits du PIC18F452 pour slectionner votre programme objet (.hex) par Program File: . Vous lancez ensuite la simulation interactive pour vrifier que votre programme met bien en vidence le principe de l'affichage multiplex. Que constatez-vous sur les deux afficheurs ?

    IV.Etude de la fonction FS1-3 Acquisition du rglage du mode de fonctionnement du panneau

    L'acquisition du rglage du mode de fonctionnement du panneau est ralise par un clavier matric de 16 touches soit 4 lignes et 4 colonnes. Les touches sont quivalentes des boutons-poussoirs placs aux intersections des lignes et des colonnes. Au moment d'un appui sur une touche du clavier, on tablit un contact entre une ligne et une colonne. Sur la face avant du boitier de commande du constructeur, le clavier se compose d'un groupe de 12 touches (10 touches numriques et deux touches de couleur rouge et verte) et d'un autre groupe de 4 touches (flches).Exemple d'utilisation du clavier du boitier de commande:

    Pour la mise en marche du panneau, l'utilisateur place l'interrupteur du boitier de commande en position On. A l'aide du clavier, il saisit la valeur 01 (zone Europe centrale) pour ensuite la valider l'aide de la touche Verte. Aprs la validation, le panneau se lve et l'cran affiche la zone de villgiature...

    Panneau Solaire Automatis ELECTRONIQUE Squence 4B Page 9/15

  • La lecture du clavier matric est gre par un programme via le port B du PIC 18F452. Le port B a la particularit de pouvoir tre configur en mode Weak Pull-up par la mise 0 du bit RBPU dans le registre INTCON2 du PIC 18F452 comme sur l'extrait suivant de la Figure 9-4 :

    Cette configuration du port B permet d'avoir en interne une rsistance de tirage VDD pour les lignes de port configures en entre. Pour cette raison, le constructeur n'a pas prvu de rsistances de tirage pour alimenter le clavier matric.

    La lecture du clavier matric se droule en deux temps:

    1- On configure les colonnes du clavier en sorties (RB4 RB7) et les lignes du clavier en entres (RB0 RB3). Les sorties du port B (RB4 RB7) sont positionnes au niveau bas et on effectue une premire lecture du port B; on obtient alors le code LIGNES.

    2- On configure les lignes du clavier en sorties (RB0 RB3) et les colonnes du clavier en entres (RB4 RB7). Les sorties du port B (RB0 RB3) sont positionnes au niveau bas et on effectue une deuxime lecture du port B; on obtient alors le code COLONNES.

    Pour obtenir le code la touche sur 8 bits, il suffit de fusionner le code LIGNES et le code COLONNES par un OU logique.

    Panneau Solaire Automatis ELECTRONIQUE Squence 4B Page 10/15

    rsistance de tirage interne pour une entre

    si le bit RBPU = 0

  • 1. A l'aide des schmas quivalents prcdents, dterminez le code LIGNES et le code COLONNES pour un appui sur une des 16 touches. Donnez ensuite le code TOUCHE par concatnation des deux rsultats prcdents.

    Touche actionne

    Code COLONNES Code LIGNES Code TOUCHE CodehexaRB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0

    aucune 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FF123

    DROITE456

    HAUT789

    BASVERTE

    0ROUGE

    GAUCHE Simulation du fonctionnement du clavier matric sous Proteus partir d'un programme crit sous Flowcode.

    Vous allez simuler votre programme l'aide d'un schma issu de la carte constructeur.Sous Proteus : ouvrir le fichier Simulation carte constructeur_clavier.dsnSous Flowcode V3: ouvrir le fichier simul_clavier_eleve.fcfDans ce programme, on ralise un affichage simple en utilisant le port C pour l'afficheur de droite et le port D pour l'afficheur de gauche. Le code hexadcimal doit tre affich aprs un appui sur une touche.

    procdure CLAVIERdbut

    faire jusqu' 20 fois:mettre les colonnes en sortie au niveau bas;mettre les lignes en entre;lire le code ligne;mettre les lignes en sortie au niveau bas;mettre les colonnes en entre;lire le code colonne;

    refaire;concatner le code ligne et le code colonne pour obtenir le code touche;

    fin de la procdure;

    Panneau Solaire Automatis ELECTRONIQUE Squence 4B Page 11/15

  • 2. A l'aide de l'tude prcdente, vous compltez la macro CLAVIER dans le programme simul_clavier_eleve.fcf en utilisant les variables CODE_LIGNES et CODE_COLONNES pour obtenir le code de la touche dans la variable CODE_TOUCHE. Vous crez le fichier objet (.hex) de votre solution par la commande Puce_Compilez vers C... suivie de Puce_Compilez vers ASM...

    3. Sous Proteus, vous ditez les proprits du PIC18F452 pour slectionner votre programme objet (.hex) par Program File: . Vous lancez ensuite la simulation interactive pour vrifier qu'un appui sur une touche du clavier produit bien l'affichage du code hexadcimal dtermin dans le tableau prcdent.

    Maintenant, vous allez simuler un programme d'acquisition du code de la touche par interruption (reportez-vous la squence n4A).

    Les broches RB4 RB7 du port B peuvent dclenches une interruption par changement d'tat. Lors d'un appui sur une touche quelconque, on produit obligatoirement un changement d'tat sur une des ces 4 lignes du port B. Si cette interruption est autorise, il faut prvoir une macro (CLAVIER) qui sera excute au moment d'un appui sur une touche. A noter que pendant l'excution de cette macro, une autre interruption ne peut pas tre prise en compte sauf dans le cas d'une hirarchisation des priorits; mais, par dfaut, toutes les interruptions sont au mme niveau de priorit (haute).

    Sous Proteus : ouvrir le fichier Simulation carte constructeur_clavier.dsn

    Sous Flowcode V3: ouvrir le fichier simul_clavier_IT_eleve.fcf

    4. Vous compltez d'abord la macro CLAVIER dans le programme simul_clavier_IT_eleve.fcf avec votre solution valide prcdemment (question IV-2), et ensuite vous dfinissez le type d'interruption ainsi que la macro d'interruption dans le programme principal l'aide des explications prcdentes. Vous crez le fichier objet (.hex) de votre solution par la commande Puce_Compilez vers C... suivie de Puce_Compilez vers ASM...

    5. Sous Proteus, vous ditez les proprits du PIC18F452 pour slectionner votre programme objet (.hex) par Program File: . Vous lancez ensuite la simulation interactive pour vrifier qu'un appui sur une touche du clavier produit bien l'affichage du code hexadcimal dtermin dans le tableau prcdent.

    6. Quel est l'intrt pour le programmateur d'utiliser l'acquisition du code de la touche actionne par interruption ?

    V. Etude de la conversion analogique numrique de la tension image du

    courant panneau (fonction FS1-1)L'acquisition de la valeur numrique du courant dlivr par le panneau solaire est ralise par le convertisseur analogique-numrique du PIC18F452 (Voir Squence 4 A). La tension image de ce courant est obtenue par les deux rsistances R17 et R18 (0,1) montes en parallle. Elle est amplifie par U15:A et filtre avant d'tre applique sur l'entre AN0 du PIC18F452 (Voir schma constructeur pages 5 et 6). Le convertisseur A/N utilise la tension d'alimentation (VDD) du PIC18F452 comme tension de rfrence. On suppose que le programmateur du PIC18F452 de la carte constructeur a choisi le mode justification gauche pour obtenir un rsultat sur 8 bits dans le registre ADRESH.

    Panneau Solaire Automatis ELECTRONIQUE Squence 4B Page 12/15

  • 1. A partir de la fiche du PIC18F452, du schma constructeur et des explications prcdentes, dterminez la (les) combinaison(s) possible(s) des bits PCFG (A/D Port Configuration Control bit) du registre ADCON1.

    2. A partir de la fiche du PIC18F452 et des explications prcdentes, dterminez la valeur du bit ADFM (A/D Format Select bit) du registre ADCON1 pour obtenir un rsultat de conversion sur 8 bits.

    3. A partir de la fiche du PIC18F452 et des explications prcdentes, dterminez la combinaison des bits CHS (Analog Channel Select bit) du registre ADCON0 pour slectionner l'entre analogique utile pour la mesure du courant.

    Maintenant sous Proteus, vous allez simuler un programme d'acquisition de la valeur numrique du courant panneau l'aide d'un schma adapt pour cette simulation.

    Sous Proteus : ouvrir le fichier Simulation carte constructeur_conversion.dsn

    Une source de tension (I_PAN) reproduit une variation du courant du panneau et la valeur dcimale est affiche sur trois digits aprs conversion analogique-numrique.

    Sous Flowcode V3: ouvrir le fichier simul_conversion_eleve.fcf

    La macro CAN_INIT crite en langage C permet l'initialisation du convertisseur par l'criture dans les registres ADCON0 et ADCON1:

    configuration des lignes de port concernes (PCFG3:PCFG0) slection de la voie analogique pour la conversion (CHS2:CHS0) choix de la justification (ADFM) choix de l'horloge de conversion (ADCS2:ADCS0) validation du convertisseur (ADON)

    le bit GO/DONE ne doit pas tre manipul pendant l'initialisation en mme temps que le bit ADON !

    4. Dans la macro CAN_INIT, modifiez les valeurs hexadcimales charges dans les registres ADCON0 et ADCON1 pour initialiser le convertisseur comme souhait (voir questions prcdentes).

    La macro CONV_COURANT permet de lancer une conversion et de lire le rsultat dans le registre ADRESH pour le sauvegarder dans la variable COURANT:

    //Conversion AN de la valeur du courant{char cnt;

    cnt=0;while (cnt

  • 5. Expliquez les trois dernires instructions de cette macro.

    Vous crez le fichier objet (.hex) de votre solution par la commande Puce_Compilez vers C... suivie de Puce_Compilez vers ASM...

    Sous Proteus, vous ditez les proprits du PIC18F452 pour slectionner votre programme objet (.hex) par Program File:

    6. Vous lancez ensuite la simulation interactive pour vrifier que l'volution de la tension applique sur AN0 produit bien l'affichage de la valeur dcimale obtenue par conversion analogique numrique. Quelle est la valeur maximale affiche ? Comment justifiez-vous cette valeur ?

    VI.Etude de l'acquisition de la position du panneau solaire (fonction FS1-1)

    L'acquisition de la position du panneau solaire est ralise partir des deux codeurs incrmentaux coupls aux moteurs lvation et rotation (Voir le schma de cblage constructeur). Ces codeurs dlivrent des impulsions pendant la rotation des moteurs qui fonctionnent l'un aprs l'autre.

    Intervenant en premier, le moteur lvation permet l'inclinaison optimale du panneau par rapport la date et l'heure fournies par l'horloge temps rel (FS1-2) et la situation gographique du vhicule (choix de la zone dcide par l'utilisateur partir du clavier). Ensuite, le moteur de rotation permet la recherche de l'orientation optimale du panneau par-rapport l'ensoleillement en liaison avec la mesure du courant dlivr par les cellules photovoltaques. C'est le Timer0 du PIC18F452 qui intervient dans l'acquisition de la position du panneau en rotation pendant cette phase de recherche. Comme les impulsions dlivres par le codeur incrmental du moteur de rotation sont appliques sur l'entre RA4/TOCKI du PIC18F452, le Timer0 doit fonctionner en mode compteur (Counter mode). Ds le dmarrage du moteur de rotation, le compteur interne s'incrmente dfinissant ainsi la position du panneau en rotation.

    Dans cette tude, on utilise le Timer0 en mode 8 bits, sans pr division et front descendant actif sur l'entre RA4/TOCKI.

    1. A partir de la fiche du PIC18F452 et de la squence 4A, dterminez la valeur des bits du registre T0CON pour configurer et activer le Timer0.

    Vous allez simuler un programme d'acquisition de la position du panneau en rotation l'aide d'un schma adapt pour cette simulation.

    Sous Proteus : ouvrir le fichier Simulation carte constructeur_position.dsn

    Un gnrateur numrique (CAP2) reproduit sur l'entre RA4/TOCKI le signal d'horloge dlivr par le codeur incrmental du moteur de rotation du panneau. Le compteur du Timer0 s'incrmente directement sur les fronts descendants de ce signal et la valeur dcimale obtenue est affiche sur trois digits.

    Sous Flowcode V3: ouvrir le fichier simul_position_eleve.fcf

    Panneau Solaire Automatis ELECTRONIQUE Squence 4B Page 14/15

  • La macro TIMER0_INIT crite en langage C permet l'initialisation du Timer0 par l'criture dans les registres T0CON et TMR0L:

    validation du timer0: bit TMR0ON choix du mode 8 bits: bit T08BIT slection du signal d'horloge externe (Counter mode): bit T0CS slection d'un front descendant sur l'entre TOCKI: bit T0SE pas de pr division de frquence: bit PSA chargement du registre TMR0L avec une valeur initiale nulle.

    2. Dans la macro TIMER0_INIT, crivez les valeurs hexadcimales charger dans les registres T0CON et TMR0L pour initialiser le Timer0 comme souhait.

    La macro LECTURE_TIMER0 permet de lire le rsultat du comptage dans le registre TMR0L pour le sauvegarder dans la variable COMPTEUR suivant l'algorithme suivant:

    Procdure LECTURE_TIMER0

    dbut mettre la valeur du compteur dans la variable COMPTEUR ;

    fin de la procdure;

    3. Traduisez cet algorithme en langage C pour complter la macro LECTURE_TIMER0.

    Vous crez le fichier objet (.hex) de votre solution par la commande Puce_Compilez vers C... suivie de Puce_Compilez vers ASM...

    Sous Proteus, vous ditez les proprits du PIC18F452 pour slectionner votre programme objet (.hex) par Program File:

    4. Vous lancez ensuite la simulation interactive pour vrifier que l'application du signal d'horloge sur

    l'entre TOCKI produit bien l'affichage de la valeur dcimale obtenue par le compteur du Timer0. Quelle est la valeur maximale affiche ? Comment justifiez-vous cette valeur ?

    5. Reprenez la macro TIMER0_INIT pour valider le pr diviseur avec un rapport de 1:16. ditez les proprits du PIC18F452 pour slectionner votre nouveau programme objet. Que constatez-vous maintenant pendant la simulation ? Comment l'expliquez-vous ?

    Panneau Solaire Automatis ELECTRONIQUE Squence 4B Page 15/15

    CARTE CONSTRUCTEUR DU BOITIER DE COMMANDE

Recommended

View more >