为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

微型计算机课程设计

2017-09-02 17页 doc 154KB 23阅读

用户头像

is_251542

暂无简介

举报
微型计算机课程设计课程设计说明书 NO.1 步进电机运行控制 1.课程设计的目的 为了巩固《微型计算机技术》课程学到的相关知识,通过对本课程所学知识的综合运用,使学生融会贯通课程中所学的理论知识,加深对计算机系统各个部分的工作原理及相互联系的认识,加深对接口的理解,清晰地建立计算机系统的概念,培养学生进行微机应用系统硬件和软件开发的实践工作能力。 2.设计方案论证 2.1任务与要求: (1)通过8255PA口的PA0、PA2、PA4、PA6分别控制A、B、C、D四相绕组通电,步时电机按双八拍方式运行,采用PC7控制74LS373的O...
微型计算机课程设计
课程设计说明书 NO.1 步进电机运行控制 1.课程设计的目的 为了巩固《微型计算机技术》课程学到的相关知识,通过对本课程所学知识的综合运用,使学生融会贯通课程中所学的理论知识,加深对计算机系统各个部分的工作原理及相互联系的认识,加深对接口的理解,清晰地建立计算机系统的概念,培养学生进行微机应用系统硬件和软件开发的实践工作能力。 2.设计论证 2.1任务与要求: (1)通过8255PA口的PA0、PA2、PA4、PA6分别控制A、B、C、D四相绕组通电,步时电机按双八拍方式运行,采用PC7控制74LS373的OE控制端,PC0检测按钮开关SW1实现系统的启停,当按钮开关SW1按下(为“0”),启动系统工作。 (2)画出硬件图及编写相应程序。 3.设计的过程与分析 3.1工作过程 (1)步进电机的概述及四相八拍步进电机的工作原理: 步进电机是一种将电脉冲信号转换成角位移或线位移的机电元件。步进电机的输入量是脉冲序列,输出量则为相应的增量位移或步进位移,正常运行情况下,它每转一周是有固定的步数。 该步进电机为四相八拍步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。图1是该四相反应式步进电机工作原理示意图。 开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。 当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。而0、3号齿和A、B相 沈 阳 大 学 课程设计说明书 NO.2 绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。 图1 四相步进电机步进示意图 四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。 (2)图2、3、4所示分别为单四拍、双四拍、八拍: 图2. 单四拍 图3. 双四拍 图4.八拍 沈 阳 大 学 课程设计说明书 NO.3 (3) 35BYJ46步进电机为四相八拍,其相序如下: 步序 PA3 PA2 PA1 PA0 对应A口输出值 1 0 0 0 1 01H 2 0 0 1 1 03H 3 0 0 1 0 02H 4 0 1 1 0 06H 5 0 1 0 0 04H 6 1 1 0 0 0CH 7 1 0 0 0 08H 8 1 0 0 1 09H 3.2步进电机的工作方式 35BYJ46 有四相ABCD,如果对各个相依次单独通电,"A-B-C- D",磁场旋转一周需要换相四次,则称为四相单四拍;如果每次对两相同时通电,"AB- BC- CD- DA",则称为四相双四拍;也可以每次对三相同时通电,"ABC- BCD- CDA- DAB";将单四拍和双四拍交替使用,就称为四相八拍,如:"A- AB- B- BC- C- CD- D-DA"、"AB- ABC- BC- BCD- CD- CDA- DA- DAB",此时磁场旋转一周需要换相八次。双四拍每次对多相同时通电,与单四拍比较起来,每相通电的时间长,消耗的电功率增大,电机所得到的电磁转矩也大。同时,采用多相励磁会产生电磁阻尼,会削弱或消除振荡现象,使得电机不易产生失步。四相八拍与四相四拍相比较,步距角减小了一倍,有利于削弱振荡,提高电机的带负载能力。脉冲分配器根据方向控制信号将脉冲信号转换成有一定逻辑关系的环形脉_冲;功率放大器将脉冲分配器输出的环形脉冲放大,用于控制步进电机的运转,这些部分都可以由专门的来实现。如图: 图5 步进电机脉冲循环图 沈 阳 大 学 课程设计说明书 NO.4 3.3步进电机的驱动系统 (1)系统常识:步进电动机和步进电动机驱动器构成步进电机驱动系统。步进电动机驱动系统的性能,不但取决于步进电动机自身的性能,也取决于步进电动机驱动器的优劣。对步进电动机驱动器的研究几乎是与步进电动机的研究同步进行的。 (2)系统概述:步进电动机是一种将电脉冲转化为角位移的执行元件。当步进电动机驱动器接收到一个脉冲信号(来自控制器),它就驱动步进电动机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。 (3)系统控制:步进电动机不能直接接到直流或交流电源上工作,必须使用专用的驱动电源(步进电动机驱动器)。控制器(脉冲信号发生器)可以通过控制脉冲的个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。 (4)用途: 步进电动机是一种控制用的特种电机,作为执行元件,是机电一体化的关键产品之一,随着微电子和计算机技术的发展(步进电动机驱动器性能提高),步进电动机的需求量与日俱增。步进电动机在运行中精度没有积累误差的特点,使其广泛应用于各种自动化控制系统,特别是开环控制系统。 (5)步进电机按结构分类:步进电动机也叫脉冲电机,包括反应式步进电动机(VR)、永磁式步进电动机(PM)、混合式步进电动机(HB)等。 进电机的驱动方式很多,有单电压驱动、双电压驱动、斩波驱动、细分驱动和集成电路驱动。由于集成电路集驱动和保护于一体,作为小功率步进电动机的专用驱动芯片,使用起来非常方便。在实际应用中, 我们可以选择L298N 集成电路芯片作为35BYJ46 的驱动芯片。但我们此次采用的是自行设计的驱动电路。 3.4编写步进电机汇编程序 3.4.1了解8255工作在方式0下的编程方法 (1)8255可编程并行接口芯片介绍 8255可编程外围接口芯片是Intel公司生产的通用并行I/0接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作: 沈 阳 大 学 课程设计说明书 NO.5 方式0—基本输入/出方式;方式1—选通输入/出方式;方式2—双向选通工作方式 8255的内部结构及引脚如下图所示。 图6 8255的内部结构及引脚 (2)8255工作方式控制字和C口按位置位/复位控制字格式如下图所示。 图7 工作方式控制字 图8 C口按位置位/复位控制字 沈 阳 大 学 课程设计说明书 NO.6 3.4.2编程中两个重要的参数: 步数 N 控制步进电机的定位精度。 延时时间 DELAY 控制其步进的速率。 3.4.3可编程外围接口芯片8255A (1)结构:(引脚等硬件基础知识): 1数据端口有A口,B口,C口均为8位端口且各自独立。 A口 输出:锁存/缓冲 输入:锁存 B口 输出:锁存/缓冲 输入:缓冲 C口 输出:锁存/缓冲 输入:缓冲 2 A组和B组控制逻辑 A组 A口+C口上(PC7---PC4) B组 B口+C口下(PC3---PC0 3读/写控制逻辑 RESET:1)复位信号 高电平有效 2)8255中控制寄存器均清0 3)将3个端口均设置为输入方式 CS:片选信号 低电平有效用来选通该芯片。 RD:读信号 低有效 WR:写信号 低有效 8255控制字 方式选择控制字: D7D6D5D4D3D2D1D0 D7 : 1 表示是方式选择控制字 沈 阳 大 学 课程设计说明书 NO.7 D6D5 : 决定A口工作方式 00--方式0, 01--方式1, 1X--方式2 D4 : 决定A口输入还是输出 1--输入 0--输出 D3 : 决定C口上输入还是输出 1--输入 0--输出 D2 : 决定B口工作方式 00--方式0, 01--方式1 D1 : 决定B口输入还是输出 1--输入 0--输出 D0 : 决定C口下输入还是输出 1--输入 0--输出 置位/复位控制字:D7D6D5D4D3D2D1D0 D7 0表示 置位/复位控制字 3.5(硬件工作原理 3.5.1需要的器件 导线若干、10欧电阻4个、三极管四个,四个二极管,通用电路板一块、35BYJ46型四相八拍步进电机一个、计算机 3.5.2 硬件电路 图9 驱动电路图为8255的abcd四个端口 图9驱动电路 沈 阳 大 学 课程设计说明书 NO.8 图10 用橙、粉、红、黄、蓝分别表示端口A、C、E、B、D 图10步进电机内部电路 3.6(程序流图: 程序中8255的地址段设置为200h~207h,控制键为0~9,正转速度分三档,分别由123控制;3为最高速度,反转速度分三档,分别由456控制,6为最高速度;78键为速度微调,分别在各档位速度的基础上小幅度调节速度的大小;0为停止键;9为退出键。程序设计上用按键控制输出的延迟时间的大小来达到控制转速的目的。 程序流程图如下: 沈 阳 大 学 课程设计说明书 NO.9 图11 程序流程图 沈 阳 大 学 课程设计说明书 NO.10 3.7程序: stack segment stack dw 40dup(?) top label word stack ends data segment string1 db '0--9 are control keys',0dh,0ah db '0 is stop',0dh,0ah db '1--3 are forward control',0dh,0ah db '3 is the highest speed',0dh,0ah db '4--6 are backward contral',0dh,0ah db '6 is the highest speed',0dh,0ah db '7 is small speed increase',0dh,0ah db '8 is small speed decrease',0dh,0ah db '9 is quit and go back to dos',0dh,0ah,'$' string2 db 0dh,0ah,'input error,retry:',0dh,0ah,'$' buf1 db 01H,03H,02H,06H,04H,0cH,08H,09H ;正转相序 buf2 db 09H,08H,0cH,04H,06H,02H,03H,01H ;反转相序 data ends code segment assume cs:code,ds:data,ss:stack start: mov ax,data mov ds,ax mov ax,stack mov ss,ax mov sp,offset top 沈 阳 大 学 课程设计说明书 NO.11 lea dx,string1 mov ah,09h int 21h ;显示提示信息 mov dx,203h mov al,80h out dx,al ;设置8255工作方式jmp input e1: lea dx,string2 mov ah,09h int 21h ;显示出错信息 input: mov ah,01h int 21h ;键盘读字符 cmp al,'0' jb e1 cmp al,'9' je exit ;9键退出 cmp al,'6' ja e1 jmp sel ;判断输入字符是否符合 sel1: cmp al,'7' 要求 je k7a1 cmp al,'8' je k8a1 jmp sel ;正转7,8键处理方法 sel2: cmp al,'7' 沈 阳 大 学 课程设计说明书 NO.12 je k7a2 cmp al,'8' je k8a2 ;反转7,8键处理方法 sel: cmp al,'9' je exit cmp al,'0' je input cmp al,'1' je k1 cmp al,'2' je k2 cmp al,'3' je k3 cmp al,'4' je k4 cmp al,'5' je k5 cmp al,'6' je k6 ;其他键处理 k7a1: cmp bp,2000 je a1 sub bp,200 jmp a1 k8a1: add bp,200 jmp a1 沈 阳 大 学 课程设计说明书 NO.13 k7a2: cmp bp,2000 je a2 sub bp,200 jmp a2 k8a2: add bp,200 jmp a2 k1: mov bp,10000 jmp a1 k2: mov bp,7000 jmp a1 k3: mov bp,4000 jmp a1 k4: mov bp,10000 jmp a2 k5: mov bp,7000 jmp a2 k6: mov bp,4000 jmp a2 ;设置延迟时间 a1: mov dx,200h ;设置输出地址 mov ah,0ch int 21h ;清除键盘缓冲区 a10: lea si,buf1 mov cx,8 la1: mov al,[si] out dx,al call delay 沈 阳 大 学 课程设计说明书 NO.14 go1: inc si loop la1 ;按相序输出 mov ah,01 int 16h ;读键盘缓冲区 jne go ;有输入跳转 jmp a10 go: cmp al,'0' jb a1 je input cmp al,'9' ja a1 ;判断输入是否有效 mov dl,al mov ah,02 int 21h ;显示输入字符 jmp sel1 a2: mov dx,200h ;反转 mov ah,0ch int 21h a20: lea si,buf2 mov cx,8 la2: mov al,[si] out dx,al call delay inc si loop la2 沈 阳 大 学 课程设计说明书 NO.16 ret delay endp code ends end start 4(设计体会 经过这个学期对微机的深入学习,并且在老师的悉心指导和严格要求下,我们终于完成了三相步进电机设计课程。从书本上的知识到自己亲手的课程设计,每一步对我们来说无疑是巨大的尝试和挑战,也成就了我们目前在大学期间独立完成的最大的项目。记得在刚接到这个课题时,由于对相关知识不是很了解,我们都有些茫然不知所措。设计好一个步进电机需要什么专业知识,带着这个疑问我们开始了地学习和实验:去图书 馆查阅相关资料、上网去了解相关的内容,渐渐头脑中的概念清晰了起来。在具体设计的过程中,我们遇到了更大的困难。我们不断地给自己提出新的问题,然后去论证、推翻,再接着提出新的问题。在这个循环往复的过程中,我们这篇稚嫩的设计日臻完善。虽然我们的设计作品不是很成熟,即使借鉴前人的很多资料仍然还有很多不足之处,但我仍然心里有一种莫大的幸福感,因为我们实实在在地走过了一个完整的设计所应该走的每一个过程,并且享受了每一个过程。 5(参考文献 [1] 王永山 杨婵娟. 微型计算机原理与应用[M].西安电子科技大学出版社,2006. [2] 华成英、童诗白.模拟电路技术基础[M].北京:高等教育出版社,2008.4 [3] 杨立. 微机原理与接口技术[M]. 天津大学出版社,2010.1 [4] 王中群 于宏宇.编语言与接口技术[M].北京:清华大学出版社2004.2 沈 阳 大 学 课程设计说明书 NO.15 mov ah,01 int 16h jne goo jmp a20 goo: cmp al,'0' jb a2 je input cmp al,'9' ja a2 mov dl,al mov ah,02 int 21h jmp sel2 exit: mov ah,0ch int 21h ;清除键盘缓冲区 mov ah,4ch int 21h ;退出 delay proc near ;延时子程序 push cx mov cx,bp dloop: nop push cx, mov cx,100 pop cx 沈 阳 大 学
/
本文档为【微型计算机课程设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索