实验七步进电机控制接口实验一、实验目的通过步进电机控制实验,学习并行接口电路及其控制程序的设计原理与方法。二、实验内容控制四相步进电机以双八拍方式运行,自己设置按钮来控制电机的启停。三、实验要求利用MFID实验平台和步进电机驱动模块进行硬件连接,利用MF2KI或MF2KP集成开发环境进行步进电机软件控制程序的设计、调试,直到使步进电机正常运行。四、实验原理步进电机驱动模块电路原理图如图所示。步进电机驱动模块电路原理图8255端口地址:300H~303H五、实验步骤1、模块电源L区JP8跳接,排线将插座J3和J4连接。2、将平台的电源开关拨到“内”的位置上3、MF2KP环境下输入汇编源程序,编译、连接、运行。4、观看实验现象。六、实验程序流程图七、分析实验源程序八、实验结果分析(1)步进电机控制原理步进电机是将电脉冲信号转换成角位移的一种机电式数模转换器。步进电机旋转的角位移与输入脉冲的个数据成正比;步进电机的转速与输入脉冲的频率成正比;步进电机的转动方向号输入脉冲对绕组加电的顺序有关。因此,步进电机旋转的角位移、转速以及方向均受输入脉冲的控制。1.分析(2)运行方式与方向的控制-----循环查表法步进电机的运行方式是指各相绕组循环轮流通电的方式。如四相步进电机有单四拍A→B→C→D、双四拍AB→BC→CD→DA、单双八拍AB→B→BC→C→CD→D→DA→A和双八拍AB→ABC→BC→BCD→CD→CDA→DA→DAB几种方式。ABCD循环查表法是将各绕组加电顺序的控制代码制成一张表------步进电机相序表,存放在内存区,再设置一个地址指针。相序表的建立,要考虑两个因素:一是应根据步进电机运行方式的要求;二是步进电机的各相绕组与数据线连接的对应关系。为了实现对各绕组按一定方式轮流加电,需要一个脉冲循环分配器。循环分配器可用硬件电路来实现(在此不介绍),也可用软件来实现。下面介绍采用循环查表法来设计脉冲循环分配器,ABCDAB—ABC—BC—BCD—CD—CDA—DA—DAB双八拍运行方式:DCBAPA7PA6PA5PA4PA3PA2PA1PA0相序代码0000010100010101000101000101010001010000010100010100000101010101ABABCBCBCDCDCDADADAB05H15H14H54H50H51H41H45HABCDQ0Q2Q4Q6D0D2D4D6PA0PA2PA4PA6825574LS373(3)步进电机运行速度的控制------软件延时法(4)步进电机的驱动步进电机在系统中是一种执行元件,都要带负载,因此需要功率驱动。在电子仪器和设备中,一般所需功率较小,常采用达林顿复合管作功率驱动。驱动原理如图所示。TIP122+12VA步进电机驱动原理图2.设计包括硬件电路与软件编程两部分。(1)硬件设计步进电机接口的硬件部分主要是提供输送相序代码的并行数据线(8根),以及保护电机绕组的器件。其原理如下图所示。(2)软件设计:按下SW1,电机启动;按下SW2,电机停止(可自行设计)datasegmentpstadb05h,15h,14h,54h,50h,51h,41h,45h;相序表messagedb'Presssw1tostart!';系统提示db0dh,0ahdb'Ifyouwanttoquit,presssw2!'db0dh,0ah,'$‘dataendscodesegmentassumecs:code,ds:databegin:movax,csmovds,axmovah,09h;显示提示信息movdx,segmessagemovds,dxmovdx,offsetmessageint21hmovdx,303h;初始化8255Amoval,10000001Boutdx,almoval,09h;置PC4=1,关闭74LS373outdx,alL:movdx,302h;查SW1按下?(PC1=0)inal,dxandal,02h;未按下,等待jnzLmovdx,303h;置PC4=0,打开74LS37moval,08houtdx,alreload:movsi,offsetpsta;设相序表指针movcx,8;设8拍循环次数lop:movdx,302h;查SW2按下?(PC0=0?)inal,dxandal,01hjzquit;已按下,退出moval,[si];未按下,送相序代码到PA口movdx,300houtdx,almovdi,0afhmovbx,0ffffh;延时delay:decbxjnzdelaydecdijnzdelayincsi;相序表指针+1deccx;循环次数-1jnzlop;未到8次,继续jmpreload;已到8次,重新赋值quit:movdx,303h;置PC4=1,关闭74LS373moval,09houtdx,almovah,4ch;程序退出int21hcodeendsendstart按以下要求改动程序(选做其中两个即可)(1)方向控制。(2)速度控制。(3)按下SW2,电机启动,按下SW1,电机停止。