摘要:本节介绍用简单的方式,让步进电机转起来。其目的之一是对电机转动有直观的感受,二是熟悉整个开发流程。
本系列教程必要的51单片机基础包括IO口操作、中断、定时器三个部分,相关基础教程网上很多,可以自行学习
一、软件清单
需要用到的软件有keil5编译软件、STC程序烧录软件,此处提供好心网友分享的百度网盘链接
①KEIL5(图1)
链接:https://pan.baidu.com/s/1u5SnDiWQLSa5UmI1_giiPA
提取码:yu7f
②STC-ISP(图2)
链接:https://pan.baidu.com/s/18f21VF0dxCDA609StxUD8A
提取码:xupk
二、控制原理
根据TB6600驱动器原理,向PUL口发送脉冲,每发送一个脉冲,电机就转一步。通过单片机延时的方式,切换PUL口电平产生脉冲,从而控制电机转动。
三、程序代码
//毫秒延时函数
void delay(unsigned int z)
{unsigned int x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);
}void main()
{ while(1){//每20ms产生一次脉冲,电机走一步PUL=1;delay(10);PUL=0;delay(10);}
}
电路连接请见第一节文章内容,烧录hex文件后,单片机上电,电机会匀速的转动,至此一个简单的电机驱动程序完成,通过调整delay延时大小,可以调整电机的转速。
四、总结
此种方式控制电机转动代码简单,适用于测试时使用,缺点是电机的速度调整不定量,下一节将处理电机速度定量计算
五、附件
完整代码工程文件请见微信小程序: