单片机课程设计
键次数,改变速度值存储区中的数据(该数据为定时器的中断次数),这样就改变了步进电机的输出脉冲频率,从而改变了电机的转速。
图6
4.2 工作电源及复位电路 单片机的工作电压范围是2.7~5.5v,本设计的工作电压是5v,复位引脚的低电压引发外部复位,单片机就恢复到初始状态。 单片机的复位电路如图7 C330uR5500 图7 4.3 时钟电路
10
单片机课程设计
图8
4.4显示电路
4.5 驱动电路
图9
通过ULN2803构成驱动电路,如图10所示。通过单片机的P1.0~P1.3输出脉冲到ULN2803的1B~4B口,经信号放大后从1C~4C口分别输出到电机的A、B、C、D相。
11
单片机课程设计
图10
4.6 总体电路图
把各个部分的电路图组合成总电路图,如图11所示。 图11
第五章 软件设计
12
单片机课程设计
5.1方案论证
从该系统的设计 要求可知,该系统的输入量为速度和方向,速度应该有增减变化,通常用加减按钮控制速度。
该电机共有四相绕组,工作电压为+5V,可以个单片机共用一个电源。步进电机的四相绕组用P1口的P1.0~P1.3控制,由于P1口驱动能力不够,因而用一片2803增加驱动能力。用P0口控制第一数码管用于显示正反转,用P2口控制第二个数码管用于显示转速等级。数码管采用共阳。
通过分析可以看出,实现系统功能可以采用多种方法,由于随时有可能输入加速、加速信号和方向信号,因而采用中断方式效率最高,这样总共要完成4个部分的工作才能满足课题要求,即主程序部分、定时器中断部分、外部中断0和外部中断1部分,其中主程序的主要功能是系统初始参数的设置及启动开关的检测,若启动开关合上则系统开始工作,反之系统停止工作;定时器部分控制脉冲频率,它决定了步进电机转速的快慢;两个外部中断程序要做的工作都是为了完成改变速度这一功能。下面分析主程序与定时器中断程序及外部中断程序。 5.2主程序设计
13
单片机课程设计
主程序中要完成的工作主要有系统初始值的设置、系统状态的显示以及各种开关状态的检测判断等。其中系统初始状态的设置内容较多,该系统中,需要初始化定时器、外部中断;对P1口送初值以决定脉冲分配方式,速度值存储区送初值决定步进电机的启动速度,对方向值存储区给初值决定步进电机旋转方向等内容。若初始化P1=11H、速度和方向初始值均设为0,就意味着步进电机按四相单四拍运行,系统上电后在没有操作的情况下,步进电机不旋转,方向值显示“0”,速度值显示“0”,主程序流程图如图12所示。
14