《控制步进电机(共12页).doc》由会员分享,可在线阅读,更多相关《控制步进电机(共12页).doc(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上装订线 微型计算机原理综合实验题目: 步进电机控制 学 院 电子信息工程学院 学科门类 工科 专 业 电子科学与技术 学 号 姓 名 张少雄 指导教师 高 芳 2008 年 12 月 21 日步进电机控制摘 要:在本实验中,通过汇编语言对可编程IO口扩展芯片8255编程,控制其输出信号。8255的输出端连接驱动电路,使驱动电路按照程序设定好的方式导通,来控制步进电机的转动。并且在程序中设定,由键盘控制步进电机的转向。关键词:步进电机、微处理器、8255、控制、转向 。 目录一实验目的-2二 设计要求-2三、设计原理-3四硬件工作原理-4五程序框图-5六.总结与体会-5
2、参考文献-6 附录-7一实验目的1.1掌握8255的使用方法掌握8255可编程IO扩展芯片的编程方法,通过对工作方式的设定,使其能够对步进电机的驱动电路起到控制作用。 1.2掌握步进电机的工作原理了解步进电机的工作原理,熟悉型号为30BYJ011的步进电机的性能参数和四相八拍工作方式的特点,1.3 掌握模拟电路的基本知识通过对步进电机的驱动电路的设计,进一步掌握模拟电路在实际中的应用。 二设计要求21外设电路要求设计外设电路,使电路能够驱动步进电机的转动,符合步进电机的使用要求。本实验采用的步进电机型号为30BYJ011,工作方式为四相八拍,工作电压为DC12V 。22程序要求使用汇编语言编写
3、程序,使程序能够控制步进电机的转动,并且可以控制转动方向。 三、设计原理3.1工作过程利用 8255对四相步进电机进行控制。当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电) 四拍(A-B-C-D-A),双(双相绕组通电)四拍(AB-BC-CD-DA-AB),八拍(A-AB-B-BC-C-CD-D-DA-A)等。本实验中步进电机工作方式为四相八拍,其相
4、序表如下:12345678Vcc+A-B-C-D- 驱动电路由工作在饱和区的NPN三极管9014构成,8255的输出端控制9014的基极电压,从而控制其导通状态。步进电机的绕组和集电极10K电阻并联,来获取工作电压。通过编程对8255的输出进行控制,使输出按照相序表给驱动电路供电,则步进电机的输入也和相序表一致,这样步进电机就可以正向转动或反向转动。3.2 器件简介3.2.1 8255引脚图3.2.2 实验电机简介 本实验使用30BYJ011型四项八拍电机,电压为DC12V,其励磁线圈及励磁顺序如下所示:M 四硬件工作原理4.1需要的器件电阻10K欧4个,电阻10欧4个 ,三级管4个,导线若干
5、 4.2 硬件电路 4.2.1驱动电路图将8255输出的2.4V电压放大至12V,为步进电机供电。4.2.2实验线路框图如下A 1B 3C 2D 4 地 55555 5555 地PA0 APA1 BPA2 CPA3 D可编程I/O控制芯片(8255)驱动单元步进电机步进电机驱动电路图五程序框图5.1步进电机程序流图程序流程图如图所示。开始初始化8255入口判断相序置入Y N出口判断退出转向或调速延迟控制 六.总结与体会这次做的实验是一个比较综合的实验,实验中主要是微机原理的编程,但还涉及到步进电机的有关知识以及一些专业基础课的知识,所以要做好这次实验我们需要做的有很多。首先,在查找资料的过程中
6、,我更加理解了8255在微型计算机中的重要作用,理解了8255的基本的编程结构和基本控制字的设计方法,也锻炼了自己的动手能力和创新意识。其次,就硬件而言,此次的硬件焊接与以往有着明显的不同,以前总是有现成的电路,只是按照电路排好器件,再焊接就完事了,这次的电路却是自己设计的。而就焊接而言,此次的焊接虽然简单但去不容失误,一个步骤错误就有可能导致最后产品的质量问题。所以说每一个步骤做到最好,才能把保重产品最终的质量。再次,在编写汇编程序过程中,由于早先对汇编语言学习的不扎实,我们遇到了很大的困难,但是随着对问题理解的逐渐深入,这些问题最终都一一化解了。通过这次步进电机控制代码的编写,让我有了一个
7、更深刻的认识:要想写好汇编语言的程序,必须认真对待代码的每一个细节,还必须熟练的掌握debug命令,这对程序的调试是非常重要的。在这个过程中,不仅提高了实际动手操作能力,培养了治学严谨的态度,激发了我学习此专业课程的兴趣,而且让我们深刻的体验到理论知识与实践经验的密切联系,要成为一个高技术人才,必须理论与实践两手都要硬。在设计时,对不同方案的构思、分析、比较到最后的方案确定,这些工作,可以增强了我们分析、解决问题的能力,培养了我们的创新意识。参考文献1 张欣,微机系统实验指导书.河北大学内部教材,2008年9 月,13-14页2 王克义,微机原理与接口技术教程,北京大学出版社,2004 年12
8、月,15-90页3 陈春华,夏利,微机原理与接口技术教程,东北大学出版社,2004 年1月,5-68页4 王永山,微型计算机原理及应用,西安电子科技大学出版社,1999年12月附 录实验程序:data segmentbuf db pressFto Forward rotation,0dh,0ah,pressRto Reverse rotation,0dh,0ah,pressSto Stop,0dh,0ah,pressEto exit$str db control speed1,2$d1 dw ?psta db 08h,0ch,04h,06h,02h,03h,01h,09h;相序表正pstb d
9、b 01h,03h,02h,06h,04h,0ch,08h,09h;相序表反data endscode segment assume cs:code,ds:datastart:mov ax,data mov dx,axshow:lea dx,buf mov ah,09h int 21h mov dx,203h mov al,b out dx,al;初始化8255first:mov ah,01h int 21h cmp al,46h;入口判断 je forward cmp al,66h je forward cmp al,52h je reverse cmp al,72h je reverse
10、cmp al,53h je stop cmp al,73h je stop cmp al,45h je exit cmp al,65h je exit jmp showforward:mov di,offset psta jmp circleReverse:mov di,offset pstb jmp circlecircle:mov d1,560h;设置延迟初值reload:mov si,di mov cx,7;设8拍循环次数lop:mov al,si mov dx,200h out dx,al;将相序表送到控制口 mov bx,d1;延时数值delay1:mov dx,800delay2:
11、mov ah,01h int 16h jnz timedec dx jnz delay2 dec bx jnz delay1;延时 inc si;相序表+1 dec cx jnz lop;循环7次 jmp reload;完成7次,重新赋值time:mov ah,01h int 21h cmp al,31h je s1 cmp al,32h je s2 cmp al,46h;判断是否变换方向和速度 je forward cmp al,66h je forward cmp al,52h je reverse cmp al,72h je reverse cmp al,53h je stop cmp al,73h je stop jmp exits1:mov d1,01h;延迟(即速度控制),可以添加更多的延迟以达到精确控制 jmp reloads2:mov d1,02h jmp reloadstop:jmp showexit:mov ah,4ch int 21hcode endsend start实验整体电路:专心-专注-专业