资源描述:
《步进电机控制及其汇编程序.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.综合实践报告之第二次大作业题目:步进电机控制设计说明:在工业电气自动化工程中,步进电机是一种常用的控制设备,它以脉冲信号控制电机的转速,在数控机床、仪器仪表、计算机外围设备以及其它自动设备中有广泛的应用。步进电机是指一步步走的电动机,所谓“步”指转动角度,每步都会使电机转过一个固定的角度。步进电机有不同的种类,但其控制方法均相同,均以脉冲信号进行驱动,很适合使用单片机来进行控制。本次大作业要求设计一个步进电机的控制部分。已知:1.采用2相制5线步进电机,其结构如下图所示,线圈中心抽头X1与X2连接在一起;B相X1转子A相B相X2B相2相步进电机2.步进电机采用1相激磁法,即在每一个瞬
2、间只有一个线圈导通,其它线圈休息;3.单片机与步进电机之间可采用ULN2003类的驱动IC;要求:1.查找资料,设计出步进电机的硬件连接电路图;2.给出控制软件流程图;3.用汇编语言写出控制软件的代码。提示:本作业对电机的转动方向不做要求,在实际应用中,改变线圈激磁的顺序可以改变步进电机的转动方向,每送一次激磁信号后应经过一小段时间延时,让步进电机有足够的时间建立激励磁场及转动。可以使用单片机的P0.0~P0.3端口输出控制信号,经驱动IC传至步进电机。...一.电路图设计说明此控制电路选用AT89S51型单片机作为驱动时序的输出控制器,其P0.1-P0.3输出作为两相四线步进电机的时
3、序信号,经过驱动芯片ULN2003放大后输入到两相四线步进电机的输入端口;单片机P1.0-P1.2作为控制指令的输入按键K1-K3的输入端口,K1为电机正转按键,K2为电机正转按键,K3为电机停止按键,这三个按键均为高电平输入有效,按一下K1电机正转,按一下K2电机反转转,按一下K3电机停止。其硬件电路如图一:+5VGNDRRRK1K2K3P1.01P1.1240VDD+5VP1.2339P0.0IN1116OUT1A相38P0.1IN2215OUT237P0.2IN3314OUT3转子X136P0.3IN4413OUT4A相RST9AT89s51+5VUN2003B相X2GND89C
4、OM+12VX118X219VSS20图一二.控制程序流程图由于ULN2003是非们输出电路所以P0.0-P0.3端口输出低电平才...是有效驱动电平,其控制程序流程图如图二:初始化电机初始停止状态KEY-old=001按键扫描及其防抖程序键盘输入工作状态值存入KEY-old判断KEY-oldYES是否为001NO电机正转判断KEY-oldYES是否为010P0.0-P0.3输出1110并延时NO电机反转P0.0-P0.3输出判断KEY-oldYES1101并延时是否为100P0.0-P0.3输出电机停止0111并延时P0.0-P0.3输出1011并延时P0.0-P0.3输出NOP0.
5、0-P0.3输出1011并延时P0.0-P0.3输出1111并延时0111并延时P0.0-P0.3输出1101并延时P0.0-P0.3输出1110并延时返回按键扫描程序三.控制程序K1BITP1.0K2BITP1.1K3BITP1.2K_OLDEQU30HK_NEWEQU31H;---------------------------------------------------------ORG0000H...JMPMAINORG0030H;---------------------------------------------------------MAIN:MOVSP,#60H
6、MOVP1,#00HMOVP0,#0FFHMOVK_OLD,#04HMAIN1:MOVR2,#4;给R2赋值4循环移位次数CALLK_SCAN;键扫描MOVA,K_NEWCJNEA,#00H,MAIN2;是否有按键按下MOVA,K_OLD;JMPMAIN4MAIN2:CALLDELAY;延时示去抖动CALLK_SCAN;再次判断键是否按下MOVA,K_NEWCJNEA,#00H,MAIN3;再次判断键是否按下MOVA,K_OLDJMPMAIN4MAIN3:MOVK_OLD,AMAIN4:JBACC.0,LOOP1;K1按下既P1.2-P1.0输入为001电机正转指令JBACC.1,LO
7、OP2;K2按下既P1.2-P1.0输入为010电机反转指令JBACC.2,LOOP3;K3按下既P1.2-P1.0输入为110电机停止指令JMPMAIN1;电机正转控制时序LOOP1:MOVA,#0FEHLOPP1A:MOVP0,ACALLDELAY;延时RLCA;左移1位DJNZR2,LOPP1AJMPMAIN1...;电机反转控制时序LOOP2:MOVA,#0F7HLOPP2A:MOVP0,ACALLDELAY;延时RRCA;右移1位DJ