Programmation des PIC en ADC
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

Programmation des PIC en ADC



  1. #1
    invite42af45f5

    Programmation des PIC en ADC


    ------

    Bonjour,
    j'ai réalisé un programme de PICA6F877A qui va comparer deux tension sortant d'un LDR : le principe est le suivant : le moteur tourne jusqu'à ce que les deux tension des ldr soit égale, mais quand j'ai commencé dans le pratique je remarque qu'il est impossible d'avoir 2 tension égales dans l'analogique.

    le programme est si dessous :
    Code:
    void initialisation(void);
    void cmd_moteur(signed def1,signed def2 ,unsigned B1,unsigned B2,unsigned B3,unsigned B4);
    /***************************************************************************/
    					/*	main			*/
    /***************************************************************************/
    void main(void){
    		unsigned   Vlaz1,Vlaz2,V1,V2,B1,B2,B3,B4;
                    signed def1,def2;
                    char txt[20];
                    char txt1[20];
                    initialisation();
    while (1) {                          PORTB=0X00;
                                        Vlaz1 = Adc_Read(0)>>2 ;
                                        Vlaz2 = Adc_Read(1) >>2  ;
                                        V1=  Adc_Read(2) >>2  ;
                                        V2=  Adc_Read(3) >>2  ;
    
                                        B1=  Adc_Read(4) >>2  ;
                                        B2=  Adc_Read(5) >>2  ;
                                        B3=  Adc_Read(6) >>2  ;
                                        B4=  Adc_Read(7) >>2  ;
    
                                        def1=Vlaz1-Vlaz2;
                                        def2=V1-V2;
                   cmd_moteur(def1,def2 ,B1,B2,B3,B4);
    
         }
    	}
    /***************************************************************************/
    					/*	fonction()		*/
    /***************************************************************************/
    
    void cmd_moteur(signed def1,signed def2 ,unsigned B1,unsigned B2,unsigned B3,unsigned B4)
    {unsigned   Vlaz1,Vlaz2,V1,V2;
    
    
              while ( ((def1<0)&(B1<100)) || ((def1>0)&(B2<100)) || ((def2<0)&(B3<100)) || ((def2>0)&(B4<100)) ) {
                                        Vlaz1 = Adc_Read(0)>>2 ;
                                        Vlaz2 = Adc_Read(1) >>2  ;
                                        V1=  Adc_Read(2) >>2  ;
                                        V2=  Adc_Read(3) >>2  ;
    
                                        B1=  Adc_Read(4) >>2  ;
                                        B2=  Adc_Read(5) >>2  ;
                                        B3=  Adc_Read(6) >>2  ;
                                        B4=  Adc_Read(7) >>2  ;
    
                                        def1=Vlaz1-Vlaz2;
                                        def2=V1-V2;
                   if ((def1<0)&(B1<100))
    
                           PORTB=0X03;
    
                    else if ((def1>0)&(B2<100))                 //
    
    
                            PORTB=0X0C;
    
    
                   if ((def2<0)&(B3<100))
    
    
                            PORTB=0X30;
    
    
                    else if ((def2>0)&(B4<100))
    
                           PORTB=0XC0;
    
    
    
            }
             }
    
    void initialisation(void){
    
            LCD_Init(&PORTD);
         // PORTA=0XFF;
         // PORTE=0XFF;
          ADCON1=0X80;//0X82;
          TRISA=0XFF;
          TRISE=0XFF;
          TRISB =0X00;
          TRISD =0X00;
    
    }
    comment je peut faire pour qu'il y'a un intervalle de tolérance des tension

    merci d'avance

    -----

  2. #2
    invite0c083bae

    Re : Programmation des PIC en ADC

    Si j'ai bien compris ton sujet, pour effectuer une tolérance (on va dire 5% dans notre cas) sur une tension de 10V par exemple (je prends 10V pour l'exemple, le pic ça sera du 5V) et faut faire un calcul de "tension min" et "tension max". Par exemple :

    TensionMin = TensionDeBase * 0.95
    TensionMax = TensionDeBase * 1.05

    Et après faire une comparaison du genre :

    Si ma tension est comprise entre TensionMin et TensionMax (donc entre 9.5V et 10V) ...
    Alors je fais ... ce que je veux...

    Voila, je pense que c'est dans l'idée mais fais attention de bien te documenter sur le PIC, je suis pas archi sur que ça puisse fonctionner ton idée, je pense qu'il est plus judicieux de passer par un comparateur

  3. #3
    invite270352c6

    Re : Programmation des PIC en ADC

    Salut,
    bein dit moi déjà a tu vérifié la tension d'alimentation du pic il faut qu'elle soit 5v pour ne pas avoir une erreur de mesure de t valeurs analogique si tu alimente direct d'une simple alimentation ça risque de t'induire en erreur.
    tu peut utilisé un régulateur 7805 pour avoir un courant et une tension 5v plus ou moins stable
    mais le plus efficace c le régulateur TRACO POWER il y a un modèle par exemple tu peu prendre le THD 15-1211N
    voilà ça veut pas dire que même si tu n'a pas réaliser une alim spécial pour le pic que tu ne va pas en faire un régulateur entre le pic et une alimentation DC classique pour plus de précision quand il y a des conversion analogique

  4. #4
    paulfjujo

    Re : Programmation des PIC en ADC

    bonjour,

    Comment injectes-tu les tensions issues des LDR
    dans le PIC ?
    si j'ai bien capté que LDR = cellule photoresitante ?
    Quelle est sa valeur ohmique obscurite/allumée ?
    L'impedance de la source de l'ADC doit rester faible pour avoir une bonne convertion.
    Je pense qu'il faudrait inserer un ampli buffer adaptateur d'impedance
    alimentant un potar <=2K , permettant de pre-egaliser les
    niveaux analogiques avant traitement ADC PIC.

  5. A voir en vidéo sur Futura
  6. #5
    invite3a1051d7

    Re : Programmation des PIC en ADC

    bonjour,
    si la LDR est inclue dans un pont diviseur (ldr + pot ) sur l'alimentation du pic la valeur exact de la tension n'a pas d'importance puisque ce qui est mesurée c'est un rapport de tension mesurée.
    ensuite ce n'est plus qu'une question de comparaison de valeur puisque la valeur mesurée sera un nombre entre 0 et 1024 .
    cordialement
    Alain

  7. #6
    invite270352c6

    Re : Programmation des PIC en ADC

    j'aimerais bien voir un schéma Waldoman parce que là chacun de nous imagine un schéma vaut mieux donné ton schéma on attend

  8. #7
    invite42af45f5

    Re : Programmation des PIC en ADC

    voila c'est le montage de mon carte : les ldr son monté avec un resistance (montage diviseur)
    http://www.image-share.com/ijpg-678-52.html

  9. #8
    invite42af45f5

    Re : Programmation des PIC en ADC

    Citation Envoyé par aminedz15 Voir le message
    Salut,
    bein dit moi déjà a tu vérifié la tension d'alimentation du pic il faut qu'elle soit 5v pour ne pas avoir une erreur de mesure de t valeurs analogique si tu alimente direct d'une simple alimentation ça risque de t'induire en erreur.
    tu peut utilisé un régulateur 7805 pour avoir un courant et une tension 5v plus ou moins stable
    mais le plus efficace c le régulateur TRACO POWER il y a un modèle par exemple tu peu prendre le THD 15-1211N
    voilà ça veut pas dire que même si tu n'a pas réaliser une alim spécial pour le pic que tu ne va pas en faire un régulateur entre le pic et une alimentation DC classique pour plus de précision quand il y a des conversion analogique
    oui le tension d'alim de pic est sortie de l'ldr 5v
    mais je pense qui'il y'a d'erreur dans les ldr, ils ne sont pas bien precis

  10. #9
    invite42af45f5

    Re : Programmation des PIC en ADC

    Citation Envoyé par paulfjujo Voir le message
    bonjour,

    Comment injectes-tu les tensions issues des LDR
    dans le PIC ?
    si j'ai bien capté que LDR = cellule photoresitante ?
    Quelle est sa valeur ohmique obscurite/allumée ?
    L'impedance de la source de l'ADC doit rester faible pour avoir une bonne convertion.
    Je pense qu'il faudrait inserer un ampli buffer adaptateur d'impedance
    alimentant un potar <=2K , permettant de pre-egaliser les
    niveaux analogiques avant traitement ADC PIC.
    la résistance de ldr est 1M veuiller jeter un coup d'oeil sur le montage si dessus
    merci

  11. #10
    invite270352c6

    Re : Programmation des PIC en ADC

    moi je dirais toujours sois l'alimentation de ton pic et je rajoute ce que tu a dit sois les LDR pour vérifier si tout va bien je te conseille de prendre le pic avec cette alim que tu a fait et mettre et injecté a l'entrée analogique une tension ke tu varie de 0-5v c facile à faire sur lab d'essai si tu a un simple afficheur LCD ou bien un petit RS si tu a ça tout près de toi mais commence par les LDR genre vérifie leurs résistances sur commence bein pas le noirs total tu recouvre la face du capteur et mesure et puis sous une lampe tu re-mesure pour chaque LDR si c pas les même valeurs de résistance bein sois réétalone t LDR ou bien achète toi des neufs
    PS: dit moi tu a vue le datasheet de t LDR?????

Discussions similaires

  1. programmation des pic
    Par invite6cb6771b dans le forum Électronique
    Réponses: 1
    Dernier message: 20/05/2009, 07h26
  2. langague de programmation des pic
    Par invitec34be199 dans le forum Électronique
    Réponses: 1
    Dernier message: 23/03/2009, 01h28
  3. programmation des pic en c
    Par invite88831b64 dans le forum Électronique
    Réponses: 11
    Dernier message: 05/05/2008, 17h43
  4. Aide à la programmation des PIC
    Par invite3a1051d7 dans le forum Électronique
    Réponses: 0
    Dernier message: 06/07/2005, 18h36
  5. Programmation des PIC
    Par invited82c8d16 dans le forum Électronique
    Réponses: 0
    Dernier message: 10/05/2005, 01h12
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...