control de chaise electrique pwm avec 18x

guydorval

New Member
bonjour jai un manque de stabilité avec mon control,monté avec un 18 x ancien modele,voici le code,

Code:
           ;projet de control chaise electrique,pour 18x picaxee


start:

	readadc c.1,b0         ;lire la tension sur le shunt(a) pour limite amperage            
	readadc c.0,b1         ;lire la position du potentiometre de vitesse1 maneuvre,
	b6=b0+1                  
	b8=b1+1                  

	pwmout pwmdiv4,b.3,1023,w5       ;metre la pin b3 en sortie pwm pour control de vitesse/force 
                         	 ;permet de limiter l amperage par b0
	b2=b.2                   ;metre la pin b2 en sortie on off,sur( b.2)activation du contacteur marche avant
	b4=b.4                   ;meter la pin b4 en sortie on off,sur(b.4)activation du contacteur frein electric
	b5=b.5                   ;metre la pin b5 en sortie on off,sur(b.5)activation du contacteur marche arriere

 		
 
	if b1> 142 or b1 < 128 then  ;position off pwm    
	    high b4
	else 
	    w5=0
	    pause 200
	    low b4  			;metre b4 on qui desactive le frein electric
	end if

	if b1 > 142 then             ;marche avant,b2 contacteur avant 
    	    high b2  
	    w4 = b1-142 * 100 max 1000    ;fait en sorte que la position 150 soit zero, 
	    w5=w5+5 max w4
	else pause 10
	    low b2
	end if

	if b1 < 128  then            ;arriere ,b5 contact arriere
	    high b5
	    w4 = 255/b8*10 * 100  max 1000        ;fait en sorte que la position 100 soit zero,
	    w5=w5+2 max w4                        ;slow start
	else pause 10
	    low b5 
	end if

	goto start
 
Last edited by a moderator:

BESQUEUT

Senior Member
Bonjour,

1) Merci de mettre votre code entre balises
Code:
... [/ CODE] ce sera plus lisible.
2) Merci de préciser ce "manque de stabilité" :
Pour chaque action sur une commande, que se passe-t-il ?
Si quelque chose fonctionne correctement, le dire également.
Ce serait bien aussi de disposer d'un schéma du système...
 

PieM

Senior Member
Plusieurs remarques sur ce programme en plus de celles de Besqueut ...

Vous semblez mesurer l'intensité, mais nulle part, vous l'utilisez.

pwmout pwmdiv4,b.3,1023,w5 ;metre la pin b3 en sortie pwm pour control de vitesse/force
revoir la doc: la période ne peut être supérieur à 255.

b2=b.2 ;metre la pin b2 en sortie on off,sur( b.2)activation du contacteur marche avant
pas bien clair : mettre une sortie à 0 sur un 18X c'est ecrire low 2 b2 est une variable et B.2 est l'appelletion d'une broche sur un 18M2 ou X2

vous utilisez w4 dans le programme en même temps que la variable b8 qui fait partie de w4 !

Calcul bizarre :
w4 = 255/b8*10 * 100 max 1000 ;fait en sorte que la position 100 soit zero,

vous divisez 255 par b8 et multipliez tout par 1000 après ?
en outre cette équation ne sert à rien puisque 255/b8 ne peut être supérieur à 1 puisque w4 est limité à 1000 !

Je crois deviner (?) que l'incrémentation de la variable w5 dans votre programme est une rampe d'accélération jusqu'à la valeur de consigne ?
Si c'est le cas il faudrait structurer votre programme un peu différemment je pense:

détecter si vous demandez marche avant ou marche arrière sinon arrêt immédiat.

si la consigne est différente de la valeur vitesse actuelle --> sous programme accélération jusqu'à la consigne.

Mais dans tous les cas, bien définir ce que vous souhaitez faire du contrôle d'intensité!
 

guydorval

New Member
merci pour ces info,suite a mes probleme de stabilité,jai eliminer la lecture d amperage temporairement,pour ce qui est du fonctionnement tout marche ,mais en assention de vitesse parfois il y a des remise a zero ou tout comme,et ensuite la remonter ce fait comme il le faut,je vais corriger le 1023 pour 255,je fais des tests et je vous revient avec ca,
 
Top