Bonjour,
Je suis encore novice dans le monde d'Arduino et je doit réaliser un projet dans lequel je doit contrôler la vitesse d'un moteur et son sens de rotation.
Ayant fait quelque recherches, je suis tombé sur ce lien : https://dronebotworkshop.com/big-stepper-motors/ qui explique comment contrôler la vitesse et le sens de rotation d'un moteur pas à pas NEMA 23 à l'aide d'un driver. Pour ce faire il incorpore dans son circuit un potentiomètre (pour contrôler la vitesse) et un bouton (pour contrôler le sens de rotation du moteur).
Ma question est : Comment je pourrais faire pour contrôler la vitesse et le sens de rotation depuis l'algorithme sans passer par le potentiomètre et le bouton? C'est à dire que j'aimerai rentrer une certaine valeur depuis l'algorithme qui correspondrait à la vitesse de rotation du moteur et une autre valeur pour contrôler la fréquence de changement de rotation du moteur (sans utiliser de potentiomètre et de bouton).
Voilà mon code actuel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 // Defin pins int reverseSwitch = 2; // Push button for reverse int driverPUL = 7; // PUL- pin int driverDIR = 6; // DIR- pin int spd = A0; // Potentiometer // Variables int pd = 500; // Pulse Delay period boolean setdir = LOW; // Set Direction // Interrupt Handler void revmotor () { setdir = !setdir; } void setup( ) { pinMode (driverPUL, OUTPUT); pinMode (driverDIR, OUTPUT); attachInterrupt(digitalPinToInterrupt(reverseSwitch), revmotor, FALLING); } void loop() { pd = map((analogRead(spd)), 0, 1023, 2000, 50); digitalWrite(driverDIR, setdir); digitalWrite(driverPUL, HIGH); delayMicroseconds(pd); digitalWrite(driverPUL, LOW); delayMicroseconds(pd); }
Merci beaucoup pour toutes réponses de votre part, je vous en suit très reconnaissant.
(PS: j'ai essayer de cherche sur internet comment faire mais je n'y arrive vraiment pas, car je n'ai quasiment aucune notion en ce langage de programmation et quasiment aucune en Arduino....)
Partager