基于51单片机的直流电机的pid控制器毕业论文内容摘要:
indows 和 for Dos 的 集成开发环境 (IDE),可以完成编辑、 编译 、连接、调试、仿真等整个开发流程。 开发人员可用IDE本身或其它 编辑器 编辑 C 或汇编源文件。 然后分别由 C51及 C51编译器 编译生成目标文件( .OBJ)。 目标文件可由 LIB51创建生成库文件,也可以与库文件一起经 L51连接定位生成绝对目标文件 (.ABS)。 ABS 文件由 OH51转换成标准的 Hex 文件,以供调试器dScope51或 tScope51使用进行 源代码 级调试,也可由 仿真器 使用直接对 目标板 进行调试,也可以直接写入程序存贮器如 EPROM 中。 高级图形分析 PROTEUS 处理器仿真模块 动态器件库 混合模型反震 原理图编辑 ISIS 布线系统 ARES 15 PROTEUS 系统特性 Proteus 软件支持许多通用的微控制器,如 PCI、 AVR、 HC11 以及 8051;包含强大的调试工具,具有对寄存器和存储器,断点和单 步模式 IAR CSPY、 Keil、 MALAB 等开发工具的源程序进行调试的功能;能够观察代码在仿真硬件上的实时运行效果、对显示、按钮、键盘等外设的交互可视化进行仿真;具有 6000 多种模拟和数字器件的模型库;具有单步断点设置等调试功能;能够与常用的汇编器、编译器如 IAR、 Keil、 Proton 等协同调试;有直流电流表 /电压表、交流电压表 /电流表、示波器逻辑分析仪、计数 /按时 /频率计虚拟终端、 SPI 调试器等虚拟仪器,以仿真中的测量记录提供了方便;支持图形化的分析功能,具有频率特性、傅立叶、失真、噪声 分析等多种绘图方式、可将仿真曲线精美地绘制出来。 采用 Proteus 仿真软件进行虚拟实验,具有许多优势,如实验资源丰富、实验周期短、硬件投入少、实验损耗小、与实际设计接近程度大等。 (1) 实验资源丰富 Proteus 软件所提供了 30多个元件库,数千种元件。 元件涉及到数字和模拟、交流和直流等,如电阻、电容、二极管、三极管、 MOS 管,变压器、继电器、各种放大器、各种激励源、各种微控制器、各种门电路、各种终端。 对于一个仿真软件或实验室,测试的仪器仪表的数量、类型和质量,是衡量实验室是否合格 的一个关键因素。 在Proteus 软件包中,不存在同类仪表使用数量的问题,其提供的仪表有:交直流电压表、交直流电流表、逻辑分析仪、计数计时器、信号发生器等,而且 Proteus 还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似但功能更多。 Proteus 提供了丰富的测试信号用于电路的测试。 这些测试信号包括模拟信号和数字信号等。 (2) 实验周期短 在 Proteus 软件中设计电路可以很方便的判断是硬件错误,还是软件错误,方法如下:运行 Proteus 的 ISIS 程序后,进 入该仿真软件的主界面。 通过工具栏中的 p 命令 (从库中选择元件命令 ),在 pick devices 窗口中选择电路所需的元件,将其放置在合适的位置,然后设置元件参数,当整体硬件电路连接完毕后,点击电路原理图的左下角执行建,如果有错误提示,则说明硬件电路连接有问题,需要对硬件电路进行更改,如果没有错误,则电路可以运行,并且可以在各器件的输入和输出端显示电路运行时,这些端点所处的高低电平状态;然后开始编写程序,在 Source 菜单的 Define CodeGeneration 16 Tools 菜单命令下,选择程序编译的工具、路径 、扩展名等项目;在 Source 菜单的Add/Remove Source files 命令下,添加源文件,在源文件中进行所需程序的编写,通过编译器编译无错误后,生成 .HEX 文件,将其加入单片机硬件电路的对应程序;通过debug 菜单的相应命令观察程序和电路的运行情况。 (3)硬件投入少 由于 Proteus 软件实验资源库非常丰富,对于从模拟电路、数字电路、模数混合电路到单片机系统等领域都可以进行电路的设计,而且其虚拟元器件的参数都是由实际元器件厂家提供,然后生成 SPICE(Simulation Program with Integrated CircuitEmphasis)模型,这样就可以用 Proteus 软件中的虚拟元器件代替实际元器件进行设计电路,而无需去购买实际的元器件。 这样就可以节省大量的实验经费,减轻了学生们的负担。 (4)实验过程中损耗小 用 Proteus 仿真软件进行的实验教学,其在实验的过程中,学生们可以将自己的构思付诸于设计,不用因为元器件和仪器仪表的损耗问题而畏首畏尾。 (5)与实际设计接近程度大 由于 Proteus 软件中的虚拟元器件参数都是由半导体元器件厂家提供,当学生们在Proteus 软件中进行软硬件仿真调试成功后,可以直接进行实际电路的搭建,只要在电路板制作没有问题的前提下,基本上都能成功。 这样可以让学生了解将仿真软件和具体的工程实践如何结合起来,利于学生对工程实践过程的了解和学习。 PROTEUS 与 KEIL 的联调 Proteus 软件包括汇编语言编译系统,可以在软件平台上对单片机进行可视化调试。 但是,现在的大部分的单片机研发人员都用 C 语言对单片机进行编程控制。 应用 TCP/IP 协议, Proteus 与 Keil 的联调很好地解决了 Proteus 自带的编译 系统无法对C 语言进行编译的问题。 其中, Keil 是目前世界上最好的 51 单片机的 C 语言的开发工具。 以下是如何将 C 语言的开发环境移植到 Proteus 的设计中的方法: 首先,下载安装这两个软件。 第二步,安装完毕,把 Proteus 6 Professional\MODELS\目录下的 文件复制到 Keil\C51\BIN 文件夹下。 第三步,用文本编译器打开 Keil 根目录下的 文件,在 [C51] 栏目下加入 TDRV3=BIN\ (Proteus VSM Monitor51 Driver ) ,其中“ TDRV3” 中的 “ 3”要根据实际情况写,不要和原来的重复。 17 第四步, Kei 的设置。 在 Kei 中打开一个项目,在 option for target中的 Debug标签中选中 Proteus VSM Monitor51 Driver。 再点击 Setting设置通信接口,在 Host 后面添上 ,如果你是用的不是同一台电脑,在这里添上另一台电脑的 IP 地址 (另一台电脑已安装 Proteus), 在 Port 后面添上 8000,点击 OK按钮即可。 等待编译工程。 第五步, Proteus 的设置。 运行 Proteus 的 ISIS,鼠标左键点击菜单 DEBUG,选中use remote debug monitor。 按 Ctrl+F5 进入调试界面或者点击工具栏的调试按钮。 连接成功以后,在 Keil 调试程序,单步、全速调试,设置断点,观察变量的值等,而 Proteus 界面中电路开始运行,各种仿真元件的电器性质发生变化;当 Proteus 做硬件方面的模拟,如按按键、改变可调电阻的阻值等时, Keil 中的调试窗口中监控的寄存器也会有相应的变化。 如果程序错误,设计人员很容易发现出错的代码段;并且,也可以很清晰地观察到每句程序对单片机电路的控制。 18 单片机(速度的测量计算、输入 设定及系统控制) 单片机( PID 运算控制器、 PWM 模拟发生器) 电机 速度采集电路 电机驱动电路 键 盘 显示器 第五章 设计实现 系统总体框架 图 51系统总流程图 本设计是以 51单片机为控制中心,通过采集电机的当前速度,与设定的速度之间的差值进行 PID运算,然后输出相应的模拟 PWM波,使得差值越来越小直到电机速度在允许的误差范围内。 硬件电路 复位电路的作用 在上电或复位过程中,控制 CPU的复位状态:这段时间内让 CPU 保持复位状态,而不是一上电或刚复位完毕就工作,防止 CPU 发出错误的指令、执行错误操作,也可以提高电磁兼容性能。 无论用户使用哪种类型的单片机 ,总要涉及到单片机复位电路的设计。 而单片机复位电路设计的好坏 ,直接影响到整个系统工作的可靠性。 许多用户在设计完单片机系统 ,并在实验室调试成功后 ,在现场却出现了“死机”、“程序走飞”等现象 ,这主要是单片机的复位电路设计不可靠引起的。 AT89C51 的上电复位电路如图 51 所示,只要在 RST 复位输入引脚上接一电容至 Vcc 端,下接一个电 阻到地即可。 对于 CMOS 型单片机,由于在 RST 端内部有一个下拉电阻,故可将外部电阻去掉, 19 图 51 复位电路 而将外接电容减至 1181。 F。 上电复位的工作过程是在加电时,电容加给 RST 端一个短暂的高电平信号,此高电平信号随着 Vcc对电容的充电过程而逐渐回落,即 RST 端的高电平持续时间取决于电容的充电时间。 为了保证系统能够可靠地复位, RST 端的高电平信号必须维持足够长的时间。 上电时, Vcc 的上升时间约为 10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为 10MHz,起振时间为 1ms;晶振频率为 1MHz,起振 时间则为 10ms。 在图 2 的复位电路中,当 Vcc 掉电时,必然会使 RST 端电压迅速下降到 0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。 另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“ l”态。 如果系统在上电时得不到有效的复位,则程序计数器 PC 将得不到一个合适的初值,因此, CPU 可能会从一个未被定义的位置开始执行程序,所以需上电复位电路。 键盘输入模块的设计 独立式键盘的接线原理 独立式键盘是由若干个机械触点开关构成的,把它与单片机的 I/O 口 县连接起来,通过读 I/O 口的电平状态,即可识别出相应的按键是否被按下。 如果按键不被按下,其端口就为高电平,如果相应的按键被按下,则端口变为低电平。 在这种键盘的连接方法中,我们通常采用上拉电阻接法,即各按键开关一端接低电平,另一端接单片机 I/O 口线并通过上拉电阻与 VCC 相连,这是为了保证在按键断开时,各 I/O 口线有确定的高电平,如果端口内部已经有上拉电阻,则外电路的上拉电阻就可以省去。 20 图 52 键盘抖动 键盘消抖 通常我们用来做键盘的 有触点式和非触点式两种,单片机中应用的一般是由机械触点 构成的触点式微动开关,这种开关具有结构简单,使用可靠的优点,但当我们按下按键或释放按键的时候它有一个特点,就是会产生抖动,看上图的按键脉冲波形,这种抖动对于人来说是感觉不到的,但对单片机来说,则是完全可以感应到的,因为计算机处理的速度是在微秒级的,而机械抖动的时间至少是毫秒级,对计算机而言,这已是一个很“漫长”的过程了,如图 52。 按键区抖动原则和方法常用的有两种:硬件方法和软件方法。 硬件去抖动方法很多,这不在我们的讨论范围。 单片机中常用软件去抖动方法,软件法其实很简单,就是在单片机获得端口低电平信息后, 不是立即认定按键已被按下,而是在延时 10ms 或更长时间后再次检查该端口,如果仍为低,说明此键确实被按下了,这实际上是避开了按键按下时的抖动时间;而在检测到按键释放后(端口电平为高电平时)再延时 510ms,消除后沿的抖动,然后再对按键进行处理,不过一般情况下,我们通常不对按键释放后沿进行处理,实践证明,也能满足通常的要求。 矩阵式键盘的连接方法和工作原理 图 53 4*4 键盘 21 什么是矩阵式键盘。 当键盘中按键数量较多时,为了减少 I/O 口线的占用,通常将按键排列成矩阵式,在矩阵式键盘中, 每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接,如图 53。 这样做有什么好处呢。 一个并行口可以构成 4*4=16个按键,比之直接将端口线用于键盘多出了一倍多,而且线数越多,区别就越明显。 比如再多加一条线就可以构成 20键的键盘,而直接用端口线则只能多出一个键( 9键)。 由此可见,在需要的按键数量比较多的时候,采用矩阵法莱连接键盘是非常合理的,所以本设计采用矩阵式键盘。 图 54 键盘扫描流程图 返回 等待按键释放 该列有键输入。 读入行信号 返回 开始 4 列扫描完。 初始化地址参数 按照行列计算键值 查表得键码 否 输出列扫描信号 列扫描信号移位 是 否 是 22 矩阵式结构的键盘显然比独立式键盘复杂些,识 别也要复杂一些,在上图中,列线通过单片机的输出而呈现高电平,并将行线通过单片机的输出而呈现低电平,这样,当按键没有被按下时,列线都是高电平。基于51单片机的直流电机的pid控制器毕业论文
相关推荐
功能。 这类单片机的运算速度比标准的单片机高出 10 倍以上。 由于这类单片机有极高的指令速度,就可以用软件模拟其 I/O 功能,由此引入了虚拟外设的新概念。 小容量、低价格化 与上述相反,以 4 位、 8 位机为中心的小容量、低价格化也是发展动向之一。 这类单片机的用途是把以往用数字逻辑集成电路组成的控制电路单片化,可广泛用于家电产品。 ○ 5 外围电路内装化 这也是单片机发展的主要方向。
,2020 年 6 期 [3] 金仁贵 .单片机应用系统的开发方法 [J].电脑知识与技术:学术交流 ,2020 年 12期 [4] 严怀龙 .基于单片机的数据采集系统 [J].广西轻工业 ,2020 年 6 期 [5] 王虎城 , 周晋军 , 皮依标 , 叶振华 . 基于光传感器和单片机的 校园 路灯控制系统设计 [J].科技广场 ,2020 年 1 期 [6] 王立红 .
] 因此,本次设计选择了 STC 公司的生产的 STC89C52 单片机。 STC89C52 是一种低功耗、高性能 CMOS8 位微控制器,是带 8K 字节闪烁可编程可檫除只读存储器。 一个芯片上拥有 8 位 CPU,并且在系统可编程 Flash。 STC89C52 提供给为众多嵌入式控制应用系统高灵活、超有效的解决方案。 STC89C52 具有以下标准功 8k 字节 Flash, 512字节
本课题的设计方案 本课题所设计的系统有三个原则: 操作维护方便, 为了利于系统的推广,在设计时应该充分采用操作内置或简化的方法,以尽量减少对操作人员专用知识的要求,也便于进行维修。 可靠性,本系统所有的环节中,都应该有着可靠性的思想,从选用可靠性高的元器件;供电电源采用抗干扰措施;进行多向滤波等作为出发点。 性价比,本课题所设计的系统的核心是单片机,它本身有着多个优势,要使得系统能够广泛地应用
+5V 无源蜂鸣器二个, 12MHZ晶振一个,多个按键和 开关,常用电容电阻,连接线,三极管,二极管若干,滑动变阻器一个。 2. 2 系统硬件各模块作用 2. 单片机核心控制模块 核心控制 器件选用 STC89C52 单片机。 STC89C52 单片机 为 40 管脚双列直插芯片,它是一种高性能,低功耗的 8位 CMOS 微处理器芯片,市场应用最多。 而且价格便宜,控制方便,便于应用有 4个
和 DAC0832 的模拟正弦波发生器,双极性脉宽调制及 11 死区发生电路,光电隔离及驱动电路, H 桥逆变及 LC 滤波电路。 系统框图如图 所示 图 系统原理 由图 可以看出,整个电路都是围绕 H桥的逆变展开,其中 SPWM 波形的发生和逻辑变化以及光电隔离是电路的核心。 DA 产生的正弦波和线性三角波通过比较器比较,产生两路相位相反的SPWM 波,利用非门构成死区发生电路