




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计 论文 说明书毕业设计 论文 说明书 课题名称 课题名称 基于单片机的直流电机控制系统设计基于单片机的直流电机控制系统设计 院 系 专 业 班 级 学 号 姓 名 指导教师 2012 年 5 月 20 日 摘 要 电动机作为最主要的机电能量转换装置 其应用范围已遍及国民经济的各个领域 和人们的日常生活 无论是在工农业生产 国防 医疗卫生 交通运输和办公设备中 还是在日常生活的家用电器和消费电子产品中 都大量使用着各种各样的电动机 电 动机的调速控制一般采用模拟法 对电动机的简单控制应用比较多 本设计实现了对 电动机的简单控制 也就是指对电动机进行启动 制动和正反转控制 本设计采用了单片机STC89C52与PC串行实现通信 由于单片机输入 输出电平是 TTL电平 而PC机配置的是RS232标准串行接口 两者的电气规范不一致 因此要完成 单片机与PC机的数据通信 必须对单片机输出的TTL电平进行电平转换 采用的转换电 平芯片为MAX232 设计中采用STC89C52微处理器及其RS232通信接口 键盘 12864液 晶显示器等外围电路 构成一台直流电机开环在线控制系统 设计中采用PWM调制技术 实现对直流电机速度的调制 并通过串口实现上位机的 在线控制 系统实现了在线调速 正转 反转 加速 减速 停止等多种功能 并能 实时显示 键盘设置等 具有一定的实际应用价值 关键词 单片机关键词 单片机 电平转换电平转换 直流电机直流电机 在线控制在线控制 PWM 调制调制 Abstract Motor as the main electromechanical energy conversion device its application has been throughout all areas of the national economy and people s daily life Both in industrial and agricultural production national defense medical and health transportation and office equipment or in the daily life of household appliances and consumer electronics products extensive use of various motor Motor speed control using simulation method the motor control application more simple The design and implementation of simple controlling motor also refers to the motor starting braking and reverse control The design introduced AT89C51 single chip serial communication with the PC method as the single chip input and output level is TTL level and PC standard configuration is a RS232 serial interface both the electrical specifications are inconsistent Therefore to complete PC SCM and data communications the need for single chip output TTL level to level translators Used in chip level conversion for the MAX232 Applied to the design of STC89C52 microprocessor and RS232 communication interface keyboard 12864 LCD peripheral circuit constitute a dc motor control system online Applied to the design of PWM technology to realize the dc motor speed regulation and through a serial port realize PC online control The online speed regulation system are turning inversion accelerate slowing down stop and other functions and can real time display keyboard Settings it has certain practical application value Keywords Keywords single chipsingle chip serialserial communicationcommunication LevelLevel TranslatorsTranslators DcDc motormotor OnlineOnline controlcontrol PWMPWM technolotechnologygy 目录目录 摘 要 I ABSTRACT II 1 绪论 1 1 1 直流电机概述 1 1 2 单片机概述 1 1 3 脉宽调制 PWM 技术 2 1 4 课题任务及工作内容 3 2 单片机直流电机控制系统总体设计方案 4 2 1 设计思路 4 2 2 方案论证与比较 4 2 3 系统组成 5 3 单片机直流电机控制系统硬件设计 6 3 1 系统硬件结构 6 3 2 系统单元电路设计 6 3 2 1 单片机最小系统电路 6 3 2 2 独立式键盘电路 7 3 2 3 液晶显示模块 7 3 2 4 蜂鸣器电路 8 3 2 5 电源电路 8 3 2 6 串口通信电路 9 3 2 7 电机驱动电路 10 4 单片机直流电机控制系统软件设计 11 4 1 软件总体结构 11 4 2 系统模块程序设计 12 4 2 1 初始化模块程序 12 4 2 2 键盘扫描模块程序 13 4 2 3 液晶显示模块程序 15 4 2 4 串口通信模块程序 15 4 2 5 电机调速模块程序 17 5 系统测试 18 5 1 测试准备 18 5 1 1 硬件环境 18 5 1 2 软件环境 18 5 1 3 测试项目 18 5 2 测试过程 18 5 3 测试结果 19 结束语 21 致谢 22 参考文献 23 附录 24 1 绪论 1 1 直流电机概述 在现代工业中 电动机作为电能转换的传动装置被广泛应用于机械 冶金 石油 化学 国防等工业部门中 随着对生产工艺 产品质量的要求不断提高和产量的增长 越来越多的生产机械要求能实现自动调速 长期以来 自动调速电动机一直占据着调 速控制的统治地位 由于它具有良好的线性调速特性 简单的控制性能 高效率 优 异的动态特性 现在仍是大多数调速控制电动机的最优选择 以前电动机大多使用由模拟电路组成的控制柜进行控制 现在单片机已经开始取 代模拟电路作为电机控制器 当前电机控制器的发展方向越来越趋于多样化和复杂化 现有的专用集成电路未必能满足苛刻的新产品开发要求 为此可考虑开发电机的新型 单片机控制器 因此研究直流电机的速度控制 有着非常重要的意义 由于变频技术的出现 交流调速一直冲击直流调速 但综观全局 尤其是我国在 此领域的现状 再加上全数字直流调速系统的出现 更提高了直流调速系统的精度及 可靠性 直流调速系统仍将处于十分重要地位 对于直流调速系统转速控制的要求有稳速 调速 加速或减速三个方面 而在工 业生产中对于后两个要求已能很好地实现 但工程应用中稳速指标却往往不能达到预 期的效果 稳速要求即以一定的精度在所需要的转速稳定运行 在各种干扰不允许有 过大的转速波动 1 2 单片机概述 随着单片机功能的飞速发展 单片机的应用领域已经渗透到了国民经济的各个领 域 并影响着现代人的生活 单片机技术的出现给现代工业测控领域带来了一次技术 革命 目前 单片机仍以其高可靠性 高性价比 在工业控制系统 智能化仪器仪表 数据采集系统和智能家电等诸多领域得到了广泛应用 当今时代是一个新技术层出不穷的时代 在电子领域尤其是自动化智能控制领域 传统的分立元件或数字逻辑电路构成的控制系统 正以飞快的速度被单片机智能控制 系统所取代 单片机的优点包括体积小 功能强 成本低 并且应用面广 可以说智 能控制与自动控制的核心就是单片机 单片机又称单片微控制器 它不是完成某一个逻辑功能的芯片 而是把一个计算 机系统集成到一个芯片上 概括来讲 一块芯片就是一台计算机 它具有体积小 质 量轻 价格便宜等优点 为学习 应用和开发提供了诸多便利 同时 学习使用单片 机是了解计算机原理与结构的最佳选择 现在 单片机的应用领域非常广泛 比如实时工控 导航系统 智能仪表 家用 电器 通讯设备等 单片机一旦运用在各种产品上面 就可以说是使产品进行了升级 换代 也可以把产品美其名曰 智能型 如智能型洗衣机等等 1 3 脉宽调制 PWM 技术 脉冲宽度调制 PWM 是英文 Pulse Width Modulation 的缩写 简称脉宽调制 它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术 广泛应 用于测量 通信 功率控制与变换等许多领域 一种模拟控制方式 根据相应载荷的 变化来调制晶体管栅极或基极的偏置 来实现开关稳压电源输出晶体管或晶体管导通 时间的改变 这种方式能使电源的输出电压在工作条件变化时保持恒定 脉冲宽度调制 PWM 是一种对模拟信号电平进行数字编码的方法 通过高分辨率 计数器的使用 方波的占空比被调制用来对一个具体模拟信号的电平进行编码 PWM 信 号仍然是数字的 因为在给定的任何时刻 满幅值的直流供电要么完全有 ON 要么 完全无 OFF 电压或电流源是以一种通 ON 或断 OFF 的重复脉冲序列被加到模拟负 载上去的 通的时候即是直流供电被加到负载上的时候 断的时候即是供电被断开的 时候 只要带宽足够 任何模拟值都可以使用 PWM 进行编码 多数负载 无论是电感性负载还是电容性负载 需要的调制频率高于 10Hz 通常调 制频率为 1kHz 到 200kHz 之间 许多微控制器内部都包含有 PWM 控制器 例如 Microchip 公司的 PIC16C67 内含两个 PWM 控制器 每一个都可以选择接通时间和周期 占空比是接通时间与周 期之比 调制频率为周期的倒数 执行PWM 操作之前 这种微处理器要求在软件 中完成以下工作 1 设置提供调制方波的片上定时器 计数器的周期 2 在 PWM 控制寄存器中设置接通时间 3 设置 PWM 输出的方向 这个输出是一个通用I O 管脚 4 启动定时器 5 使能 PWM 控制器 目前几乎所有市售的单片机都有 PWM 模块功能 若没有 如早期的 8051 也可以利用定时器及 GPIO 口来实现 更为一般的 PWM 模块控制流程为 笔者使用 过 TI 的 2000 系列 AVR 的 Mega 系列 TI 的 LM 系列 1 使能相关的模块 PWM 模块以及对应管教的 GPIO 模块 2 配置 PWM 模块的功能 具体有 设置 PWM 定时器周期 该参数决定 PWM 波形的频率 设置 PWM 定时器比较值 该参数决定 PWM 波形的占空比 设置死区 deadband 为避免桥臂的直通需要设置死区 一般较高档的 单片机都有该功能 设置故障处理情况 一般为故障是封锁输出 防止过流损坏功率管 故障 一般有比较器或 ADC 或 GPIO 检测 设定同步功能 该功能在多桥臂 即多PWM 模块协调工作时尤为重要 3 设置相应的中断 编写 ISR 一般用于电压电流采样 计算下一个周期的 占空比 更改占空比 这部分也会有PI 控制的功能 4 使能 PWM 波形发生 1 4 课题任务及工作内容 本题目要求设计一个单片机应用系统可以通过串行线在上位机中进行控制操作 可以通过上位机对单片机进行控制直流电机正转 反转 停止 加速 减速等功能 另外 为增加其实用性还增加了显示 键盘控制 按键蜂鸣等功能 本课题要完成以下研究工作 1 研究直流电机控制系统并仔细推敲各方面的细节 比如速度的控制等等 2 进行系统软硬件的设计 3 制作硬件 并对硬件进行调试以及优化 2 单片机直流电机控制系统总体设计方案 2 1 设计思路 本题要求设计一个上位机直流电机控制系统 利用键盘作为输入设备 输入电机 控制信号 液晶显示器件作为显示 与用户进行人机交互 利用串行通信接口与上位 机进行通信 接收上位机发送过来的控制命令 从 PC 机发来的控制命令经单片机系统 接收后 产生电机控制信号 并提供给电机驱动电路控制直流电机正常运转并正常显 示转速 2 2 方案论证与比较 1 主控制器的选择与比较 采用台湾宏晶科技有限公司生产的 STC89C52 系列的 8 位单片机作为本系统的主控 制芯片 该处理器芯片内置有 8K 的 Flash 存储器 内置的 UART 全双工异步通信接口 减少外围接口电路 具有可在线编程 使用方便 价格低廉等优点 运算速度内满足 系统的要求 性价比高 2 显示电路选择与比较 方案一 采用数码管显示电路 该硬件电路简单 编程也比较简单 视角范围大 亮度高 显示是效果好 但是只能显示简单数字字母等有限的字符 不能满足本设计 要求 故 不采用数码管显示电路 方案二 采用 1602 液晶显示 硬件电路简单 编程容易 可以显示字母和数字 以及一下简单的图像 能满足本设计要求 显示清晰度可以通过调节偏压端电压来改 变对比度 从而实现清晰度调整 显示效果较好 还可以滚动显示等 显示灵活 方案三 采用 12864 液晶显示 硬件电路简单 编程容易 可以显示复杂的图案 字符 标点 英文 汉字等 能满足本设计要求 显示清晰度可以通过调节偏压端电 压来改变对比度 从而实现清晰度调整 显示效果较好 还可以滚动显示等 显示灵 活 综上所述 数码管显示电路不能满足本设计的要求 1602 显示只能显示字母和数 字 要显示汉字和图像编程复杂 效果不好 12864 液晶显示可以显示数字 英文 汉 字 图片等能满足本设计要求 故 采用 12864 液晶显示电路作为本设计的显示电路 模块 3 键盘电路选择与比较 方案一 独立式键盘 独立式键盘硬件电路极为简单 程序也非常简单 容易开 发 开发周期短 使用方便简单 方案二 矩阵式键盘 矩阵式键盘硬件电路也比较简单 编程较为复杂 不容易 开发 在按键较多的时候 与独立式键盘相比较经济 占用 IO 端口较少 但编程较独 立式键盘难的多 由于本设计要求的键盘按键数量较少 采用独立式键盘较方便 开 发难度大大降低 开发周期缩短 也比较经济 故在本设计中采用独立式键盘 经上 述比较后采用独立式键盘作为本设计的键盘电路模块 2 3 系统组成 经过方案论证 最终确定系统的组成框图如图 2 1 所示 系统由 STC89C52 微处理 器核心模块 电源模块 独立式键盘模块 12864 液晶显示模块 蜂鸣器电路模块 RS232 串口通信模块 电源指示电路模块等组成 其中 独立式键盘由微动开关连接到 IO 口与地线之间组成 注意 由于 P0 口内部没有上拉电阻 在作为输入时 需要外接 上拉电阻 串口通信电路由 MAX232 电平转换芯片与 9DB 串口插座等构成 用于下载程 序和实现与上位机通信 蜂鸣器电路主要由蜂鸣器和三级管组成 用于实现按键声音 等 液晶显示电路主要由 12864 液晶显示模块及少量外围电阻等构成 主要用于实现 人机界面的交互功能 单片机 STC89C52 12864 液晶显 示电路 电路 独立式 键盘 蜂鸣器 电路 RS232 串口 通信电路 电源 电源指 示 电路 电机驱 动电路 电机 控制 图 1 1 系统组成框图 3 单片机直流电机控制系统硬件设计 3 1 系统硬件结构 本设计硬件结构由单片机最小系统 键盘模块 12864 液晶显示模块 蜂鸣器驱动 模块 电源指示模块 串口通信模块 电机驱动模块等组成 3 2 系统单元电路设计 3 2 1 单片机最小系统电路 单片机最小系统电路由 STC89C52 主控芯片 时钟振荡电路和复位电路等构成 其 中 时钟振荡电路主要由外接 11 0592MHz 晶振 两个 30pF 的起振电容和内部反相器 构成 复位电路采用简单的容阻式复位电路 单片机最小系统电路原理图如图 2 1 所 示 1 1 2 2 3 3 4 4 DD CC BB AA Title NumberRevisionSize A4 Date 2012 5 30Sheet of File Sheet1 SchDocDrawn By EA VPP 31 XTAL1 19 XTAL2 18 RST 9 P3 7 RD 17 P3 6 WR 16 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 5 T1 15 P1 0 T2 1 P1 1 T2EX 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 AD0 P0 0 39 AD1 P0 1 38 AD2 P0 2 37 AD3 P0 3 36 AD4 P0 4 35 AD5 P0 5 34 AD6 P0 6 33 AD7 P0 7 32 A8 P2 0 21 A9 P2 1 22 A10 P2 2 23 A11 P2 3 24 A12 P2 4 25 A13 P2 5 26 A14 P2 6 27 A15 P2 7 28 PSEN 29 ALE PROG 30 TXD P3 1 11 RXD P3 0 10 GND 20 VCC 40 U1 世世世89C52 12 Y1 XTAL GND C3 S1 R1 GND P2 0 P2 1 P2 2 P2 3 P2 4 P2 5 P2 6 P2 7 P0 4 P0 5 P0 6 P0 7 VCC GND P3 0 P3 1 P0 0 P0 1 P0 2 P0 3 VCC STC89C52世世世世世世世 C1 33PF C2 33PF 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 P7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 P8 P1 2 P1 3 P1 4 P1 5 P1 6 P1 7 P3 2 P3 5 P3 4 EA P3 7 P3 6 X1 X2 RST ALE PSEN P2 0 P2 1 P2 2 P2 3 P2 4 P2 5 P2 6 P2 7 PSEN ALE EA P0 7 P0 6 P0 5 P0 4 P0 3 P0 2 P0 1 P0 0 VCC GND X1 X2 P3 7 P3 6 P3 5 P3 4 P3 3 P3 2 P3 1 P3 0 RST P1 7 P1 6 P1 5 P1 4 P1 3 P1 2 P1 1 P1 0 P1 0 P1 1 P3 3 图 2 1 单片机最小系统电路 3 2 2 独立式键盘电路 键盘电路采用比较简单的独立式键盘便能满足设计要求 成本低廉 编程相对简 单 4 个独立按键 分别与单片机 P0 0 P0 3 相连 由于 P1 口上各位内部均接有上拉 电阻 故 外接按键的时候 我们不再接上拉电阻 键盘电路如图 2 2 所示 1 1 2 2 3 3 4 4 DD CC BB AA Title NumberRevisionSize A4 Date 2012 5 30Sheet of File Sheet1 SchDocDrawn By GND 世世世世 S2 S3 S4 S5 P0 0 P0 1 P0 2 P0 3 图 2 2 独立式键盘电路 3 2 3 液晶显示模块 1 12864 液晶模块概述 12864 液晶显示电路主要由基于 ST7920 控制器的 12864 液晶和外部电位器等组成 12864 具有 128 列 64 行共 128 64 个像素点 可以显示中文 日文 数字 英文 特殊 字符 图片等 内置国标 GB2312 码简体中文字库 16 16 128 个字符 8 16 及 64 256 点阵显示 RAM GDRAM 可以与 CPU 直接接口 提供两种界面来连接微处理器 8 位并行及串行两种连接方式 具有多种功能 光标显示 画面移位 睡眠模式等 2 12864 液晶显示电路原理图 液晶显示电路主要由 12864 液晶显示模块和外围电位器等组成 可以通过调节电 位器 R2 调节 12864 偏压端电压 改变显示对比度 提高显示效果 改变显示清晰度 控制口线 RS RW EN 分别连接到单片机的 P0 4 P0 5 P0 6 8 位数据总线与 P2 口 相连 实现 8 位数据 并行传输 12864 液晶显示电路图如图 2 3 所示 1 1 2 2 3 3 4 4 DD CC BB AA Title NumberRevisionSize A4 Date 2012 5 30Sheet of File Sheet1 SchDocDrawn By 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 P1 BOT 3 TOP 1 TAP 2 2K R2 VADJ VADJ P0 6 P0 5 P0 4 P0 7 P2 0 P2 1 P2 2 P2 3 P2 4 P2 5 P2 6 P2 7 VCC VCC GND GND 12864世世世世 图 2 3 12864 液晶电路原理图 3 2 4 蜂鸣器电路 蜂鸣器电路主要是利用 S9012 PNP 三极管驱动蜂鸣器 实现按键发声 S9012 三级管属于 PNP 管 发射极串接蜂鸣器线圈接至 5V 集电极直接接地 基极通过一个 4 7k 限流电阻接至单片机 P3 3 口 当 S9012 基极为低电平时 三极管导通 蜂鸣器得 电蜂鸣 当 S9012 三极管基极为高电平时 三极管截止 蜂鸣器停止蜂鸣 其详细原 理图如图 2 4 所示 1 1 2 2 3 3 4 4 DD CC BB AA Title NumberRevisionSize A4 Date 2012 5 30Sheet of File Sheet1 SchDocDrawn By Q1 NPN LS1 VCC GND R22 P3 3 世世世世 图 2 4 蜂鸣器驱动电路原理图 3 2 5 电源电路 电源电路包括开关电路和指示电路 指示电路采用发光二极管进行指示 放光二 极管串联上一个 1K 的限流电阻 正常工作时 取发光二极管上电压为 3V 流过发光二 极管上的电流为 10mA 故 R 5 3 10 2K 当选择的电阻过大时 发光二极管不够 亮 指示不明显 当限流电阻选择过小 发光二极管亮度过大 缩短放光二极管使用 寿命 因此 应适当选取该限流电阻 当单片机正常供电时 电源指示灯正常发亮 当没有供电或出电源线短路时 电源指示熄灭 从而可以监测系统是否正常供电 电 源电路原理图如图 2 5 所示 1 1 2 2 3 3 4 4 DD CC BB AA Title NumberRevisionSize A4 Date 2012 5 30Sheet of File Sheet1 SchDocDrawn By 1 2 3 6 5 4 S0 VCC VCC 5 VCC 5 GND D0 R5 GND VCC 5 世 世 世 世 1 2 3 P6 1 2 3 P5 图 2 5 电源电路原理图 3 2 6 串口通信电路 串口通信电路主要由美信公司生产的 MAX232 芯片和相应的通信指示电路构成 主 要是用于程序的烧写和实现与上位机的通信 Max232 用于实现 TTL 电平与 RS232 电平 的转换 只要在它的外部在接上几个简单的电容就构成了通信点路 为了方便检查 排除故障可在通信线上接上两个通信指示灯 方便检查与维修 具体电路图如图 2 6 所示 1 1 2 2 3 3 4 4 DD CC BB AA Title NumberRevisionSize A4 Date 2012 5 30Sheet of File Sheet1 SchDocDrawn By 1 2 3 4 5 6 7 8 9 11 10 J1 C9 C10 C11 C12 C13 R11 R12 GND VCC VCC VCC GND GND C1 1 VDD 2 C1 3 C2 4 C2 5 VEE 6 T2OUT 7 R2IN 8 R2OUT 9 T2IN 10 T1IN 11 R1OUT 12 R1IN 13 T1OUT 14 GND 15 VCC 16 U437 MAX232ACPE D1 Diode 1N914 D2 Diode 1N914 VCC P3 1 P3 0 世世世世 图 2 6 串口通信电路 3 2 7 电机驱动电路 电机驱动电路主要有电机驱动芯片 L298N 少量电阻电容和二极管构成 电机驱动 电路增加光耦合器件以实现电机驱动信号与控制信号的隔离 提高控制系统的抗干扰 能力 但由于光耦合芯片 TLP521 4 昂贵 并且设计的控制要求简单 因此驱动电路中 去掉了光耦合部分 电机驱动电路原理图如图 2 7 所示 1 1 2 2 3 3 4 4 DD CC BB AA Title NumberRevisionSize A4 Date 2012 5 30Sheet of File E 世世 世世世世世世 SchDocDrawn By EN A 6 EN B 11 IN1 5 IN2 7 IN3 10 IN4 12 OUT1 2 OUT2 3 OUT3 13 OUT4 14 ISEN A 1 ISEN B 15 VS 4 VSS 9 GND 8 U3 L298N D7D8 D4D3 GND1 VCC1 GND1 P1 00 P1 10 VCC 12 1 2 P4 VCC 12 世世世世世世 C10 0 1UF C9 0 1UF P1 20 P1 30 1 2 3 4 P2 1 2 3 4 P9 1 2 P10 1 2 P11 P1 00 P1 10 P1 20 P1 30 GND1 D5D6 D9D10 VCC1 GND1 图 2 7 电机驱动电路原理图 4 单片机直流电机控制系统软件设计 4 1 软件总体结构 系统软件主要由系统初始化程序模块 键盘扫描及处理模块 液晶显示程序模块 串口通信程序模块 电机调速程序模块和蜂鸣器驱动程序模块等组成 系统初始化模块 主要是配置系统工作环境 主要负责的工作有初始化定时器 初始化液晶 初始化串口 初始化 I O 等 键盘扫描及处理模块 实现按键识别 消抖及处理 用于设置电机转动状态 液晶显示模块 实现对电机状态的实时显示以及状态设置 实现人机交互 串口通信模块 主要是实现与上位机进行通信 接收上位机发送过来的电机控制 命令 蜂鸣器模块 主要用实现按键蜂鸣 系统软件总体框图如图 3 1 所示 串口通信程序模块 系统初始化 键盘 扫描 及 处理 程序 模块 液晶显示程序模块 蜂鸣器驱动模块 电机调速程序模块 图 3 1 系统软件总体框图 在没有操作系统的时候 我们采用结构化程序设计思想 自顶向下 逐步求精 其系统主程序流程图如图 3 2 所示 系统初始 化 开始 键盘扫描 及处理程 序 显示刷 新 数据处 理 图 3 2 系统主程序流程图 4 2 系统模块程序设计 4 2 1 初始化模块程序 系统初始化软件包括三大部分 串口初始化 LCD12864液晶初始化 I O口初始化 主要完成的工作是设置定时器 并初始化串口 初始化12864液晶模块 关闭蜂鸣器等 串口初始化程序 设置定时器1为工作方式2 配置串口波特率为9600bps 选择波 特率不倍增 串行工作方式1 启动定时器1 开串行口中断 开CPU总中断 串口初始 化程序流程图如图3 3所示 12864液晶初始化程序 首先初始化LCD控制口 选择12864液晶输入输出为8位位 流 清屏 设定输入数据后光标右移模式 开显示无光标闪烁 无反白 最后显示正 常模式下的界面 12864液晶初始化程序流程图如图3 4所示 开始 设置波特率 9600 bps 的定时器 1 初 值 串口初始化为方式 1 波特率不倍增 结束 开串口中断 CPU 中断 初始化 LCD 控 制口 开始 选择 8 位数据流 关显示 清屏 选择光标右移 开显示 显示初始界面 结束 图3 3 串口初始程序流程图 图3 4 12864液晶初始化程序流程图 4 2 2 键盘扫描模块程序 键盘扫描及处理程序 主要由按键key1 按键key2 按键key3 按键key4组成 1 Key1为循环选择键 用于选择要设置的电机状态项目 2 Key2为加1按键 用于设定电机的正反转 加减速和电机速度值 3 Key3为减1按键 用于设定电机的正反转 加减速和电机速度值 4 Key4为确定键 用于确定当前的电机状态为设定值 键盘扫描程序模块流程图如图3 5所示 开始 循环选择 键 记录按下次数 设置模式标志 光标在电 机状态处 闪烁 加 1 键按 下 光标在检 测转速个 位处闪烁 减 1 键按 下 光标在设 定转速个 位处闪烁 光标在设 定转速十 百位闪烁 确定键按 下 对应项加 1 光标在检 测转速十 百位闪烁 对应项减 1 刷新显示 退出设置 结束 YES YES NO YES NO YES NO 图3 5 键盘扫描程序模块流程图 4 2 3 液晶显示模块程序 液晶显示程序模块包括 12864 液晶驱动程序模块和 12864 液晶显示刷新程序模块 12864 液晶驱动程序模块主要包括 12864 液晶的写数据 写命令程序模块 通过控 制 12864 液晶的控制口线就可以实现对 12864 液晶的基本数据操作 液晶写数据和写 命令程序流程图分别如图 3 6 和图 3 7 所示 12864 液晶显示程序模块 主要实现对输入的要发送的数据和接收到的数据的显示 以及进入设置模式时的各种界面的的刷新显示等 开始 选择写数据 将要写的数据 放到数据总线 延时 5ms 写使能信号 有效 结束 开始 选择写命令 将要写的命令 放到数据总线 延时 5ms 写使能信号 有效 结束 图 3 6 12864 液晶写数据程序流程图 图 3 7 12864 液晶写命令程序流程图 4 2 4 串口通信模块程序 串口通信程序模块主要包括串口初始化程序模块 串口接收程序模块 其中串口 初始化程序模块主要是配置特定的串口通信环境及通信方式等 选择串口为通信方式 1 定时器 1 方式 2 等 其程序流程图如前面图 3 3 所示 串口接收程序模块主要由串 口中断程序与串口接收子程序构成 当产生接收中断时 首先判断是发送中断还是接 收中断 若是发送中断则清除发送中断标志位 若是接收中断则先清除接收中断标志 位 然后调用串口接收函数 将接收到的数据存于接收缓冲区中 并共单片机使用 其串口接收程序流程图如图 3 8 所示 其中标志位已在程序中标出 开始 串口中断 接收一个字 节 接收完 2Byte 通知 CPU 进 行数据处理 理理 清除发送中 断标志位 清除接收中 断标志位 结束 YES NO YES NO 图 3 8 串口接收程序流程图 4 2 5 电机调速模块程序 电机调速程序模块采用脉宽调制法实现速度控制 利用定时器 0 固定调速信号周 期 根据正反转标志 设定电机控制端口电平 当计数值达到设定的脉宽值时则关闭 电机运行 在第二个周期的调速信号到来时 又重新开启电机运转 依次的电机通断 切换 从而实现电机的速度控制 其调速程序流程图如图 3 9 所示 开始 电机停转 计数到 100 开电机转动 重载定时值 计数变量加 1 结束 大于脉宽值 YES NO YES 图 3 9 调速程序流程图 NO 5 系统测试 5 1 测试准备 5 1 1 硬件环境 1 PC机 USB转串口通信线 用于单片机C51语言的编程 编译 加载及发送电 机控制命令 2 5V和 12V电源 电机控制系统板 若干根杜邦线 1块12864液晶模块 3 DT9208A数字万用表1个 螺丝刀 镊子 斜口钳 吸焊器 5 1 2 软件环境 1 Keil uVision4 用于C51源程序的编写 编译 链接和调试 2 上位机串口调试软件 串口大师 本系统程序 相关的库和头文件 5 1 3 测试项目 1 12864 液晶是否正常显示 2 系统电源指示 通信指示 按键蜂鸣 按键复位等功能是否正常 3 上位机通过串口调试软件能否正确控制电机的正转 反转 加速 减速 4 实验板上的键盘能否正确控制电机的正转 反转 加速 减速 5 2 测试过程 1 利用万用表检查各线路是否存在断路 短路并修正 2 检查单片机等各口线是否正确连接 上电之前检测一下正负电源线是否短路 确保不短路才上电 3 利用Keil uVision2软件进行程序的编辑 编译 链接和调试 4 利用STC ISP软件将在keil中编译链接生成的各个xx Hex文件下载到系统单片 机的Flash存储器中 5 按原理图连接线路 上电后开始测试 上电后首先观察系统显示是否正常 指示灯工作是否正常 复位电路是否正常等 等 如不正常则修改程序重新下载测试 直至显示正常 接着按照测试项目 分别测 试 首先打开串口调试软件 选择波特率为 9600bps 打开串口 选择发送的数据位 16 进制数据 1 正转测试 在发送窗中输入正转控制字和速度值 如 1 10 其中 1 表示正转 10 16 进制 即 16 表示脉宽为 16 的调速信号所对应的速度 点击发送观察电机是否正 转 将速度改大一些看一下速度是否改变 2 停止测试 输入停止命令字 0 速度可以任意 发送后观察电机是否停机下来 3 反转测试 输入反转命令字及速度脉宽值 最大为 100 如 2 20 发送后观察 电机的转动方向及速度 改变速度后再测一次观察电机转速是否改变 4 加速测试 输入加速命令字 3 速度可以任意 如 3 20 发送后观察电机的转 动情况 5 减速测试 输入减速命令字 4 速度可以任意 如 4 20 发送后观察电机的转 动情况 再测试正反转直接切换的情况下 电机是否还能正确运行 接着再测试一下在正 反转状况下进行的加减速 观察电机是否在原来速度的基础上无跳变的平稳加减速 最后测试键盘的各项控制功能能否正常 5 3 测试结果 经测试表明 本电机控制系统可以通过上位机实现对直流电机的自由设速正反转 和平稳加减速的控制 同时也可以通过键盘实现自由设速正反转和平稳加减速的控制 还具有显示 按键发生等多种功能 该系统完全满足系统设计要求 下面的实物测试图是正转和加速的测试 测试效果图如图 5 1 到图 5 4 所示 经 测试表明 以上测试要求全部通过 测试结果如表 4 1 表 4 1 电机主要测试结果 测试项 目 指令控制字预期结果实际结果 1 1 正转 慢速 正转 慢速 正转 1 50 正转 快速 正转 快速 2 1 反转 慢速 反转 慢速 反转 2 50 反转 快速 反转 快速 0 1 快速停止快速停止 停止 0 50 快速停止快速停止 3 1 以原速度开始 加速 以原速度开始 加速加速 3 50 以原速度开始 加速 以原速度开始 加速 4 1 以原速度开始 减速 以原速度开始 减速减速 4 50 以原速度开始 减速 以原速度开始 减速 结束语 本课题的核心任务是对串口通信的研究和对电机控制系统的应用设计 本文的研 究方案是根据现有的软硬件条件 设计单片机的电机控制系统 通过 RS232 串口连接 至 PC 机 并进行相关性电机控制实验 具体内容包括如下 一 通过对现在应用比较广泛 技术比较成熟的串口通信进行研究 并经分析论 证后设计出以 STC89C52 单片机为核心控制单元的上位机电机控制系统 二 根据本设计 上位机电机控制系统的设计要求 编写了系统程序 通过 RS232接口连接至PC机 并进行相关性电机控制实验 三 在设计好的电机控制系统平台上 进行电机控制系统的软件开发 并通过不 断的软硬件调试 实物测试 最终开发出性能优越 灵活方便 具有一定实用价值的 直流电机在线控制系统 通过本次毕业设计 我更深入的学到了有关单片机的原理及应用 并且自主的动 脑 动手能力得到了很大的提高 重要的是能够将单片机与实际生活中的一些应用联 系起来 同时通过毕业设计对 PC 机通过串口控制单片机有一定的了解 上位机控制单 片机系统 可以用于对多个单片机应用系统进行实时控制 也可通过调制 解调器对远 程控制系统进行实时控制 另外 上位机不需要进行复杂的编程 直接用微机的通信 串行口进行命令控制 并且命令符可自定义 总之我们受益匪浅 这将为我们以后的 学习以及工作打下良好的基础 最新范本最新范本 供参考 供参考 致谢 经过长期的忙碌 本次毕业设计已基本完成 作为一个还没毕业的本科生 由于 缺乏经验 导致许多方面考虑不周全 幸好得到了指导老师的督促和同学们的帮忙 才能够顺利完成了这次毕业设计 在这里 我要先感谢我的指导 老师 是她对我的悉 心指导 以及对毕业设计各方面提供的意见 帮我理清了许多疑问 还要感谢同学对 我的帮助 因为他们 我才顺利完成了我的毕业设计 最后 感谢我的母校为我提供 了这么一个优良的学习环境 培育我成长起来 在这里 我要对在校期间帮助过我的所有人说声谢谢 最新范本最新范本 供参考 供参考 参考文献 1 张毅刚 彭喜元 单片机原理与应用设计 M 北京 北京市海淀区四季青印刷厂 2010 2 张毅刚 新编 MCS 51 单片机运用设计 哈尔滨 哈尔滨工业大学出版社 2003 3 张义和 王敏男 许宏昌 余长春 例说 51 单片机 c 语言版 北京 人民邮电出 版社 2009 4 马忠梅 籍顺心 张 凯 马 岩 单片机的 C 语言应用程序设计 北京 北京航空航 天大学 2010 5 Samsung Electronics S3C44BOX Risc microcontroller ARM instruction sheet 2002 6 郭天祥 51 单片机 C 语言教程 电子工业出版社 2005 年 7 月 7 丁元杰 单片微机原理及应用 机械工业出版社 2005 年 7 月 8 楼然苗 李光 单片机课程设计指导 北京 北京航空航天大学出版社 2007 9 Okazoe H Shimizu K Watanabe Y et al Develop ment of a Full FlowBurner Regeneration Type Diesel Particu late Filter Using SiC Honeycomb C Society of AutomotiveEngineers International Congress and Exposition Michigan SAE Paper 960130 1996 27 35 10 岂兴明 唐杰等 51 单片机编程基础与开发实例详解 北京 人民邮电出版社 2008 11 王东锋 王会良 董冠强 单片机 C 语言应用 100 例 电子工业出版社 2009 1V Yu Teplov A V Anisimov Thermostatting System Using a Single Chip Microcomputer and Thermoelectric Modules Based on the Peltier Effect J 2002 12 Yeager Brent How to troubleshoot your electronic scale J Powder and Bulk Engineering 1995 13 周兴华 手把手教你学单片机 北京 北京航空航天大学出版社 2005 14 Meehan Joanne Muir Lindsey SCM in Merseyside SMEs Benefits and barriers J TQM Journal 2008 15 周立功 直流电机原理与驱动 M 西安 西安电子科技大学出版社 2008 1 16 说明书 LED12864 液晶完整中文版资料 17 王晓明 电动机的单片机控制 第 3 版 北京航空航天大学出版社 2011 最新范本最新范本 供参考 供参考 附录 附录 1 直流电机在线控制系统程序 基于 STC89C52 和 L298 的直流电机的在线控制 同时可以通过键盘来控制电机 在线控制的指令要求 选用 16 进制 1 XX 正传 1 代表正传 XX 代表速度 2 XX 反转 3 加速 加速只会加速到最大 还没有实现加速到一定量或者是加速一定量 4 减速 减速只会加速到零 还没有实现减速到一定量或者是减速一定量 通过键盘一样可以控制电机 检速电路没有实现 include define uchar unsigned char define uint unsigned int define LcdBus P2 sbit Key0 P0 0 循环选择键 sbit Key1 P0 1 下一页 sbit Key2 P0 2 上一页 sbit Key3 P0 3 确定键 sbit Lcd RS P0 4 sbit Lcd RW P0 5 sbit Lcd EN P0 6 12864 控制端口 sbit MotorIN1 P1 0 sbit MotorIN2 P1 1 单片机对 L298 的控制端口 sbit Speaker P3 3 变量定义 最新范本最新范本 供参考 供参考 uchar const code SysName 电机在线控制 uchar const code Name1 电机状态 停止 uchar const code Name2 预设脉宽 000T q uchar const code Name3 反馈脉宽 000T q uchar constcode Name4 0123456789 uchar constcode Status0 停止 uchar const code Status1 转 uchar const code Status2 反转 uchar const code Status3 加速 uchar const code Status4 减速 uchar OldMotorIN1 0 OldMotorIN2 0 char PcToMcu 2 0 char PcToMcu0 char SetSpeed 3 0 char Speed 3 0 char OldPcToMcu1 uchar Status 0 0 停止 1 正转 2 反转 uchar PWM 0 uchar Keynum0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年上海租车合同范本
- 婚后贷款赠予合同范本
- 电脑回收采购合同范本
- 2025赠与合同范本下载
- 光纤布线施工合同范本
- 陵园合同范本
- 大型喷泉采购合同范本
- 房屋加固质保合同范本
- 卖家单方解约合同范本
- 餐厅房东 合同范本
- 电石中控岗位操作规程
- 造型基础-全套教案课件
- 幕墙密封胶相容性检测
- 如何清洁头皮可促进头发生长
- 药品生产企业药品安全信用评价指标及评分标准
- T-SCSTA001-2025《四川省好住房评价标准》
- 台州市水处理发展有限公司化工废水处理工程项目环评报告
- 毕节地区金沙县2025年小升初易错点数学检测卷含解析
- 原材料检验员知识培训
- 2025年全国交管12123驾驶证学法减分考试题库及答案
- 《进项税额的抵扣》课件
评论
0/150
提交评论