百度知道 - 信息提示
单片机如何控制带有驱动器的步进电机加减速
/*****************************************/
/*广州一丁自动化设备有限公司020-28969088 */
/*加减速 */
/*****************************************/
#include
sbit pwm=P1^0;
void delay_01(unsigned int j0 ) //0.01毫秒延时程序.J0等于50时两细分为200转/分钟
{
unsigned int j1;
for(j1=0;j1<j0;j1++)
;
}
void main (void)
{
unsigned int k,i,num;
delay_01(20000);
k=100;
num=10000;
while(1)
{
for(i=100;i>0;i--)//加速
{
pwm=0;
delay_01(k+i);
pwm=1;
delay_01(k+i);
}
for(i=0;i<num;i++)//匀速
{
pwm=0;
delay_01(k);
pwm=1;
delay_01(k);
}
for(i=0;i<100;i++)//减速
{
pwm=0;
delay_01(k);
pwm=1;
delay_01(k);
}
}
}
//k是基本速度,改它就能改快慢,num是匀速运动距离
如何通过单片机控制步进电机线性加减速
关于程序,固定一个适当的频率,按键触发启动定时器,然后在定时中断里取反一个IO端口做脉冲输出,再放入一个累加变量做计算,算脉冲数量,是取反两次输出一个完整的脉冲,在主程序中设定一个需要的脉冲数量来作为条件控制定时器的开启和关闭,然后循环等待条件满足需求。