当前位置首页 > 资格/认证考试 > 自考
搜柄,搜必应! 快速导航 | 使用教程  [会员中心]

步进电机控制系统的设计

文档格式:DOC| 23 页|大小 803.91KB|积分 10|2022-03-08 发布|文档ID:60589183
第1页
下载文档到电脑,查找使用更方便 还剩页未读,继续阅读>>
1 / 23
此文档下载收益归作者所有 下载文档
  • 版权提示
  • 文本预览
  • 常见问题
  • 目 录绪论 .2第一章 系统设计 .31.1系统设计要求 .31.2方案论证 .3第二章 系统硬件设计器件 .32.1 步进电机.32.2 驱动芯片 L298N .82.3 AT89C51.9第三章 系统软件设计 .123.1 系统软件设计的基本原则.123.2 系统软件设计思想.133.3 软件设计总流程图.133.4 程序设计.13第四章 系统软件仿真 .144.1 软件仿真结果.144.2 仿真结果分析.164.3 功能说明.16结论 .16致谢 .17参考文献 .18附录 .19附录 1 电路图 .19附录 2 程序清单 .20魏兰:步进电机控制系统的设计2步进电机控制系统的设计摘要 本设计基于 AT89C51 单片机控制的步进电机控制系统硬件设计采用单片机结合 L298 驱动芯片来控制步进电机,给出电路图软件设计采用制表的编程方法,给出控制程序和总流程图本设计基于单片机的步进电机控制系统,充分利用了步进电机快速启停、精度高且能够直接接收数字信号的特点,实现快速启停、正反转等功能该系统设计思路简单,易于操作,实用性强等优点关键词 单片机 步进电机 硬件设计 控制系统 软件设计绪论步进电机问世以后,很快确定了自己的应用场合为开环高分辨率的定位系统,工业应用发展到今已有约 30 年的历史,目前还没有更适合的取代它的产品,而且已经发展成为除直流和交流电机外的第三大类电动机产品,但毕竟发展历史不长,人们从应用的角度看仍有不成熟的感觉。

    我国步进电机产品的发展有自己的特点,80 年代以前一直以磁阻式步进电动机为主,70 年代末形成的系列产品以定子 6 极转子 40 齿的三相磁阻式步进电动机为主另外有定子 10 极转子100 齿的五相磁阻式步进电动机和其他的品种80 年代开始发展混合式步进电动机,也是以定子8 极转子 50 齿的二相(四相)混合式步进电动机为主,1987 年开始生产定子 10 极转子 50 齿的五相混合式步进电动机,同时还发展了一些不同于国外的产品,例如定子 8 极转子 60 个齿的二相(四相)混合式步进电动机;转子 100 齿的三相、九相混合式步进电动机;转子 200 齿的五相混合式步进电动机等通过书籍我了解到步进电机不仅是将电脉冲信号转变为角位移或线位移的开环控制元件,还是自动控制系统中常用的执行部件步进电机的输入信号为脉冲电流,它能将输入的脉冲信号转换为阶跃型的角位移或直线位移,因而步进电机可看作是一个串行的数/模转换器由于步进电机能够直接接受数字信号,而不需数/模转换,所以使用微机控制步进电机显得非常方便步进电机还有快速启停、精度高且能够直接接收数字信号的特点,所以在精确定位系统中广泛的使用在工业过程控制系统中,不需位移传感器就可精确定位。

    虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机和交流电机能在常规下使用它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识步进电机现在已广泛运用在需要的高定位精度、高分解能、高响应性、信赖性等灵活控制性高的机械系统中在生产过程中要求自动化、省人力、效率高的机器中,到处都是步进电机的踪迹,尤其在重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合用的最多本设计基于单片机的步进电机控制系统,使其在启停、正反转等控制领域用步进电机来控制变的非常的简单因此具有很好的发展前景和开发价值第一章 系统设计2010 届电子信息工程毕业设计31.1 系统设计要求结合对步进电机的了解,然后对步进电机的控制原理包括步进电机的控制方式和驱动方式作了系统的说明,采用AT89C51单片机来控制步进电机,并给出用户直接用按键控制步进电机启停、正反转的单片机控制的具体实现方法,用汇编程序进行控制运行1.2 方案论证 方案一:采用微机控制,以脉冲分配器和功率驱动为核心微 机步进电机功率驱动脉冲分配器脉冲方向图 1-1 硬件法来设计的步进电机控制系统本方案主要是根据以脉冲分配器和功率驱动为核心的步进电机控制系统。

    步进电机的通电换相顺序严格按照步进电机的工作方式进行,而通电换相这一过程通常被我们称为脉冲分配而实现脉冲分配的方法有软件法和硬件法两种图1-1是采用其中的硬件法来设计的步进电机控制系统方案二:采用单片机控制,以驱动芯片 L298 为核心AT89C51L298N步进电机图 1-2 以 L298 为核心的步进电机控制系统其原理框图如图 1-2 示本原理图主要是利用单片机和驱动芯片来控制步进电机在本次设计中,我采用了方案二,原因是电路简单,元器件少,控制能力较强第二章 系统硬件设计器件2.1 步进电机2.1.1 步进电机的原理步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点使得在速度、位置等控制领域用步进电机来控制变的非常的简单虽然步进魏兰:步进电机控制系统的设计4电机已被广泛地应用,但步进电机并不能像普通的直流电机,交流电机在常规下使用它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。

    2.1.2 步进电机的分类 目前常用的步进电机有三类:(1) 反应式步进电机(VR)反应式步进电机的转子是由软磁材料制成的,转子没有绕组它的结构简单,生产成本低,步距角可以做的相当小,但动态性能相对较差2) 永磁式步进电机(PM)永磁式步进电机的转子式用永磁材料制成的,转子本身就是一个磁源它的出力大,动态性能好,转子的极数与定子的极数相同,所以步距角一般比较大.需供给正负脉冲信号3) 混合步进电机(HB)混合式步进电机综合了反映式和永磁式两者的优点,步距角小,它的输出转矩大,动态性能好,是性能较好的一类步进电动机,但结构复杂,成本较高由于反应式步进电机的性能比比较高,因此这种步进电机应用的非常广泛,在单片机系统中尤其大量使用2.1.3 步进电机的特点(1) 步进电机的角位移与输入脉冲数严格成正比,因此,当它转一转后,没累计误差,具有良好的跟随型2) 由步进电机与驱动电路组成的开环数控系统,既非常简单,又非常可靠同时,它也可以与角度反馈环节组成高性能的闭环数控系统3) 步进电机的动态响应快,易于起停、正反转及变速4) 速度可在相当宽的范围内平滑调节,低速下仍能保证获得大转矩,因此,一般可以不用减速器而直接驱动负载。

    5) 步进电机只能通过脉冲电源供电才能运行,它不能直接使用交流电源和直流电源6) 步进电机存在振荡和失步现象,必须对控制系统和机械负载采取相应的措施7) 步进电机自身的噪声和振动较大,带惯性负载的能力较差2.1.4 步进电机的工作原理 (1) 反应式步进电机下面先叙述三相反应式步进电机原理 1、结构电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几何轴线依次分别与转子齿轴线错开 0、1/3 、2/3 ,(相邻两轴子齿轴线间的距离为齿距以表示) ,即 A 与齿 1 相对齐,B与齿 2 向右错开 1/3 ,C 与齿 3 向右错开 2/3 ,A与齿 5 相对齐(A就是 A,齿 5 就是齿 1) ,定转子的展开图如图 2-12010 届电子信息工程毕业设计5图 2-1 定转子的展开图2、旋转如 A 相通电,B,C 相不通电时,由于磁场作用,齿 1 与 A 对齐(转子不受任何力以下均同) 如 B 相通电,A,C 相不通电时,齿 2 应与 B 对齐,此时转子向右移过 1/3 ,此时齿 3 与 C 偏移为 1/3 ,齿 4 与 A 偏移量公式为: (-1/3)=2/3 (2.1)如C相通电,A,B相不通电,齿3应与C对齐,此时转子又向右移过1/3,此时齿4与A偏移为1/3对齐。

    如A相通电,B,C相不通电,齿4与A对齐,转子又向右移过1/3这样经过A、B、C、A分别通电状态,齿4(即齿1前一齿)移到A相,电机转子向右转过一个齿距,如果不断低按A,B,C,A通电,电机就每步(每脉冲)1/3,向右旋转如按A,C,B,A通电,电机就反转由此可见:电机的位置和速度由导电次数(脉冲数)和频率成一一对应关系而方向由导电顺序决定不过,出于对力矩、平稳、噪音及减少角度等方面考虑往往采用A-AB-B-BCC-CA-A这种导电状态,这样将原来每步1/3改变为1/6甚至于通过二相电流不同的组合,使其1/3变为1/12,1/24,这就是电机细分驱动的基本理论依据不难推出:电机定子上有m相励磁绕阻,其轴线分别与转子齿轴线偏移1/m,2/m(m-1)/m,1并且导电按一定的相序电机正反转就能被控制这是步进电机旋转的物理条件3、力矩电机一旦通电,在定转子间将产生磁场(磁通量)当转子与定子错开一定角度产生力F与(d/d)成正比其磁通量公式为: =Br*S (2.2)式中Br为磁密,S为导磁面积;F与L*D*Br成正比;L为铁芯有效长度;D为转子直径磁密Br公式为: Br=NI/R (2.3)式中NI为励磁绕阻安匝数(电流乘匝数)R为磁阻。

    力矩公式为: 力矩=力*半径 (2.4)力矩与电机有效体积*安匝数*磁密 成正比(只考虑线性状态) 因此,电机有效体积越大,磁安匝数越大,定转子间气隙越小,电机力矩越大,反之亦然2) 感应子式步进电机魏兰:步进电机控制系统的设计61、分类感应子式步进电机以相数可分为:二相电机、三相电机、四相电机、五相电机等2、特点感应子式步进电机与传统的反应式步进电机相比,结构上转子加有永磁体,以提供软磁材料的工作点,而定子激磁只需提供变化的磁场而不必提供磁材料工作点的耗能,因此该电机效率高,电流小,发热低因永磁体的存在,该电机具有较强的反电势,其自身阻尼作用比较好,使其在运转过程中比较平稳、噪音低、低频振动小感应子式步进电机某种程度上可以看作是低速同步电机一个四相电机可以作四相运行,也可以作二相运行(必须采用双极电压驱动) ,而反应式电机则不能如此一个二相电机的内部绕组与四相电机完全一致,小功率电机一般直接接为二相,而功率大一点的电机,为了方便使用,灵活改变电机的动态特点,往往将其外部接线为八根引线(四相) , 这样使用时,既可以作四相电机使用,可以作二相电机绕组串联或并联使用2.1.5 步进电机的控制方式如果通过单片机按顺序给绕组施加有序的脉冲电流,就可以控制电机的转动,从而实现数字一角度的转换。

    转动的角度大小与施加的脉冲数成正比,转动的速度与脉冲频率成正比,而转动方向则与脉冲的顺序有关本次采用两相步进电机,所以以设计中步进电机正转为例,时序如表2-1步进P0.3P0.2P0.1P0.0OFCH11100OF9H21001OF3H30011OF6H40110表 2-1 2 相步进电机激磁方式正转时序2.1.6 步进电机的驱动方式 步进电机常用的驱动方式是全电压驱动,即在电机移步与锁步时都加载额定电压为了防止电机过流及改善驱动特性,需加限流电阻由于步进电机锁步时,限流电阻要消耗掉大量的功率,故限流电阻要有较大的功率容量,并且开关管也要有较高的负载能力步进电机的另一种驱动方式是高低压驱动,即在电机移步时,加额定或超过额定值的电压,以便在较大的电流驱动下,使电机快速移步;而在锁步时,则加低于额定值的电压,只让电机绕组流过锁步所需的电流值这样,既可以减少限流电阻的功率消耗,又可以提高电机的运行速度,但这种驱动方式的电路要复杂一些驱动脉冲的分配可以使用硬件方法,即用脉冲分配器实现现在,脉冲分配器已经标准化、芯片化,市场上可以买到但硬件方法结构复杂,成本也较高步进电机控制(包括控制脉冲的产生和分配)也可以使用软件方法,即用单片机实现,下面图2-2给出具体的使用单片机以软件方式驱动步进电机的实现方法。

    2010 届电子信息工程毕业设计7 图 2-2 驱动电源与单片机及电机接线图说明: CP 接 CPU 脉冲信号(负信号,低电平有效) OPTO 接 CPU+5V FREE 脱机,与 CPU 地线相接,驱动电源不工作 DIR 方向控制,与 CPU 地线相接,电机反转 VCC 直流电源正端 GND 直流电源负端 A 接电机引出线红线 A 接电机引出线绿线 B 接电机引出线黄线 B 接电机引出线蓝线步进电机转速越高,力距越大则要求电机的电流越大,驱动电源的电压越高电压对力矩影响如图 2-3:图 2-3 电压对力矩影响2.1.7 步进电机的单片机控制步进电机控制的最大特点是开环控制,不需要反馈信号因为步进电机的运动不产生旋转量的误差累积由单片机实现的步进电机控制系统如图2-4所示单片机负载步进电机驱动电路图2-4 单片机控制步进电机2.1.8 步进电机的选择步进电机有步距角(涉及到相数) 、静转矩及电流三大要素组成一旦三大要素确定,步进电魏兰:步进电机控制系统的设计8机的信号便确定下来了1) 步距角的选择电机的步距角取决于负载精度的要求,将负载的最小分辨率(当量)换算到电机轴上,每个当量电机应走多少角度(包括减速) 。

    电机的步距角应等于或小于此角度目前市场上步进电机的步距角一般有0.36度/0.72度(五相电机) 、0.9度/1.8度(二、四相电机) 、1.5度/3度(三相电机)等2) 静力矩的选择 步进电机的动态力矩一下子很难确定,我们往往先确定电机的静力矩静力矩选择的依据是电机工作的负载,而负载可分为惯性负载和摩擦负载二种单一的惯性负载和单一的摩擦负载时不存在的直接起动时(一般有低速)时二种负载均要考虑,加速起动时主要考虑惯性负载,恒速运行时只要开率摩擦负载一般情况下,静力矩应为摩擦负载的2-3倍内为好,静力矩一旦选定,电机的机座及长度便能确定下来(几何尺寸) 3) 电流的选择静力矩一样的电机,由于电流参数不同,其运行特性差别很大,可依据矩频特性曲线图,判断电机的电流(参考驱动电源及驱动电压) 4) 力矩与功率换算步进电机一般在较大范围内调速使用,其功率是变化的,一般只用力矩来衡量,力矩与功率换算如下: P= M =2n/60 P=2nM/60 (2.5) 其P为功率,单位为瓦特;为每秒角速度,单位为弧度;n为每分钟转速;M为力矩,单位为牛顿米 P=2fM/400(半步工作) (2.6)其中f为每秒脉冲数(简称PPS) 。

    2.2 驱动芯片L298NL298N是SGS(通标标准技术服务有限公司)公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部包含4通道逻辑驱动电路,是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机其引脚排列如图2-4所示:2010 届电子信息工程毕业设计9图 2-5 驱动芯片 L298N2.2.1 引脚说明L298N 的引脚 9 为 LOGIC SUPPLY VOLTAGE Vss,即逻辑供应电压引脚 4 为 SUPPLY VOLTAGE Vs,即驱动部分输入电压Vss 电压要求输入最小电压为 4.5V,最大可达 36V;Vs 电压最大值也是 36V,但经过我的实验,Vs 电压应该比 Vss 电压高,否则有时会出现失控现象它的引脚 2,3,13,14 为 L298N 芯片输入到电动机的输出端,其中引脚 2 和 3 能控制两相电机,对于直流电动机,即可控制一个电动机同理,引脚 13 和 14 也可控制一个直流电动机引脚 6 和 11 脚为电动机的使能接线脚引脚 5,7,10,12 为单片机输入到 L298N 芯片的输入引脚。

    表 2-2 是其使能、输入引脚和输出引脚的逻辑关系:EN A(B)IN1(IN3)IN2(IN4)电机运行情况HHL正转HLH反转H同 IN2(IN4)同 IN1(IN3)快速停止LXX停止表 2-2 使能、输入引脚和输出引脚的逻辑关系控制使能引脚 ENA 或者 ENB 就可以实现 PWM 脉宽速度调整1 脚和 15 脚可单独引出连接电流采样电阻器,形成电流传感信号,也可以直接接地在设计中可将它们直接接地引脚 8 为芯片的接地引脚,它与 L298N 芯片的散热片连接在一起由于本芯片的工作电流比较大,发热量也比较大,所以在本芯片的散热片上又连接了一块铝合金,以增大它的散热面积2.2.2 芯片部分参数(1) 逻辑部分输入电压:67V(2) 驱动部分输入电压 Vs:4.846V(3) 逻辑部分工作电流 Iss:36mA(4) 驱动部分工作电流 Io:2A(5) 最大耗散功率:25W(T=75)(6) 控制信号输入电平:高电平:2.3VVinVss;低电平:-0.3VVin1.5V(7) 工作温度:-25130魏兰:步进电机控制系统的设计10(8) 驱动形式:双路大功率 H 桥驱动2.3 AT89C51AT89C51 是一种带 4K 字节闪烁可编程课擦除只读存储器(FPEROM-Flash Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS 8 位微处理器,俗称单片机。

    AT89C2051是一种带 2K 字节闪烁可编程可擦除只读存储器的单片机单片机的可擦除只读存储器可以反复擦除 100 次该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 AT89C51 是一种高效微控制器,AT89C2051 是它的一种精简版本AT89C51 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案2.3.1 引脚图 图 2-6 AT89C51 引脚图2.3.2 主要特性与 MCS-51 兼容 4K 字节可编程闪烁存储器 XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C512010 届电子信息工程毕业设计11寿命:1000 写/擦循环数据保留时间: 10 年全静态工作: 0Hz-24MHz三级程序存储器锁定1288 位内部 RAM32 可编程 I/O 线两个 16 位定时器/计数器5 个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 2.3.3 管脚说明VCC:供电电压。

    GND:接地P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流当 P1 口的管脚第一次写 1 时,被定义为高阻输入 P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位在 FIASH 编程时,P0 口作为原码输入口,当 FIASH 进行校验时, P0 输出原码,此时 P0 外部必须被拉高P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL门电流P1 口管脚写入 1 后,被内部上拉为高,可用作输入, P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故在FLASH 编程和校验时, P1 口作为第八位地址接收 P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入并因此作为输入时,P2 口的管脚被外部拉低,将输出电流这是由于内部上拉的缘故P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时, P2 口输出地址的高八位在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。

    P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入作为输入,由于外部下拉为低电平,P3 口将输出电流( ILL)这是由于上拉的缘故P3 口也可作为 AT89C51 的一些特殊功能口,如表 2-3 所示:口管脚备选功能P3.0/RXD串行输入口P3.1/TXD串行输出口P3.2/INT0外部中断 0P3.3/INT1外部中断 1P3.4/T0记时器 0 外部输入魏兰:步进电机控制系统的设计12P3.5/T1记时器 1 外部输入P3.6/WR外部数据存储器写选通P3.7/RD外部数据存储器读选通表 2-3 P3 口备选功能P3 口同时为闪烁编程和编程校验接收一些控制信号RST:复位输入当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节在FLASH 编程期间,此引脚用于输入编程脉冲在平时,ALE 端以不变的频率周期输出正脉冲信 号,此频率为振荡器频率的 1/6。

    因此它可用作对外部输出的脉冲或用于定时目的然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲如想禁止 ALE 的输出可在 SFR8EH 地址上置 0此时, ALE 只有在执行 MOVX,MOVC 指令是 ALE 才起作用另外,该引脚被略微拉高如果微处理器在外部执行状态 ALE 禁止,置位无效/PSEN:外部程序存储器的选通信号在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现/EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH) ,不管是否有内部程序存储器注意加密方式 1 时,/EA 将内部锁定为 RESET;当/EA 端保持高电平时,此间内部程序存储器在 FLASH 编程期间,此引脚也用于施加 12V 编程电源(VPP) XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入XTAL2:来自反向振荡器的输出2.3.4 振荡器特性XTAL1 和 XTAL2 分别为反向放大器的输入和输出该反向放大器可以配置为片内振荡器石晶振荡和陶瓷振荡均可采用如采用外部时钟源驱动器件,XTAL2 应不接。

    有余输 入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度2.3.5 芯片擦除整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持 ALE 管脚处于低电平 10ms 来完成在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行此外,AT89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式在闲置模式下,CPU 停止工作但 RAM,定时器,计数器,串口和中断系统仍在工作在掉电模式下,保存 RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止 第三章 系统软件设计3.1 系统软件设计的基本原则系统中控制任务的实现最终是靠控制软件来完成的,控制软件的设计将直接决定整个系统的2010 届电子信息工程毕业设计13控制性能,以下首先阐述一下软件设计的一些基本要求,然后再概述本系统软件的设计方案1) 实时性 单片机必须在一定的时间内,完成一系列的软件处理过程,如对系统的输入信号进行采样、 计算、逻辑判断和分析,按照规定的控制算法进行数值计算,输出各种控制信号,以及对可能出现的故障进行及时处理。

    2) 可靠性软件的可靠性是指软件在运行过程中避免发生故障的能力,以及一旦发生故障后的解脱和排除故障的能力因此,为了让提高软件的可靠性,软件设计时要考虑系统运行过程中可能出现的一切非正常情况,且在系统一旦出现故障,如用户操作有误,或发生程序受外界严重干扰而“跑飞”等情况时,也要有一定的对策,以防止对系统造成严重损失3) 可维护性一个完整的控制软件,通常需要一个不断地设计、调试、修改和完善的过程,才会最终满足系统所需的功能要求因此,在软件的总体设计时,必须要良好的程序结构设计,以便于程序的反复调试、修改和补充,并保证最终的软件仍只有简洁明了的结构现在我们所学所用的单片机编程语言主要有二种:汇编语言、C 语言其中 C 语言属于高级语言,它的优点是本身具有丰富的库函数和数据类型封装,程序编制简单,可读性强,缺点是程序生成机器代码的效率低汇编语言则相反汇编语言是符号表示的指令,是对机器语言的改进它是直接对硬件操作的语言,因此,每一条汇编语言对应一定的硬件操作,意义明确,调试时十分方便,它具有很高的编译效率和执行效率由于本人对汇编语言较熟悉,再加上本控制系统软件功能较少,程序短小,所以在本次设计中采用汇编语言编写程序。

    3.2 系统软件设计思想 本设计编程采用制表的方法,步进电机正转采用 2 相激磁方法,时序如表 3-1 所示步进P0.3P0.2P0.1P0.0OFCH11100OF9H21001OF3H30011OF6H40110表 3-1 2 相激磁方式正转时序步进电机反转采用 1-2 相激磁方法,时序如表 3-2 所示步进P0.3P0.2P0.1P0.0OF7H10111OF3H20011OFBH31011OF9H41001OFDH51101OFCH61100OFEH71110魏兰:步进电机控制系统的设计14OF6H80110表 3-2 1-2 相激磁方式反转时序3.3 软件设计总流程图 程序设计总流程图如图 3-1 所示开始结束读取表格输出按K1正转按键扫描按K3停止按K2反转图 3-1 程序流程图3.4 程序设计3.4.1 主要控制程序STOP: MOV P0, #0FFH;步进电动机停止 LOOP: JNB K1, Z_M2;是否按 K1, 是则正转 JNB K2, F_M2;是否按 K2, 是则反转 JNB K3, STOP1;是否按 K3, 是则停止 JMP LOOP;转至 LOOP 处 此程序是本设计的主要控制程序。

    通过此程序中对 K1 键和 K2 键按下否来判断是否调用正转子程序和调用反转子程序;通过判断 K3 键按下否来确定步进电机是否停止3.4.2 消抖程序STOP1: ACALL DELAY; 按 K3 的消除抖动 JNB K3, $ ;K3 放开否? ACALL DELAY;放开消除抖动 JMP STOP;电机停止此程序为 K3 键消除抖动程序在按 K3 时,调延时子程序,延时一小段时间来消除按键时的抖动放开 K3 时,原理与按下 K3 时相同3.4.3 延时程序DELAY: MOV R1,#40; 延时时间 20MsD1: MOV R2,#2482010 届电子信息工程毕业设计15 DJNZ R2,$ DJNZ R1,D1 RET延时程序是电机运转两部之间的间隔时间,决定电机的转速延时时间长,送入电机的脉冲信号频率低,电机转速慢;延时时间短,送入电机的脉冲信号频率高,电机转速快所以,在此延时程序里改变延时时间久可以改变电机的转速 第四章 系统软件仿真4.1 软件仿真结果图 4-1 至图 4-3 为系统仿真截图,其中图 4-2 为步进电机逆时针运转,图 4-3 为步进电机顺时针运转图 4-1 步进电机未启动魏兰:步进电机控制系统的设计16图 4-2 步进电机逆时针运转 图 4-3 步进电机顺时针运转 4.2 仿真结果分析 2010 届电子信息工程毕业设计17仿真结果说明,采用单片机和驱动芯片 L298 来控制步进电机的控制系统的所有控制功能正常,拟解决的主要问题问题也已解决。

    结合图 4-1,图 4-2 和图 4-3 可以看出本设计用户能够通过按键控制步进电机的起停和正反转当按下 K1 时,步进电机顺时针运转;当按下 K2 时,步进电机逆时针运转按 K3 时,电动机停止转动本程序是通过 K1、K2 和 K3 3 个按钮开关控制步进电机转动和改变转向电机使用 1-2 相激磁,编程时采用制表的方法程序正转与反转的脉冲频率相同,但由于使用的激磁方法不一样,反转使用 1-2 相激磁法,故反转速度是正转的一半4.3 功能说明单片机的 P3.2P3.4 引脚,分别接有按钮开关 K1、K2 和 K3,用来控制步进电动机的转向1) 开始供电时,步进电动机停止2) 按 K1 时,电动机正转;按 K2 时,电动机反转3) 按 K3 时,电动机停止转动正转采用 2 相激磁方式;反转采用 12 相激磁方式结论仿真结果说明,采用单片机和驱动芯片 L298 来控制步进电机的控制系统的所有控制功能正常,拟解决的主要问题问题也已解决本设计拟解决的主要问题如下:步进电机的基本原理步进电机的基本控制方法汇编语言的熟知及运用仿真器及软件的使用步进电机的控制功能分析由本设计可以看出,以单片机和驱动芯片为核心的步进电机控制系统电路简单,容易操作和改良,而且大大节约了硬件开发的成本,是未来步进电机被利用发展的方向。

    但本次设计仅从系统构建角度和基本控制功能上考虑,并未对步进电机被利用行业所需的控制功能来深入研究如步进电机被利用于机床、轮船等行业的控制考虑不周本控制系统的控制功能加强、其步进电机的转速设置等诸多问题在设计时考虑不够周全这些问题都可以通过程序来解决,可以使其控制系统更加简单明了,容易操作致谢本次设计的完成,首先要感谢母校重庆三峡学院的辛勤培育之恩其次要感谢我的指导老师王悦善老师给我的指导和帮助,给我提供了良好的实验设计环境和很好的意见在王老师的悉心指导与无微不至的关怀帮助下,才使我的设计得以顺利完成王老师为本课题的设计提出了许多指导性的意见,为设计报告的撰写、修改提供了许多具体的指导和帮助他严谨治学、不断探索的科研作风,给我留下了深刻的印象,使我受益匪浅,是我今后人生路上的最好榜样此外,魏兰:步进电机控制系统的设计18我还要感谢系上的领导和老师对我的关心和帮助,你们给予我很大的支持和关怀,为我创造了良好的外部环境,值此机会,我向你们说声谢谢!同时,还要感谢班上的同学和寝室的姐妹们,为我提供了一个轻松活跃的交流氛围,在学习和生活上给予我了无私的帮助在此就要感谢评阅老师对本论文进行的认真评阅和批评指正。

    最后,向所有给予我关怀和帮助的师长和同学们表示衷心的感谢!参考文献1 姚凯学,孟传良.单片机原理及应用M.重庆大学出版社.19982 王小明.电动机的单片机控制M.北京航空航天大学出版社.20023 王守中.51 单片机开发入门与典型实例M.人民邮电出版社.20074 张广溢,郭前岗.电机学M.重庆大学出版社.20025 楼然苗,李光飞.51 系列单片机设计实例M.北京航空航天大学出版社M.20036 李源生.电工电子技术M.北京交通大学出版社.20047 宋锦河.步进电机控制系统的快速实现J.鄂州大学学报.2004.11(4):4-78 刘文涛.单片机语言 C51 典型应用设计M.人民邮电出版社.20059 赵博文,刘文涛.单片机语言 C51 程序设计M.人民邮电出版社.200510 求是科技.单片机典型模块设计实例导航M.人民邮电出版社.200411 章小红.电子绞边装置及其控制系统设计C.苏州大学.200712 王玉琳. 步进电动机的软件脉冲分配 J.制造技术与机床,2006.(7)13 王玉琳. 步进电机的速度调节方法 J.电机与控制应用,2006.(1)14 蔡志健,丁爱萍.小功率步进电机控制器的设计J.上海师范大学学报(自然科学版).2005.34(4):42-4615 毛玉蓉,翁惠辉,刘钢.一种基于单片微机的步进电机控制系统J.电气传动.2003.(6):32-342010 届电子信息工程毕业设计19Design of Stepper Motor Control SystemWEILanGrade 2006Major in electronic information engineeringSchool of Applied TchnologyChongqing Three Gorges UniversityWanzhou Chongqing 404000Abstract : The design is based on AT89C51 microcontroller-controlled stepper motor control system. The hardware design uses a combination of L298 driver chip microcomputer to control the stepper motor is given circuit. Software design, programming using tabulation method, are given control procedures and the total flow. The design is based on SCM stepper motor control system, take full advantage of rapid start and stop of the stepping motor, high precision, and can receive digital signals directly to the characteristics of rapid start and stop, positive inversion functions. The system design ideas simple, easy to operate, practical, strong and so on.Keywords: SCM Stepper Motor Driver IC 附录附录 1 电路图 魏兰:步进电机控制系统的设计20 电路如下图所示。

    K1、K2 和 K3 按钮开关分别接在单片机的 P3.2P3.4 引脚上,作为控制信号的输入端,输入端直接采用 L298 驱动电路控制步进电机的转向 附录 2 程序清单程序功能:开关控制步进电机正反转2010 届电子信息工程毕业设计21 K1 EQU P3.2;设定 P3.2 以 K1 表示 K2 EQU P3.3;设定 P3.3 以 K2 表示 K3 EQU P3.4;设定 P3.4 以 K4 表示STOP: MOV P0, #0FFH;步进电动机停止 LOOP: JNB K1, Z_M2;是否按 K1, 是则正转 JNB K2, F_M2;是否按 K2, 是则反转 JNB K3, STOP1;是否按 K3, 是则停止 JMP LOOP;转至 LOOP 处;-STOP1: ACALL DELAY;按 K3 的消除抖动 JNB K3, $ ;K3 放开否? ACALL DELAY;放开消除抖动 JMP STOP;电机停止Z_M2: ACALL DELAY;按 K1 的消除抖动 JNB K1, $ ;K1 放开否? ACALL DELAY;放开消除抖动 JMP Z_M;转至 Z_M 处F_M2: ACALL DELAY;按 K2 的消除抖动 JNB K2, $;K2 放开否? ACALL DELAY;放开消除抖动 JMP F_M;转至 F_M 处,循环 ;-Z_M: MOV R0,#00H;正转至 TABLE 取码指针初值Z_M1: MOV A, R0 ;至 TABLE 取码 MOV DPTR, #TABLE;存表 MOVC A,A+DPTR;取表代码 JZ Z_M ;是否取到结束码(00H)? MOV P0,A ; 输出至 P0,正转 JNB K3, STOP1;是否按 K3,是则停止运转 JNB K2, F_M2 ;是否按 K2,是反转 ACALL DELAY;步进电动机转速 INC R0;取下一个码 JMP Z_M1;转至 Z_M 处,循环魏兰:步进电机控制系统的设计22 RET ;-F_M: MOV R0,#05H;反转至 TABLE 取码指针初值F_M1: MOV A, R0;至 TABLE 取码 MOV DPTR, #TABLE;存表 MOVC A,A+DPTR;取表代码 JZ F_M;是否取到结束码(00H)? MOV P0,A; 输出至 P0, 反转 JNB K3, STOP1;是否按 K3,是则停止运转 JNB K1, Z_M2 ;是否按 K1,是正转 ACALL DELAY;步进电动机转速 INC R0;取下一个码 JMP F_M1; 转至 F_M1 处,循环 RET;-DELAY: MOV R1,#40; 延时时间 20MsD1: MOV R2,#248 DJNZ R2,$ DJNZ R1,D1 RET;-TABLE: DB 0FCH, 0F9H, 0F3H, 0F6H;正转 DB 00 ;正转结束码 DB 0F7H, 0F3H, 0FBH, 0F9H; 反转 DB 0FDH, 0FCH, 0FEH, 0F6H DB 00 ;反转结束码;- END;主要标号说明 LOOP :按键扫描。

    STOP1:K3 键消除抖动 Z_M2 :K1 键消除抖动 F_M2 :K2 键消除抖动 Z_M :反转子程序 F_M :正转子程序 DELAY:延时子程序 TABLE:控制码表寄存器使用分配表2010 届电子信息工程毕业设计23 P0、P3:特殊寄存器,对外是输入/输出端口A:特殊寄存器,也为称累加器R0:普通寄存器,在程序中存入 TABLE 表取吗指针初值R6、R7:在延时程序中做计数器DPTR:为特殊寄存器,用于存表。

    点击阅读更多内容
    卖家[上传人]:痛苦女王
    资质:实名认证