1、基于Proteus的步进电机的设计仿真基于Proteus的步进电机的设计仿真摘要步进电机广泛应用在生产实践的各个领域。它最大的应用是在数控机床的制造中,因为步进电机不需要A/D转换,能够直接将数字脉冲信号转化成为角位移,所以被认为是理想的数控机床的执行元件。本设计利用proteus仿真软件进行电路仿真,系统通过设置四个按键分别控制不进电机的起止、圈数、方向、不进速度,使用1602液晶显示以上参数。整个系统具有稳定性好,实用性强,操作界面友好等优点。本文应用单片机、步进电机驱动芯片、字符型LCD和键盘阵列,构建了集 步进电机控制器和驱动器为一体的步进电机控制系统。二维工作台作为被控对象通过步进电
2、机驱动滚珠丝杆在X/Y轴方向联动。文中讨论了一种以最少参数确定一条圆弧轨迹的插补方法和步进电机变频调速的方法。步进电机控制系统的开发采用了软硬件协同仿真的方法,可以有效地减少系统开发的周期和成本。最后给出了步进电机控制系统的应用实例。功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。 目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。 支持大量的存储器和外围芯片。总之该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大 ,可仿真51、AVR、PIC。第二章 硬件电路设
3、计电路总体结构 整个设计以STC89C51单片机为中心,由复位电路,时钟电路,电机驱动,步进电机等组成,硬件模块如图2-1所示;图2-1 硬件模块图2.1 步进电机2.1.1 步进电机简介步进电机是一种能够将电脉冲信号转换成角位移或线位移的机电元件,它实际上是一种单相或多相同步电动机。单相步进电动机有单路电脉冲驱动,输出功率一般很小,其用途为微小功率驱动。多相步进电动机有多相方波脉冲驱动,用途很广。使用多相步进电动机时,单路电脉冲信号可先通过脉冲分配器转换为多相脉冲信号,在经功率放大后分别送入步进电动机各相绕组。每输入一个脉冲到脉冲分配器,电动机各相的通电状态就发生变化,转子会转过一定的角度(
4、称为步距角)。正常情况下,步进电机转过的总角度和输入的脉冲数成正比;连续输入一定频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。由于步进电动机能直接接收数字量的输入,所以特别适合于微机控制。2.1.2 步进电机的特点1.一般步进电机的精度为步进角的3-5%,且不累积。2步进电机外表允许的最高温度。步进电机温度过高首先会使电机的磁性材料退磁,从而导致力矩下降乃至失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏200度以上,所以步进电机外表温度在摄氏80-90度完全正常。3
5、步进电机的力矩会随转速的升高而下降。当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高反向电动势越大。在它的作用下,电机随频率(或速度)的增大而相电流减小,从而导致力矩下降。4步进电机低速时可以正常运转,但若高于一定速度就无法启动,并伴有啸叫声。 2.2 STC8951单片机2.2.1 总述在此嵌入式系统的设计中,主要用单片机进行控制现场,故采用目前最普遍、较便宜的ATMEL STC89C51RC单片机。该系列单片机是采用高性能的静态80C51设计。由先进CMOS工艺制造并带有非易失性Flash 程序存储器。全部支持12时钟和6时钟操作。其8051的内部功能模块如图2-2所示。
6、图2-28051的内部功能模块图STC89C51RC包含512字节RAM 、32条I/O口线、3个16位定时/计数器、8输入4优先级嵌套中断结构、1个串行I/O口(可用于多机通信、I/O扩展或全双工UART)以及片内振荡器和时钟电路。此外,由于器件采用了静态设计,可提供很宽的操作频率范围(频率可降至0)。可实现两个由软件选择的节电模式、空闲模式和掉电模式。空闲模式冻结CPU,但RAM、定时器、串口和中断系统仍然工作。掉电模式保存RAM的内容,但是冻结振荡器,导致所有其它的片内功能停止工作。由于设计是静态的,时钟可停止而不会丢失用户数据。运行可从时钟停止处恢复。2.2.2 性能1增强型6时钟机器
7、周期,12时钟机器周期8051 CPU2工作电压:5. 5V -3.4V(5V单片机)3.工作频率范围:0 - 40 MHz相当于普通8051的 080MHz实际工作频率可达48MHz4.用户应用程序空间4K5.片上集成512字节RAM6通用I/O口(32个),复位后为: Pl/P2/P3是准双向口弱上拉(普通8051传统I/O口),P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。7ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器仿真器,可通过串口( P3. O/P3.1)直接下载用户程序,8K程序3秒即可完成一片8.EEPROM功能9看门狗1
8、0内部集成MAX810专用复位电路(D版本才有),外部晶体20M以下时,可省外部复位电路11.共3个16位定时器计数器,其中定时器0还可以当成2个8位定时器使用12.外部中断4路,下降沿中断或低电平触发中断,Power Down模式可由外部中断低电平触发中断方式唤醒13.遁用异步串行口(UART),还可用定时器软件实现多个UART14.工作温度范围: 0 75-40 - +8515.封装:LQFP-44, PDIP-40,PLCC-44, PQFP-442.2.3 结构概览STC89C51RC 的结构如下图2-3所示。图2-3 STC89C51RC系统结构2.2.4 芯片的引脚排列和说明STC
9、89C51RC共有40个引脚,封装形式为PDIP40, 它的排列如图2-4所示图2-4 STC89C51RC引脚原理图图2-5 STC89C51RC实物图在40个引脚功能说明如表2-1所示。表2-1 STC89C51RC 管脚功能说明VCC(40脚)+5V电源输入VSS(20脚)接地P0口(3932脚)P0口是一个8位漏极开路双向I/O端口。作I/O端口使用时,需加上拉电阻。作为一个输出端口,每个引脚作为8个TTL输入。 P0口也可以配置为复用地址/数据总线,访问外部程序和数据存储器。P1口(18脚)P1口是一个8位双向I/O端口的内部上拉端口,此外, P1.0和P1.1可配置为定时器/计数器
10、2的外部计数输入( P1.0/T2 )和定时器/计数器2触发输入( P1.1/T2EX )P1.0 T2(外部计数投入定时器/计数器2), 时钟输出P1.1 T2EX (定时器/计数器2捕捉/重载触发和方向控制)P2口(2128脚)P2口是一个8位双向I/O端口的内部上拉端口P2口也可以配置为复用地址总线,访问外部程序和数据存储器,输出地址的高8位P3口(1017脚)P3口是具有双重功能的8位接口P3.0 RXD(串行输入端口)P3.1 TXD(串行输出端口)P3.2 INT0(外部中断0,低电平有效)P3.3 INT1(外部中断1,低电平有效)P3.4 T0(定时器0外部输入)P3.5 T1
11、(定时器1外部输入)P3.6 WR(外部数据存储器写选通,低电平有效)P3.7 RD(外部数据存储器读选通,低电平有效)RST(9脚)复位/备用电源引线。当该端加上超过24个时钟的高电平时,可使单片机复位;若在改引线上接+5V备用电源,则当VCC掉电时,该备用电源可保护片内RAM中的信息。XTAL1(19脚)XTAL2(18脚)外部晶体连线,片外石英晶体连与此二端与片内电路构成振荡器。 EA(31脚)允许访问片外ROM/编程高电压引线。当EA=1时,访问片内ROM;若EA=0,访问片外ROMALE(30脚)地址锁存。当P0口工作在第二功能时,从该口可以送出A0A7和传送D0D7,利用ALE可以
12、将A0A7锁存在地址锁存器。PSEN(29脚)片外ROM选通信号,常用作片外ROM的读控制信号,低电平有效。2.3 ULN2003A介绍ULN2003高耐压、大电流达林顿管ICULN2003概述与特点图2-5 ULN2003A实物图ULN2003 是高耐压、大电流达林顿陈列,由七个硅NPN 达林顿管组成。该电路的特点如下:ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可
13、以在高负载电流并行运行。ULN2003 采用DIP16 或SOP16 塑料封装。 图2-6 方框图图2-7 封装外形图ULN2003内部还集成了一个消线圈反电动势的二极管,可用来驱动继电器。它是双列16脚封装,NPN晶体管矩阵,最大驱动电压=50V,电流=500mA,输入电压=5V,适用于TTL COMS,由达林顿管组成驱动电路。 ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,它的输出端允许通过电流为200mA,饱和压降VCE 约1V左右,耐压BVCEO 约为36V。用户输出口的外接负载可根据以上参数估算。采用集电极开路输出,输出电流大,故可直接驱动继电器或固体继电器,也可
14、直接驱动低压灯泡。通常单片机驱动ULN2003时,上拉2K的电阻较为合适,同时,COM引脚应该悬空或接电源。ULN2003是一个非门电路,包含7个单元,但独每个单元驱动电流最大可达350mA,9脚可以悬空。 比如1脚输入,16脚输出,你的负载接在VCC与16脚之间,不用9脚。 uln2003的作用:ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。可直接驱动继电器等负载。 输入5VTTL电平,输出可达500mA/50V。ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。 该电路的特点如下: ULN2003的每一对达林顿都串联一个2.7
15、K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路 直接相连,可以直接处理原先需要标准逻辑缓冲器。ULN2003 是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。2.4 复位电路和时钟电路 图2-8 复位电路 图2-9 时钟电路2.5 整个电路的原理步进电机控制的最大特点是开环控制,不需要反馈信号。因为步进电机的运动不产生旋转量的误差累积。由单片机实现的步进电机控制系统如图所示。图2-10 系统原理图第三章 软件系统设计软件部分采用模块化结构设计。对步进电机转速的控制是通过定时器工作在中断方式实现的。
16、定时器定时中断产生周期性脉冲序列,不是采用软件延时的方式,这样不占用CPU的时间。CPU在非中断时间内可以处理其他事件,只有在中断发生时才驱动步进电机转动一步。根据步进电机励磁状态转换,采用查表法求出所需的输出状态,并以二进制码的形式依次存入单片机内部的存储器中;然后按照正向或反向顺序依次取出地址的状态字,送给STC12C4052AD,输出各励磁状态,从而实现环形分配器的功能。3.1 电路流程图 图3-1 电路流程图第四章 电路仿真4.1 Proteus原理图绘制过程1进入工作界面,打开ProteusISIS编辑环境,按表1-1所列的元件清单添加元件。元件名称所属类所属子类STC89C51Mi
17、croproccessor ICs8051 FamilyCAPCapacitorsGenericXAP-POLCapacitorsGenericCRYSTALMiscellaneous-RESResistorsGenericBUTTONSwitches&RelaysSwitchesMOTOR-STEPPERElectromechanical-ULN2003AAnalog ICsMiscellaneous表4-12在如图4-2所示的元件库中添加表4-1中的元件。图4-2 元件库图4-3 添加元件后界面3元件完全添加后,在ProteusISIS的编辑区域中画出如图4-4所示的原理图图4-4 绘制完
18、成的原理图4.2 仿真设置1、程序的编译该软件有自带编译器,有ASM的、PIC的、AVR的汇编器等。在ISIS添加上编写好的程序,方法如下点击菜单栏“Source”,在下拉菜单点击“AddRemove Source Files(添加或删除源程序)”出现一个对话框,如图14所示。点击对话框的“NEW”按钮,在出现的对话框找到文件设计好的“计数器.asm”,点击打开图15;在“Code Generation Tool”的下面找到“ASEM51”,然后点击“OK” 按钮,设置完毕我们就可以编译了。点击菜单栏的“Source”,在下拉菜单点击“Build All”,过一会,编译结果的对话框就会出现在我
19、们面前,如图4-5所示。如果有错误,对话框会告诉我们是哪一行出现了问题,可惜的是,点击出错的提示,光标不能跳到出错地方,但是能告诉出错的行号。图4-5 添加源程序界面图4-6 添加新资源界面图4-7 编译界面2、调试选中单片机AT89C51,左键点击AT89C51,在出现的对话框里点击Program File按钮(如图4-8,点击,找到上一步编译得到的HEX文件,然后点击“OK”按钮就可以模拟了图4-8 程序加载界面点击第一个按钮就可以开始模拟仿真。4.2 仿真结果按“正转”和“反转”按钮,观察步进电机的状态,如图所正转反转图4-9 仿真结果第五章 硬件电路的制作与调试5.1焊接准备与注意事项
20、清洁:用刀或砂纸打磨被焊点,焊接的时候使用助焊剂,可以帮助去除氧化层,加速焊锡融化。镀锡:给节点和线头事先镀一层锡,容易让焊锡向着焊点凝聚。焊接:要让焊点达到一定的温度方法是让电烙铁接触被焊点一会,同时将焊锡涂抹到焊点,等焊锡与焊点达到充分的温度和接触度的时候抽离烙铁。 修正:虚焊,要单独处理,用电烙铁沿着焊点上下移动几下,让焊锡和焊点达到一定温度并充分接触,焊接的不满意的,焊锡过多可以将板子倒置用电烙铁吸走部分后,重新焊接,焊锡过少直接再涂抹部分焊锡。整个过程一定要保证焊锡和焊点达到一定的温度,并充分接触。(电烙铁来回蹭焊点,时间也不要太长),这样可以明显减少虚焊。如何判断虚焊:在同一条铜线
21、上如果引脚之间电阻较大就应该存在虚焊。将数字万用表打到电阻测量最小档,这个档在测量的时候如果出现电阻为零就会叫,叫的就是质量合格的。 对于单独的焊点,用万用表的两针分别接触,焊盘周围和元结引脚如果叫说明接通(多试几下如果从焊盘盘个个方向都叫基本就拿准了),如果不叫应该是虚焊。如何判断断路,有的时候铜线会断掉,这是还是用电阻档,分别放到铜线的两个不同引脚上,如果不叫不是节点虚焊,就是铜线断掉。铜线断掉的用飞线连一下就可以了。松香和焊锡可不是什么好东西,焊接的时侯注意通风。焊锡膏只有焊接难上锡的铁件等物品时才用到,具有腐蚀性,一般只用松香就行了,松香的作用是析出焊锡中的氧化物,保护焊锡不被氧化,增
22、加焊锡的流动性。清洁的表面会很好地挂锡,这也就是为什么焊锡膏中除松香等表面活性剂之外,带有腐蚀性成分的原因,通过轻微腐蚀,将表面彻底清洁,使焊锡能很好地挂上。 松香只是简单的表面活性剂,使焊锡同焊接表面能充分浸润。所以只使用松香的话,在焊接之间,可以轻微地用砂纸或直接用烙铁头挂擦几下,然后用松香上锡。烙铁蘸松香,然后蘸焊锡,然后焊,离开后,吹口气冷却工件焊点。用手拉一拉工件,检查是否虚焊。卸掉已焊接的原件:用电烙铁加热焊点至焊锡融化,用镊子或小钳子将原件引脚从电路板支开。电烙铁选择:根据你的焊接量大小和工作性质不同选用也不同,一般焊接比较小的焊点选择内热式电烙铁,但是目前比较大量的焊接一般采用
23、焊接台来完成,价格比较贵一般几百元。如果是个人使用,有两种选择,一种可以选择内热式35瓦电烙铁,一种可以选择恒温电烙铁。 烙铁头一般是原配的质量比较好,厚度较厚,结合紧密的为好。恒温式电烙铁的烙铁头一般是表面有合金材料的,质量比较好。 焊接时可以先把烙铁头挫出光亮的铜预热至150-180度后蘸一下松香焊剂,然后用焊锡丝镀锡,镀上光亮的锡后就可以焊接了,焊接温度一般220度左右为好。焊锡丝尽量选用低温焊锡丝。在焊接时先在电路板上涂上松香焊剂,然后烙铁蘸一下松香焊剂,用焊锡丝对准焊点,烙铁轻轻一点,一个光亮的焊点就完成了。 每次使用后用湿润的清洁海绵抹去焊铁头上助焊剂,旧锡和氧化物,清洁之后,待焊
24、铁湿度稍为降低后涂上新锡层,以减低焊铁头的氧化机会。把焊铁摆放在焊铁架上:为免焊铁受到碰撞而损坏,应把焊铁摆放在合适的焊铁架上。及时清理氧化物:当镀锡层部分含有黑色氧化物或生锈时,必需及时清理,以免焊铁上不了锡而不能进行焊接工作。5.2单片机程序写入程序烧写:利用了RF-X1开发板(图1)将编写调试完成的程序写入单片机。图5-1 RF-X1开发板烧写步骤如下:1、根据计算机的系统安装USB芯片PL2303HX驱动。2、用USB线把板子与电脑的USB口连接,并把板子上USB接口下面的拨码开关都打到ON的那一端,同时设置好连接端口(COM端口)。3、正确放上单片机STC89C52,芯片缺口朝手杆方
25、向放置。4、在Windows环境下打开STC单片机下载软件STC-ISP,按照该界面上的步骤进行设置,如图2所示,包括芯片选型(STC89C52RC),端口选择(COM5),然后点击OPEN FILE导入光盘中的实例程序(HEX文件)如图3所示,点击Downlaod/下载。5.3 硬件安装所需元器件见下表5-2表5-2 元器件名称型号规格数量单片机STC89C511步进电机MOTOR-STEPPER1CPYSTAL1电阻100 1K 47K*24电解电容10pF2达林顿管阵列ULN2003A1电容20pF2 按照元件清单取得所有电路中用到的硬件,并将事先写好程序的单片机AT89C51以及A/D
26、转换ADC0809及其他的一些控制器件进行焊接连接!5.4硬件调试所有硬件安装好后我们开始运行调试。调试结果如图5-3所示图5-3硬件电路调试总结在整个毕业设计过程中,我学到很多东西,并且让我意识到自己对单片机方面的知识了解的还不够,对于书本上的很多知识还不能灵活运用,尤其是对程序设计语句的理解和运用,不能够充分理解每个语句的具体含义,导致编程的程序过于复杂,使得需要的存储空间增大。损耗了过多的内存资源通过此次毕业设计,我不仅将知识融会贯通,而且在查找资料的过程中也了解了许多课外知识,开拓了视野,使自己在专业知识方面和动手能力方面有了很大的提高,让我学会了理论到实践的转化,即如何将自己学到的运
27、用到以后的生活和工作中,同时,也让我意识到团队精神的重要性。此外,感谢王老师的悉心教导以及同学的帮助,正是王老师细心的辅导和提供的一些参考资料还有同学们的互相帮助,让我顺利的完成了毕业设计,相信这对我以后的生活和工作都会有很大的帮助参考文献1 谢自美电子线路设计实验测试M武汉:华中理工大学出版社,1992.2 何立民单片机应用系统设计M北京:北京航空航天大学出版社,1993.3 楼然笛单片机开发M北京:人民邮电出版社,1994.4 付家才单片机控制工程实践技术M北京:化学工业出版社 2004.3.5 李光才单片机课程设计 实例指导M 北京:北京航空航天大学出版社 2004.6 朱定华单片机原理
28、及接口技术实验M北京:北方交通大学出版社2002.11.7 刘湘涛江世明单片机原理与应用M. 北京:电子工业出版社,2006.8 周润景 等 Proteus入门实用教程M. 机械工业出版社,2007.9附录(程序)ORG 00HSTART: MOV DPTR,#TAB1 MOV R0,#03 MOV R4,#0 MOV P1,#3WAIT: MOV P1,R0 ;初始角度,0度 MOV P0,#0FFH JNB P0.0,POS ;判断键盘状态 JNB P0.1,NEG SJMP WAITJUST: JB P0.1,NEG ;首次按键处理POS: MOV A,R4 ;正转9度 MOVC A,A
29、+DPTR MOV P1,A ACALL DELAY INC R4 AJMP KEYNEG: MOV R4,#6 ;反转9度 MOV A,R4 MOVC A,A+DPTR MOV P1,A ACALL DELAY AJMP KEY KEY: MOV P0,#03H ;读键盘情况 MOV A,P1 JB P0.0,FZ1 CJNE R4,#8,LOOPZ ;是结束标志 MOV R4,#0LOOPZ: MOV A,R4 MOVC A,A+DPTR MOV P1,A ;输出控制脉冲 ACALL DELAY ;程序延时 INC R4 ;地址加1 AJMP KEYFZ1: JB P0.1,KEY CJNE R4,#255,LOOPF ;是结束标志 MOV R4,#7LOOPF: DEC R4 MOV A,R4 MOVC A,A+DPTR MOV P1,A ;输出控制脉冲 ACALL DELAY ;程序延时 AJMP KEYDELAY: MOV R6,#5DD1: MOV R5,#080HDD2: MOV R7,#0DD3: DJNZ R7,DD3 DJNZ R5,DD2 DJNZ R6,DD1 RETTAB1: DB 02H,06H,04H,0CH DB 08H,09H,01H,03H ;正转模型资料 END
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1