我用单片机控制两相四线的步进电机,速度上不去,不知道代码对不对?

我控制86BYGH两相四线的步进电机,听说要加减速过程,然后大概我是这么写的,200脉冲加速,200脉冲减速,中间是匀速,但是为什么实际效果跟直接告诉运行一样?
现在主要问题就是电机速度最快只能2秒一转,我的电机是2细分之后800脉冲转一周。请大神告诉我偶的代码哪里有问题?
正确的加减速曲线怎么写?
步进电机应该怎么控制呢?
怎么才能将速度给提上去?
其中还有个定时器定时不准的问题。
代码中X代表总脉冲数
满意的话肯定追加

你这个我看不太懂,但步进电机要达到使用效果必须有很多条件的。

控制器方面要求,单片机最高脉冲频率一定是要越大越好。加减速有梯形和S型加速,一般PLC才是梯形的,单片机S型比较多,建议加速度增大减小试试。(注意:有的加速度的数值是反的)。

驱动器方面要求:细分正确,驱动器频率和控制器频率相同,(我之前改过驱动器的脉冲脉宽,发现同样的细分,电机速度慢成原来的1/10)
步进电机方面要求:扭力和速度。第一如果带负载电机速度和负载,加减速,惯量都有很大关系,以及供电电压,设定电流值(开关电源如果是3A的,步进电机是4A的,输出电流怎么也达不到4A),启动频率过高也会制约步进电机提速,建议先做模拟量调速,步进电机如果可以上速度就是参数设定问题追问

主要问题在于加速,我不知道单片机的S型加速用c语言是怎么编写的?其他你说的我都知道,就是想知道代码具体是什么样的形式实现的

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-21
用的晶体频率是多少?
程序进行加减速是可以实现的。但是这个程序还有些瑕疵
加减速不是匀加速匀减速运动,建议预先计算匀加速的时间然后查表。追问

请问匀加速的代码是怎么写的?跟我一样的吗?还是不停地改变定时器初值?频率就是STC8952的单片机,11.0592

第2个回答  2014-02-20
你的程序能实现加减速应该没错,问题是你查过这个电机的矩频曲线没有?步进电机最高转速跟设定电流值,驱动电压,绕组感量有很大关系。适当提高一下驱动电压看看追问

最高转速还有加速度跟那些因素有关,除了你说的设定电流值,驱动电压,绕组感量,还有有没有什么具体的公式?还有你一般采用什么方法来加减速的?代码跟我的类似吗?

相似回答