计算机控制课程设计 步进电机的控制设计_第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 参考文献

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

3、改变转变为 线性位移、位置、体积、流量等物理量的变化,便可实现对它们的控制。 正因为步进电机具有快速启停,精确步进以及能直接接收数字量等特点,所 以使其在定位场合中得到了广泛的应用。特别在工业过程控制系统中,使用开环 控制模式,微型计算机可以很容易控制步进电机的位置和速度,而不用使用位移 传感器,所以应用越来越广泛。学会使用微型计算机控制步进电机也就显得很重 有必要了。 - - 2 - 课课 程程 设设 计计 用用 纸纸 教师批阅 2 方案论证方案论证 2.1 设计要求设计要求 控制步进电机正转、反转,加速,减速。完成步进电机单三拍、双三拍和 三相六拍等工作方式的控制,画出控制步进电机的电路图

4、,并编程完成软件部 分。 2.2 方案论证方案论证 方案一:使用微机+8255a,外加驱动电路使用循环查表法实现 因为步进电机是通过改变其输入脉冲来改变步进电机的输出状态的,所以此 方案考虑选择用开关电路来改变其调用的子程序已达到改变其输入的脉冲。故此 方案使用开关电路,8255a 的若干端口来进行。 由步进电机的原理可以知道其状态的特点,所以,可以考虑通过改变其脉冲 的顺序来改变步进电机的转向,实现正转与反转,通过均匀地改变其脉冲时间间 隔的长短来实现步进电机的加速与减速。故此方案可以用 8255 的 pa 口和开关 电路来选择各种状态的改变。 方案二:使用单片机,外加驱动电路使用循环查表法

5、实现 与方案一的区别不大,就是不需要 8255, at89c51 直接与开关、接口电路相 接,电路更简单。 - - 3 - 课课 程程 设设 计计 用用 纸纸 教师批阅 3 硬件电路设计硬件电路设计 3.1 设计思路,元件选型设计思路,元件选型 用控制器输出接口的每一位控制一相绕组。 三种控制方式的数学模型分别为如下所述。 表 3-1-1 三相单三拍 表 3-1-2 三相双三拍 表 3-1-3 三相六拍 本次设计我选择三相六拍的控制设计 控制位 步序 p1.7p1.6p1.5p1.4p1.3 p1.2 c 相 p1.1 b 相 p1.0 a 相 工作状态控制模型 100000001a01h 2

6、00000010b02h 300000100c04h 控制位 步序 p1.7p1.6p1.5p1.4p1.3 p1.2 c 相 p1.1 b 相 p1.0 a 相 工作状态控制模型 100000011ab03h 200000110bc06h 300000101ca05h 控制位 步序 p1.7p1.6p1.5p1.4p1.3 p1.2 c 相 p1.1 b 相 p1.0 a 相 工作状态控制模型 100000001a01h 200000011ab03h 300000010b02h 400000110bc06h 500000100c04h 600000101ca05h - - 4 - 课课 程程

7、 设设 计计 用用 纸纸 教师批阅 微机控制部分:微机控制部分: 步进电机接口的硬件部分主要是提供输送相序代码的并行数据线(6 根) ,以及保护电机绕组的器件,所以接口电路以 8255a 为主芯片,将 pa 口作 数据口,传送加电代码,再加上锁存器 74ls373 作绕组保护。另外,还有功 率驱动管 tip122,以及二极管、开关 k0、k1、k2、k3。 本实验采用 a 口作为控制口,b 口作为输出口,pa0、pa1、pa2、pa3 分别接开 关的 k0、k1、k2、k3,pb0、pb1、pb2 分别接步进电机的 abc。 单片机控制部分:单片机控制部分: 使用单片机控制的电路与使用微机实现

8、的电路很相似,主要由: at89c51、tip122 驱动管,以及二极管、开关 k0、k1、k2、k3 组成。 - - 5 - 课课 程程 设设 计计 用用 纸纸 教师批阅3.2 控制原理图控制原理图 图 3.1 微机控制原理图 80868255a 驱动器 步进电机 负 载 图 3.2 单片机控制原理图 at89 c51 驱动器 步进电机 负 载 - - 6 - 课课 程程 设设 计计 用用 纸纸 教师批阅3.3 硬件连线图硬件连线图 图 3.3.1 微机步进电机控制系统硬件接线图 如上图所示:左边一芯片,从上到下,依次为开关 k0、k1、k2、k3,与之 相对应的接线端口为 pa0、pa1、

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

10、左为驱动芯片,再次为 p1.0、p1.1、p1.2 端口。 表 3-3-2 各开关对应的步行电机状态表 开 关步进电机状态 k0正转 k1反转 k2加速 k3减速 k4停止 - - 8 - 课课 程程 设设 计计 用用 纸纸 教师批阅 4 软件设计软件设计 4.1.1 微机方案的软件设计微机方案的软件设计 实现步进电机运行方式、方向和加速、减速以及启/停的控制,是接口软件 设计的主要任务。为此,在编写程序之前,要建立一个相序表。相序表的建立应 根据步进电机运行方式的要求及各绕组与 8255a 端口连接情况来确定加电代码。 根据上图的连接情况,可以写出相序表中三相 6 拍运行方式的加电代码为:

11、01h,03,02h,06h,04h,05h。 在 8255 初始化完毕后,取出相序表的首地址,将其存入 bx。当要求步行电 机正转时,首地址进行加 1 操作。在次过程中要检查指针是否指到末地址。若是, 指针减 5,回到首地址,如此循环。当要求反转时,将首地址进行加 5 操作到达 末地址,在进行减 1 操作,在次过程找要检查指针是否到达首地址。如是,则将 指针加 5 回到末地址。 根据设计流程图,软件设计部分将本系统分为 6 个子程序,分别是正向转子 程序、反向转子程序、常速延时子程序、加速延时子程序、减速延时子程序、通 用延时子程序。 4.1.2 单片机方案的软件设计单片机方案的软件设计 使

12、用单片机实现控制,接口软件与使用微机相类似,选择工作方式 3 来实现 步进电机的正转、反转、加速、减速,即通过开端电路来实现步进电机在不换硬 件接线的情况下实现各种状态的转换。 - - 10 - 课课 程程 设设 计计 用用 纸纸 教师批阅 4.2 方框图方框图 开 始 8255 初始 化 k0=1? n y 判断 k3k2k1 的值 000 n n n n 启动正转 启动反转 正转加速 反转加速 正转减速 常速延时 减速延时 分 40 段调 速 加速延时 分 40 段调 速 y y y y y y n n 001 010 011 100 101 图 4.2.1 微机控制方框图 反转减速 -

13、- 11 - 课课 程程 设设 计计 用用 纸纸 教师批阅 开 始 是否启动? 判断转向 正传初始转速反转初始转速 判断转动状态判断转动状态 加速延 时 减速延 时 加速延 时 减速延 时 加速加速减速减速 停止 否 是 正转反转 停止 图 4.2.2 单片机控制方框图 - - 12 - 课课 程程 设设 计计 用用 纸纸 教师批阅4.3 程序清单程序清单 微机程序清单: data segment liu db 01h,03h,02h,06h,04h,05h data ends stack segment para stack stack db 100 dup(?) stack ends co

14、de segment assume cs:code,ds:data,ss:stack start: mov ax,data mov ds,data mov ax,stack mov ss,ax count1 equ 0c300h;初始转速延时 count2 equ 0b300h;高速延时 count3 equ 0fff0h;慢速延时 count4 equ 0feeh;步数,至少 40 步 mov bx,offset liu mov dx,portctr mov al,90h out dx,al;送入 8255 控制字 loop1:in al,porta mov ah,al and ah,01h

15、 cmp ah,01h;判断开关 k0 是否闭合 jnz loop1 mov ah,al and ah,02h cmp ah,02h;判断开关 k2 是否闭合 jnz zz jmp fz ;. zz:mov ah,al;正向转子程序 in al,porta and al,0ch push ax mov al,bx cmp al, 05h ; 检查是不是最后一个加电代码 jnz xh1 sub bx,5 - - 13 - 课课 程程 设设 计计 用用 纸纸 教师批阅 xh1:inc bx ; 指针作加 1 运算,及实现向后移动 mov dl,bx out portb,al ;从 b 口输出 po

16、p ax cmp al,00h jnz x1 callchangsu;调用常速延时 x1:cmp al,04h jz x2 call jiasu;调用加速延时 x2:cmp al,08h jz x3 call jiansu ;调用减速延时 x3:jmp start ;. fz:mov ah,al; 反向转子程序 in al,porta and al,0ch cmp al,00h push ax mov al,bx cmp al,01h ;检查是不是第一个加电码 jnz fxh1 add bx,5 ;若是第一个加电码,则指针加 5 跳到最后一个加电码 fxh1:dec bx ;指针减 1,实现向

17、前移动 mov al,bx out portb,al pop ax cmp al,00h jnz x1 callchangsu;调用常速延时 x1:cmp al,04h jz x2 call jiasu;调用加速延时 x2:cmp al,08h jz x3 call jiansu ;调用减速延时 x3:jmp start ;. changsu: push cx;短延时子程序 mov cx,count1 ;count1 为常速常速 add1: push ax - - 14 - 课课 程程 设设 计计 用用 纸纸 教师批阅 pop ax loop add1 pop cx ret ;. jiasu:

18、push cx;加速延时子程序 mov cx,40 ;分 40 级加速 mov dx,count1; count1 为常速延时 push dx sub dx,count2;count2 为高速延时 mov ax,dx div 40 mov dx,ax pop ax add2:sub ax,dx mov dx,ax call delay loop add2 mov ax,count4;count4 定义步数 sub ax,40 mov cx, ax ;走完剩余的步数 call delay ret ;. jiansu:push cx;减速延时子程序 mov cx,40 ;分 40 级加速 mov

19、dx,count1; count1 为常速延时量 push dx sub dx,count3;count3 为慢速延时量 mov ax,dx div 40 mov dx,ax pop ax add3:add ax,dx mov dx,ax call delay loop add3 mov ax,count4;count4 定义步数 sub ax,40 mov cx, ax ;走完剩余的步数 call delay ret - - 15 - 课课 程程 设设 计计 用用 纸纸 教师批阅 ;. delay:push cx;通用延时子程序 mov cx,dx add4:push ax pop ax l

20、oop add5 pop cx ret code ends end start 单片机程序清单: org 0000h ajmp stop ;跳转至子程序 stop 处 org 0040h stop:mov p1,#00h ;开始 jb p3.0,start jb p3.1,rerun sjmp stop start: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

21、,slow lcall delay0 inc r0 ljmp start1 ;. start2:jb p3.1,rerun ljmp stop rerun:mov r0,#00h;反转 rerun1:mov a,r0 mov 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:

22、 lcall delay1 ;加速 inc r0 jb p3.0,start1 ljmp rerun1 ;. slow: lcall delay2 ;减速 inc r0 jb p3.0,start2 ljmp rerun1 ;. delay0:mov 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

23、r2,$ djnz r1,d3 ret table: db 01h,03h,02h,06h,04h,05h ;正转控制模型 db 00h tablf: db 05h,04h,06h,02h,03h,01h ;反转控制模型 db 00h end - - 17 - 课课 程程 设设 计计 用用 纸纸 教师批阅 5 总结总结 我觉得做计算机控制技术课程设计是十分有意义的,而且是十分必要的。 这门课程还牵涉到了微机原理和 dsp 应用等课程,把我们的其他专业科都 粘合在了一起,达到融会贯通的作用,让我们学的更广,学的更灵活!一直以来 都从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这

24、是 我做这次课程设计的又一收获。 这次课程设计对我来说学到的不仅是那些知识,更多的是团队和合作。现在 想来,也许学校安排的课程设计有着它更深层的意义吧,它不仅仅让我们综合那 些理论知识来运用到设计和创新,还让我们知道了一个团队凝聚在一起时所能发 挥出的巨大潜能! 不过没想到这项看起来不需要多少技术的工作却是非常需要耐心和精力。 今天我已明白课程设计对我来说的意义,它不仅仅是让我们把所学的理论知识与 实践相结合起来,提高自己的实际动手能力和独立思考的能力,更重要的是同学 间的团结,虽然我们这次花去的时间比别人多,但我相信我们得到的也会更多! 作为一名自动化专业的大三学生,在已度过的大学时间里,我

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

温馨提示

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

评论

0/150

提交评论