基于Proteus的步进电机的设计仿真文档格式.docx
《基于Proteus的步进电机的设计仿真文档格式.docx》由会员分享,可在线阅读,更多相关《基于Proteus的步进电机的设计仿真文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
频率越高反向电动势越大。
在它的作用下,电机随频率(或速度)的增大而相电流减小,从而导致力矩下降。
4.步进电机低速时可以正常运转,但若高于一定速度就无法启动,并伴有啸叫声。
2.2STC8951单片机
2.2.1总述
在此嵌入式系统的设计中,主要用单片机进行控制现场,故采用目前最普遍、较便宜的ATMELSTC89C51RC单片机。
该系列单片机是采用高性能的静态80C51设计。
由先进CMOS工艺制造并带有非易失性Flash程序存储器。
全部支持12时钟和6时钟操作。
其8051的内部功能模块如图2-2所示。
图2-2 8051的内部功能模块图
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时钟/机器周期,12时钟/机器周期8051CPU
2.工作电压:
5.5V-3.4V(5V单片机)
3.工作频率范围:
0-40MHz相当于普通8051的0-80MHz实际工作频率可达48MHz
4.用户应用程序空间4K
5.片上集成512字节RAM
6.通用I/O口(32个),复位后为:
Pl/P2/P3是准双向口/弱上拉(普通8051传统I/O口),P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器/仿真器,可通过串口(P3.O/P3.1)直接下载用户程序,8K程序3秒即可完成一片
8.EEPROM功能
9.看门狗
10.内部集成MAX810专用复位电路(D版本才有),外部晶体20M以下时,可省外部复位电路
11.共3个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用
12.外部中断4路,下降沿中断或低电平触发中断,PowerDown模式可由外部中断低电平触发中断方式唤醒
13.遁用异步串行口(UART),还可用定时器软件实现多个UART
14.工作温度范围:
0–75℃/-40-+85℃
15.封装:
LQFP-44,PDIP-40,PLCC-44,PQFP-44
2.2.3结构概览
STC89C51RC的结构如下图2-3所示。
图2-3STC89C51RC系统结构
2.2.4芯片的引脚排列和说明
STC89C51RC共有40个引脚,封装形式为PDIP-40,它的排列如图2-4所示
图2-4STC89C51RC引脚原理图
图2-5STC89C51RC实物图
在40个引脚功能说明如表2-1所示。
表2-1STC89C51RC管脚功能说明
VCC(40脚)
+5V电源输入
VSS(20脚)
接地
P0口(39~32脚)
P0口是一个8位漏极开路双向I/O端口。
作I/O端口使用时,需加上拉电阻。
作为一个输出端口,每个引脚作为8个TTL输入。
P0口也可以配置为复用地址/数据总线,访问外部程序和数据存储器。
P1口(1~8脚)
P1口是一个8位双向I/O端口的内部上拉端口,此外,P1.0和P1.1可配置为定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2触发输入(P1.1/T2EX)
P1.0T2(外部计数投入定时器/计数器2),时钟输出
P1.1T2EX(定时器/计数器2捕捉/重载触发和方向控制)
P2口(21~28脚)
P2口是一个8位双向I/O端口的内部上拉端口
P2口也可以配置为复用地址总线,访问外部程序和数据存储器,输出地址的高8位
P3口(10~17脚)
P3口是具有双重功能的8位接口
P3.0RXD(串行输入端口)
P3.1TXD(串行输出端口)
P3.2INT0(外部中断0,低电平有效)
P3.3INT1(外部中断1,低电平有效)
P3.4T0(定时器0外部输入)
P3.5T1(定时器1外部输入)
P3.6WR(外部数据存储器写选通,低电平有效)
P3.7RD(外部数据存储器读选通,低电平有效)
RST(9脚)
复位/备用电源引线。
当该端加上超过24个时钟的高电平时,可使单片机复位;
若在改引线上接+5V备用电源,则当VCC掉电时,该备用电源可保护片内RAM中的信息。
XTAL1(19脚)
XTAL2(18脚)
外部晶体连线,片外石英晶体连与此二端与片内电路构
成振荡器。
EA(31脚)
允许访问片外ROM/编程高电压引线。
当EA=1时,访问片内ROM;
若EA=0,访问片外ROM
ALE(30脚)
地址锁存。
当P0口工作在第二功能时,从该口可以送出A0~A7和传送D0~D7,利用ALE可以将A0~A7锁存在地址
锁存器。
PSEN(29脚)
片外ROM选通信号,常用作片外ROM的读控制信号,低电
平有效。
2.3ULN2003A介绍
ULN2003
高耐压、大电流达林顿管IC—ULN2003概述与特点
图2-5ULN2003A实物图
ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。
该电路的特点如下:
ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路
直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。
ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V的电压,输出还
可以在高负载电流并行运行。
ULN2003采用DIP—16或SOP—16塑料封装。
图2-6方框图
图2-7封装外形图
ULN2003内部还集成了一个消线圈反电动势的二极管,可用来驱动继电器。
它是双列16脚封装,NPN晶体管矩阵,最大驱动电压=50V,电流=500mA,输入电压=5V,适用于TTLCOMS,由达林顿管组成驱动电路。
ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,它的输出端允许通过电流为200mA,饱和压降VCE约1V左右,耐压BVCEO约为36V。
用户输出口的外接负载可根据以上参数估算。
采用集电极开路输出,输出电流大,故可直接驱动继电器或固体继电器,也可直接驱动低压灯泡。
通常单片机驱动ULN2003时,上拉2K的电阻较为合适,同时,COM引脚应该悬空或接电源。
ULN2003是一个非门电路,包含7个单元,但独每个单元驱动电流最大可达350mA,9脚可以悬空。
比如1脚输入,16脚输出,你的负载接在VCC与16脚之间,不用9脚。
uln2003的作用:
ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。
可直接驱动继电器等负载。
输入5VTTL电平,输出可达500mA/50V。
ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。
该电路的特点如下:
ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器。
ULN2003是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。
2.4复位电路和时钟电路
图2-8复位电路图2-9时钟电路
2.5整个电路的原理
步进电机控制的最大特点是开环控制,不需要反馈信号。
因为步进电机的运动不产生旋转量的误差累积。
由单片机实现的步进电机控制系统如图所示。
图2-10系统原理图
第三章软件系统设计
软件部分采用模块化结构设计。
对步进电机转速的控制是通过定时器工作在中断方式实现的。
定时器定时中断产生周期性脉冲序列,不是采用软件延时的方式,这样不占用CPU的时间。
CPU在非中断时间内可以处理其他事件,只有在中断发生时才驱动步进电机转动一步。
根据步进电机励磁状态转换,采用查表法求出所需的输出状态,并以二进制码的形式依次存入单片机内部的存储器中;
然后按照正向或反向顺序依次取出地址的状态字,送给STC12C4052AD,输出各励磁状态,从而实现环形分配器的功能。
3.1电路流程图
图3-1电路流程图
第四章电路仿真
4.1Proteus原理图绘制过程
1.进入工作界面,打开ProteusISIS编辑环境,按表1-1所列的元件清单添加元件。
元件名称
所属类
所属子类
STC89C51
MicroproccessorICs
8051Family
CAP
Capacitors
Generic
XAP-POL
CRYSTAL
Miscellaneous
--
RES
Resistors
BUTTON
Switches&
Relays
Switches
MOTOR-STEPPER
Electromechanical
ULN2003A
AnalogICs
表4-1
2.在如图4-2所示的元件库中添加表4-1中的元件。
图4-2元件库
图4-3添加元件后界面
3.元件完全添加后,在ProteusISIS的编辑区域中画出如图4-4所示的原理图
图4-4绘制完成的原理图
4.2仿真设置
1、程序的编译
该软件有自带编译器,有ASM的、PIC的、AVR的汇编器等。
在ISIS添加上编写好的程序,方法如下.点击菜单栏“Source”,在下拉菜单点击“Add/RemoveSourceFiles(添加或删除源程序)”出现一个对话框,如图14所示。
点击对话框的“NEW”按钮,在出现的对话框找到文件设计好的“计数器.asm”,点击打开图15;
在“CodeGenerationTool”的下面找到“ASEM51”,然后点击“OK”按钮,设置完毕我们就可以编译了。
点击菜单栏的“Source”,在下拉菜单点击“BuildAll”,过一会,编译结果的对话框就会出现在我们面前,如图4-5所示。
如果有错误,对话框会告诉我们是哪一行出现了问题,可惜的是,点击出错的提示,光标不能跳到出错地方,但是能告诉出错的行号。
图4-5添加源程序界面
图4-6添加新资源界面
图4-7编译界面
2、调试
选中单片机AT89C51,左键点击AT89C51,在出现的对话框里点击ProgramFile按钮(如图4-8,点击
,找到上一步编译得到的HEX文件,然后点击“OK”按钮就可以模拟了
图4-8程序加载界面
点击
第一个按钮就可以开始模拟仿真。
4.2仿真结果
按“正转”和“反转”按钮,观察步进电机的状态,如图所
正转
反转
图4-9仿真结果
第五章硬件电路的制作与调试
5.1焊接准备与注意事项
清洁:
用刀或砂纸打磨被焊点,焊接的时候使用助焊剂,可以帮助去除氧化层,加速焊锡融化。
镀锡:
给节点和线头事先镀一层锡,容易让焊锡向着焊点凝聚。
焊接:
要让焊点达到一定的温度方法是让电烙铁接触被焊点一会,同时将焊锡涂抹到焊点,等焊锡与焊点达到充分的温度和接触度的时候抽离烙铁。
修正:
虚焊,要单独处理,用电烙铁沿着焊点上下移动几下,让焊锡和焊点达到一定温度并充分接触,焊接的不满意的,焊锡过多可以将板子倒置用电烙铁吸走部分后,重新焊接,焊锡过少直接再涂抹部分焊锡。
整个过程一定要保证焊锡和焊点达到一定的温度,并充分接触。
(电烙铁来回蹭焊点,时间也不要太长),
这样可以明显减少虚焊。
如何判断虚焊:
在同一条铜线上如果引脚之间电阻较大就应该存在虚焊。
将数字万用表打到电阻测量最小档,这个档在测量的时候如果出现电阻为零就会叫,叫的就是质量合格的。
对于单独的焊点,用万用表的两针分别接触,焊盘周围和元结引脚如果叫说明接通(多试几下如果从焊盘盘个个方向都叫基本就拿准了),如果不叫应该是虚焊。
如何判断断路,有的时候铜线会断掉,这是还是用电阻档,分别放到铜线的两个不同引脚上,如果不叫不是节点虚焊,就是铜线断掉。
铜线断掉的用飞线连一下就可以了。
松香和焊锡可不是什么好东西,焊接的时侯注意通风。
焊锡膏只有焊接难上锡的铁件等物品时才用到,具有腐蚀性,一般只用松香就行了,松香的作用是析出焊锡中的氧化物,保护焊锡不被氧化,增加焊锡的流动性。
清洁的表面会很好地挂锡,这也就是为什么焊锡膏中除松香等表面活性剂之外,带有腐蚀性成分的原因,通过轻微腐蚀,将表面彻底清洁,使焊锡能很好地挂上。
松香只是简单的表面活性剂,使焊锡同焊接表面能充分浸润。
所以只使用松香的话,在焊接之间,可以轻微地用砂纸或直接用烙铁头挂擦几下,然后用松香上锡。
烙铁蘸松香,然后蘸焊锡,然后焊,离开后,吹口气冷却工件焊点。
用手拉一拉工件,检查是否虚焊。
卸掉已焊接的原件:
用电烙铁加热焊点至焊锡融化,用镊子或小钳子将原件引脚从电路板支开。
电烙铁选择:
根据你的焊接量大小和工作性质不同选用也不同,一般焊接比较小的焊点选择内热式电烙铁,但是目前比较大量的焊接一般采用焊接台来完成,价格比较贵一般几百元。
如果是个人使用,有两种选择,一种可以选择内热式35瓦电烙铁,一种可以选择恒温电烙铁。
烙铁头一般是原配的质量比较好,厚度较厚,结合紧密的为好。
恒温式电烙铁的烙铁头一般是表面有合金材料的,质量比较好。
焊接时可以先把烙铁头挫出光亮的铜预热至150-180度后蘸一下松香焊剂,然后用焊锡丝镀锡,镀上光亮的锡后就可以焊接了,焊接温度一般220度左右为好。
焊锡丝尽量选用低温焊锡丝。
在焊接时先在电路板上涂上松香焊剂,然后烙铁蘸一下松香焊剂,用焊锡丝对准焊点,烙铁轻轻一点,一个光亮的焊点就完成了。
每次使用后用湿润的清洁海绵抹去焊铁头上助焊剂,旧锡和氧化物,清洁之后,待焊铁湿度稍为降低后涂上新锡层,以减低焊铁头的氧化机会。
把焊铁摆放在焊铁架上:
为免焊铁受到碰撞而损坏,应把焊铁摆放在合适的焊铁架上。
及时清理氧化物:
当镀锡层部分含有黑色氧化物或生锈时,必需及时清理,以免焊铁上不了锡而不能进行焊接工作。
5.2单片机程序写入
程序烧写:
利用了RF-X1开发板(图1)将编写调试完成的程序写入单片机。
图5-1RF-X1开发板
烧写步骤如下:
1、根据计算机的系统安装USB芯片PL2303HX驱动。
2、用USB线把板子与电脑的USB口连接,并把板子上USB接口下面的拨码开关都打到"
ON"
的那一端,同时设置好连接端口(COM端口)。
3、正确放上单片机STC89C52,芯片缺口朝手杆方向放置。
4、在Windows环境下打开STC单片机下载软件STC-ISP,按照该界面上的步骤进行设置,如图2所示,包括芯片选型(STC89C52RC),端口选择(COM5),然后点击OPENFILE导入光盘中的实例程序(HEX文件)如图3所示,点击Downlaod/下载。
5.3硬件安装
所需元器件见下表5-2
表5-2元器件
名称
型号规格
数量
单片机
1
步进电机
CPYSTAL
电阻
1001K47K*2
4
电解电容
10pF
2
达林顿管阵列
电容
20pF
按照元件清单取得所有电路中用到的硬件,并将事先写好程序的单片机AT89C51以及A/D转换ADC0809及其他的一些控制器件进行焊接连接!
5.4硬件调试
所有硬件安装好后我们开始运行调试。
调试结果如图5-3所示
图5-3硬件电路调试
总结
在整个毕业设计过程中,我学到很多东西,并且让我意识到自己对单片机方面的知识了解的还不够,对于书本上的很多知识还不能灵活运用,尤其是对程序设计语句的理解和运用,不能够充分理解每个语句的具体含义,导致编程的程序过于复杂,使得需要的存储空间增大。
损耗了过多的内存资源
通过此次毕业设计,我不仅将知识融会贯通,而且在查找资料的过程中也了解了许多课外知识,开拓了视野,使自己在专业知识方面和动手能力方面有了很大的提高,让我学会了理论到实践的转化,即如何将自己学到的运用到以后的生活和工作中,同时,也让我意识到团队精神的重要性。
此外,感谢王老师的悉心教导以及同学的帮助,正是王老师细心的辅导和提供的一些参考资料还有同学们的互相帮助,让我顺利的完成了毕业设计,相信这对我以后的生活和工作都会有很大的帮助
参考文献
[1]谢自美.电子线路设计·
实验·
测试[M].武汉:
华中理工大学出版社,1992.
[2]何立民.单片机应用系统设计[M].北京:
北京航空航天大学出版社,1993.
[3]楼然笛.单片机开发[M].北京:
人民邮电出版社,1994.
[4]付家才.单片机控制工程实践技术[M].北京:
化学工业出版社2004.3.
[5]李光才.单片机课程设计实例指导[M].北京:
北京航空航天大学出版社2004.
[6]朱定华.单片机原理及接口技术实验[M].北京:
北方交通大学出版社2002.11.
[7]刘湘涛.江世明.单片机原理与应用[M].北京:
电子工业出版社,2006.
[8]周润景等Proteus入门实用教程[M].机械工业出版社,2007.9
附录(程序)
ORG00H
START:
MOVDPTR,#TAB1
MOVR0,#03
MOVR4,#0
MOVP1,#3
WAIT:
MOVP1,R0;
初始角度,0度
MOVP0,#0FFH
JNBP0.0,POS;
判断键盘状态
JNBP0.1,NEG
SJMPWAIT
JUST:
JBP0.1,NEG;
首次按键处理
POS:
MOVA,R4;
正转9度
MOVCA,@A+DPTR
MOVP1,A
ACALLDELAY
INCR4
AJMPKEY
NEG:
MOVR4,#6;
反转9度
MOVA,R4
KEY:
MOVP0,#03H;
读键盘情况
MOVA,P1
JBP0.0,FZ1
CJNER4,#8,LOOPZ;
是结束标志
LOOPZ:
MOVA,R4
MOVP1,A;
输出控制脉冲
ACALLDELAY;
程序延时
INCR4;
地址加1
FZ1:
JBP0.1,KEY
CJNER4,#255,LOOPF;
MOVR4,#7
LOOPF:
DECR4
DELAY:
MOVR6,#5
DD1:
MOVR5,#080H
DD2:
MOVR7,#0
DD3:
DJNZR7,DD3
DJNZR5,DD2
DJNZR6,DD1
RET
TAB1:
DB02H,06H,04H,0CH
DB08H,09H,01H,03H;
正转模型资料
END