摘要虚拟仪器技术是计算机测量与控制技术的一个新的发展方向 虚拟仪器是虚拟仪器技术的一个重要组成部分,其中最具代表性的是图形化编程开发平台LabVIEW,它是一个功能强大而又灵活的仪器和分析软件应用的开发工具本系统的核心控制部件分别是系统上位机 LabVIEW 开发平台和下位机AT89S52单片机, LabVIEW主要是执行 PID 算法向单片机发送指令,并利用其便捷直观的界面设计观察转速的实时变化 下位机 AT89S52单片机主要是根据上位机的指令产生不同占空比的 PWM波来控制电机的转动并接收反馈的电机转速信号,然后发送给上位机分析这一基于 LabVIEW的直流电机调速系统, 设计出了电机转速控制的虚拟仪器界面,实现了其速度的实时控制,达到了较好的速度控制效果关键字:LABVIEW; AT89S52; PID 调节; PMW 波; 直流电机;调速AbstractThevirtualinstrumenttechnologyisa computermeasurement andcontrol technology, the new direction of this technology development .The virtualinstrumentisan importantcomponent of the virtualinstrumenttechnology.Themostrepresentativeisagraphicalprogrammingplatform,LabVIEW .Itisapowerfuland flexibleinstrumentationanddevelopment tool for the software analysis and application.Thecore ofthesystemconsistsofthehostcomputer LabVIEWdevelopmentplatformandthelowercomputermicrocontrollerAT89S52.LabVIEW sends commandsof PID operationtothemicrocontroller,and it is so convenient and intuitive to observe the speed of real-timechanges . Microcontroller AT89S52 produces and tranmits PWM waves indifferent duty ratio based on the instructions of the host computer tocontrolthemotorrotationand receivefeedbackmotor speed signal ,andthen sent to the host computer .The DC motor speed control system based on LabVIEW have designed avirtualinstrumentinterfacefor inspectingthespeed of thereal-time,and received good results.目录基于虚拟仪器的电机调速系统设计.....................................................错误!未定义书签。
摘要 ...........................................................................................................................................11 绪论 .......................................................................................................................................41.1课题背景 ...................................................................................................................41.2本课题的国内外研究现状 .......................................................................................42 系统整体设计.......................................................................................................................52.1系统整体设计方案 ...................................................................................................52.2系统部分模块设计方案 ...........................................................................................62.2.1上位机功能的实现 .......................................................................................62.2.2下位机功能的实现 .......................................................................................73 虚拟仪器和 LabVIEW介绍 ...................................................................................................73.1虚拟仪器的概念 .......................................................................................................73.2 LabVIEW 概述 ............................................................................................................83.2.1编程语言的介绍 ...........................................................................................83.2.2 LabVIEW 编程基础 ........................................................................................94 系统硬件设计.....................................................................................................................124.1单片机外围电路设计 .............................................................................................124.1.1单片机最小系统设计 .................................................................................124.1.2单片机外围电路设计 .................................................................................134.2驱动电路 .................................................................................................................144.3转速检测电路 .........................................................................................................174.4串口通信电路 .........................................................................................................184.5电源电路 .................................................................................................................205 系统软件设计.....................................................................................................................215.1上位机软件设计 .....................................................................................................225.2下位机软件设计 .....................................................................................................225.2.1程序流程设计 .............................................................................................235.2.2主函数设计 .................................................................................................235.2.3延时子函数 .................................................................................................245.2.4串口中断子函数 .........................................................................................255.2.5外部中断子函数 .........................................................................................255.2.6定时器 T0 中断子函数 ...............................................................................255.2.7电机转动子函数 .........................................................................................261 绪论1.1 课题背景虚拟仪器是 20 世纪 80 年代兴起的一项新技术, 是计算机技术和多种基础学科紧密结合的产物。
随着微电子技术、 计算机技术、 软件技术和网络技术的飞速发展,新的测试理论、测试方法、测试领域以及新的仪器结构不断出现,在许多方面打破了传统仪器的概念,在这样的背景下, 1986 年美国国家仪器公司( National Instruments , NI)提出了虚拟仪器( Virtual Instrument , VI )的概念经过 20 多年的技术进步与发展,虚拟仪器逐步改变了全世界工程师和科学家们对于测量和自动化的理解和看法,已成为 21 世纪测试技术发展的一个重要方向近些年来,世界各国的虚拟仪器公司开发了不少虚拟仪器开发平台软件, 以便使用者利用这些仪器公司提供的开发平台软件组建自己的虚拟仪器或测试系统,并编制测试软件最早和最具影响的开发软件,是 NI 公司的 LabVIEW软件和 LabWindows/CVI 开发软 件 LabVIEW( Laboratory Virtual instrument Engineering Workbench )是一种图形化的编程语言的开发环境,它广泛地被工业界、学术界和研究实验室所接受, 视为一个标准的数据采集和仪器控制软件这是一个功能强大且灵活的软件, 利用它可以方便地建立自己的虚拟仪器, 其图形化的界面使得编程及使用过程都生动有趣, 使用 LabVIEW编程时,基本上不写程序代码,取而代之的是流程图或框图。
它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此, LabVIEW是一个面向最终用户的工具它可以增强你构建自己的科学和工程系统的能力, 提供了实现仪器编程和数据采集系统的便捷途径使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率直流电机是人类最早发明和应用的一种电机,虽然应用不如交流电机广泛,但是由于直流电动机具有优良的启动、 调速和制动性能, 因此广泛应用于启动和调速要求高的机械上, 在工业领域中仍占有重要的应用地位 因此,研究直流电机基于虚拟仪器的调速控制有着非常重要的意义1.2 本课题的国内外研究现状电机控制是一个既成熟又发展迅速的课题, 也一直是国内外很多公司 大学研究开发的热点 目前,国内外电机控制有关方面的研究工作主要是围绕电机控制理论、计算机辅助技术、电机控制器电力电子技术几个方面展开电机控制理论方面, 随着电机结构、 性能、工作原理的不断发展以及控制理论的广发发展应用, 应用于电机控制方面的控制算法层出不穷 近年来研究的很热门的有自适应控制算法、 模糊控制算法、 神经网络控制算法、 鲁棒控制理论等等但是在实际生产中应用最为广泛的还是 PID 控制算法。
PID 控制是一种成熟的经典控制方法之一, PID 控制器以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一, 是实际工程应用最为广泛的调节器, 经过半个多世纪的演练,PID 控制已从原有的模拟 PID 控制发展到现在的数字 PID 控制,使得 PID 控制具有很大的灵活性和很强的适用性计算机辅助设计方面, 由于计算机微电子技术和软件开发技术的发展, 计算机在现代工业生产中的作用越来越大, 不同类型的软件开发平台的诞生为工业系统的设计开发提供了越来越多的可选择和执行方案,其中应用较多的有 MATLAB和 LabVIEWMATLAB是美国 MathWorks公司出品的商业数学软件, 用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境, 主要包括 MATLAB和 Simulink 两大部分,是国际、国内控制领域内最流行的计算和仿真软件,功能强大,工具箱丰富 LabVIEW是 NI 公司推出的一种基于 G语言(图形化编程语言)的虚拟仪器软件开发工具电力电子技术方面,脉冲宽度调制( Pulse Width Modulation , PWM)作为一种非常成熟的模拟控制方式, 是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术, 广泛应用在从测量、 通信到功率控制欲变换的许多领域中,主要应用于电力电子技术行业,具体讲包括风力发现、电机调速、直流供电等领域。
基于以上技术的研究, 本设计就是采用虚拟仪器对系统就行 PID 控制,通过对下位的单片机发送命令, 控制单片机发送不同的 PWM波信号来调节直流电机的转速2 系统整体设计2.1 系统整体设计方案本设计是基于虚拟仪器开发设计平台 LABVIEW和 AT89C51单片机的直流电动机调速系统,利用 PC上位机软件实现直流电机速度的调节并监控直流电机的实时运行状态本系统是用 LABVIEW平台来编程设计上位机软件, 通过串口通信控制单片机进行转速的调节, 同时还能监测电机的实时转速、 直观地观察到电机转速变化的过程下位机采用的是 AT89C51单品机作为控制板的核心处理器, 单片机通过接收转速信号采集电路反馈的转速信号来计算转速, 然后通过串口通信将其传送到上位机,经过上位机的 PID 调节,接受上位机返回的调节信号,改变输出的 PMW 波的占空比,最后经由驱动电路送至电机从而达到调节直流电动机转速的目的本系统的结构框图如图 1 所示:LabVIEW上位机速度信号PID输出测速电路下位机PWM波占空比驱动电路AT89C51直流电机图 1利用 LabVIEW所开发的直流电机调速测试系统, 不仅能够很好地满足调速测试的要求,而且具有 PID 调节控制输出功能, 充分调用 LabVIEW软件本身所提供的丰富的应用分析工具包如 PID 工具包( PID Toolkit )等工具模块, 避免大量的软硬件开发工作。
另外, LABVIEW平台采用的是图形化的编程方式,比一般纯文本编程软件更加简单, 且其界面美观, 处理结果也可以直接在前面板中进行描述,便于控制者更直观地监控、分析数据2.2 系统部分模块设计方案本系统的整体设计如上所述, 由于每个模块都有不用的实现方式, 所以本节来介绍一下系统每个模块具体的实现方案 上位机功能的实现(1)控制算法本系统的上位机由 LabVIEW平台开发的软件实现, 由于上位机承担着最主要的 PID 控制算法的任务,其实现的方式就是应用 LabVIEW平台自身包含的 PID 工具包来编写程序2)上位机串口通信在 LabVIEW 中, VISA 称为虚拟仪器软件体系结构( Virtual Instrument Software Architecture ),作为 LabVIEW程序中驱动程序间相互通信的底层功能模块,可以连接不同标准的 I/O 设备,是一个用来在串口通信设备、 VXI 设备、GPIB 设备以及其它基于计算机设备之间通信的函数库我们可以再 LabVIEW中的 Instrument I/O 中的 Serial 找到与串口 VI 相对应的模块,其中比较常用的是 VISA Configure Serial Port 、VISA Write 、 VISA Read等模块,分别实现串口设置、串口写、串口读等功能。
通过对这几个功能模块的配置和连接,就能开发出符合要求的 LabVIEW串行口通信软件编程中最关键的是对这几个通信子 VI 属性的设置和通信流程图的连接 下位机功能的实现本设计中下位机用的是 AT89S52单片机,它是本系统执行的核心 其主要任务有:与上位机进行串口通信; 发送 PWM波来调节直流电机的转速; 接受反馈的电机转速的信号并计算出电机的转速1)下位机串口通信本设计的串口通信使用的是单片机的串行输入端 (RXD)和串行输出端(TXD)与 PC机的 COM口相连接,采用的是 RS232接口标准和 DB9连接器2)PWM波的产生PWM信号的产生通常有两种方法:一种是硬件的方法;一种是软件的方法本设计采用的是软件生成 PWM信号的方案设计思路是:固定单片机输出 PWM 波的周期,然后通过执行延时子程序改变高电平输出的时间和低电平输出的时间比,即可产生不同占空比的 PWM波3)电机转速的计算电机转速计算的实现, 本系统采用的是定时加计数的方法 通过单片机内部的定时器 T0 来定时,然后用外部中断 INT1 来记接收到的反馈脉冲的数量, 通过在一定时间内接收到的脉冲数来算出转速3 虚拟仪器和 LabVIEW介绍3.1 虚拟仪器的概念所谓的虚拟仪器, 就是在以通用计算机为核心的通用硬件平台上, 由用户设计定义,采用虚拟面板,测试功能由软件实现的一种计算机仪器系统。
这里的“虚拟”有两层含义:( 1) 虚拟的仪器面板在虚拟仪器里由软件在计算机显示器上生成类似于真实仪器的操作面板,物理的开关、旋钮、案件以及数码管等显示器件都是由于实物外观很相似的图形控件来代替,操作人员通过鼠标或者键盘操作软件界面中的这些空间来完成一期的控制 2) 由软件实现仪器的测量功能在虚拟仪器系统中, 仪器功能是由软件编程来实现的 它不仅能实现串通一气的测量功能,也能实现传统仪器不能实现或者很难实现的一些数据处理功能,如 FFT分析、小波分析、数字滤波、回归分析、统计分析等通过不同软件模块的组合,还可以实现多种自动测试功能一台性能优良的虚拟仪器不仅可以实现传统仪器的大部分功能, 而且在许多方面有传统仪器无法比拟的优点,如使用灵活方便、功能丰富、价格低廉、可以一机多用、可重复开发等虚拟仪器与传统仪器相比,有以下 6个特点:( 1)传统仪器的面板只有一个,其上布置着种类繁多的显示与操作元件,易于导致许多识别与操作错误 而虚拟仪器可以通过在几个分面板上的操作来实现比较复杂的功能 同时,虚拟仪器面板上的学生研究和操作元件的种类不受 “标准件”和“加工工艺”限制,它们是由 编程来实现的,设计者可以根据用户的认识要求和操作要求设计仪器面板。
2)在通用硬件平台确定后, 由软件取代传统仪器中的硬件来完成仪器的功能 3)仪器的功能是用户根据需要由软件来定义的, 而不是事先由厂家定义好的 4)仪器的改进和功能扩展只需要更新相关软件设计, 而不需要购买新的仪器 5)研制周期较传统仪器大为缩短 6)虚拟仪器开放、 灵活,可与计算机同步发展, 与网络及其它周边设备互联3.2 LabVIEW 概述 编程语言的介绍LabVIEW 是实验室虚拟仪器集成环境( Laboratory Virtual InstrumentEngineering Workbench )的简称,是目前应用最广、发展最快、功能最强的图形化软件开发集成环境, 得到工业界和学术界的普遍认可和好评 它可以把复杂、繁琐、费时的语言编程简化为用菜单或图标提示的方法选择功能(图形) ,用仙台哦将各种功能 (图形)连接起来的简答图形编程方式, 为没有编程经验的用户进行编程、差错、调试提供了简单方便、完整的环境和工具,尤其适合于从事科研、开发的科学家和工程技术人员使用 LabVIEW是一种虚拟仪器开发平台软件,能够以其直观简便的编程方式、 众多的源代码级的设备驱动程序、 多种多样的分析和表达功能支持, 为用户便捷地构筑自己在实际工程中所需要的以其系统创造了基础条件。
而且 LabVIEW与其它计算机语言相比, 有一个特别重要的不同点: 其它计算机语言都是采用基于文本的语言产生代码行, 而 LabVIEW采用图形化编程语言—— G语言,产生的程序是框图的形式,易学易用,特别适合硬件工程师、实验室技术人员、生产线工艺技术人员的学习和使用, 可在很短的时间内掌握并应用到实践中区特别是对于熟悉仪器结构和硬件电路的硬件工程师、 现场工程技术人员以及测试技术人员们学习 LabVIEW驾轻就熟,在很短的时间内就能够学会 并应用 LabVIEW,也不必去记忆那眼花缭乱的文本式程序代码LabVIEW的功能十分强大 像 C或 C++等其它计算机高级语言一样, LabVIEW 也是一种通用编程系统, 具有各种格言、功能强大的函数库,包括数据采集、GPIB、串行仪器控制、 数据分析、 数据显示及数据存储, 甚至还有目前十分热门的网络功能LabVIEW也有完善的仿真、 调试工具, 如设置断点、 单步执行等 LabVIEW 的动态连续跟踪方式, 可以连续、 动态地观察程序中的数据及其变化情况, 比其它 语 言 的 开 发 环 境 更 方 便 、 更 有 效 编程基础所有的 LabVIEW程序(即虚拟仪器 VI )都是由前面板和框图构成的。
下面通过一个简单的加减法程序的实现来说明前面板( Front Panel )在 LabVIEW中,前面板是虚拟仪器 VI 的图形用户界面,其中包含着旋钮、按钮、图表等控件( Control )、指示器( Indictor ),用来接收用户的输入以及显示程序的输出 各种控件、指示器是 LabVIEW与用户的接口, 它们的外观和实际仪器对应元件的外观几乎一样, 因此,计算机屏幕所显示的就像一台实际仪器的前面板 1) 框图( Block Diagram )框图与图元( Icons )仪器包含着虚拟仪器图形方式的源代码在框图中,可以使用 G语言对前面板中所创建的各种输入、 输出的功能进行编码 框图中可以包括 LabVIEW内部的虚拟仪器库函数( Function )、结构( Structure ),还可以包括与前面板的控件、指示器有关的接线端子 2)选项板( Palette )选项板提供了创建、编辑用户 VI 的前面板、框图时所需要的一些选项LabVIEW中有以下三个选项板○1 工具选项板工具选项板既可以用在前面板设计时, 也可以用在框图设计时, 它包括了创建、编辑、调试前面板及框图对象的一些工具○2控件选项板该选项板用在前面板设计时, 其中包括了创建用户界面时所需要的各种控件、指示器○3函数选项板函数选项板用于框图设计时,其中包括了对 VI 进行编程时可使用的一些标准模块,如算术运算、文件 IO、仪器 IO 数据采集等模块○4数据流图( Dataflow )用 LabVIEW创建的 VI 是按一定的数据流动模型来执行的。
框图一般有 VI 、结构、前面板上的接线端子等节点 (Node)组成,这些节点通过 “导线(Wire )”连接起来由此连接关系决定了程序执行过程的数据流动 当一个节点的功能被执行完后,其所有的输出都将被移动到数据流图路径的下一个节点上4 系统硬件设计4.1 单片机外围电路设计 单片机最小系统设计本设计采用 ATMEL公司的 8 位 51 单片机 AT89S52,设计的最小系统如图其功能主要有供给单片机时钟源、复位电路时钟电路采用外部晶体振荡器, 外加两个协调电容 本设计一方面基于串口通信,为了保持串口通信的正确性, 采用 12MHz频率的晶振, 能更好的匹配串口发送速率,保持数据的正确性; 另一方面, 采用 12MHz频率的晶振也能达到比较精确的软件定时复位电路是由上电复位和按键复位两部分组成 上电复位原理为单片机上电后,电容充电,充电期间,给 RST引脚高电平,引发单片机复位,充电完成后,RST接低电平,单片机正常工作按键复位原理为按下按键后, 按键和电容构成回路, 进行电容放电 放电期间, RST接高电平,引发单片机复位松开按键后,电容放电完成, RST接低电平,单片机正常运行 单片机外围电路设计前文中已经给出了系统下位机功能实现的设计方案。
AT89S52单片机通过 P3 端口引脚的第二功能来实现其与上位机的串口通信和接收反馈速度信号的作用根据 P3 口的第二功能,本设计中采用 P3.0 RXD(串行输入口)和 P3.1TXD(串行输出口)来完成与 PC机的串口通信;通过 P3.3INT1 (外部中断 1)来接收测速电路反馈的速度信号另外, AT89S52有 32 位 I/O 口线,其中 P0 口是一个 8 位漏极开路的双向 I/O 口作为输出口,每位能驱动 8 个 TTL 逻 辑电平当 P0 口作为普通输出端口用的时候,需要外加上拉电阻才能输出高电平本设计中,P0.0 和 P0.1 用来输出去往驱动电路的高低电平, P0.7 输出 PWM波信号电路图如下所示:4.2 驱动电路H桥式驱动电路是一个典型的直流电机控制电路, 基本结构是由四个三极管组成驱使电机运转, 电路图如下所示, 要使电机运转, 必须导通对角线上的一对三极管根据不同三极管对的导通情况, 电流可能会从左至右或从右至左流过电机,从而控制电机的转向L298 是 SGS公司的产品,比较常见的是 15 脚 Multiwatt 封装的 L298N(如图所示),内部同样包含 4 通道逻辑驱动电路 , 即内含二个 H 桥的高电压大电流双全桥式驱动器, 接受标准 TTL逻辑电平信号, 可以方便的驱动两个直流电机, 或一个两相步进电机, 输出电压最高可达 50V,可以直接通过电源来调节输出电压;可以直接用单片机的 IO 口提供信号;而且电路简单,使用比较方便。
L298N的引脚图如图所示,各个引脚的功能如表所示引脚符号1SENSING A15SENSING B2OUT 13OUT 24Vs5IN 17IN 26ENABLE A11ENABLE B8GND9Vss10IN 312IN 413OUT 314OUT 4功能此两端与地连接电流检测电阻,并向驱动芯片反馈检测到的信号此两脚是全桥式驱动器 A 的两个输出端,用来连接负载电机驱动电源输入端输入标准的 TTL 逻辑电平信号,用来控制全桥式驱动器 A 的开关使能控制端 .输入标准 TTL 逻辑电平信号;低电平时全桥式驱动器禁止工作接地端,芯片本身的散热片与8 脚相通逻辑控制部分的电源输人端口输入标准的 TTL 逻辑电平信号,用来控制全桥式驱动器 B 的开关此两脚是全桥式驱动器 B 的两个输出端,用来连接负载L298N可接受标准 TTL 逻辑电平信号 VSS, VSS可接 4.5~7 V 电压 4 脚VS接电源电压, VS电压范围 VIH 为+ 2.5~46 V输出电流可达 2.5 A,可驱动电感性负载1 脚和 15 脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号 L298 可驱动 2 个电动机, OUT1,OUT2和 OUT3,OUT4之间可分别接电动机,本设计只需驱动一台电动机, 我们选用 5,7 脚接输入控制电平,控制电机的正反转。
ENA为使能端,接单片机的 PWM信号输出,控制电机的停转与调速 L298N的功能逻辑图如表所示ENAIN 1IN 2运转状态0XX停止110正转101反转111刹停100停止驱动电路整体如图所示4.3 转速检测电路如前文所述,本设计是利用单片机内部的定时器和计数器来计算电机转速的,而计数器计量的是接收到的脉冲的数量, 因此转速检测电路反馈的应该是脉冲信号,我们选择霍尔元件 CS3144作为测速电路的主要元件CS3144 霍尔开关集成电路应用霍尔效应原理,采用半导体集成技术制造的磁敏电路,它是由电压调整器、霍尔电压发生器、差分放大器、施密特触发器、温度补偿点电路和集电极开路的输出级组成的磁敏传感电路, 其输入为磁感应强度,输出是一个数字电压讯号 其响应频率为 250KHz,额定电压为 4.5-24 (V)、检测距离为 10(mm)其在大电流磁场或磁钢磁场的作用下, 能测量高频、工频、直流等各种波形电流该传感器具有测量精度高、电压范围宽、功耗小、输出功率大等优点,广泛应用在高速计数、 测频率、测转速等领域输出电压 4.5 ~24V,直流电源要有足够的滤波电容, 测量极性为 S 极安装时将一非磁性圆盘固定在电动机的转轴上,将磁钢粘贴在圆盘边缘,磁钢采用永久磁铁,其磁力较强,霍尔元件固定在距圆盘 1-10mm处。
当磁钢与霍尔元件相对位置发生变化时,通过霍尔元件感磁面的磁场强度就会发生变化 圆盘转动,磁钢靠近霍尔元件, 穿过霍尔元件的磁场较强,霍尔元件输出低电平;当磁场减弱时,输出高电平,从而使得在圆盘转动过程中, 霍尔元件输出连续脉冲信号 这种传感器不怕灰尘、 油污,在工业现场应用广泛 CS3144的磁电转换特性如图所示VOUTVOHBHVOLBRP BOP B电机转盘上安装一个磁钢, 电机转动时, 当磁钢靠近霍尔传感器的时候, 霍尔传感器 [5] 产生脉冲,脉冲接至单片机 P3.4 T0 引脚,给单片机的定时器设定定时初值, 让其工作在定时状态, 计算在一定时间内接收到的脉冲数所示为霍尔元件测速电路图:T1如图4.4 串口通信电路单片机与 PC机串行通信,又称为下位机与上位机的串行通信通信接口标准有 RS232、RS423A、RS422A、RS485等,常用的接口标准有 RS232和 RS485RS232 在微机串行通信接口中广泛采用,在加装了调制解调器( modem)的情况下,这种通信可以通过线传输数据, 并且可以传输几千公里远的距离, 如果没有 modem可以传输十几米远本课题采用的是 RS-232直连无 modem方式和 DB-9 连接器(其阵脚图见图,功能见表) ,单片机采用 AT89S52,使单片机的串行输入端( RXD)和串行输出端( TXD)与 PC机的 COM口相连接。
针串口()引简写功能说明脚载波侦测(Carrier Detect)接收数据(Receive)发送数据(Transmit)数据终端准备(Data Terminal Ready)地线(Ground)数据准备好(Data Set Ready)请求发送(Request To Send)清除发送(Clear To Send)振铃指示 (Ring Indicator)RS232是用正负电压来表示逻辑状态, 与 TTL 高低电平表示逻辑状态的规定不同因此,为了能够同计算机接口相连或 TTL 器件相连,必须在 RS232 与 TTL 之间进行电平和逻辑关系的变换 实现这种变换的方法可以用单立元件, 也可以用集成芯片,本文设计采用 MAX232来完成 TTL- EIA(美国电子工业联合会)双向电平转换 MAX232内部有电压倍增电路和转换电路, 仅需 +5 V 电源便可工作,使用十分方便,其与 AT89S52连接时可以采用最简单的方式连接 (见图),MAX232的 T1 IN 引脚与 89S52的串行输入口线 P3.1TXD相连, R1 OUT引脚与 89S52的串行输入口线 P3.0RXD相连, MAX232的 T1 OUT、R1 IN 分别于与 RS232的 2、3引脚相连。
MAX232泵电源引脚必须接 0.1μf 电容,如图中的 C5、C6、C7、C8因为电路中采用了电平转换芯片,只需把单片机所用到的连接器和 PC机串口所用的连接器的 2、3、5 管脚对应连接起来, 2、3 管脚不需交叉连接(如图 2 所示);如果是 PC机之间或同一个 PC机的两个 COM口相连,则两个连接器的 2、3 管脚需交叉相连4.5 电源电路本设计中各个单元模块都需要直流 +5V电源供电,因此我们需设计出直流电源电路本设计通过 200V-12V 变压器变压隔离、整流桥整流和三端稳压器稳压来输出 +5V的直流电压三端稳压器是一种标准化、 系列化的通用线性稳压电源集成电路, 以其体积小、成本低、性能好、工作可靠性高、使用简捷方便等特点,成为目前稳压电源中应用最为广泛的一种单片式集成稳压器件,用 lm78/lm79 系列三端稳压 IC 来组成稳压电源所需的外围元件极少, 电路内部还有过流、 过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜, lm7805 是 lm 系列中固定输出 +5V电源的集成电路(其内部电路如图所示) 如图所示电路为输出电压 +5V、输出电流 1.5A 的稳压电源。
它由电源变压器B,桥式整流电路 D1~D4,滤波电容 C1、C3,防止自激电容 C2、C3 和一只固定式三端稳压器 (7805) 极为简捷方便地搭成的220V 交流市电通过电源变压器变换成交流低压,再经过桥式整流电路 D1~D4 和滤波电容 C1 的整流和滤波,在固定式三端稳压器 LM7805的 Vin 和 GND两端形成一个并不十分稳定的直流电压 ( 该电压常常会因为市电电压的波动或负载的变化等原因而发生变化 ) 此直流电压经过 LM7805的稳压和 C3 的滤波便在稳压电源的输出端产生了精度高、稳定度好的直流输出电压本稳压电源可作为 TTL 电路或单片机电路的电源5 系统软件设计本设计的实现方案在前文已有叙述,即上位机 PC和下位机 AT89S52通过串口通信实现信号的接收和发送,上位机通过自身的 PID 工具包来进行 PID 调节,下位机则完成 PWM波输出和计算实时转速的任务整体程序流程图如下图所示:下位机程序流程上位机程序流程开始开始系统初始化串口初始化是否进入定时NN是否开启外部器 T0中断中断接收数据YY计算实时转速中断收到的脉冲数N是否启用 PID控制电机转动Y进行 PID计算调节 PWM波占空比发送 PID数据 接收 PID命令5.1 上位机软件设计5.2 下位机软件设计本系统下位机用 AT89S52 作为主控制器,下位机编程部分工作采用 KeiluVsion2 单片机应用开发软件完成,采用模块化的设计方法,通过不同模块子程序的设计实现不用部分的功能, 然后在主程序中调用各个子程序, 模块化编程将复杂的大任务分解为若干子任务, 每个子任务完成一项简单的功能, 这样便于组织,便于修改。
单片机内部资源的分配决定了子程序的功能, 因此先来看一下单片机内部资源的分配:串口通信P3.0/RXD串口通信接串口中断模块P3.1/TXD口占用内部的定时器 T1转速测量P3.3/INT1反馈脉冲接外部中断 1计脉冲数模块口内部定时器T0 定时P0.7P0.7 输出 PWM 波控制驱动电PWM 输出驱动电路接路的使能端P0.0模块口P0.0 和 P0.1 输出高低电平控P0.1制电机转向 程序流程设计本系统中 AT89S52单片机的任务就是与上位机的串口通信, 发送 PWM信号以及接收、计算反馈转速信号因此, AT89S52的程序设计就是让单片机通过接收不同的中断指令,进入不同的中断子程序中执行任务,其程序流程图如下:主函数系统初始化。