怎么用51单片机控制直流减速电机缓慢启动,缓慢停止?

怎么用51单片机控制直流减速电机缓慢启动,缓慢停止?,第1张

这个还是比较容易实现的,定义个曲线表就可以了,比如按梯形曲线或S型曲线,定义一个升速和降速表,点击的控制分三个阶段:

1、启动

2、运行

3、刹车

所以需要修改run()这个程序,按这三部曲来做。

#include "reg52.h"

void delay(unsigned int t)

//Motor

sbit F1 = P1^0

sbit F2 = P1^1

sbit F3 = P1^2

sbit F4 = P1^3

unsigned char code FFW[8]={0xfe,0xfc,0xfd,0xf9,0xfb,0xf3,0xf7,0xf6}//反转

unsigned char code FFZ[8]={0xf6,0xf7,0xf3,0xfb,0xf9,0xfd,0xfc,0xfe}//正转

unsigned int K

/**********************************************************************

* *

* 步进电机驱动 *

* *

***********************************************************************/

void motor_ffw()

{

unsigned char i

unsigned int j

for (j=0j<12j++) //转1*n圈

{

for (i=0i<8i++) //一个周期转30度

{

if(K==1) P1 = FFW[i]&0x1f //取数据

if(K==2) P1 = FFZ[i]&0x1f

delay(15) //调节转速

}

}

}

/******************************************************

*

* 延时程序

*

********************************************************/

void delay(unsigned int t)

{

unsigned int k

while(t--)

{

for(k=0k<100k++)

{ }

}

}

main()

{

while(1)

{

K=1

motor_ffw()

K=2

motor_ffw()

}

}

给你个例子,这是正反转的可以用这个修改出加减速程序

求采纳为满意回答。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12134594.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存