Bonjour,
Je teste un petit detecteur d'obstacle a IR.
J'utilise un PIC 16F88.
Mon probleme est tout bete et releve du calcul et non de l'electronique. Je n'ai plus de recul pour voir ou se situe mon erreur c'est pourquoi je fais appel a vous.
Je trouve toujours PWM Period < PWM Duty Cycle ce qui empeche theoriquement le CCP1 d'etre remis a 0.
Voici les donnees :
Fosc = 4 MHz => Tosc = 1/4e6 = 25e-8 s
Fc = 38 KHz => Tc (PWM Period) = 26e-6 s
D'apres le datasheet (et Bigonoff) :
PWM Period = (PR2 + 1) * 4 * Tosc * TMR2 prescaler
avec TMR2 prescaler = 1 on a :
PR2 = (26e-6 / (4*25e-8)) - 1 = 26 - 1 = 25
PWM Duty Cycle = (CCPR1L:CCP1CON<5:4>) * Tosc * TMR2 prescaler
Soit (CCPR1L:CCP1CON<5:4>) = PWM Duty Cycle / (Tosc * 1)
Or Rapport Cyclique = Rc = PWM Duty Cycle / PWM Period
Je veux Rc = 50%
Donc (CCPR1L:CCP1CON<5:4>) = (PWM Period * Rc) / Tosc
Soit (CCPR1L:CCP1CON<5:4>) = 26e-6 * 50% / 25e-8 = 52
Resultat 25 < 52 : Ca ne va pas
Est-ce que quelqu'un voit l'erreur ?
Merci de votre aide.
-----