Bonjour,
J'essaye de contrôler le moteur pas à pas donnée avec le Kit Arduino http://robocraft.ru/files/datasheet/28BYJ-48.pdf
Je gere le mouvement avec un polar en transformant l''exemple ProportionalControl de la libraire AccelStepper.
Je me demandais, si il y avait un moyen de suivre les changements de vitesse ou l'accélération que je dose en faisant bouger le potentiomètre.
Merci.
Je mets le programme ci dessous pour ce qui veulent faire tourner le moteur d'un tour exactement dans les deux sens.
#include <AccelStepper.h>
#define HALFSTEP 8
#define motorPin1 A8 // IN1 on the ULN2003 driver 1
#define motorPin2 A9 // IN2 on the ULN2003 driver 1
#define motorPin3 A10 // IN3 on the ULN2003 driver 1
#define motorPin4 A11 // IN4 on the ULN2003 driver 1
// Define a stepper and the pins it will use
//AccelStepper stepper; // Defaults to AccelStepper::FULL4WIRE (4 pins) on 2, 3, 4, 5
AccelStepper stepper(HALFSTEP, motorPin1, motorPin3, motorPin2, motorPin4);
// This defines the analog input pin for reading the control voltage
// Tested with a 10k linear pot between 5v and GND
#define ANALOG_IN A7
int analog_in, positionX;
void setup()
{
Serial.begin (250000);
stepper.setMaxSpeed(1200);
}
void loop()
{
// Read new position
analog_in = analogRead(ANALOG_IN);
// Quand le potar est au plus bas à -2048, va au dernier pas à 2048.
// Donc, il fait un tour complet, car il faut 4096 pas = 2048*2 pas pour faire un tour
positionX= map ( analog_in, 0, 1027, -2048, 2048);
stepper.moveTo(positionX);
stepper.setSpeed(1000);
stepper.runSpeedToPosition();
}