1、综合实践报告之第二次大作业 题目:步进电机控制设计 说明:在工业电气自动化工程中,步进电机是一种常用的控制设备,它以脉冲信号控制电机的转速,在数控机床、仪器仪表、计算机外围设备以及其它自动设备中有广泛的应用。 步进电机是指一步步走的电动机,所谓“步”指转动角度,每步都会使电机转过一个固定的角度。步进电机有不同的种类,但其控制方法均相同,均以脉冲信号进行驱动,很适合使用单片机来进行控制。 本次大作业要求设计一个步进电机的控制部分。 已知: 1. 采用2相制5线步进电机,其结构如下图所示,线圈中心抽头X1与X2连接在一起; 2. 步进电机采用1相激磁法,即在每一个瞬间
2、只有一个线圈导通,其它线圈休息; 3. 单片机与步进电机之间可采用ULN2003类的驱动IC; 要求: 1. 查找资料,设计出步进电机的硬件连接电路图; 2. 给出控制软件流程图; 3. 用汇编语言写出控制软件的代码。 提示:本作业对电机的转动方向不做要求,在实际应用中,改变线圈激磁的顺序可以改变步进电机的转动方向,每送一次激磁信号后应经过一小段时间延时,让步进电机有足够的时间建立激励磁场及转动。可以使用单片机的P0.0~P0.3端口输出控制信号,经驱动IC传至步进电机。 一. 电路图设计说明 此控制电路选用AT89S51型单片机作为驱动时序的输出控制器,其
3、P0.1-P0.3输出作为两相四线步进电机的时序信号,经过驱动芯片ULN2003放大后输入到两相四线步进电机的输入端口;单片机P1.0-P1.2作为控制指令的输入按键K1-K3的输入端口,K1为电机正转按键,K2为电机正转按键,K3为电机停止按键,这三个按键均为高电平输入有效,按一下K1电机正转,按一下K2电机反转转,按一下K3电机停止。其硬件电路如图一: 二. 控制程序流程图 由于ULN2003是非们输出电路所以P0.0-P0.3端口输出低电平才是有效驱动电平,其控制程序流程图如图二: 三. 控制程序 K1 BIT P1.0
4、 K2 BIT P1.1 K3 BIT P1.2 K_OLD EQU 30H K_NEW EQU 31H ;--------------------------------------------------------- ORG 0000H JMP MAIN ORG 0030H ;--------------------------------------------------------- M
5、AIN: MOV SP,#60H MOV P1,#00H MOV P0,#0FFH MOV K_OLD,#04H MAIN1: MOV R2,#4 ;给R2赋值4循环移位次数 CALL K_SCAN ;键扫描 MOV A,K_NEW CJNE A,#00H,MAIN2 ;是否有按键按下
6、 MOV A, K_OLD ; JMP MAIN4 MAIN2: CALL DELAY ;延时示去抖动 CALL K_SCAN ;再次判断键是否按下 MOV A,K_NEW CJNE A,#00H,MAIN3 ; 再次判断键是否按下 MOV A, K_OLD JMP MAIN4 MAIN3:
7、 MOV K_OLD ,A MAIN4: JB ACC.0,LOOP1 ;K1按下既P1.2-P1.0输入为001电机正转指令 JB ACC.1,LOOP2 ;K2按下既P1.2-P1.0输入为010电机反转指令 JB ACC.2,LOOP3 ;K3按下既P1.2-P1.0输入为110电机停止指令 JMP MAIN1 ;电机正转控制时序 LOOP1:
8、 MOV A,#0FEH LOPP1A: MOV P0,A CALL DELAY ;延时 RLC A ;左移1位 DJNZ R2,LOPP1A JMP MAIN1 ;电机反转控制时序 LOOP2: MOV A,#0F7H LOPP2A: MOV P0,A CALL DELAY ;延时 RRC
9、 A ;右移1位 DJNZ R2,LOOP1A JMP MAIN1 ;电机停止控制时序 LOOP3: MOV A,#0FFH MOV P0,A ;P0.0-P0.3输出1111电机停止 JMP MAIN1 ;--------------------------------------------------------- ;K_SCAN: ; MOV
10、K_NEW,#00H ; MOV A,P1 ;将P1端口的输入状态读入 ; ANL A,#07H ;保留P1端口状态的低三位 ; MOV K_NEW,A ;将K1,K2,K3的输入状态存入K_NEW, ; RET ;--------------------------------------------------------- ;--------------------------------------------------------- ;延时子程序 DELAY: MOV R6,#200 DEL: MOV R7,#0FFH DJNZ R7,$ DJNZ R6,DEL RET ;---------------------------------------------------------
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818