微机控制步进电机调速系统.doc

上传人:scccc 文档编号:12640401 上传时间:2021-12-05 格式:DOC 页数:9 大小:295KB
返回 下载 相关 举报
微机控制步进电机调速系统.doc_第1页
第1页 / 共9页
微机控制步进电机调速系统.doc_第2页
第2页 / 共9页
微机控制步进电机调速系统.doc_第3页
第3页 / 共9页
亲,该文档总共9页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《微机控制步进电机调速系统.doc》由会员分享,可在线阅读,更多相关《微机控制步进电机调速系统.doc(9页珍藏版)》请在三一文库上搜索。

1、微型原理与接口技术课程综合性实验报告实验题目微机控制步进电机调速系统、实验目的1、了解计算机控制步进电机原理。2 、掌握步进电机正转反转设置方法。3、掌握步进电机调速工作原理及程序控制原理。二、设备与环境硬件:多媒体计算机、接口技术实验箱;软件:Windows 98操作系统、TPC2003A集成开发环境。三、实验内容1、 按图(a)连接线路,利用8255输出脉冲序列,开关K0K6控制步进电机转速,K7控制步进电机转向。8255 CS接288128FH PA(PA3接BABD PC(PC7接K0K7。2、编程:当K0K6中某一开关为“ 1”(向上拨)时步进电机启动,并且电机转动速 度大小不同。K

2、7向上打电机正转,向下打电机反转。FCO-0 PA3-41PA2-0 CO-:PA1PAO0CS一踽测叫占图(a)四、实验结果及分析(一)步进电机工作原理步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情 况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化 的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在, 加上步进电机只有周期性的误差而无累积误差等特点,使得在速度、位置等控制领域 用步进电机来控制变的非常的简单。步进电机驱动原理是通过对每相线圈中的电流的顺序切换来使电机作步进式旋转。驱动电路由脉冲信号来控制,所以调节脉冲信号

3、的频率便可改变步进电机的转速。如图(b)所示:本实验使用的步进电机用直流+ 5V电压,每相电流为0.16A,电机线圈由四相组成:即:©1( BA)©2 (BBRABC17 r(b 图驱动方式为二相激磁方式,F表所示。ED相顺*】* 2e 34> 40 、110010 11L02001131001各线圈通电顺序女口反时计方向回转正时针方向回转©3( BC表中首先向© 1线圈一© 2线圈输入驱动电流,接着© 2© 3, © 3© 4, © 4© 1, 又返回到© 1 

4、69; 2,按这种顺序切换,电机轴按顺时针方向旋转。实验可通过不同长度的延时来得到不同频率的步进电机输入脉冲,从而得到多种步进速度。(二)实验流程图( 幵始 1F舵航引甜化.A输:H萱仔止信息I rf控制信息徹 环右移一付蚩述时时间址Z(三)实验程序及分析DATA SEGMENTloport EQU 0c800h-0280hP55A EQU ioport+288HP55C EQU ioport+28AHP55CTL EQU ioport+28BHBUF DB 0;图(c);I/O 口基地址;8255A的A口输出;8255A的C口输入;8255A 的控制端口一个已定义的字变量BUF此时BUF=0

5、MES DB 'K0-K6 ARE SPEED C0NTY0L',0AH,0DHDB 'K6 IS THE LOWEST SPEED ',0AH,0DHDB 'K0 IS THE HIGHEST SPEED',0AH,0DH定义字符串MESDB 'K7 IS THE DIRECTION CONTROL',0AH,0DH,'$'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA;明确段与段寄存器的关系START:MOVAX,CSMOVDS,AXMOVAX,DATAMOVDS,AXM

6、OVDX,OFFSET MESMOVAH,09INT21H;在屏幕上显示字符串MES勺内容MOVDX,P55CTLMOVAL,8BHOUTDX,AL;8255 C INPUT, A OUTPUTMOVBUF,33HOUT1:MOVAL,BUFMOVDX,P55AOUTDX,ALPUSHDXMOVAH,06HMOVDL,0FFHINT16H;判断有无键按下,有键按下则ZF=0,无键按下则ZF=1POPDX;保护DXJEIN1;ZF=1则跳转到IN1,否则往下执行MOVAH,4CHINT21H;ZF=0则返回DO系统IN1:MOVDX,P55CINAL,DX;间接寻址,读开关状态,即从C 口读取数

7、值TESTAL,01H;判断K0是否按下,按下则ZF=0,否则ZF=1JNZKO;若ZF=0,则跳转到K0,否则往下执行TESTAL,02H;判断K1是否按下,按下则ZF=0,否则ZF=1JNZK1;若ZF=0,则跳转到K1,否则往下执行TESTAL,04H;判断K2是否按下,按下则ZF=0,否则ZF=1JNZK2;若ZF=0,则跳转到K2,否则往下执行TESTAL,08H;判断K3是否按下,按下则ZF=0,否则ZF=1JNZK3;若ZF=0,则跳转到K3,否则往下执行TESTAL,10H;判断K4是否按下,按下则ZF=0,否则ZF=1JNZK4;若ZF=0,则跳转到K4,否则往下执行TEST

8、AL,20H;判断K5是否按下,按下则ZF=0,否则ZF=1JNZK5;若ZF=0,则跳转到K5,否则往下执行TESTAL,40H;判断K6是否按下,按下则ZF=0,否则ZF=1JNZK6;若ZF=0,则跳转到K6,否则往下执行STOP:MOVDX,P55AMOVAX,0FFHJMPOUT1KO:MOVBX,50H;给BX赋值,即给定K0按下时电机的转速,数值越小,速度越大SAM:TESTAX,80H;判断K7是否按下,按下则ZF=0,否则ZF=1JZZX0;若ZF=1,则跳转到ZX0,即正转,否则往下执行JMPNX0;无条件跳转到NXQ即反转K1:MOVBX,60H;给定K1按下时电机的转速

9、JMPSAM;跳转到SAM判断电机正转还是反转K2:MOVBX,70H;给定K2按下时电机的转速JMPSAM;跳转到SAM判断电机正转还是反转K3:MOVBX,80H;给定K3按下时电机的转速K4:JMP SAMMOVBX,90H ;给定K4按下时电机的转速JMPSAM;跳转到SAM判断电机正转还是反转K5:MOVBX,0C0H ;给定K5按下时电机的转速JMPSAM;跳转到SAM判断电机正转还是反转K6:MOVBX,1FFFH ;给定K6按下时电机的转速JMPSAM;跳转到SAM判断电机正转还是反转ZXO:CALLDELAY;调用延时程序MOVAL,BUFRORAL,1;循环右移MOVBUF

10、,ALJMPOUT1NXO:CALLDELAY;调用延时程序MOVAL,BUFROLAL,1;循环左移MOVBUF,ALJMPOUT1DELAY PROC NEAR;延时子程序DELAY1:MOVCX,0FFFFHDELAY2:LOOPDELAY2DECBXJNZDELAY1RETJ返回调用处DELAY ENDPCODE ENDSEND START(四)实验中的问题本次综合实验的源程序已经基本写好,我们只是在此基础上进行调试和修改。首先,我 们要利用TPC-2003/集成开发环境中的硬件检测工具检测出我们所用实验箱的 I/O基地址,并 修改;然后,在利用原有源程序进行实验时,电机的转速不是很明

11、显,这就要求我们去修改 赋给BX的数值,以使电机转速明显,而且速度按 K0K6逐渐减小。由于步进电动机的运转是 由电脉冲信号控制的,步进电动机的角位移量或线位移量与脉冲数成正比,每给一个脉冲, 步进电机就转动一个角度(步距角)或前进 /倒退一步,所以我们希望清晰的看到电机的此 特性。因此我们将原来的程序中的BL改为BX并且给其赋更大的数值,如K6: MO出X 1FFFH 此时可以观测到电机的步进。(五)实验总结通过这次综合实验以及前面的两个小实验,我对微机原理与接口技术有了更深一步的理解,提高了自己的动手能力。在实验过程中,我会遇到各种问题,我觉得除了向老师和同学 请教外,我更应该学会自己解决问题。查阅各种相关书籍,上网找资料等,这些都锻炼了自 己分析问题、解决问题的能力。前面我们所学的都是课本上的理论知识,只有通过实验才能加深对知识的记忆和理解。 在以后的工作中,我们少不了动手的时候,如果在学校只是学到了一些理论知识,而没有提 高自己的实践能力,那么将来会吃亏的。我们只有将书本上的理论知识融合到实际中,才能 学懂学精。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1