资源描述:
《6《单片机与控制技术》之综合实验:步进电机控制》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、步进电机控制综合实验一一一、一、、、实验目的实验目的掌握数/摸转换电路的应用、掌握8279数码显示电路的应用、掌握步进电机的工作原理和控制方法锻炼和培养由各个子模块功能单元构筑完整的微机控制系统的能力,掌握单片机控制系统的设计方法。二二二、二、、、设计任务设计任务任务1:::用数码管来指示电位器所在的位置:,用电位器来控制步进电机的转动:当电位器正向旋转时,步进电机正转;当电位器反向旋转时,步进电机反转;当电位器不动时,步进电机停转;而且,步进电机转动的角度与电位器旋转的角度成线性关系。任务2:::用电位器来控制步进电机的转速:,步进电机的转速与电位器给定的电压最大值成线性关系,并用
2、数码管来指示转速的大小。三三三、三、、、实验硬件设备实验硬件设备1、CPU挂箱、电压给定电位器、系统电源2、二相四拍步进电机模块、ADC0809数/摸转换模块、8279数码管显示模块四四四、四、、、实验系统组成与工作原理实验系统组成与工作原理1、、、系统的组成原理、系统的组成原理(文字说明)2、、、各单元电路硬件电路设计、各单元电路硬件电路设计(1)单片机最小系统(电路图、文字说明)(2)给定信号的采样(A/D转换电路)ADC0809是八位A/D转换器。每采集一次需100us。ADC0809START端为A/D转换启动信号,ALE端为通道选择地址的锁存信号。实验电路中将其相连,以便同
3、时锁存通道地址并开始A/D采样转换,故启动A/D转换只需如下两条指令:MOVDPTR,#PORTMOVX@DPTR,AA中为何内容并不重要,这是一次虚拟写。在中断方式下,A/D转换结束后会自动产生EOC信号,将其与8031CPU板上的INT0相连接。在中断处理程序中,使用如下指令即可读取A/D转换的结果:MOVDPTR,#PORTMOVXA,@DPTR(3)电位器位置显示电路设计(8279显示电路)(((4)))二相四拍步进电机驱动电路)二相四拍步进电机驱动电路1)步进电机的工作原理步进电机是纯粹的数字控制电动机。它将电脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,
4、因此非常适合于单片机控制。步进电机只能通过脉冲电源供电才能运行,它不能直接使用交流电源和直流电源;此外步进电机的角位移与输入脉冲严格成正比,因此,当它转一转后,没有累计误差,具有良好的跟随性。步进电机由定子和转子两部分组成。以二相步进电机为例,定子上有两组相对的磁极,每对磁极缠有同一绕组,形成一相。定子和转子上分布着大小、间距相同的多个小齿。当步进电机某一相通电形成磁场后,在电磁力的作用下,转子被强行推动到最大磁导率(或最小磁阻)的位置。本模块中使用的二相四拍步进电机共有50个齿,齿距角为7.2°;每转一个齿距角需走四步,因而步距角为1.8°。另外必须按照一定的次序给每个相通电,才能
5、正常完成四步一个齿距的动作。电机每相电流为0.2A,相电压为5V。通电次序如下图所示:2)其控制电路如下图所示:步进电机有四根引出线。红、绿为一组,红线接A’,绿线接A;黄、蓝为一组,黄线接B’,蓝线接B。实验时,CPU模块的P1.0接步进电机模块的A插孔、P1.1接B插孔、P1.2接A’插孔、P1.3接B’插孔。3、、、软件设计、软件设计(((流程图(流程图、、、内存分布、内存分布、、、子程序出入口说明、子程序出入口说明)))(1)主程序设计(如何控制正反转及走步步数!)?????(2)AD采样子程序(3)数码显示子程序NAMET15;0809实验MOVR1,APORTEQU0CF
6、A0HDISP:MOVA,R1;从R1中取转换结果CSEGAT0000HSWAPA;分离高四位和低四位LJMPSTARTANLA,#0FH;并依次存放在50H到51H中CSEGAT4100HMOV50H,ASTART:MOVDPTR,#PORT;启动通道0MOVA,R1MOVX@DPTR,AANLA,#0FHMOVR0,#0FFHMOV51H,A;8279显示子程序入口!!!LOOP1:DJNZR0,LOOP1;等待中断LOOP:MOVDPTR,#0CFE9H;写显示RAM命令字MOVXA,@DPTRMOVA,#90HMOVX@DPTR,AMOVCA,@A+PCMOVR0,#50H;
7、存放转换结果地址初值送R0RETMOVR1,#02HDB3FH,06H,5BH,4FH,66H,6DH,7DH,07HMOVDPTR,#0CFE8H;8279数据口地址DB7FH,6FH,77H,7CH,39H,5EH,79H,71HDL0:MOVA,@R0DEL1:MOVR6,#255;延时一段时间使显示更稳定ACALLTABLE;转换为显码DEL2:MOVR5,#255MOVX@DPTR,A;送显码输出DEL3:DJNZR5,DEL3INCR0DJNZ