​ ​ ​ ​ le signal pwm n'est pas en continue ???
Results 1 to 3 of 3

Thread: le signal pwm n'est pas en continue ???

  1. #1
    New Member
    Join Date
    Oct 2017
    Location
    Charenton le Pont
    Posts
    1

    Question le signal pwm n'est pas en continue ???

    Bonjour,

    je viens de recevoir mon câble et mon 08M2 ce matin. YOUPIIIIiiiiii

    je commence mes premiers pas allumer des led, créer du son ou communiquer en i2c... c'est cool!

    puis je me met à générer un signal pwm pour en fonction de la valeur d'un potentiomètre pour en ventillo de PC à 4pins (+12v; gnd; tacho; pwm)
    pour faire simple le pwm doit être à 25khz de 0v à 5v.

    voici mon prog:
    Code:
    symbol varA = w0
    
    start0:
    	pwmout C.2, 39, 0
    	do
    	  	readadc C.4, varA
    		debug
    	  	if varA <= 55 then
    	    	pwmduty C.2, 0
    	  	elseif varA > 55 AND varA <= 75 then
    	    	pwmduty C.2, 15
    	  	elseif varA > 75 AND varA <= 95 then
    	    	pwmduty C.2, 31
    	  	elseif varA > 95 AND varA <= 115 then
    	    	pwmduty C.2, 47
    	  	elseif varA > 115 AND varA <= 135 then
    	    	pwmduty C.2, 63
    	  	elseif varA > 135 AND varA <= 155 then
    	    	pwmduty C.2, 79
    	  	elseif varA > 155 AND varA <= 175 then
    	    	pwmduty C.2, 95
    	  	elseif varA > 175 AND varA <= 195 then
    	    	pwmduty C.2, 111
    	  	elseif varA > 195 AND varA <= 215 then
    	    	pwmduty C.2, 127
    	  	elseif varA > 215 AND varA <= 235 then
    	    	pwmduty C.2, 143
    	  	elseif varA > 235 AND varA <= 255 then
    	    	pwmduty C.2, 159
    	  	endif
    	loop
    	stop
    Ce code fonctionne mais en regardant le pwm sur oscilloscope je constate que le pwm donne les bonnes pulsations à 25khz pendant t1 = 5ms à 50ms puis le signal se met à 0v pendant t2 = 5ms à ?ms

    Ce que je ne comprends pas c'est :
    1. pourquoi le pwm n'est pas permanent?
    2. y a t'il une façon d'éviter cela?
    3. est ce que dans l'interface "blocky" il y a un bloc de commande "pwmduty"


    je précise tout de suite, je sais qu'un pwm (mli en fr) est une succession de 0 et 1 à une fréquence donné et avec un cycle de 0% à 100%. ma question porte sur la génération du pwm qui s’arrête alors que je ne le souhaite pas...

    je vous remercie

  2. #2
    Senior Member
    Join Date
    Jul 2010
    Location
    paris
    Posts
    1,450

    Default

    Bonjour,

    J'ai eu un problème identique avec un 14M2, il venait des entrées restées "en l'air", résolu en activant les pullup sur les pattes entrées inutilisées.
    Le problème peut venir du schéma et d'un reset intempestif, à vérifier en allumant une led à la mise sous tension, avant la boucle
    A quoi sert le debug ? le supprimer pour lever le doute
    Le paramètre CR ne peut varier que de 0 à 39x4= 156 (l'assistant donne159)

    J'ai pas vu de PWM en blockly , mais on peut écrire du code dans un bloc basic (ft avancées)

    MM

  3. #3
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,832

    Default

    Bonjour,
    Je partage l'avis de Michel: certainement un reset intempestif.

    Remarque: symbol VarA = w0 ne sert à rien car VarA est déjà défini comme étant b0
    A utiliser des symboles, autant qu'ils soient plus explicites:
    symbol Commande = b0
    symbol Vitesse = b1
    Et si la relation est linéaire entre 15 et 255, le programme se réduit à :

    Code:
    pwmout C.2,39, 0
    
    do
       If commande < 55 then
            vitesse = 0
       else 
            vitesse = commande * 36/50 -27 
    pwmduty C.2, vitesse
    loop
    Visiblement, pas de pwmduty en blocky ...
    Last edited by PieM; 05-10-2017 at 07:47.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •