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