目录
第一章 绪论………………………………………………..2 1.1 设计任务……………………………………..........2
1.2 总体方案 …………………………………… …..2 第二章 元器件的介绍……………………………………..2 2.1 2.2 2.3 2.4
步进电机…………………………………………..2 89C51………………………………………………3 ULN2803芯片……………………………………..3 数码管…………………………………….………..4
第三章 步进电机控制系统硬件电路设计……………..…5 3.1 3.2 3.3 3.4 3.5
控制电路…………………………………………...5 最小系统…………………………………….……..6 驱动电路……………………………………………7 显示电路…………………………………….………8 总体电路……………………………………………9
第四章 软件的设计………………………………………...10 4.1 方案论证……………………………………………10 4.2 主程序设计………………………………………...10 4.3 定时中断设计………………………..…….………11 4.4 外部中断设计………………………………………12 4.5 整体程序 ………………………………………..14 第五章 仿真与调试 ……………………………………….18 第六章 总结 ………………………………………….22 附录 参考文献 ………………………………………. 24
1
第一章 绪论
1.1设计任务
1 完成单片机与功率驱动电路及小功率步进电机的连接; 2 控制步进电机的转动方向、转动速度及转过指定的角度; 3 通过按键改变电机的转向、转速等参数。
1.2 总体方案
单片机控制步进电机,就是利用单片机发出脉冲信号,经过驱动单元驱动步进电机工作,同时可以利用外围电路控制步进电机的状态,显示其工作状态。
本设计采用AT89C51,编程实现P1端四个口循环输出脉冲,用2803放大信号,供给四相电机。另外,用按键和开关控制P3定时中断,使其加速、减速、启动、停止和换向。P0口和P2口输出信号,经74LS164驱动数码管,显示转向和速度等级。
第二章 元器件的介绍
2.1 步进电机
步进电机是数字控制电机,工作原理是将脉冲信号转化成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合单片机控
2
制。这样,脉冲的数量和频率分别控制了电机的转角和转速,通电顺序控制了电机的转向。
当某一相绕组通电时,对应的磁极产生磁场,并与转子形成磁路,这时,如果定子和转子的小齿没有对齐,在磁场的作用下,由于磁通具有力图走磁阻最小路径的特点,则转子将转动一定的角度,使转子与定子的齿相互对齐,由此可见,错齿是促使电机旋转的原因。 本设计采用20BY-0型步进电机,四相单四拍,即按A-B-C-D-A顺序供电。步距角为1.5度。
2.2 8951单片机
AT89C51是一种低功耗/低电压/高性能的8位单片机,其输出引脚指令系统都与MCS-51兼容;片内的Flash ROM允许在系统内改编程序或用常规的非易失控型编程器来编程,内部除CPU外,还包括256字节RAM,四个8位并行I/O口,5个中断源,2个中断优先系统,2个16位可编程定时计数器。89C51功能强、灵活性高且价格合理,完全可以满足本系统设计需要。
2.3 ULN2803芯片
进行信号放大。ULN2803内部集成了8组达林顿管,驱动负载电流
3
为500mA,驱动电压50V. 八路NPN达林顿连接晶体管阵系列特别适用于低逻辑电平。本设计中,P0口四个端口输出脉冲接到ULN2803芯片进行放大,再供给电机。.
2.4 数码管
4
第三章 硬件系统设计
本设计的硬件电路包括控制电路,最小系统,驱动电路,显示电路四大部分。
3.1 控制电路
根据系统的控制要求,控制输入部分设置了启动/停止控制,换向控制,加速控制和减速控制按钮,分别是K1,K2,S2,S3。如图2所示。通过K1,K2状态变化来实现电机的启动和换向程序,内部程序检测P1.0和P1.1的状态来调用相应的启动和换向程序,发现系统的电机的启动和正反转控制。
根据步进电机的工作原理可以知道,步进电机转速的控制主要是通过控制通入电机的脉冲频率,从而控制电机的转速。对单片机而言,主要的方法有:软件延时和定时中断。在此电路中电机的转速控制主要是通过定时器的中断来实现的,该电路控制电机加速度主要是通过S2,S3的断开和闭合,从而控制外部中断根部按键次数,改变速度值存储区中的数据(该数据为定时器的中断次数),这样就改变了步进电机的输出脉冲频率,从而改变了电机的转速
5