0
我想用2個步進電機(42H48)和2個驅動器(TB6560)繪製圓。使用2個步進電機(Arduino)繪製圓形
硬件是這樣的:現在
(y-axis motor) | | --—--- |-------- (x-axis motor) | |
,我只能控制這些馬達繪製像鑽石形狀。
// 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);
}
任何使用脈衝繪製圓的好方法?
我使用了「bresenham算法」,但我不知道如何使用脈衝來實現這個算法。
sry您的電機有多少步驟? –
1.8度步角 – Vfire