直流电机速度PID控制系统设计

上传人:都** 文档编号:5837080 上传时间:2020-02-09 格式:DOC 页数:36 大小:277.50KB
返回 下载 相关 举报
直流电机速度PID控制系统设计_第1页
第1页 / 共36页
直流电机速度PID控制系统设计_第2页
第2页 / 共36页
直流电机速度PID控制系统设计_第3页
第3页 / 共36页
点击查看更多>>
资源描述
序号 学号 161240303 长 春 大 学 毕 业 设 计 论 文 直流电机速度 PID 控制系统设计 姓 名 李一丹 学 院 国际教育学院 专 业 自动化 班 级 1612403 指导教师 曹福成 2016 年 5 月 30 日 长 春 大 学 毕业设计 直流电机速度 PID 控制系统设计 纸 装 订 线 直流电机速度 PID 控制系统设计 摘要 针对现有的直流电机控速难的问题 本文设计了一种基于 ATmega16L 单 片机的直流电机速度控制系统 本系统以 ATmega16L 单片机为主控制器 搭载 了 L298n 为电机驱动 通过霍尔元件进行测速 通过按键控制电机的转动方向 和转动速度 并配以温度传感器 DS18B20 对温度进行监测 通过 PID 算法调节 PWM 进行对速度控制 该系统包括的模块主要有单片机为主体的控制模块 电 机的驱动模块 对电机速度进行监测的模块 由 LCD1602 构成的显示模块 电 源模块和按键控制模块等 本系统可以通过 PID 算法实现可编程脉宽波形对直 流电机的速度进行控制 并且可以显示出当前电机的转速 关键词 单片机 PID 算法 直流电机 长 春 大 学 毕业设计 直流电机速度 PID 控制系统设计 纸 装 订 线 The design of DC motor speed control system with PID Abstract According to the existing DC motor speed control problem this paper describes the design of a DC motor speed control system based on ATmega16L MCU To ATMEGA16L microcontroller as the main controller for the system equipped with a L298n for motor drive through the hall element of speed through the buttons to control the motor rotation direction and the rotation speed and the temperature sensor DS18B20 the temperature monitoring PID algorithm is used to adjust the PWM control of the speed The system includes the following modules display microprocessor control module as the main body of the motor drive module monitoring module the speed of motor is composed of LCD1602 module power supply module and key control module This system can realize through PID algorithm to control the speed of the programming pulse waveforms of DC motor and can display the current motor speed Keywords single chip microcomputer PID algorithm DC motor 长 春 大 学 直流电机速度 PID 控制系统设计 装 订 线 目录 第 1 章 绪论 1 1 1 选题背景及意义 1 1 2 国内外研究现状 2 1 3 本文主要研究的内容 3 第 2 章 总体方案论述 4 2 1 系统主要传感器介绍 4 2 1 1 温度传感器 4 2 1 2 转速检测模块 5 2 2 系统总体功能及方案选择 6 2 2 1 系统所需模块及功能 6 2 2 2 主控制器选择 8 第 3 章 系统总体硬件设计 10 3 1 单片机最小系统 10 3 1 1ATmega16L 单片机的引脚分布 10 3 1 2 最小系统的硬件电路 13 3 2 电机驱动电路 14 3 3 温度检测电路 15 3 4 光电管提示电路和按键控制电路 15 3 5LCD1602 显示电路 16 3 6 电源电路 17 3 7 本章小节 18 第 4 章 系统软件设计 19 4 1 系统总体流程图 19 4 2 PID 算法简介 19 4 2 1PID 算法介绍 20 4 2 2PID 算法结果 21 4 3 系统调试步骤 21 4 4 误差分析即改进方法 22 长 春 大 学 直流电机速度 PID 控制系统设计 装 订 线 结论 23 致谢 24 参考文献 25 附录 26 附录 I 系统总体硬件电路图 26 附录 II 系统中部分程序 27 长 春 大 学 毕业设计 直流电机速度 PID 控制系统设计 纸 共 31 页 第 1 页 装 订 线 第 1 章 绪论 1 1 选题背景及意义 电动机简称电机 俗称马达 在现实生活中 我们处处都可以见到电机的 身影 小到小学生玩的电动四驱车 大到炼钢厂用的滚动罐 这些都是电机家 族的成员 电机是一种可以将电能转换成机械能输出的装置 现在我们来了解 下电机吧 电机的家族非常庞大 按照其驱动电源来分大致可以分为直流类 交流类和三相电源供电类这 3 种常见常用的种类 其中直流类是我们生活中最 常见的一类 因为其便于制动和控制所以应用较多 但是其动力输出较小 所 以不能作为大型机械的动能输出源 交流类也是应用较为普遍的电动机 最为 常见的是我们家用的洗衣机 它的核心动力源就是由交变电流驱动的电动机充 当的 而三相电源供电式电动机在我们生活中不常见 但是在大型工厂和工地 中普遍应用这种类型的电动机 因为其输出功率较前两种有质的飞跃 所以可 以应对大型机械的运转 充当动力源 我们所要研究是目标是直流电机 所以我在此对直流电机做详细的介绍 直流电机由定子和转子两部分构成 定子主要就是磁体 而转子主要是绕有线 圈的转动杆 按照励磁方式可以分为他励型 并励型 串励型和复励型四种 而按照有无刷分类则可以分为有刷型和无刷型两种 而电机的原理是我们中学 所学的法拉第电磁感应定律 即通电的导线周围会产生磁场 如果将通电的导 线周围再加入一个外加的永磁体 那么会让通电的导线受到磁场的力的作用而 转动 在我们的生产和生活中 几乎全都是希望这种转动是匀速的 因为匀速 的转动便于我们搭配各种与之相适宜的器件用于组合使用 从而完成各种各样 的功能 如果供电电压不变 负载转矩不变 那么就可以认为电机是匀速旋转的 因为电动机的电磁转矩和电压密切相关 当电压没有波动的时候也就是说电磁 转矩是恒定的 电磁转矩是促使电机转子转动的 负载转矩是阻止电机转子转 动的 两个力是相反的 这样的话当两个力平衡时电机就是做的匀速转动 当 负载转矩变小时 电机速度会有所升高 但是当升高到一定程度后又会恒定在 某一个速度上转动 但是由于我们现实条件下供电电压不可能永恒不变 而且 长 春 大 学 毕业设计 直流电机速度 PID 控制系统设计 纸 共 31 页 第 2 页 装 订 线 转子上的线圈的阻值会随温度的变化而变化 再有定子上的磁体磁性会随外界 环境的改变而改变 所以要想达到控制直流电机转速必须借助外力 因此 设 计一个能控制电机转速的系统是很有必要的 设计一个能控制电机转速的系统 是我们这个机械控制时代的需求 设计一个能控制电机转速的系统是造福全民 的 随着电机产业的不断进步与发展 电机在控速领域由原先的自适应控制进 化到现如今的应用 PLC 等计算机作为主控制器的智能型控制 而随着各种机器 语言的问世和各种算法的提出 PID 作为新生的调节器算法从众多控制算法中 脱颖而出 而本文就来设计一种通过 PID 算法来控制直流电机转速的系统 1 2 国内外研究现状 早在 1831 年 伟大的物理学家法拉第发现电磁感应定律后 他便预测不久 的将来 这一成果必将开启人类新时代的另一个文明 自 1843 年第一个电机问 世以来 电机便走入了人们的视线 并且在我们的生活中扮演越来越重要的角 色 然而最初 电机因为其制作工艺低劣 而且科技水平较差 所以频频出现 故障 直到 20 世纪初 由德国麦基散公司提出通过外接控制设备来进行对电机 的转速控制和启动助推 使得直流电机步入了一个新纪元 各个国家纷纷效仿 德国的做法 利用各种控制单元或模拟电路对电机进行武装 使得电机越来越 智能和稳定 从上世纪 70 年代起 美国 德国 日本和原苏联均意识到了在工 业生产中控制电机转速的重要性 所以从上世纪 70 年代起先后投以巨资来研制 可控制电机转速的系统 随着计算机时代的来临 不少科学家意思到利用计算 机控制电机的可行性和便利性 伴随着单片机等更加便利的嵌入式微型控制器 的问世 将直流电机速度控制领域带到了一个新的顶峰 到 90 年代初 美国很 多公司已经从原始的集成晶体管和门电路控制直流电机的转速进化成由单片机 DSP FPGA 等微控制器为主控的智能型 可编程控制型直流电机控制系统 在 新旧世纪交替之际 美国科学家 D H Boliton 等人已经可以实现智能的直流电机 控制 其可以完成现场编程控制进行多个任务 控制电机转速可调在最大速度 以下的任意整数值 并且其所带的博士生们在原有的基础上加入语音控制等设 备 已将直流电机控制系统做到非常先进 非常高端的地步 相比于国外 国内对直流电机的控制系统的重视程度较低 直到20世纪80 年代末才被重视起来 然而我国设计的直流电机控制系统多是照搬国外已有的 成品 很少有属于自己的创新型产品 863计划提出后 要把我国建设成科技强 长 春 大 学 毕业设计 直流电机速度 PID 控制系统设计 纸 共 31 页 第 3 页 装 订 线 国的口号被提出后 人们才逐渐意识到对电机转速控制的研究是多么重要 2003年 由北京航空航天大学主办的国内多个高校参加的 新世纪电子产品 比赛中 由西安电子科技大学研制的基于FPGA控制的直流电机速度控制器备受 世人瞩目 所研制的控制电机转速已经可以实现每十秒误差在1转以下 该转速 控制的精度已经非常之高 随着新世纪的到来 中国的科学技术水平已经逐渐 接近发达国家水平 而在直流电机转速控制这一领域也基本上赶超了部分发达 国家 这标志着国内虽然起步较晚 但我们发展迅速 有很多关键技术已经处 于世界领先水平 1 3 本文主要研究的内容 本文设计了基于单片机的直流电机速度PID控制系统 本系统以 ATmega16L 单片机为主控制器 搭载了L298n为电机驱动 通过霍尔元件进行测速 通过按 键控制电机的转动方向和转动速度 并配以温度传感器DS18B20对温度进行监测 通过PID算法调节PWM进行对速度控制 该系统包括的模块主要有单片机为主体 的控制模块 电机的驱动模块 对电机速度进行监测的测速模块 由LCD1602构 成的显示模块 电源模块和按键控制模块等 本系统可以通过PID算法实现可编 程脉宽波形对直流电机的速度进行控制 并且可以显示出当前电机的转速 因此本论文的主要框架包括 第1章的介绍了本课题的研究意义和国内外研究现状 第2章介绍了本课题设计的系统需要具有的功能 和每一个功能实现的设计 方案如何选择的 最后根据所选方案 研究其工作原理 并且最后完成器件的 选型 第3章介绍了本课题设计系统的总体硬件设计 里面含有关于设计的电路图 第4章介绍了系统相关软件的编译和系统总体框图 最后 将对整个论文进行总结描述 并对我在做论文时所产生的问题和对 本设计的未来方向和优化方向进行描述和预测 长 春 大 学 毕业设计 直流电机速度 PID 控制系统设计 纸 共 31 页 第 4 页 装 订 线 第 2 章 总体方案论述 在前一章我们介绍了选题的背景和意义 接下来我根据我从网上查的资料 和老师提供的方法和意见 对整个系统做一个大概的论述 2 1 系统主要传感器介绍 2 1 1 温度传感器 因为电机的转子上缠绕的线圈的材料的阻值是随温度的变化而变化的 所 以我们有必要测得电机内部的温度 作为我们输入的一个信息参与单片机控制 系统 我们这里主要应用的是温度传感器 DS18B20 DS18B20 温度传感器相较 其他温度传感器具有体积小 抗干扰能力强 价格低廉 测量精度高等特点 它的工作电压为 3 0V 到 5 5V 直流电压 在寄生模式下可由数据线供电 温度 测量范围为 55 到 125 并且在温度介于 10 和 85 时精度为 0 5 可实 现高精度测温 通过一根双向数据线连接 DS18B20 和单片机就可以实现二者间 的串行通信 并且自身可以传送 CRC 校验码 这不仅大大节约了单片机的引脚 资源 还提高了系统的抗干扰能力 当电源极性反向或突然增大电流时 DS18B20 有内在的保护电路 可以避免芯片的烧毁 但在这种条件下它不能正 常工作 图 2 1 DS18B20 实物图 图为DS18B20芯片的示意图 其中1脚为GND脚接地 2脚为串行数据传输脚 接单片机I 0 口 3脚为VCC脚接5V 直流电压 根据DS18B20的通信协议 单片机 长 春 大 学 毕业设计 直流电机速度 PID 控制系统设计 纸 共 31 页 第 5 页 装 订 线 与其通信必须有3个步骤 第一步 每一次读写之前DS19B20 都需要复位 复位 即主CPU把数据线下拉500ms 释放 DS18B20收到信号等16 60ms 再发出 60 240ms的存于低脉冲 主CPU收到此信号表示复位成功 第二步 单片机需 要发送一条ROM指令 最后一步 为单片机发送一条RAM指令 这三步完成后 单片机才可以对DS18B20进行相应的操作 2 1 2 转速检测模块 1 磁体 2 霍尔元件 3 齿圈 图2 2 霍尔轮速传感器示意图 图2 3 AD22151的引脚分布 转速检测元件我们选择了霍尔转速传感器 其实它的原理非常简单 如图 2 4所示 在齿轮的咬合方向上添加了一块高磁性的磁体 磁体上粘合着霍尔元 件 每当齿圈上的齿轮页靠近磁体时 霍尔元件因为磁场的原因产生电流 而 当齿轮页原理磁体 即齿轮凹槽部分贴近磁体时 霍尔元件没有明显的变化 这样当齿轮处于高速转动的状态时就可以产生交变的电流 电流的频率越高说 明转速越快 而齿轮旋转一周的距离是有限的 根据这个原理 通过测量电流 的频率即可测得车速 在本设计中选用了利用霍尔效应制成的AD22151型线性 输出磁场传感器 长 春 大 学 毕业设计 直流电机速度 PID 控制系统设计 纸 共 31 页 第 6 页 装 订 线 霍尔式车轮转速检测传感器意图由图2 4所示 在本设计中 采用AD22151 型线性输出磁场传感器与永磁体及相关电路组成霍尔轮速传感器 其输出为模 拟信号 AD22151线性输出磁场传感器由美国ADI公司推出 现已广泛用于汽车 和工业监控系统中运动及特殊位置的检测 其引脚分布如图2 5所示 AD22151适用于单电源 V CC 5V I 6 0mA 40 150 温度范围内 其 误差在0 1 左右 输出灵敏度 外部可调 A 1 为 0 4mV G 输出信号刷新频 率为50kHz 输出电压动态范围接近电源电压 10 90 V cc 对大容性负载驱动 能力为1mA 2 2 系统总体功能及方案选择 该系统包括的模块主要有单片机为主体的控制模块 电机的驱动模块 对电机 速度进行检测的测速模块 由 LCD1602 构成的显示模块 电源模块和按键控制 模块等 本系统可以通过 PID 算法实现可编程脉宽波形对直流电机的速度进行 控制 并且可以显示出当前电机的转速 2 2 1 系统所需模块及功能 单片机控制模块 该模块作为系统的主体模块 是整个系统的大脑 单片机将数据采集模块 采集到的信息进行处理 运算后交由显示模块显示最终的结果 可以说单片机 控制模块是整个系统的核心部分 其他所有的模块都离不开该模块 它在整个 系统中起到调度 信息储存和信息处理的作用 温度检测模块 该模块由 DS18B20 温度传感器构成 它的工作电压为 3 0V 到 5 5V 直流电 压 在寄生模式下可由数据线供电 温度测量范围为 55 到 125 并且在温 度介于 10 和 85 时精度为 0 5 可实现高精度测温 通过一根双向数据线 连接 DS18B20 和单片机就可以实现二者间的串行通信 并且自身可以传送 CRC 校验码 这不仅大大节约了单片机的引脚资源 还提高了系统的抗干扰能力 当电源极性反向或突然增大电流时 DS18B20 有内在的保护电路 可以避免芯 片的烧毁 但在这种条件下它不能正常工作 DS18B20 温度传感器相较其他温 长 春 大 学 毕业设计 直流电机速度 PID 控制系统设计 纸 共 31 页 第 7 页 装 订 线 度传感器具有体积小 抗干扰能力强 价格低廉 测量精度高等特点 按键模块 光电管提示模块 按键模块其实就是个外部控制输入设备 通过按键控制直流电机的转动情 况 一共设有 5 个按键 分别为顺时针转动 逆时针转动两个转动方向的控制 键和加速 减速和停止 3 个速度控制键 而光电管是由 4 个发光二级管组成 这 4 个二极管可以制作成一个矩形四个角的组合形式 可以由单片机控制显示 直流电机的转动情况 如果直流电机顺时针转动 则单片机控制这 4 个二极管 也顺时针转动 反之逆时针的情况也是如此 而且单片机可以控制这 4 个二极 管的闪动频率 用以反映电机的转速 液晶显示模块 显示模块 LCD1602 充当 其实物图如下图所示 LCD1602 共有 16 个引脚 其中 有 8 个双向的数据传输引脚 3 个控制引脚 其他的为电源端 芯片的工作电 压为 4 5V 5 5V 共可以显示 2 16 个字符 因为其不是重点 所以我们在此不 做详细的介绍 感兴趣的同学可以上网查找 LCD1602 的数据手册 里边有详细 的指令集和控制时序 图 2 4 LCD1602 实物图 电机的驱动模块 电机的驱动模块我们主要选择了 L298n 芯片为电机驱动 它是 ST 公司生产的一 种高电压 大电流的光电耦合型电机驱动芯片 其峰值电压最大可达 46V 最 大电流可达 3A 但是其控制电压仅有 5V 左右就可以实现 是市场上较为常见 的电机驱动芯片 因为其抗干扰能力强 且工作时性能稳定并且便于控制转速 和转动方向 受到人们的青睐 被广为使用 除了以上 5 个模块外 系统中还有电源模块 因为电源模块中我们使用的是在 商场里就可以买到的干电池 所以在此不做过多的介绍 值得注意的是 系统 中应用了 5V 的电压 我们是通过 7085 稳压芯片实现将 12V 电压转变为 5V 直流 电压的 因为其结构简单易懂 所以不做过多的讲解 长 春 大 学 毕业设计 直流电机速度 PID 控制系统设计 纸 共 31 页 第 8 页 装 订 线 2 2 2 主控制器选择 系统从功能上主要由五部分组成 即以上 4 种功能实现模块和中央处理器 中央处理器作为整个控制中枢和大脑 分配各个模块的工作任务 并将采集的 信息做运算处理 然后控制输出模块提示我们有关信息 中央处理器是把其他 功能的模块连结在一起成为一个系统 常常使用 DSP 或者单片机作为中央处理 器 根据实际系统需求选择一个最合适的 根据本文的设计和成本 本设计是 使用单片机 单片机在现在社会上很多领域上都有应用 例如在通信 家电 工业等 单片机成为控制系统的最核心的部件 不仅因为它有 CPU 的数值计算功能 它 还具有一些自身的特点 与通用微机 CPU 对比 抗干扰性能高 其可工作的温度环境要求不高 通用微机 CPU 要求在 室温环境下工作 并且其抗干扰能力低 可靠性高 因为在现在工业方面 每个生产环节出现问题 都可能会产 生严重的后果 控制功能非常好 但其数值计算功能不太好 通用微机 CPU 的数值计 算功能就非常好 但控制能力就不高 所以它用于工业方面 一般都添加专用 的接口电路 指令系统比通用微机系统简单 单片机的淘汰与通用微机相比非常慢 51 系列与 AVR 系列里许多不一 样档次的产品 所以在选择的时候需要考虑哪种性能是对系统设计最合适的 成本低和能使电路最便利的 所以本设计经过市场调研和查看手册 最后选择 了 AVR 系列里面的 ATmega 系列的单片机 型号为 ATmega16L 其引脚分布如 图 2 5 所示 长 春 大 学 毕业设计 直流电机速度 PID 控制系统设计 纸 共 31 页 第 9 页 装 订 线 图 2 5ATmega16L 单片机的引脚配置 其中各个引脚的功能及单片机的最小系统等内容我们将在下一章详细介绍 给大家 通过 ATmega16L 单片机和各个功能模块的相互搭配 最终可以实现我 们预期的功能 PB0 XCK T 12AIN3O4S5M678REDLGFVUmega 长 春 大 学 毕业设计 直流电机速度 PID 控制系统设计 纸 共 31 页 第 10 页 装 订 线 第 3 章 系统总体硬件设计 在第 2 章中完成了系统总体方案选择及系统主要原理的分析 在本章将详 细介绍本设计硬件电路的实现 其系统总体框图如图 3 1 所示 图3 1 系统总框图 根据上图我们可以看出 本系统选取 ATmega16L 为整个系统的中央处理器 该系统共分为 5 个重要模块 即温度检测模块 速度检测模块 由液晶和光电 管联合组成的显示模块 电机驱动模块和按键控制模块 各个模块相互配合 最终完成指定的任务 接下来我先介绍下单片机 要了解单片机必须从单片机 的最小系统开始入手 3 1 单片机最小系统 单片机系统的扩展 一般是以单片机最小系统为基础的 单片机最小系统 是指一个单片机想完成指定任务所需配备的最小配置系统 他是由复位电路和 时钟信号共同组成的电路 3 1 1ATmega16L 单片机的引脚分布 在配置单片机最小系统之前 应详细了解所选择的单片机芯片的引脚分布 及说明 ATmega16L 单片机的引脚分布图在第 2 章中已经介绍 如图 3 2 所示 单片机系统ATmega16L温度检测模块 显示模块 速度检测模 块 电机驱动模 块 按键控制模 块 长 春 大 学 毕业设计 直流电机速度 PID 控制系统设计 纸 共 31 页 第 11 页 装 订 线 其引脚说明如下 Vcc 供电电压 GND 接地 PA 口 PA 口是一个 8 位漏极开路的双向 I O 口 作为输出口 每位能驱动 8 个 TTL 逻辑电平 将 PA 端口的值调成 1 此引脚的输入为高阻抗值 PA 口 作为低 8 位地址 数据复用不具有内部上拉电阻时 是用来访问外部程序或者是 访问数据存储器 在这种模式下 PA 不具有内部上拉电阻 在 Flash 编程时 PA 口也用来接收指令字节 在程序校验时 输出指令字节 但在此时需要外部 上拉电阻 PB 口 PB 端口是一个 8 位的双向 I O 口 其内部具有上拉电阻对输出数 据进行上拉 每一个输出端口都能驱动 4 个 TTL 逻辑电平 当对 PB 口的内部寄 存器写 1 时 内部上拉电阻将输出端口拉高 此时 该端口可以作为输入端 口进行使用 PB 端口的第 0 引脚和第 1 引脚 PB0 和 PB1 分别作定时器 计数器 2 的外部计数输入 P1 0 T2 和定时器 计数器 2 的触发输入 PB1 T2EX 在 flash 编程和校验时 PB 口接收低 8 位 地址字节 引脚号第二功能 PB0 T2 定时器 计数器 T2 的外部计数输入 时钟输出 PB1 T2EX 定时器 计数器 T2 的捕捉 重载触发信号和方向控制 PB5 MOSI 在系统编程用 PB6 MISO 在系统编程用 PB7 SCK 在系统编程用 PC 口 PC 口是一个具有内部上拉电阻的 8 位双向 I O 口 PC 输出缓冲器 能驱动 4 个 TTL 逻辑电平 对 PC 端口写 1 时 内部上拉电阻把端口拉高 此时可以作为输入口使用 作为输入使用时 被外部拉低的引脚由于内部电阻 的原因 将输出电流 IIL 在访问外部程序存储器或用 16 位地址读取外部数 据存储器 例如执行 MOVX DPTR 时 PC 口送出高八位地址 在这种应用中 PC 口使用很强的内部上拉发送 1 在使用 8 位地址 如 MOVX RI 访问外部数 据存储器时 PC 口输出 PC 锁存器的内容 在 flash 编程和校验时 PC 口也接 收高 8 位地址字节和一些控制信号 PD 口 PD 口是一个具有内部上拉电阻的 8 位双向 I O 口 PD 输出缓冲器 能驱动 4 个 TTL 逻辑电平 对 PD 端口写 1 时 内部上拉电阻把端口拉高 此时可以作为输入口使用 作为输入使用时 被外部拉低的引脚由于内部电阻 长 春 大 学 毕业设计 直流电机速度 PID 控制系统设计 纸 共 31 页 第 12 页 装 订 线 的原因 将输出电流 IIL PD 口亦作为 ATmega 系列单片机的特殊功能 第 二功能 使用 如下表所示 在 flash 编程和校验时 PD 口也接收一些控制 信号 PD 口同时为闪烁编程和编程校验接收一些控制信号 RST 复位输入 当振荡器工作时 RST 引脚出现两个机器周期以上高电平 将使单片机复位 ALE PROG 当访问外部存储器时 地址锁存允许的输出电平用于锁存地址 的低位字节 在 FLASH 编程期间 此引脚用于输入编程脉冲 在平时 ALE 端 以不变的频率周期输出正脉冲信号 此频率为振荡器频率的 1 6 因此它可用 作对外部输出的脉冲或用于定时目的 然而要注意的是 每当用作外部数据存 储器时 将跳过一个 ALE 脉冲 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0 此时 ALE 只有在执行 MOVX MOVC 指令是 ALE 才起作用 另外 该引脚被略微 拉高 如果微处理器在外部执行状态 ALE 禁止 置位无效 表 3 1 PD 口引脚功能表 PD 口引脚 第二功能 PD0 RXD 串行口输入 PD1 TXD 串行口输出 PD2 INT0 外部中断 0 输入 PD3 INT1 外部中断 1 输入 PD4 T0 定时器 计数器 0 PD5 T1 定时器 计数器 1 PD6 WR 外部数据存储器写脉冲输出 PD7 RD 外部数据存储器读脉冲输出 PSEN 芯片外接程序存储器读选通信号输出端 低电平有效 注意 ATmegal16L 的指令或者数据是从外部程序存储器里获取的时候 这时 PSEN 在 每个机器周期里输出两个脉冲 在其期间 访问外部数据存储器 就会跳过两 个 PSEN 信号 EA VPP 芯片外程序存储器选用端 如果 CPU 需要访问外部程序存储器 EA 引脚此时必须是接地 即保持低电平 注意有一种特殊情况 在已经编译了 加密位 LB1 的情况下时 EA 在复位的时候会被锁存状态 CPU 也可以是执行内 部程序存储器 这是 CPU 需要接 VCC 即高电平 Flash 编程时 如果器件的编 长 春 大 学 毕业设计 直流电机速度 PID 控制系统设计 纸 共 31 页 第 13 页 装 订 线 程电压 VPP是 12V 时 EA 引脚就也可以加上 12V 的编程允许电源 VPP XTAL1 XTAL2 都是外接的晶体引脚 当外接时钟发生器时 XTAL1 可以 作为输入端 XTAL2 为接地 当单片机接片内振荡器时 XTAL1 和 XTAL2 接法相 反 即 XTAL2 可以作为输出端 而 XTAL1 接地 3 1 2 最小系统的硬件电路 本设计中 ATmega16L 单片机的最小系统是在芯片上外接时钟和复位电路而 实现的 ATmega16L 最小系统的电路图如图 3 2 所示 图 3 2 单片机最小系统电路图 ATmega16L 单片机的最小系统由时钟电路 复位电路 电源电路及单片机 构成 时钟电路是单片机的内脏 它掌握着单片机工作节奏 复位电路作用是 初始化单片机内部寄存器 使单片机内部程序从新开始 单片机的时钟电路通常有两种 内部振荡方式和外部振荡方式 在 XTAL1 和 XTAL2 两个引脚之间接晶体振荡器 且加两个的瓷片电容 以此组成自激振 荡器 因为时钟电路其内部是一个振荡器 由一个高增益反相放大器组成 所 以外接石英晶振 就会得到振荡时钟脉冲和自激振荡器 复位电路作用是初始化单片机内部寄存器 使单片机内部程序从新开始 例如程序计数器 PC 0000H 即程序是从 0000H 开始 可以说是单片机强大功能 的根本保障 与复位操作紧密相关的引脚有 RST 引脚 全称 RESET 当该引脚 出现 2 个机器周期以上的高电平时 单片机就会进入内部复位等待状态 再由 EA 引脚的电平确定执行内部或外部的程序流程 使引脚状态满足复位条件的方 式有两种 一种是上电自动复位 既在单片机上电时自动复位 另一种是手动 按键复位 既手动按复位键使单片机进行复位 上电复位是指连接 RST 的电容 PB0134567DRESTACGNpFJI 8M XK O9LUmegaH u 长 春 大 学 毕业设计 直流电机速度 PID 控制系统设计 纸 共 31 页 第 14 页 装 订 线 通电导通形成高电平 而手动复位是在上电复位的基础上 RST 在按键后直接连 接 VCC 形成高电平以满足条件 给单片机一个复位信号使程序从头开始执行 这部分所使用的电容是电解电容 一定不能把电解电容的极性接反了 否则它 就有可能发生爆炸 任何系统要执行的时候最开始都需要系统复位 这样才能使控制芯片是默 认的原始的硬件状态 RESET 即单片机的复位引脚 此引脚输入高电平持续 24 个振荡周期后 单片机则处于复位状态 并且一直保持不动到 RESET 引脚输入 低电平 才会检测 EA 的是高电平还是低电平 若为高电平则执行芯片内部的程 序代码 若为低电平便会执行外部程序 3 2 电机驱动电路 电机驱动电路的核心是 L298n 芯片的使用 它是 ST 公司生产的一种高电压 大 电流的光电耦合型电机驱动芯片 其峰值电压最大可达 46V 最大电流可达 3A 但是其控制电压仅有 5V 左右就可以实现 是市场上较为常见的电机驱动芯 片 因为其抗干扰能力强 且工作时性能稳定并且便于控制转速和转动方向 受到人们的青睐 被广为使用 其具体的电路图如图所示 该芯片可以驱动两 个直流电机 而我们这里只涉及 1 个直流电机 所以 OUT3 和 OUT4 口悬空 D1 4 这 4 个二极管的作用是起到过流保护的作用 而加入旁路电容的作用是抑 制高频噪声对系统的干扰 图 3 3 电机驱动电路 该芯片的输入端 IN1 4 与单片机的 PC3 6 相连接 通过软件编程的方法控 PC356ENABI270OUTSV9GD8LiodeMtr主 KRuF 长 春 大 学 毕业设计 直流电机速度 PID 控制系统设计 纸 共 31 页 第 15 页 装 订 线 制电机的转动情况 其具体涉及一种比例积分微分式的算法 PID 算法 通过 单片机编程控制脉冲宽度可变的波形 PWM 来对该芯片进行控制 从而达到对 电机转动情况的控制 具体的细节我将在下一章软件部分给出 3 3 温度检测电路 温度检测电路的主体是由 DS18B20 温度传感器构成 它的工作电压为 3 0V 到 5 5V 直流电压 在寄生模式下可由数据线供电 温度测量范围为 55 到 125 并且在温度介于 10 和 85 时精度为 0 5 可实现高精度测温 通 过一根双向数据线连接 DS18B20 和单片机就可以实现二者间的串行通信 并且 自身可以传送 CRC 校验码 这不仅大大节约了单片机的引脚资源 还提高了系 统的抗干扰能力 当电源极性反向或突然增大电流时 DS18B20 有内在的保护 电路 可以避免芯片的烧毁 但在这种条件下它不能正常工作 DS18B20 温度 传感器相较其他温度传感器具有体积小 抗干扰能力强 价格低廉 测量精度 高等特点 图3 4 温度检测电路 温度检测电路如图 3 4 所示 该电路由 DS18B20 芯片构成 该芯片共有 3 个引脚 其中 VCC 口为芯片供电 GND 口接地 这些还是老样子 而 DS18B20 的 I O 口与单片机的 PB4 相连接 完成与单片机之间的串行通信 该通信方式 的具体过程请参考 DS18B20 芯片的数据手册 里边有详细的时序讲解 在此我 不做过多的介绍 我们明确的是 该芯片可以完成温度的检测 并且将温度转 换成数字量传送给单片机 通过单片机的控制可以通过输出设备显示给我们 该电路是我们完成多功能电子钟可测温度的重要组成部分 VCI OGNDS18B20KR uF7P4 长 春 大 学 毕业设计 直流电机速度 PID 控制系统设计 纸 共 31 页 第 16 页 装 订 线 3 4 光电管提示电路和按键控制电路 光电管提示电路主要由发光二级管充当 其电路图如图3 5所示 拿D10 举例 当单片机PB5输出高电平时 三极管处于导通状态 光电管就会正常发光 当单片机PB5处于低电平时 三极管处于截止状态 光电极管不工作 所以通过 控制单片机的PB5引脚的高低电平就可以控制光电管 这是我们生活中常用的方 法之一 图中的电阻R4和电阻 R8起到调节电压的作用 而且也起到保护电路的 作用 电容C4 是一个旁路电容起到去高频干扰的作用 我们所用的三极管为 PNP型三极管 应用这种三极管主要是因为其性能稳定而且价格相对低廉 性 价比比较高 图 3 5 声音提示电路和按键控制电路 按键控制电路由手动开关构成 其电路图如图3 5所示 当开关处于导通的 时候 单片机PB0口经发光二极管与 5V电源相连为高电平 而当开关断开后单 片机PB0 口的悬空为低电平 通过这种电平变化使单片机得到信息的过程就是外 部按键控制的方法 可以通过开关控制电平使单片机得到相关信息 我们可以 添加控制项 这样就可以实现按键控制 而我们在开关的下边又装有发光二级 管 它起到指示当前操作的作用 便于我们观察 3 5LCD1602 显示电路 显示模块 LCD1602 充当 其实物图如下图所示 LCD1602 共有 16 个引脚 其中 有 8 个双向的数据传输引脚 3 个控制引脚 其他的为电源端 芯片的工作电 压为 4 5V 5 5V 共可以显示 2 16 个字符 其中 1 脚为电源地 2 脚接电源 KeyEY4k主DL R90 uFC7 JlQPNVG6B 长 春 大 学 毕业设计 直流电机速度 PID 控制系统设计 纸 共 31 页 第 17 页 装 订 线 VCC 3 脚是对比度的调整 通过调整可变电阻器的输入阻值便可以改变对比度 4 5 6 是单片机用以和 LCD1602 收发指令的控制引脚 7 14 引脚为双向数据 引脚 15 和 16 是控制背光的引脚 因为其不是重点 所以我们在此不做详细 的介绍 感兴趣的同学可以上网查找 LCD1602 的数据手册 里边有详细的指令 集和控制时序 图3 7 显示电路 3 6 电源电路 在本章系统的其它模块的设计中 用到了两种电压 分别是12V和5V 的直 流电压 在设计时选用了一个12V 的直流稳压电源作为整个系统的总电源 因此 在其它模块中需要用到的12V 电压都是由这个变压器直接提供的 需要用到 5V 电压的部分 通过一个7805集成稳压芯片来将12V的电压降到5V 由7805组成 的降压电路如图3 12所示 其中7805的V IN口是直接接在12V直流稳压电源的 12V接线处的 从7805 的 VOUT口出来的即是所需要的5V的直流电压 这样的系 统电源能够稳定提供电路各部分所需要的电压 减少了由于电源杂波造成的对 测量结果的影响 图3 8 7805集成稳压芯片连接电路 在这个设计中 为了区分 12V 电压和 5V 电压 在电路中我将 12V 的电压用 S1D2LR WE0789BAKCP主GNinout Fap 长 春 大 学 毕业设计 直流电机速度 PID 控制系统设计 纸 共 31 页 第 18 页 装 订 线 VCC 表示 将 5V 电压用 VDD 表示 因为电路中所用的电压不同 具体应用多 少伏的电压请读者留意 其中我们加入的电阻电容用来起到保护芯片不被烧毁 的作用 3 7 本章小节 本章介绍了系统各主要模块的硬件设计及其电路图 使用了Altium Designer 软件对电路的原理图进行设计和绘制 与其它部分相连接的电路 其连接对象 都在电路图中给予了说明 各部分电路组成系统的总体电路 从系统总体电路 的结构上来看 系统的硬件是以单片机最小系统为核心的 系统总体硬件电路 图见附录 长 春 大 学 毕业设计 直流电机速度 PID 控制系统设计 纸 共 31 页 第 19 页 装 订 线 第 4 章 系统软件设计 4 1 系统总体流程图 开 始 单 片 机 初 始 化 检 测 温 度 是 否 安 全 Y N L C D 清 屏 测 速 模 块 初 始 化 驱 动 电 机 工 作 报 警 L C D 显 示 转 速 结 束 图 4 1 系统整体流程图 整个系统的流图如图 4 1 所示 当系统各个模块工作时 作为系统的主控 制器单片机 在整个系统开始前必须要先对单片机做初始化 然后对液晶显示 设备做初始化和温度检测模块的初始化 之后就可以驱动电机开始工作了 在 整个系统工作的过程中 温度检测模块是始终都工作的 一旦温度高于预定值 将发送数据给单片机 单片机会再发送数据给蜂鸣器报警 这样可以关闭电机 让其休息会 等其冷却后再继续工作 这样可以避免电机过热烧坏 提高电机 的使用寿命的同时也保证人员的安全 4 2 PID 算法简介 在整个控制直流电机的过程中 我们通过 L298n 来控制电机的转速 同时 长 春 大 学 毕业设计 直流电机速度 PID 控制系统设计 纸 共 31 页 第 20 页 装 订 线 通过霍尔元件 AD22151 来对电机的转速进行检测 形成一个闭环的速度反馈式 结构 而 L298n 芯片的具体控制过程是由单片机管脚发出的可变脉冲宽度 PWM 信号控制的 当单片机给出一个脉冲信号 电机就会转一圈 当单片 机给出的脉冲波形是周期信号且波形稳定的时候电机会匀速转动 但是当信号 的频率变快时电机也会相应的快速转动 而当频率降低时电机转速也会变慢 所以我们只要掌握这种 PWM 信号的占空比就可以实现对电机转速的控制 4 2 1PID 算法介绍 PID代表比例 proportion 积分 integral 导数 derivative 是起源 最早 应用最广的一种算法之一 它易于实现并且控制简单 参数的选取也易 于确定 所以在连续动态系统中应用非常多 而PID算法大体上可以分为3中常 见的算法 增量式算法 位置式算法和微分先行算法 这三种算法各有各的优 点同时也各有各的弊端 增量式算法是在输入前进行平滑处理的一种算法 这 可以起到减缓输入量跃变的作用 算法较为简单易行 但是要求执行单元有较 强的处理比较功能 同时数据存储的能力也必须较好 这种方法通常是通过积 累补偿的方法进行结果处理 而位置式算法可以抑制饱和作用 通过捕捉前一 个信号是否进入饱和区 一旦超出系统设置的超调区域 则根据偏差的符号和 偏差大小判断是否引入此信号 这种有选择性的筛选可以大大提高系统的稳定 性 第三种微分先行式的算法 适用于超调量较大而调节时间较短的地方 所 以在本设计中不予应用 其实这三张算法你中有我 我中有你 不是相互独立 的 他们在一起组合使用往往能达到意想不到的结果 而本设计中选择的是将前两种方法组合使用的方法 因为我们系统中所要 处理的信号为方波信号 该信号的特征是只含有高低两种电平 所以我们设的 变量Dy和Dc都为布尔型参量 不是0就是1 我们将预设的值记作Dy 而降我 们通过测速系统采集到的信息记作Dc 然后我们选取一个数学模型 我们知道 我们预设的值是我们理想条件下电机接受到的信号 而我们采集到的速度信号 是当前时刻真实的结果 所以我们建立的数学模型为简单的一次函数 Kr 1 B Dy B Dc 4 1 其中Kr是经调节后的输出信号 我们在硬件电路的设计中放入了电压比较 器 在两路电压相同时 这个比较器的作用相当于一个与门电路 这时通过单 片机读取后可以另B为零 这时输出值就是我们的预设值Dy 而当这两路电压 长 春 大 学 毕业设计 直流电机速度 PID 控制系统设计 纸 共 31 页 第 21 页 装 订 线 不同时 即Dy与Dc状态不同 我们令B的取值为1 我们的预设值是不可能错 的 错就错在Kr 此时需要Kr与Dy的值刚好相反才可以得到我们预设的波形 4 2 2PID 算法结果 之前我们所设计的 PID 算法公式如 4 1 所示 当测量真实值与我们预设的 值相同时 B 为 0 可分为两种情况 第一种两路都为高电平 1 则显然 Kr Dy 第二种是当两路都为低电平 则显然 Kr 0 Dy 可以看出我们的设计的 算法公式可行 而当我们的预设值与真实测量值不同时 B 为 1 也可以分为两 种情况 但是这两种的情况是一样的 即 Kr Dc 我们已经知道 Dc 与 Dy 是不 同的 所以 Dc 取值为真时最终的结果为 1 对单片机来讲同样为真 而当取值 为 0 时 结果同样为 0 其结果如表 4 1 所示 表 4 1 PID 算法结果真值表 Kr Dy Dc B 0 0 0 0 1 1 1 0 1 0 1 1 0 1 0 1 4 3 系统调试步骤 整个系统因过于繁琐 所以最好采用分布调试 可按以下步骤进行 1 完成整个硬件电路的联线和焊接后 将一个简单的程序下载至单片机 以确定单片机最小系统和单片机内部芯片可正常工作 2 将LCD液晶显示程序烧写进单片机 确定显示模块可以正常工作 3 将蜂鸣器模块程序烧写进单片机 确定报警模块可以正常工作 4 将测温模块程序烧写进单片机 确定测温系统模块可以正常工作 5 将按键控制模块与光电管提示模块程序联合烧写进单片机 确定这个组 合模块可以正常工作 6 将电机驱动模块和测速模块程序烧写进单片机 进行整个系统的软件测 试 确定整个程序是否可以完成指定任务 这样做的好处是可以很容易的发现整个系统中的错误源 便于我们改进和 长 春 大 学 毕业设计 直流电机速度 PID 控制系统设计 纸 共 31 页 第 22 页 装 订 线 区分 4 4 误差分析即改进方法 在进行硬件调试的过程中 要实时利用万用表检查是否有虚焊漏焊的情况 发生 并注意点容和三极管等有极性器件的反正顺序等 由于系统使用了传感 器进行检测 因此每一个器件的稳定性都会影响到最终结果的准确性 例如元 件参数随温度变化而产生的系统误差 所以调试时尽量选择气温恒定的地方进 行 而系统的工作方式也会带来误差 如单片机的晶振不稳定等因素 也会造 成误差 所以在做整个系统时应尽量选取稳定的器件和误差较小的器件 在整个系统中有很多误差是不可避免的 但电路设计和软件算法本身存在 的误差 在设计过程中 我们应尽量避免 必要的时候请教老师和身边会的同 学 努力减小电路设计和软件算法的误差从而保证系统准确性 而在本设计中 温度检测模块也会受到发热器件的干扰 所以尽量将温度检测器件放进直流电 机内部以保证我们所测得的温度值为电机的温度 长 春 大 学 毕业设计 直流电机速度 PID 控制系统设计 纸 共 31 页 第 23 页 装 订 线 结论 本文设计了一种直流电机速度PID控制系统 其处理器是基于市场上常用的 单片机芯片A Tmega16L 设计 开发了适用于对直流电机转速有所要求的场合 该系统硬件组成简单易懂 成本低廉 可实现了市场批量生产 基本可以实现 对直流电机转速测量 加速 减速和紧急停止的功能 达到设计最初目的 在 设计过程中完成的工作主要如下 1 课题分析 根据设计要求进行市场调研 总结可行方案并选择出可行方 案 2 通过查阅资料和请教老师 针对方案进行元器件的选择 并设计最优方 案 3 系统硬件的构建 硬件电路图是通过Altium Designer进行设计的 4 利用ICCV7 for AVR进行软件设计 先对各个模块进行调试 调试通过后 再对整个系统进行联机调试 并对系统误差进行分析 在设计本系统的过程中 我查阅了大量的相关资料和文献 对于多功能电 子钟的发展现状多少有了了解 虽然限于制作成本和自身知识水平的有限 但 通过本次系统设计过程 对基于单片机的多功能电子钟的发展方向也多少有了 一些自己的看法 在这个系统的调试过程中 我发现本设计可以改进的地方有 1 该产品应该更人性化 例如可以通过植入语音实现语音控制 这样就可 以省略掉按键控制造成的麻烦 而且按键寿命有限这一弊端也会彻底根除 2 该产品的精度有限 不能实现对直流电机的相位进行监测和控制 希望 以后在设计和制作过程中 人们加入相位监测与控制装置 可以实现对直流电 机的精确控制 3 相对直流电机可以达到每秒钟10转的转速 单片机的处理能力还是相形 见绌的 所以如果有必要的话 希望对主控制芯片进行升级 可以使用STM32 或FPGA 这些高速处理器对产品进行升级 长 春 大 学 毕业设计 直流电机速度 PID 控制系统设计 纸 共 31 页 第 24 页 装 订 线 致谢 转眼间大学四年的时光就过去了 回首整个大学生活 感觉无比的辛酸 我感觉自己没学到什么本事 天天就无所事事过来了 感到很惋惜 天天虽说 在上课 但是实际性的一些技术本领感觉没领会多少 想想我宝贵的时间就这 么浪费了真是悔恨 我恨不得回到过去掐死那个时期的我 还是在我找工作的 期间 我投出去的简历都一去不复返 我去面试考官问我的每个问题我都答不 上 我才发现原来我什么都不会 所以我痛下决心 既然大学前几年的时间浪 费了 那我一定要做个让我满意的毕业论文 才不辜负我整个大学的时光 过 去的时间已经过去了 我没办法重来 但是我可以从现在开始珍惜我的每一分 钟 我要尽我最大的努力将我浪费的时间找回来 我要争取做个对国家对社会 有帮助的人 这次论文我选的题目就是有关单片机应用的题材 通过这次对论文的编写 让我意识到其实掌握一门技术的必要性 科学飞速发展的今天 我们也要跟上 时代的步伐 做一个对国家对社会有用的人 原本我的基础就不好 而且还马虎 在这次论文的写作过程中 幸亏有了 老师的帮助 老师很有耐心 帮我一字一句的分析 就连我的标点符号错误了 都指正了出来 老师一丝不苟的精神值得我学习 在此我向我的老师表示感谢 其次还要感谢我的家人 感谢我的爸爸妈妈 感谢他们对我的关爱 千言万语 也表达不了我对您二老的感激之情 我现在长大了 虽然还不够成熟稳重 但 我一定会尽最大的努力给二老争光 给二老最安逸的晚年 这次论文完成后 我也即将离校 心里充满了不舍得 这几年里 这里给我留下了很多美好的回 忆 尤其是我的室友们 在平常的学习和生活中给了我很大的帮助 在我开心 时是你们陪着我笑 在我难过时是你们陪着我哭 天下没有不散的宴席 转眼 到了离别的时候了 虽然心里有千万分的不舍 但更希望你们能在茫茫的人海 出人头地 希望你们在今后的工作和生活中能步步高升 万事如意 最后 祝 愿我的母校越来越好 从我校走出去的人才能越来越多 长 春 大 学 毕业设计 直流电机速度 PID 控制系统设计 纸 共 31 页 第 25 页 装 订 线 参考文献 1 马忠梅 籍顺心 张凯 等 单片机的 C 语言应用程序设计 M 北京 北京 航空 航天大学出版社 2011 143 164 2 陈跃东 PID 算法在直流电机中的应用 J 合肥 安徽工程科技学院学报 2012 04 P82 138 3 苏文平编 新型电子电路应用实例精选 M 北京航空航天大学出版社 2010 3 4 刘娟 单片机 C 语言与 PROTEUS 仿真技能实训 J 中国电力出版社 201
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 毕业论文


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!