微型计算机控制技术课程设计设计题目:步进电机控制系统概要_第1页
微型计算机控制技术课程设计设计题目:步进电机控制系统概要_第2页
微型计算机控制技术课程设计设计题目:步进电机控制系统概要_第3页
微型计算机控制技术课程设计设计题目:步进电机控制系统概要_第4页
微型计算机控制技术课程设计设计题目:步进电机控制系统概要_第5页
免费预览已结束,剩余11页可下载查看

付费下载

下载本文档

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

文档简介

1、微型计算机控制技术课程设计设计题目:步进电机控制系统班 级:电升本 1103姓 名:何世宁学 号: 29小型步进电机控制系统一、课程设计目的课程设计是本科教学全过程中的重要环节。 微机应用系统设计与综合实验 (实践)课程设计主要培养我们自动化专业学生,运用所学知识解决计算机应用 领域内实际问题能力, 进一步提高学生运用计算机编程语言综合编程能力、 程序 调试技能和微机系统接口综合应用及电路设计能力。1、学习在 PC系统中扩展简单的 I O 接口的方法。2、熟练掌握和运用汇编和 C 语言编写程序控制 8255 各口的输入输出,并 正确带动数码管及步进电机;能熟练运用汇编和 C 语言实现 8254

2、的定时功能, 以确保 8255 输出的脉冲频率稳定。3、熟练掌握 ISA 总线配置方式下硬件实验的调试 ,并能独立的排除故障 ,以 确保实验的顺利进行。4、.巩固和加深课堂所学知识;5、学习掌握一般的软硬件的设计方法和查阅、运用资料的能力;6、通过步进电机控制系统设计与制作,深入了解与掌握步进电机的运行方 式、方向、速度、启 /停的控制。二、设计的题目名称及要求设计题目:小型步进电机控制系统设计。设计要求:(1)分别用 C 语言和汇编语言编程完成硬件接口功能设计;(2)基于 80x86 微机接口硬件电路设计调试;(3)控制功能要求: 小键盘给定分段速度, 数码管显示当前步进电机启动 与停止、方

3、向、速度信息;(4)具有本地与远程(串行方式下)功能。三、实验设备PC 机一台(装有 TDPIT 软件)、唐都 AEDK8688ET 实验箱。使用硬件: 8086 PC,8255 芯片,键盘数码管,步进电机驱动电路,步进 电机系统设计:键盘采用实验板提供的 4*4 键盘,使用 4 个数码管实时显示系 统当前状态。四、设计的思想和实施方案4.1.2 步进电机的工作原理 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超 载的情况下, 电机的转速、 停止的位置只取决于脉冲信号的频率和脉冲数, 而不 受负载变化的影响, 即给电机加一个脉冲信号, 电机则转过一个步距角。 这一线 性关系的

4、存在, 加上步进电机只有周期性的误差而无累积误差等特点。 使得在速 度、位置等控制领域用步进电机来控制变的非常的简单。步进电机动态指标及术语:1、步距角精度:步进电机每转过一个步距角的实际值与理论值的误差。 用百分比表示: 误差 /步距角 *100%。不同运行拍数其值不同,四拍运行时应在 5%之内,八拍运行时 应在 15%以内。2、失步: 电机运转时运转的步数,不等于理论上的步数。称之为失步。3、失调角: 转子齿轴线偏移定子齿轴线的角度,电机运转必存在失调角,由失调角产生 的误差,采用细分驱动是不能解决的。4、电机正反转控制:当电机绕组通电时序 为 AB-BC-CD-DA 或 ()时为 正转,

5、通电时序为 DA-CA-BC-AB 或 ()时为反转。驱动控制系统组成 :使用、控制步进电机必须由环形脉冲, 功率放大等组成的控制系统, 其方框 图如下:脉冲信号的产生 :脉冲信号一般由单片机或 CPU 产生,一般脉冲信号的占空比为 0.3-0.4 左右,电机转速越高,占空比则越大。下图步进电机为一四相步进电机,采用单极性直流电源供电。只要对步进 电机的各相绕组按合适的时序通电, 就能使步进电机步进转动。 图 1 是该四相反 应式步进电机工作原理示意图。图1 四相步进电机步进示意图开始时,开关 sb接通电源, sa、sc、sd断开, b相磁极和转子 0、3 号齿对 齐,同时,转子的 1、4 号

6、齿就和 c、d 相绕组磁极产生错齿, 2、5 号齿就和 d、a相绕组磁极产生错齿。当开关 sc 接通电源, sb、 sa、sd 断开时,由于 c 相绕组的磁力线和 1、4 号齿之间磁力线的作用,使转子转动, 1、4 号齿和 c 相绕组的磁极对齐。而 0、 3号齿和 a、b 相绕组产生错齿, 2、5号齿就和 a、d 相绕组磁极产生错齿。依次 类推, a、b、c、d 四相绕组轮流供电,则转子会沿着 a、b、c、 d 方向转动。四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工 作方式。 单四拍与双四拍的步距角相等, 但单四拍的转动力矩小。 八拍工作方式 的步距角是单四拍与双四拍的一半

7、, 因此,八拍工作方式既可以保持较高的转动 力矩又可以提高控制精度。单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图2.a、b、c所示:a. 单四拍b. 双四拍c 八拍图 2. 步进电机工作时序波形图4.1.2 8255A 的功能简介Intel 8086/8088系列的可编程外设接口电路( ProgrammablePeripheral Interface) 简称 PPI ,型号为 8255(改进型为 8255A 及 8255A-5 ),具有 24 条输入 / 输出引脚、可编程的通用并行输入 /输出接口 电路。它是一片使用单一 +5V电源的 40 脚双列直插式大规模集成电路。 8255A

8、 的通用性强,使用灵活,通过它CPU可直接与外设相连接。8255A 在使用前要写入一个方式控制字,选择A、B、C三个端口各自的工作方式,共有三种 ;方式 0 :基本的输入输出方式,即无须联络就可以直接进行的 I/O 方 式。其中 A、B、C 口的高四位或低四位可分别设置成输入或输出。方式 1 :选通 I/O, 此时接口和外围设备需联络信号进行协调,只有 A 口和 B 口 可以工作在方式 1 ,此时 C 口的某些线被规定为 A 口或 B 口与外围设备的联络信号, 余下的线只有基本的 I/O 功能,即只工作在方式 0.方式 2: 双向 I/O 方式,只有 A 口可以工作在这种方式, 该 I/O 线

9、即可输入又可输出,本次设计,对 8255 的使用是这样的: 8255 工作于方式 0 ,A 口低四位 接键盘及数码管显示单元的 X1X4;C 口低四位接键盘及数码管显示单元的 Y1Y4; C 口高四位接步进电路的驱动电路,使电机转动起来; B 口接数码 管的 A、B、C、D、 E、F、G 和 DP,以使数码管显示电机的转向和转速。 8255 的 A 口高四位本次课程设计没有用到。此外,本次设计还用到了实验箱中的键盘及数码管显示单元:方向键:控制步进电机运行方向,无论电机处于运行或停止状态,每按下 一次,电机转动方向反向;运行 /暂停键:控制电机运行与否。电机转动时按下,电机暂停,当前电机 运行

10、参数不变,再次按下时,电机继续按暂停前参数运行; 停止键:无论电机处于任何状态,按下此键,电机停止转动,电机各运行 参数复位,默认参数为:“顺时针,停止状态, 1 档”; 档位键:无论电机处于任何状态,均可设定电机档位。数码管显示信息:左起第一个数码管显示当前电机的运行状态:S(Stop )表示当前电机为停止状态; E(Enable) 表示当前电机为运行状态; P(Pause) 表示当前电机 为暂停状态。第二个数码管未使用,只有小数点点亮。第三个数码管显示电机运行方向: C(Clockwise) 表示电机运行方向为顺 时针; A(Anti-clockwise) 表示电机运行方向为逆时针。第四个

11、数码管显示电机的档位: 1、2、3、 4 分别表示 1、2、3、4 档 键盘数码管内部连线如下图:五、硬件电路原理图图 步进电机控制系统硬件电路原理 如上图示:该原理图涉及到系统总线、可编程外围接口芯片 8255 、键盘及 数码管显示单元和步进电机及其驱动电路 8255 的 D0D7 依次接系统总 线的 XD0XD7 ,A1 和 A0 依次接系统总线的 XA3 和 XA2;WR 和 RD 依次 接系统总线上的 XIOW 和 XIOR ; 8255 的 CS 接系统总线的 IOY0, 8255的 A口低四位 PA0PA4 依次接小键盘的 X1X4(列);C 口低四位 PC0PC3 分别接小键盘的

12、 Y1Y4( 行); C 口高四位 PC4PC7 依次接驱 动电路的 A、B、C 和 D;B 口 PB0PB7 分别接数码管的 A、B 、C、D 、E 、 F、 G 和 DP;A 口高四位没用到。图 步进电机模块此模块的主要功能是通过接收 8255 的 C 口输入信号来控制步进电机的转 动, A,B,C,D 分别代表不同的四个相位,分别接入到 PC0,PC1,PC2和 PC3,实现 转动控制。图 LED 模块六、课程设计中遇到的问题及解决方法在本次课程设计过程中,我遇到了一下问题:首先,在显示模块中,在做数码管显示时,每次可以输出四位信息,而且要 输出的字符须转化为相应的 ASCII 才行,否

13、则就不能输出想要的东西。显示模 块的调试一般是程序问题,硬件连接很简单,一般不会出错,我在调试时,开始 没有初始化 8255,导致结果不能输出。再就是相应的端口一定不能定义错误。 这在显示模块调试中应该多注意。在刚开始编程时, 各种功能大部分是由主程序来完成的。 由于主程序过于复 杂,可读性不高。 使得在以后的程序的调试中遇到了很大的麻烦。 后来把主程序 的部分功能转化成子程序来实现, 并在一些重要的地方增加了注释, 使的程序的 可读性大大加强。调试也变的比较简单了。其次,在使用小键盘时容易死机。 出现死机的原因有很多, 有时候同一个程 序换台机子运行就会死机, 有时候同一台机子同一个程序运行

14、多次就会死机, 不 过总的来看死机的出现多少是和所编写的程序有关, 记得我以前用小键盘时就是 很容易就死机了,不过在这次的课程设计中 我把所有的和小键盘有关的程序都 用了子函数代替, 大大简化了主程序的结构, 这样就基本再也没发生过死机现象 了。再者,当小键盘按下不松时电机也停止转动这种情况出现在电机的加速、 减 速和改变转向中,这主要是在原有的 keyscan 程序中有一段判断按键是否弹起的 程序,将此段换成一个合适的软件延时便可以起到很好的效果 (按键不松时可以 连续的加速和减速)。再就是寄存器的使用问题。 在编程时, 子程序的调试也是相当重要, 由于子 程序不可避免的使用 AXBXCXD

15、X 通用寄存器一个或几个。 使得原主程序中的 通用寄存器的内容很容易被覆盖 ,对子程序中所有的通用寄存器出入栈即可以避 免上诉的问题,不用考虑使用的是哪几个寄存器,使用起来又比较简单方便。数码转换问题,首先查找许多相关的典型程序,例如:十六位二进制数转换为 10 进制 BCD 码,可将 AX 中的二进制数先后除以1000,100,10,每次除法所得的商,即是BCD 的千位、百位和十位数,余数是个位。TRAN:PUSHCXSHLDX,CLPUSHDXXCHGAL,AHSUBDX,DXSUBAH,AHMOVCX,1000MOVCL,10DIVCXDIVCLXCHGAX,DXADDDL,ALMOVC

16、L,4MOVCL,4SHLDX,CLSHLDX,CLMOVCL,100ADDDL,AHDIVCLMOVAX,DXADDDL,ALPOPDXMOVCL,4POPCX而在算术运算方面也遇到了不少的问题, 由于设计过程中存在着小数所以很多时 候总会出现算术方面错误,具体表现为结果的溢出或者结果小数点位置错误。解决的方法通常是先将所要计算的数值乘以 10、100等使得数值为整数, 然 后再进行计算,而在结果输出时再除以相映的数值从而实现小数的算术运算功 能,而不需要采用定义浮点型去计算小数以避免出现数值定义的错误。另一个常见的错误就是自定义存储空间之间的数值存放, 因为在许多时候总 是需要将结果保存在

17、某一段存储空间里面, 由于对存储空间的定义使得其大小范 围各有不同,所以对其赋值时总是会出现溢出或数值转换的错误。而在子程序调用以循环方面存在的问题是指针的计数以及标志位清零或置1 搞错从而使子程序运算错误或者进入死循环等。 所采取的解决方法是对指针计 数值在各个部分运算结束后进行清零以保证指针初值的正确。最后的问题就是 DOS 系统功能调用和 BIOS 中断调用,因为本课题设计中 要实现软件时钟, 所以需要对软件延迟以及中断调用有一定的了解, 对此在设计 时查阅了一些相关的软件中断命令。当个模块都调试成功后, 即可合成到一起运行。 本系统电机的速度可以通过 速度增减键来控制。 通过验证各按键

18、是否被有效采用, 来检验该系统是否正确的 完成了指定的功能。七、收获与体会通过本次微机应用系统的课程设计, 我对这学期学习的 微型计算机原理 有了一个良好的、整体的认识。同时对微机原理相关知识进行了一次系统总结。 还挺高了自己的动手能力,和运用理论来指导实践的能力。本次是微机原理的实践学习阶段,通过查阅相关资料,我对理论的认识加 深不少。 在整个过程中, 查阅了不少资料, 例如数码管的显示原理及编程方法等 是通过自学完成 .知道如何尽快读懂别人写的源程序 ,从中借鉴好的地方来完善自己的程序同时,我对利用汇编语言设计程序有了一定的认识。平时在书本学习的都 是一条一条的指令, 没有很清楚地理解指令

19、的真正含义。 在这次课程设计中我们 在老师的指导下学习了很多课堂上没有学习到的知识也体会到同学之间合作的 重要性,体会到只有平时多练习,多看程序才能自己编写程序,自己调试程序。 通过这次的课程设计使我对汇编语言有了更加深入的学习, 通过几天的设计, 我 掌握了 DOS和BIOS 各个功能调用的同时, 还对子程序的调用有了很深的理解, 也学到了自己以前从没学过的东西。通过这次实验我学会了灵活应对实验中突发的各种错误和故障 (比如 : 死机 ), 始终保持大脑的清醒和敏捷 ,冷静地分析和排除出现错误的各种原因 (当然有时也 离不开老师的认真指导 ),并最终顺利地完成了实验。 再有以前对 C 语言的一些标 准库函数不太了解, 通过实践, 使我在这个方面的认识有所提高。 通

温馨提示

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

评论

0/150

提交评论