计算机控制课程设计 步进电机的控制设计_第1页
计算机控制课程设计 步进电机的控制设计_第2页
计算机控制课程设计 步进电机的控制设计_第3页
计算机控制课程设计 步进电机的控制设计_第4页
计算机控制课程设计 步进电机的控制设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、- - 0 -课课 程程 设设 计计 用用 纸纸教师批阅目目 录录1 设计目的及意义.- 1 -1.1 设计目的.- 1 -1.2 设计意义.- 1 -2 方案论证.- 2 -2.1 设计要求.- 2 -2.2 方案论证.- 2 -3 硬件电路设计 .- 3 -3.1 设计思路,元件选型.- 3 -3.2 控制原理图.- 5 -3.3 硬件连线图.- 6 -4 软件设计.- 8 -4.1.1 微机方案的软件设计.- 8 -4.1.2 单片机方案的软件设计.- 8 -4.2 方框图.- 9 -4.3 程序清单.- 11 -5 总结.- 16 -6 参考文献.- 17 - - 1 -课课 程程 设

2、设 计计 用用 纸纸教师批阅1 设计目的及意义设计目的及意义1.1 设计目的设计目的1.巩固和加深课堂所学知识;2.学习掌握一般的软硬件的设计方法和查阅、运用资料的能力;3.通过步进电机控制系统设计与制作,深入了解与掌握步进电机的运行方式、方向、速度、启/停的控制以及单三拍、双三拍和三相六拍等工作方式的控制。1.2 设计意义设计意义步进电机是工业过程控制及仪表中的主要控制元件之一。在数字控制系统中,由于它可以可以直接接受计算机来的数字信号,不需要进行数模转换,所以用起来更方便。步进电机角位移与控制脉冲间的精确同步。若将角位移的改变转变为线性位移、位置、体积、流量等物理量的变化,便可实现对它们的

3、控制。正因为步进电机具有快速启停,精确步进以及能直接接收数字量等特点,所以使其在定位场合中得到了广泛的应用。特别在工业过程控制系统中,使用开环控制模式,微型计算机可以很容易控制步进电机的位置和速度,而不用使用位移传感器,所以应用越来越广泛。学会使用微型计算机控制步进电机也就显得很重有必要了。- - 2 -课课 程程 设设 计计 用用 纸纸教师批阅2 方案论证方案论证2.1 设计要求设计要求控制步进电机正转、反转,加速,减速。完成步进电机单三拍、双三拍和三相六拍等工作方式的控制,画出控制步进电机的电路图,并编程完成软件部分。2.2 方案论证方案论证方案一:使用微机+8255a,外加驱动电路使用循

4、环查表法实现因为步进电机是通过改变其输入脉冲来改变步进电机的输出状态的,所以此方案考虑选择用开关电路来改变其调用的子程序已达到改变其输入的脉冲。故此方案使用开关电路,8255a 的若干端口来进行。由步进电机的原理可以知道其状态的特点,所以,可以考虑通过改变其脉冲的顺序来改变步进电机的转向,实现正转与反转,通过均匀地改变其脉冲时间间隔的长短来实现步进电机的加速与减速。故此方案可以用 8255 的 pa 口和开关电路来选择各种状态的改变。方案二:使用单片机,外加驱动电路使用循环查表法实现与方案一的区别不大,就是不需要 8255, at89c51 直接与开关、接口电路相接,电路更简单。- - 3 -

5、课课 程程 设设 计计 用用 纸纸教师批阅3 硬件电路设计硬件电路设计3.1 设计思路,元件选型设计思路,元件选型用控制器输出接口的每一位控制一相绕组。三种控制方式的数学模型分别为如下所述。表 3-1-1 三相单三拍表 3-1-2 三相双三拍表 3-1-3 三相六拍本次设计我选择三相六拍的控制设计控制位步序p1.7p1.6p1.5p1.4p1.3p1.2c 相p1.1b 相p1.0a 相工作状态控制模型100000001a01h200000010b02h300000100c04h控制位步序p1.7p1.6p1.5p1.4p1.3p1.2c 相p1.1b 相p1.0a 相工作状态控制模型1000

6、00011ab03h200000110bc06h300000101ca05h控制位步序p1.7p1.6p1.5p1.4p1.3p1.2c 相p1.1b 相p1.0a 相工作状态控制模型100000001a01h200000011ab03h300000010b02h400000110bc06h500000100c04h600000101ca05h- - 4 -课课 程程 设设 计计 用用 纸纸教师批阅微机控制部分:微机控制部分:步进电机接口的硬件部分主要是提供输送相序代码的并行数据线(6 根),以及保护电机绕组的器件,所以接口电路以 8255a 为主芯片,将 pa 口作数据口,传送加电代码,再加

7、上锁存器 74ls373 作绕组保护。另外,还有功率驱动管 tip122,以及二极管、开关 k0、k1、k2、k3。本实验采用 a 口作为控制口,b 口作为输出口,pa0、pa1、pa2、pa3 分别接开关的 k0、k1、k2、k3,pb0、pb1、pb2 分别接步进电机的 abc。单片机控制部分:单片机控制部分:使用单片机控制的电路与使用微机实现的电路很相似,主要由:at89c51、tip122 驱动管,以及二极管、开关 k0、k1、k2、k3 组成。- - 5 -课课 程程 设设 计计 用用 纸纸教师批阅3.2 控制原理图控制原理图图 3.1 微机控制原理图80868255a驱动器步进电机

8、负 载图 3.2 单片机控制原理图at89c51驱动器步进电机负 载- - 6 -课课 程程 设设 计计 用用 纸纸教师批阅3.3 硬件连线图硬件连线图图 3.3.1 微机步进电机控制系统硬件接线图如上图所示:左边一芯片,从上到下,依次为开关 k0、k1、k2、k3,与之相对应的接线端口为 pa0、pa1、pa2、pa3 口,最右端为步进电机,往左为驱动芯片,再次之为 8255 的扩展端口。表 3-3-1 各开关对应的步行电机状态表开 关k3k2k1k0步进电机状态0000停止0001启动正转0011启动反转0101正转加速0111反转加速1001正转减速1011反转减速- - 7 -课课 程

9、程 设设 计计 用用 纸纸教师批阅图 3.3.2 单片机步进电机控制系统硬件接线图如上图所示:左边一 at89c51 芯片,从上到下,依次为开关k0、k1、k2、k3、k4,与之相对应的接线端口为 p3.0、p3.1、p3.2、p3.3、p3.4口,最右端为步进电机,往左为驱动芯片,再次为 p1.0、p1.1、p1.2 端口。表 3-3-2 各开关对应的步行电机状态表开 关步进电机状态k0正转k1反转k2加速k3减速k4停止- - 8 -课课 程程 设设 计计 用用 纸纸教师批阅4 软件设计软件设计4.1.1 微机方案的软件设计微机方案的软件设计实现步进电机运行方式、方向和加速、减速以及启/停

10、的控制,是接口软件设计的主要任务。为此,在编写程序之前,要建立一个相序表。相序表的建立应根据步进电机运行方式的要求及各绕组与 8255a 端口连接情况来确定加电代码。根据上图的连接情况,可以写出相序表中三相 6 拍运行方式的加电代码为:01h,03,02h,06h,04h,05h。在 8255 初始化完毕后,取出相序表的首地址,将其存入 bx。当要求步行电机正转时,首地址进行加 1 操作。在次过程中要检查指针是否指到末地址。若是,指针减 5,回到首地址,如此循环。当要求反转时,将首地址进行加 5 操作到达末地址,在进行减 1 操作,在次过程找要检查指针是否到达首地址。如是,则将指针加 5 回到

11、末地址。根据设计流程图,软件设计部分将本系统分为 6 个子程序,分别是正向转子程序、反向转子程序、常速延时子程序、加速延时子程序、减速延时子程序、通用延时子程序。4.1.2 单片机方案的软件设计单片机方案的软件设计使用单片机实现控制,接口软件与使用微机相类似,选择工作方式 3 来实现步进电机的正转、反转、加速、减速,即通过开端电路来实现步进电机在不换硬件接线的情况下实现各种状态的转换。- - 10 -课课 程程 设设 计计 用用 纸纸教师批阅4.2 方框图方框图开 始8255 初始化k0=1?ny判断 k3k2k1 的值000nnnn启动正转启动反转正转加速反转加速正转减速常速延时减速延时分

12、40 段调速加速延时分 40 段调速yyyyyynn001010011100101图 4.2.1 微机控制方框图反转减速- - 11 -课课 程程 设设 计计 用用 纸纸教师批阅开 始是否启动?判断转向正传初始转速反转初始转速判断转动状态判断转动状态加速延时减速延时加速延时减速延时加速加速减速减速停止否是正转反转停止图 4.2.2 单片机控制方框图- - 12 -课课 程程 设设 计计 用用 纸纸教师批阅4.3 程序清单程序清单微机程序清单:data segmentliu db 01h,03h,02h,06h,04h,05hdata endsstack segment para stack s

13、tackdb 100 dup(?) stack endscode segmentassume cs:code,ds:data,ss:stackstart: mov ax,datamov ds,datamov ax,stackmov ss,axcount1 equ 0c300h;初始转速延时count2 equ 0b300h;高速延时count3 equ 0fff0h;慢速延时count4 equ 0feeh;步数,至少 40 步mov bx,offset liu mov dx,portctrmov al,90h out dx,al;送入 8255 控制字loop1:in al,portamov

14、 ah,aland ah,01hcmp ah,01h;判断开关 k0 是否闭合jnz loop1mov ah,aland ah,02hcmp ah,02h;判断开关 k2 是否闭合jnz zzjmp fz;.zz:mov ah,al;正向转子程序in al,portaand al,0chpush axmov al,bxcmp al, 05h ; 检查是不是最后一个加电代码jnz xh1sub bx,5- - 13 -课课 程程 设设 计计 用用 纸纸教师批阅xh1:inc bx ; 指针作加 1 运算,及实现向后移动mov dl,bxout portb,al ;从 b 口输出pop axcmp

15、 al,00hjnz x1callchangsu;调用常速延时x1:cmp al,04hjz x2call jiasu;调用加速延时x2:cmp al,08hjz x3call jiansu ;调用减速延时x3:jmp start;.fz:mov ah,al; 反向转子程序in al,portaand al,0chcmp al,00hpush axmov al,bxcmp al,01h ;检查是不是第一个加电码jnz fxh1 add bx,5 ;若是第一个加电码,则指针加 5 跳到最后一个加电码fxh1:dec bx ;指针减 1,实现向前移动mov al,bxout portb,alpop

16、 axcmp al,00hjnz x1callchangsu;调用常速延时x1:cmp al,04hjz x2call jiasu;调用加速延时x2:cmp al,08hjz x3call jiansu ;调用减速延时x3:jmp start;.changsu: push cx;短延时子程序mov cx,count1 ;count1 为常速常速add1: push ax- - 14 -课课 程程 设设 计计 用用 纸纸教师批阅pop axloop add1pop cx ret;.jiasu:push cx;加速延时子程序mov cx,40 ;分 40 级加速mov dx,count1; cou

17、nt1 为常速延时push dxsub dx,count2;count2 为高速延时mov ax,dxdiv 40mov dx,axpop axadd2:sub ax,dxmov dx,ax call delayloop add2mov ax,count4;count4 定义步数sub ax,40mov cx, ax ;走完剩余的步数call delayret;.jiansu:push cx;减速延时子程序mov cx,40 ;分 40 级加速mov dx,count1; count1 为常速延时量push dxsub dx,count3;count3 为慢速延时量mov ax,dxdiv 4

18、0mov dx,axpop axadd3:add ax,dxmov dx,axcall delayloop add3mov ax,count4;count4 定义步数sub ax,40mov cx, ax ;走完剩余的步数call delayret- - 15 -课课 程程 设设 计计 用用 纸纸教师批阅;.delay:push cx;通用延时子程序mov cx,dxadd4:push axpop axloop add5pop cxretcode endsend start单片机程序清单:org 0000hajmp stop ;跳转至子程序 stop 处 org 0040hstop:mov p

19、1,#00h ;开始 jb p3.0,start jb p3.1,rerun sjmp stopstart:mov r0,#00h;正转start1:mov a,r0 mov dptr,#table movc a,a+dptr jz start mov p1,a;.stalop:jnb p3.0,start2 jb p3.4,stop jb p3.2,speedup jb p3.3,slow lcall delay0 inc r0 ljmp start1;.start2:jb p3.1,rerun ljmp stoprerun:mov r0,#00h;反转rerun1:mov a,r0 mov

20、 dptr,#tablf movc a,a+dptr jz rerun- - 16 -课课 程程 设设 计计 用用 纸纸教师批阅 mov p1,a;.rerlop:jnb p3.1,stalop jb p3.4,stop jb p3.2,speedup jb p3.3,slow lcall delay0 inc r0 ljmp rerun1;.speedup: lcall delay1 ;加速 inc r0 jb p3.0,start1 ljmp rerun1;.slow: lcall delay2 ;减速 inc r0 jb p3.0,start2 ljmp rerun1;.delay0:m

21、ov r1,#20;初始速度延时子程序 d1:mov r2,#50 djnz r2,$ djnz r1,d1 ret;.delay1: mov r1,#0;加速延时子程序d2: mov r2,#10 djnz r2,$ djnz r1,d1 ret;.delay2:mov r1,#50;减速延时子程序 d3:mov r2,#100 djnz r2,$ djnz r1,d3 rettable: db 01h,03h,02h,06h,04h,05h ;正转控制模型 db 00htablf: db 05h,04h,06h,02h,03h,01h ;反转控制模型 db 00h end- - 17 -课

22、课 程程 设设 计计 用用 纸纸教师批阅5 总结总结我觉得做计算机控制技术课程设计是十分有意义的,而且是十分必要的。这门课程还牵涉到了微机原理和 dsp 应用等课程,把我们的其他专业科都粘合在了一起,达到融会贯通的作用,让我们学的更广,学的更灵活!一直以来都从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。 这次课程设计对我来说学到的不仅是那些知识,更多的是团队和合作。现在想来,也许学校安排的课程设计有着它更深层的意义吧,它不仅仅让我们综合那些理论知识来运用到设计和创新,还让我们知道了一个团队凝聚在一起时所能发挥出的巨大潜能! 不过没想到这项看起来

23、不需要多少技术的工作却是非常需要耐心和精力。今天我已明白课程设计对我来说的意义,它不仅仅是让我们把所学的理论知识与实践相结合起来,提高自己的实际动手能力和独立思考的能力,更重要的是同学间的团结,虽然我们这次花去的时间比别人多,但我相信我们得到的也会更多! 作为一名自动化专业的大三学生,在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似的课程设计就为我们提供了良好的实践平台。 在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅

24、这方面的设计资料是十分必要的,同时也是必不可少的。 通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。我觉得作为一名自动化专业的学生,计算机控制技术的课程设计是很有意义的。更重要的是如何把自己平时所学的东西应用到实际中。虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,但是靠着这几天的“学习”,在小组同学的帮助和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。我认为这个收获应该说是相当大的。觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点可以联系到以后毕业之后从学校转到踏上社会的一个过程。小组人员的配合相处,以及自身的动脑和努力,都是以后工作中需要的。 同时我认为我们的工作是一个团队的工作,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论