Aide codage PWM (08M, pont H avec relais)

Bob Champagne

New Member
Salut à tous. J'ai déjà posté mon problème sur le forum principal anglophone mais je n'ai toujours pas de solution, ausi excusez la redondance: http://www.picaxeforum.co.uk/showthread.php?t=18239
Je désire controler et la vitesse et la direction d'un moteur d'essuie-glaces 12 volts avec un Picaxe 08M relié à deux relais SPDT et un potentiomètre. J'ai déjà soudé les composantes sur le PCB. Lorsque je programme la partie direction seule, tout va bien, le moteur tourne d'un coté puis de l'autre. De même lorsque je programme la partie PWM seule, tout va bien aussi, la vitesse du moteur varie avec la position du POT. Mais lorsque je tente d'intégrer les deux parties de code dans le même programme, le moteur tourne, change de direction , mais le POT n'a aucun effet sur la vitesse du moteur. C'est la que j'ai besoin de votre aide. Vous pouvez commencer à rire maintenant, voici le programme:

SYMBOL ADCVALUE = W1 ;ASSIGN WORD 1
READADC10 4,ADCVALUE

MAIN:

HIGH 0
LOW 1
PWMOUT pwmdiv4,2, 249,ADCVALUE
PAUSE 5000
LOW 0
LOW 1
PWMOUT 2,OFF
PAUSE 2000
HIGH 1
LOW 0
PWMOUT pwmdiv4,2, 249,ADCVALUE
PAUSE 5000
LOW 0
LOW 1
PWMOUT 2,OFF
PAUSE 2000
GOTO MAIN

Comment coder pour avoir le résultat désiré. Merci d'avance, Bob.
 

Attachments

PieM

Senior Member
Bonjour,

Il n'y a aucune raison pour qu'il puisse changer de vitesse... puisque la valeur ACDVALUE ne change pas ! :)

Essayez ce programme (non testé) qui permettra de changer de vitesse pendant que le moteur tourne ...

SYMBOL ADCVALUE = W1 ;ASSIGN WORD 1

MAIN:
HIGH 0
LOW 1
GOSUB boucle

LOW 0
LOW 1
PWMOUT 2,OFF
PAUSE 2000

HIGH 1
LOW 0
GOSUB boucle

LOW 0
LOW 1
PWMOUT 2,OFF
PAUSE 2000
GOTO MAIN

Boucle: 'remplace la pause 5000
for b0= 0 to 9
READADC10 4,ADCVALUE
PWMOUT pwmdiv4,2, 249,ADCVALUE
pause 500
next
return
La commande pwmduty aurait été plus indiquée, mais elle n'existe pas avec le 08M

Un conseil, mettez une diode rapide de roue libre entre VMotor et le drain du MOSFET !

PS: Je n'ai pas ri ! ;)
 
Top