Variation de vitesse moteur

christoflucas

New Member
Bonjour,

Je dispose d'une carte Picaxe Axe 020 équipée d'un microcontrolleur 28X2. J'ai essayé la commande speed pour faire varier la vitesse des moteurs mais cela n'a aucun effet.
Quelqu'un a -t-il rencontré ce problème ?
Merci d'avance

Christophe LUCAS
 

PieM

Senior Member
Bonjour,

La carte Axe020, vu son schéma , ne permet pas la variation de vitesse via une commande en pwm.
La commande speed agit sur un circuit PIC12F629 préprogrammé en driver pwm, qui n'existe pas sur cette carte.

Rev Ed a délibérément fait l'impasse sur la possibilité de commander directement le circuit L293D en pwm sur la plupart de ses cartes.
Alors que c'est très simple à faire ... en ne passant pas par une carte toute faite !

Voir Ici
 

westaust55

Moderator
La signalisation du programme que vous essayez d'employer peut être utile pour qu'autre comprenne exactement quelle commande vous essayez d'employer.

Le moteur est-il un type simple D.C ou un moteur pas à pas ?

Si vous aviez essayé la commande de PWM alors selon quoi encore vous whish votre programme pour l'exécuter en même temps peut être possible pour employer un retard avec la commande de PAUSE pour la commande de vitesse simple.

Un exemple a pu être :
Code:
SYMBOL Delay = b5

SYMBOL Slow = 100
SYMBOL Fast = 800
SYMBOL Offtime = 200


Init:
; make all necessary output low to stop the motors here 

Main:

	DO
		Delay = Slow 	 ; this part could first check an input or another variable to set a speed	
		HIGH <motor_pins1> ; substitute <motor+pins) with High and Low for the motor drive pins
		LOW  <motor_pins2> ; substitute <motor+pins) with High and Low for the motor drive pins	
		PAUSE Delay 	 ; the off time part
		LOW  <motor_pins1> ; substitute <motor+pins) with High and Low for the motor drive pins
		LOW  <motor_pins2> ; substitute <motor+pins) with High and Low for the motor drive pins	
		Delay Offtime	 ; the off time part		
	LOOP
Alors vous pouvez ajuster l'utilisation lente et rapide des paramètres r d'autres méthodes comme vous souhaitez.

Si votre programme a beaucoup d'autres actions pour exécuter également une telle méthode peut enfermer la vitesse variable/"frousse" et une méthode d'interruption basée par temporisateur peut être plus appropriée.
 
Top