Je veux dessiner un cercle en utilisant 2 moteurs pas à pas (42H48) et 2 pilotes (TB6560).Dessiner un cercle à l'aide de 2 moteurs pas à pas (Arduino)
Le matériel sont comme ceci:
(y-axis motor) | | --—--- |-------- (x-axis motor) | |
Maintenant, je ne peux contrôler ces moteurs à dessiner comme forme de diamant.
// 1
digitalWrite(xAxisMotorDirection, HIGH);
digitalWrite(yAxisMotorDirection , HIGH);
for(i=0; i<12000; i++)
{
digitalWrite(xAxisMotorPulse, HIGH);
digitalWrite(yAxisMotorPulse , HIGH);
delay(1);
digitalWrite(xAxisMotorPulse , LOW);
digitalWrite(yAxisMotorPulse , LOW);
delay(1);
}
// 2
digitalWrite(xAxisMotorDirection, HIGH);
digitalWrite(yAxisMotorDirection , LOW);
for(i=0; i<12000; i++)
{
digitalWrite(xAxisMotorPulse, HIGH);
digitalWrite(yAxisMotorPulse , HIGH);
delay(1);
digitalWrite(xAxisMotorPulse , LOW);
digitalWrite(yAxisMotorPulse , LOW);
delay(1);
}
// 3
digitalWrite(xAxisMotorDirection, LOW);
digitalWrite(yAxisMotorDirection , LOW);
for(i=0; i<12000; i++)
{
digitalWrite(xAxisMotorPulse, HIGH);
digitalWrite(yAxisMotorPulse , HIGH);
delay(1);
digitalWrite(xAxisMotorPulse , LOW);
digitalWrite(yAxisMotorPulse , LOW);
delay(1);
}
// 4
digitalWrite(xAxisMotorDirection, LOW);
digitalWrite(yAxisMotorDirection , HIGH);
for(i=0; i<12000; i++)
{
digitalWrite(xAxisMotorPulse, HIGH);
digitalWrite(yAxisMotorPulse , HIGH);
delay(1);
digitalWrite(xAxisMotorPulse , LOW);
digitalWrite(yAxisMotorPulse , LOW);
delay(1);
}
Toute bonne approche pour dessiner un cercle en utilisant des impulsions?
Je ai googlé "algorithme de bresenham", mais je ne sais pas comment implémenter cet algorithme en utilisant impulsion.
sry combien de pas vos moteurs ont-ils? –
1.8 degrés angle de pas – Vfire