1、 哈尔滨理工大学单片机课程设计说明书题目:二维步进电机控制班级:机电 101学号:1001040118姓名:李文轩目录一、任务设计-1二、系统运行原理- 3三、系统硬件原理- 7四、程序框图-7五、程序设计-121单片机原理及应用课程设计任务书1、设计题目:二维步进电机控制本设计要求实现二维步进电机的自动控制。1、功能:系统中横向、纵向各一台电机,均采用四相步进电机,电机运用双四拍运行方式。其驱动代码如下表所示。倒序输出,则电机反转。相拍一 二 三 四 一A 1 0 0 1 1B 1 1 0 0 1C 0 1 1 0 0D 0 0 1 1 0(注:“1”代表绕组通电, “0”代表绕组断电。 )
2、单片机接收控制命令,从而产生运行脉冲,驱动二维步进电机正转、反转和停止等。2、指标:电机转速为 12/S,相应的驱动代码频率为 400Hz.2、设计目的:掌握 80C51单片机应用系统的软、硬件设计方法。3、设计要求:1、设计 80C51单片机控制系统的硬件原理图,使其完成题目所规定的功能要求。22、完成各主要部分的程序框图。3、用汇编语言编写各部分的程序。4、设计时间:1 周。2013 年 2月 25日2013 年 3月 1日5、统一用 B5号纸装订成册装入档后答案袋,而后答辩。3二、系统运行原理二维步进电机控制系统的工作原理如图所下:外部命令TTLRS-252 控制 驱动信号 信号 脉冲
3、信号 二维步进电机控制系统工作原理图IPC是二维电机控制系统的主机,负责接受外部命令并发送到单片机,然后接收单片机回送的相同数据进行比较。如相同,表明单片机正常接收命令,如不相同,则在屏幕上显示出错信息。通信接口电路实现 IPC串行口信号与单片机 TTL信号之间的转换,实现 IPC与单片机之间的正常通信。单片机负责接收来自 IPC串行口的命令并将转换成脉冲信号,从并行口输出,去控制步进电机的运行。功率放大电路是将单片机并行口输出的控制脉冲信号进行电流电压放大,驱动步进地那几,使电机随着不同的控制脉冲信号作正转、反转和停止。步进电机执行动作,当脉冲按照一定顺序输入步进电机哥哥相时,它就实现不同运
4、动状态。IPC通信接口电路单片机功率放大电路步进电机43、系统硬件原理电路原理图如下51、单片机单片机采用 80C51,片内含 4KB的 ROM.由 P1口输出控制脉冲信号,分两路控制步进电机的一维。RXD(P3.00 为串行输入线,TXD(P3.1)为串行输出线。P3.2P3.5 设置为行程开关,作为二维步进电机的正反向最大行程的保护。晶振选用 12MHz。80C51 以中断方式执行 IPC的命令。2、与 IPC的接口电路IPC机与单片机通过串行口进行通信。由于 IPC配置的是标准的 RS-232串行接口,而单片机的输入、输出的是 TTL电平,因此必须进行电平转换。有 MC1488将 TTL
5、电平转换为 RS-232的标准电平,工作电压+12V/-12V;MC1489 则将 RS-232的标准电平转换成 TTL电平,工作电压为+5V。3、功率放大电路功率放大电路中采用 74HC05N1、N2 将单片机 P1口,P2 口输出的脉冲控制信号进行增强驱动能力光电隔离器。信号经光电隔之后,再经 DK63功率放大、驱动步进电机各相。4、步进电机系统中采用四相步进电机,点击运行双四拍运行方式。其中与p1.0p1.3对应的是横向步进电机的四个相(A1D1),与 p2.0p2.3对应的是纵向步电机的四个相(A2D2)。工作电压+27V。驱动代码如下所示。倒序输出,电机反向运转。步进电机的运行速度由
6、 p1口输出的控制脉冲频率决定,步进电机的速度为 12/S,则对应的 P16口输出驱动代码的频率为 400Hz.相拍一 二 三 四 一A 1 0 0 1 1B 1 1 0 0 1C 0 1 1 0 0D 0 0 1 1 0系统启动之后,单片机执行主程序,自动控制二维步进电机按预定速度运行,其电压波形如下:当需要改变运动状态时,由 IPC从键盘接受命令,传给单片机,单片机中断主程序的执行,接收 IPC的命令,实时控制步进电机按命令要求运动。命令执行结束后,重新返回主程序继续执行。74、程序框图程序框图如下:主程序 串行中断服务程序5、程序设计80C51的串行口工作方式为 0,允许接收,SCON
7、值为 00H,定时器 T0工作方式 0,TMOD 值为 00H,时间常数为TH0=0C8H,TL0=1EH。R0: 用于存放横向电机正转驱动代码;R1: 用于存放横向电机反转驱动代码;R2: 用于存放串行口输入内容;R3:用于存放纵向电机正转驱动代码;R4:用于存放纵向电机反转驱动代码;8程序清单如下:中断入口程序:ORG 0000HLJMP STARTORG 0003HLJMP XTINGORG 0013HLJMP YTINGORG 000BHLJMP INQPORG 0023HLJMP JS主程序:START: CLR EAMOV IP,#00HMOV SCON,#00HCLR ET0SETB RENSETB ESSETB EAWAIT: JB RI,JSAJMP WAIT