Bonjour,
Est-il possible d'entrer une tension variable pour sortir en PWM dont le rapport cyclique soit proportionnel à la tension et si oui ,en utilisant quelles commandes en BASIC? je n'ai pas suffisamment de connaissances en anglais pour traduire les Cdes du Manuel2.Merci d'avance.
Oui, bien sûr; les commandes PWMOUT et PWMDUTY sont à utiliser dans ce cas.
Pour PWMOUT, il est caractérisé par
PWMOUT pin, period, duty cycles
Pin étant la broche de sortie, period est la période d'un cycle, et duty cycles est le rapport cyclique.
Toutefois, le rapport cyclique n'est pas une valeur entre 0 et 100, mais dépend de la fréquence (la période) choisie initialement.
Il est possible de faire le calcul, mais le mieux est d'utiliser Programming Editor:
Après avoir défini le type de picaxe dans Menu Affichage /options;
Menu PICAXE
> Wizards > pwmout...
définir la fréquence du pwm en Hz (qui devrait être fixe dans votre cas)
puis Duty cycle : mettre 100 puis appuyer sur calculate.
Par exemple pour un 20M2, 5000 Hz de fréquence, va donner pour un rapport cyclique de 100%
pwmout B.1, 199, 800
à partir de ça, le rapport cylique variera entre 0 et 100% pour une valeur duty cycles variant entre 0 et 800.
PWMDUTY permet de changer uniquement ce rapport, à condition d'avoir initialisé la commande avec un PWMOUT.
Dans l'exemple,
PWMDUTY pin,400 donnera donc un rapport cyclique de 50%
Selon la fréquence choisie, la commande issue du calcul peut préciser qu'il faut utiliser un diviseur pwmdiv16 par exemple.
Dans tous les cas, suivre le résultat du calcul pour 100%.
La tension variable lue par un READADC, par exemple, donnera une valeur comprise entre 0 et 255 qu'il suffira de mettre à l'echelle en fonction du PWM souhaité.
Attention donc à ce qu'une modification de la période (donc la fréquence) changerait le rapport cyclique !