Une impulsion en sortie au démarrage du PIC ???
Répondre à la discussion
Affichage des résultats 1 à 15 sur 15

Une impulsion en sortie au démarrage du PIC ???



  1. #1
    AmigaOS

    Une impulsion en sortie au démarrage du PIC ???


    ------

    Bonjour

    J’ai créé un petit programme pour PIC12F683 qui doit mesurer par un CAN la tension donné par un potentiomètre et ensuite ajuster une PWM en fonction de celle-ci.
    Le problème est qu’à la mise sous tension du µC, il commence par envoyer une impulsion positive très courte. Même si la PWM est réglé à 0 à ce moment là.
    Comme je pense que ça doit venir de la configuration des registres je mets juste le début de mon code :

    Code:
    #include <xc.h>
    
    #pragma config IESO = OFF
    #pragma config BOREN = OFF
    #pragma config CPD = OFF
    #pragma config CP = OFF
    #pragma config MCLRE = ON
    #pragma config PWRTE = ON
    #pragma config WDTE = OFF
    #pragma config FOSC = INTOSCIO  // Osc interne + GP4 et GP5 libre
    
    #define A0 GPIObits.GP0
    #define A1 GPIObits.GP1
    #define A2 GPIObits.GP2
    #define A4 GPIObits.GP4 //Pas de GP3
    #define A5 GPIObits.GP5
    #define _XTAL_FREQ 4000000 		//la freq de ton oscillateur
    
    void main(void)
    {
    	// OSC :
    	OSCCONbits.IRCF = 0b111;	// 4Mhz
    	OSCCONbits.SCS = 0 ;     		// Configuration de l'horloge systeme
    	
    	TRISIO = 0b00011001 ;		// --543210
    	CMCON0 = 0b00000111 ;
    	A2 = 0 ;
    	
    	// CAN :
    	ADCON0 = 0b00000001 ;		// AN0=000 AN3=011
    	ANSEL  = 0b00011001 ;		// Fosc/8, AN0 et AN3 Analog
    	
    	// PWM :					// Tpwm = (PR2+1)*4*Tosc*TMR2	// a = (CCPR1L:CCR1CON<4:5>)*Tosc*TMR2
    	PR2 = 124 ;				// 500Hz
    	CCPR1L = 123 ;				
    	TRISIObits.TRISIO2 = 0 ;
    	T2CON = 0b00000110 ;		// Prescal=16 =1x, 4=01, 1=00
    	CCP1CON = 0b00001100 ;		// 00(2LSB)1100
    	
    	
    	
    	int i, j, k, att=0, cont=1 ;
    	unsigned int POT=0, AMP=0, PWM=0 ;
    	unsigned long int AmpMoy=0 ;
    	signed long int POT32=0, AMP32=0 ;
    	unsigned long int x0=0, x1024=1024 ;
    
    …………………………………
    …………………………………
    …………………………………
    …………………………………
    }
    Merci

    -----

  2. #2
    DAUDET78

    Re : Une impulsion en sortie au démarrage du PIC ???

    Au reset, la sortie PWM est en haute impédance . Il faut mettre une PullDown . Donne ton schéma de la sortie de puissance branchée sur le PWM
    J'aime pas le Grec

  3. #3
    AmigaOS

    Re : Une impulsion en sortie au démarrage du PIC ???

    Voila le schéma :
    Nom : chem.PNG
Affichages : 124
Taille : 7,3 Ko

  4. #4
    DAUDET78

    Re : Une impulsion en sortie au démarrage du PIC ???

    Tu n'as pas d'impulsion au Reset
    J'aime pas le Grec

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

    Re : Une impulsion en sortie au démarrage du PIC ???

    Pas au reset mais à la mise sous tension j'ai une impulsion sur le pin où sort la PWM.

  7. #6
    DAUDET78

    Re : Une impulsion en sortie au démarrage du PIC ???

    A la mise sous tension, tu as systématiquement un Reset .....
    Donc c'est ton soft qui est mal foutu .
    Met sous tension en gardant le Reset à 0V. Ton opto coupleur est Off.
    Lâche le Reset , et regarde ce qui se passe sur l'opto
    J'aime pas le Grec

  8. #7
    pilatomic

    Re : Une impulsion en sortie au démarrage du PIC ???

    C'est normal que tu ais une impulsion :
    Code:
    	TRISIO = 0b00011001 ;		// --543210
    	CMCON0 = 0b00000111 ;
    	A2 = 0 ;
    Tu mets configure ton pin en sortie, et APRES seulement tu le met à 0.
    Essaye plutôt ça :
    Code:
    	A2 = 0 ;
            TRISIO = 0b00011001 ;		// --543210
    	CMCON0 = 0b00000111 ;

  9. #8
    AmigaOS

    Re : Une impulsion en sortie au démarrage du PIC ???

    Bonjour

    J'ai enfin pu réparer le circuit où est mon PIC dessus. J'ai donc fait ce que vous m'avez demandé :

    Met sous tension en gardant le Reset à 0V. Ton opto coupleur est Off.
    Lâche le Reset , et regarde ce qui se passe sur l'opto
    Je l'ai fait, et à chaque fois que je lâche le reset j'ai ce pic de +Vdd.

    Essaye plutôt ça :
    A2 = 0 ;
    TRISIO = 0b00011001 ; // --543210
    CMCON0 = 0b00000111 ;
    J'ai essayé mais ça ne change toujours rien...

  10. #9
    mgduc

    Re : Une impulsion en sortie au démarrage du PIC ???

    J'ai une idée.

    Sur ta sortie PWM, place un transistor PNP. Ton signal PWM va être inverser et tu devra faire quelque changement dans ton soft, mais au moins tu n'aura plus cette impulsion car quand la sortie est à ON, le transistor est bloquer et quand la sortie est à OFF, le transistor est passent.

    à moins que cela te cause un inconvénient...

  11. #10
    terriblement

    Re : Une impulsion en sortie au démarrage du PIC ???

    Je vois pas en quoi le fait d'inverser un PIC corrigerait le problème.

    Place en première instruction ton TRIS à 0 (oui oui en output), tu règles ton PWM comme il faut, et ensuite seulement tu places le TRIS à 1.
    à voir si sur ce PIC, le module PWM "prends le dessus" par rapport à la configuration du TRIS.

  12. #11
    mgduc

    Re : Une impulsion en sortie au démarrage du PIC ???

    Citation Envoyé par terriblement Voir le message
    Je vois pas en quoi le fait d'inverser un PIC corrigerait le problème.
    La pin est à ON au démarrage du pic. Probablement qu'elle est ON par défaut. Donc en inversent, la sortit deviens à OFF...
    Dernière modification par mgduc ; 07/08/2013 à 07h33.

  13. #12
    pilatomic

    Re : Une impulsion en sortie au démarrage du PIC ???

    Essaye aussi éventuellement de désactiver le comparateur en premier lieu.
    Code:
    A2 = 0 ;
    CMCON0 = 0b00000111 ; 
    TRISIO = 0b00011001 ; // --543210
    Si ça ne marche toujours pas, il faut regarder tous les modules du PIC qui utilisent cette broche, et les désactiver.
    Si ça ne marche toujours pas, bah zut

  14. #13
    terriblement

    Re : Une impulsion en sortie au démarrage du PIC ???

    si j'ai bien compris ce qu'il entends par impulsion, c'est :

    0
    1
    0

    donc en inversant ca n'apporte rien je pense, à voir si c'est bien le phénomène qui apparait.

    Sur les autres broches tu as aussi cette impulsion ?

    il faudrait un schéma de ton montage.

    PS: oublie pas de tester avec TRIS, je viens de me rendre compte que j'ai inversé dans mon message,

    faut mettre TRIS à 1 pour le mettre en input, faire les réglages et ensuite seulement mettre À 0

  15. #14
    AmigaOS

    Re : Une impulsion en sortie au démarrage du PIC ???

    Ça y est j'ai trouvé l'erreur :
    Pourquoi moi aussi je commence par configurer : CCPR1L = 123 ; (ligne 35 de mon code)

    Sinon merci de vos réponses

  16. #15
    terriblement

    Re : Une impulsion en sortie au démarrage du PIC ???

    PS: avec la manipulation du TRIS, tu aurais évité ca, meme avec ta ligne 35.
    C'est une bonne méthode pour activer/désactiver le PWM, surtout si tu as besoin d'Avoir des périodes complètes

Discussions similaires

  1. Réponses: 11
    Dernier message: 29/07/2014, 22h26
  2. Comment relier une sortie d'AOP à une entrée PIC ?
    Par inviteba003289 dans le forum Électronique
    Réponses: 6
    Dernier message: 11/02/2011, 07h48
  3. Commander un relais avec une sortie PIC
    Par jorg1n dans le forum Électronique
    Réponses: 25
    Dernier message: 29/09/2009, 11h16
  4. Cherche composant pour chaque entree une impulsion en sortie
    Par Nonoby dans le forum Électronique
    Réponses: 19
    Dernier message: 28/06/2009, 22h39
  5. lire une sortie sur un pic
    Par invitee89d6f88 dans le forum Électronique
    Réponses: 6
    Dernier message: 02/12/2008, 20h29
Découvrez nos comparatifs produits sur l'informatique et les technologies.