28BYJ-48步进电机如何编程才能精确的转一圈

我现在采用如下程序(delay函数就不给出了)while(1){N=0;while(N<64){for(j=0;j<8;j++)//电机旋转一周,不是外面所看到的一周,是... 我现在采用如下程序(delay函数就不给出了)
while(1)
{
N=0;
while(N<64)
{
for(j=0;j<8;j++) //电机旋转一周,不是外面所看到的一周,是里面的传动轮转了一周
{
for(i=0;i<8;i++) //旋转45度
{
P1=MOTOR_STEP_TABLE1[i];
delay(60); //调节转速
}
}
N++;
}
delay(40000); //停顿一下
}
发现每次转一圈会比360°多那么2-5°(具体多少测不出来,但应该是个恒定的值)。请问这是怎么回事。
展开
 我来答
雪花微风
2013-08-24 · TA获得超过2723个赞
知道小有建树答主
回答量:150
采纳率:63%
帮助的人:35万
展开全部
歩矩角越大越难实现精确,在启动和停止时常会出现失步等误差,而你这个又是减速电机,经过机械减速部分后将会差生更多的误差了。。你的是一圈比360°还多那应该就是减速时未能精确减速,机械精度不够产生的,只是每次都差不多,不会是个恒定的值。。要想更精确的转到某个特定的角度,就应选用歩矩角更小的步进电机,而且不要带减速的。。采用多拍的控制方式还能将歩矩角降低哦。8拍->半步。八拍方式:A-AB-B-BC-C-CD-D-DA(0001、0011、0010、0110、0100、1100、1000、1001)。。。。。百科有讲。http://baike.baidu.com/view/13608.htm
2、拍数:完成一个磁场周期性变化所需脉冲数或

步进电机(图5)
导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运行方式即 A-AB-B-BC-C-CD-D-DA-A。
3、步距角:对应一个脉冲信号,电机转子转过的角位移用θ表示。θ=360度/(转子齿数*运行拍数),以常规二、四相,转子齿为50齿电机为例。四拍运行时步距角为θ=360度/(50*4)=1.8度(俗称整步),八拍运行时步距角为θ=360度/(50*8)=0.9度(俗称半步)。。。。
爱笑的掰玉米
推荐于2017-09-22 · TA获得超过9808个赞
知道小有建树答主
回答量:1853
采纳率:95%
帮助的人:95.3万
展开全部
歩矩角越大越难实现精确,在启动和停止时常会出现失步等误差,而这个又是减速电机,经过机械减速部分后将会差生更多的误差了。。一圈比360°还多那应该就是减速时未能精确减速,机械精度不够产生的,只是每次都差不多,不会是个恒定的值。。要想更精确的转到某个特定的角度,就应选用歩矩角更小的步进电机,而且不要带减速的。。采用多拍的控制方式还能将歩矩角降低哦。8拍->半步。八拍方式:A-AB-B-BC-C-CD-D-DA(0001、0011、0010、0110、0100、1100、1000、1001)。
1、拍数:完成一个磁场周期性变化所需脉冲数或步进电机,导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运行方式即 A-AB-B-BC-C-CD-D-DA-A。
2、步距角:对应一个脉冲信号,电机转子转过的角位移用θ表示。θ=360度/(转子齿数*运行拍数),以常规二、四相,转子齿为50齿电机为例。四拍运行时步距角为θ=360度/(50*4)=1.8度(俗称整步),八拍运行时步距角为θ=360度/(50*8)=0.9度(俗称半步)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式