收藏 分享(赏)

基于proteus的步进电机电机仿真_实验设计报告.doc

上传人:无敌 文档编号:635795 上传时间:2018-04-16 格式:DOC 页数:19 大小:228.50KB
下载 相关 举报
基于proteus的步进电机电机仿真_实验设计报告.doc_第1页
第1页 / 共19页
基于proteus的步进电机电机仿真_实验设计报告.doc_第2页
第2页 / 共19页
基于proteus的步进电机电机仿真_实验设计报告.doc_第3页
第3页 / 共19页
基于proteus的步进电机电机仿真_实验设计报告.doc_第4页
第4页 / 共19页
基于proteus的步进电机电机仿真_实验设计报告.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、基于单片机的步进电机的驱动实验设计报告系 别 电 子 通 信 工 程 系组 别 第 十 组专 业 名 称 电 子 信 息 工 程指 导 教 师组 内 成 员基于 proteus 的步进电机电机仿真摘要:步进电机广泛应用在生产实践的各个领域。它最大的应用是在数控机床的制造中,因为步进电机不需要 A/D 转换,能够直接将数字脉冲信号转化成为角位移,所以被认为是理想的数控机床的执行元件。本设计利用 proteus 仿真软件进行电路仿真,系统通过设置四个按键分别控制不进电机的起止、圈数、方向、不进速度,使用 1602 液晶显示以上参数。整个系统具有稳定性好,实用性强,操作界面友好等优点。关键词:pro

2、teus 仿真 不进电机 拍数一、 Proteus 简介Proteus ISIS 是英国 Labcenter 公司开发的电路分析与实物仿真软件。它运行于 Windows 操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:实现了单片机仿真和 SPICE 电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232 动态仿真、I2C 调试器、SPI 调试器、键盘和 LCD 系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。目前支持的单片机类型有:68000 系列、8051 系列、AVR 系列

3、、PIC12 系列、PIC16 系列、PIC18 系列、Z80 系列、HC11系列以及各种外围芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如 Keil C51 uVision2 等软件。具有强大的原理图绘制功能。总之,该软件是一款集单片机和 SPICE 分析于一身的仿真软件,功能极其强大。二、整体电路分析如下图,整个设计以 STC89C51 单片机为中心,由复位电路,时钟电路,电机驱动,步进电机,显示电路等组成,硬件模块如图 2-1 所示:图

4、 1 硬件模块图通过按键进行相应的参数设定,单片机接收到信号后经过判断驱动电机驱动模块,然后由驱动电路驱动步进电机运转,并用 1602 显示设置的参数。三、系统硬件电路选择与设计1、主控器的选择按照题目要求本次主控单元使用 C51 单片机对整个系统进行控制。STC89C51RC 包含 512字节 RAM 、32 条 I/O 口线、3 个 16 位定时/计数器、8 输入 4 优先级嵌套中断结构、1 个串行 I/O 口(可用于多机通信、I/O 扩展或全双工 UART)以及片内振荡器和时钟电路。此外,由于器件采用了静态设计,可提供很宽的操作频率范围(频率可降至 0)。可实现两个由软件选择的节电模式、

5、空闲模式和掉电模式。空闲模式冻结 CPU,但 RAM、定时器、串口和中断系统仍然工作。掉电模式保存 RAM 的内容,但是冻结振荡器,导致所有其它的片内功能停止工作。由于设计是静态的,时钟可停止而不会丢失用户数据。运行可从时钟停止处恢复。所以该单片机可以满足系统要求,电路图如下:ABCDS1S2S3S4D0 D7D1D2D3D4D5D6 RSRWEXTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.

6、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/A1427 U1AT89C51图 2 单片机最小系统电路图2、步进电机选择步进电机是一种能够将电脉冲信号转换成角位移或线位移的机电元件,它实际上是一种单相或多相同步电动机。单相步进电动机有单路电脉冲驱动,输出功率一般很小,其用途为微小功率驱动。

7、多相步进电动机有多相方波脉冲驱动,用途很广。本设计使用的是四相三拍步进电机,连接图如下:DABC 1B1 1C 162B2 2C 153B3 3C 144B4 4C 135B5 5C 126B6 6C 117B7 7C 10COM 9U2ULN2004A+88.8图 3 步进电机接线图3、驱动电路的选择驱动模块我们使用集成驱动芯片 ULN2003,给芯片是高 耐 压 、 大 电 流 达 林 顿 管由 七 个 硅 NPN 达 林 顿 管 组 成 。 该 电 路 的 特 点 如 下 : ULN2003 的 每 一 对 达 林顿 都 串 联 一 个 2.7K 的 基 极 电 阻 ,在 5V 的 工

8、作 电 压 下 它 能 与 TTL 和 CMOS 电 路 直 接 相 连 , 可 以 直 接 处 理 原 先 需 要 标 准 逻 辑 缓 冲 器 来 处 理 的 数 据 。 ULN2003 工 作 电 压 高 , 工 作 电 流 大 , 灌 电 流 可 达 500mA, 并 且 能 够 在 关 态 时承 受 50V 的 电 压 , 输 出 还 可 以 在 高 负 载 电 流 并 行 运 行 。 1 脚 输 入 , 16 脚 输出 , 你 的 负 载 接 在 VCC 与 16 脚 之 间 , 不 用 9 脚 。图 4 ULN2003 内 部 结 构 图 图 5 ULN2003 管 脚 图ULN2

9、003 是 大 电 流 驱 动 阵 列 ,多 用 于 单 片 机 、 智 能 仪 表 、 PLC、 数 字 量输 出 卡 等 控 制 电 路 中 。 可 直 接 驱 动 继 电 器 等 负 载 。 所 以 足 以 满 足 驱 动 步 进电 机 的 要 求 , 连 接 图 如 下 :DABC1B1 1C 162B2 2C 153B3 3C 144B4 4C 135B5 5C 126B6 6C 117B7 7C 10COM 9U2ULN2003A图 6 uln2003 接 线 图4、 显 示 电 路 的LCD 显 示 模 块 是 把 LCD 显 示 屏 、 背 景 光 源 、 线 路 板 和 驱

10、动 集 成 电 路 等 部件 构 造 成 1 个 整 体 作 为 1 个 独 立 部 件 使 用 , 只 留 1 个 接 口 与 外 部 通 信 。 显示 模 块 通 过 这 个 接 口 接 收 显 示 的 命 令 和 数 据 , 并 按 指 令 和 数 据 的 要 求 进行 显 示 , 外 部 电 路 通 过 这 个 接 口 读 出 显 示 模 块 的 工 作 状 态 和 显 示 数 据 。 1602 液 晶 模 块 内 部 的 字 符 发 生 存 储 器 (CGROM)已 经 存 储 了 160 个 不 同 的 点阵 字 符 图 形 , 这 些 字 符 有 : 阿 拉 伯 数 字 、 英

11、文 字 母 的 大 小 写 、 常 用 的 符 号和 日 文 假 名 等 , 每 1 个 字 符 都 有 1 个 固 定 的 代 码 。 用 户 对 模 块 写 入 适 当 的控 制 命 令 , 即 可 完 成 清 屏 、 显 示 、 地 址 设 置 等 操 作 。 设 计 采 用 并 行 方 式控 制 , LCD 与 单 片 机 的 通 讯 接 口 电 路 如 图 3 所 示 采 用 直 连 的 方 法 。D0 D7D1D2D3D4D5D6RSRWEVCCVCC/VDDGNDD714D613D512D411D310D29D18D07E6RW5RS4VSS1VDD2VEE3LCD2LM016L

12、图 7 1602 显示电路接线图5 键盘输入模块电路 设计中,键盘采用非编码键盘系统中的独立式按 键结构。键盘工作方式采用定时扫描方式。采用定时 器 TO 定时,通过输出数据,识别按键的工作状态。键 盘主要用来提供人机接口,电路如图 3 所示,采用独立 式按键电路,各按键开关均采用了上拉电阻,保证在按 键断开时,各 IO 有确定的高电平。按键功定义如 下:当 P32 按下时,步进电机开始加速;当 P33 按下 时,步进电机开始减速;当 P34 按下时,步进电机开始 正转;当 P35 按下时,步进电机开始反转。按键抖动的消除采用软件消抖实现。连接图如下:GNDS1S2S3S4起 始 键圈 数 键

13、方 向 键速 度 键图 8 按键接连接图四、系统软件设计1、软件流程图图 9 系统流程图2 程序代码见附件。五、总结采用模块程序设计,逐个模块调好以后,再进行系统程序总调试。利用仿真软件Proteus 及 KeilC5l 进 行调试。 系统实现了可程序设定和显示步进角、步进方向 和步进速度,支持用开关量单独控制步进电机的转向, 转速。电路简单可靠,结构紧凑,控制灵活,成本低,可 移植性强。经实验验证,本系统对步进电机的各项控 制都能达到比较理想的效果,具有较高的实用价值。通过此次课程设计,我不仅将知识融会贯通,而且在查找资料的过程中也了解了许多课外知识,开拓了视野,使自己在专业知识方面和动手能

14、力方面有了很大的提高,让我学会了理论到实践的转化,即如何将自己学到的运用到以后的生活和工作中,同时,也让我意识到团队精神的重要性。此外,感谢丁老师的悉心教导以及同学的帮助,正是王老师细心的辅导和提供的一些参考资料还有同学们的互相帮助,让我顺利的完成了毕业设计,相信这对我以后的生活和工作都会有很大的帮助。六参考文献1徐薇莉,曹柱中控制理论与设计M上海:上海交通大学出版 社2003 2黄 坚自动控制原理及其应用M北京:高等教育出版社, 2004 3先锋工作室单片机程序设计实例M北京:清华大学出版社, 2003 4王幸之,钟爱琴AT89 系列单片机原理及接口技术M北京:北京航天大学出版社,2004

15、5康华光,陈大钦模拟电子电路M北京:高教育出版社,2004 七附录(1) 整体电路图GNDS1S2S3S4ABCDS1S2S3S4D0 D7D0 D7D1D2D3D4D5D6RSRWED0D1D2D3D4D5D6D7VCVC/VDGNDD1D2D3D4D5D6 RSRWEDABCXTAL218XTAL119 ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD63P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RX

16、D10P3.1/TXD1P3.2/INT012P3.3/INT113P3.4/T014 P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A92P2.2/A1023P2.3/A124P2.4/A1225P2.5/A1326P2.6/A1427 U1AT89C5D714D613D512D41D310D29D18D07E6RW5RS4VS1VD2VE3LCD2LM016L1B1 1C162B2 2C153B3 3C144B4 4C135B5 5C126B6 6C17B7 7C10COM9U2ULN204A起 始 键圈 数 键方 向 键速 度 键-

17、4.81234567891RP1RESPACK-8(2)程序代码#include #include #define uchar unsigned char#define uint unsigned int#define delayNOP(); _nop_();_nop_();_nop_();_nop_();unsigned char code FFW8=0xfe,0xfc,0xfd,0xf9,0xfb,0xf3,0xf7,0xf6; /反转unsigned char code REV8=0xf6,0xf7,0xf3,0xfb,0xf9,0xfd,0xfc,0xfe; /正转/unsigned

18、char code FFW8=0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09; /反转/unsigned char code REV8=0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01; /正转sbit K1 = P32; /运行与停止sbit K2 = P33; /设定圈数sbit K3 = P34; /方向转换sbit K4 = P35; /速率调整sbit LCD_RS = P20; sbit LCD_RW = P21;sbit LCD_EN = P22;bit on_off=0; /运行与停止标志bit direction=

19、1; /方向标志bit rate_dr=1; /速率标志bit snum_dr=1; /圈数标志uchar code cdis1 = “NO.0738230126 “;uchar code cdis2 = “ 2012/5/24“;uchar code cdis3 = “ STOP “;uchar code cdis4 = “NUM: RATE: “;uchar code cdis5 = “ RUNNING “;uchar m,v=0,q=0;uchar number=0,number1=0; uchar snum=20,snum1=20; /预设定圈数uchar rate=3; /预设定速率

20、uchar data_temp,data_temP0,data_temp2; /*/* /* 延时 t 毫秒 /* 11.0592MHz 时钟,延时约 1ms /* /*/void delay(uint t) uchar k;while(t-)for(k=0; k124; k+) /*/void delayB(uchar x) /x*0.14MSuchar i;while(x-)for (i=0; i13; i+) /*/* /*检查 LCD 忙状态 /*lcd_busy 为 1 时,忙,等待。为 0 时,闲,可写指令与数据。 /* /*/ bit lcd_busy() bit result;LCD_RS = 0;LCD_RW = 1;LCD_EN = 1;delayNOP();result = (bit)(P0LCD_EN = 0;return(result); /*/* /*写指令数据到 LCD /*RS=L,RW=L,E=高脉冲,D0-D7=指令码。 /* /*/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 调研文书

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报