基于虚拟仪器的电机调速系统设计内容摘要:

VI属性的设置和通信流程图的连接。 下位机功能的实现 本设计中下位机用的是 AT89S52 单片机 ,它是本系统执行的核心。 其主要任务有:与上位机进行串口通信;发送 PWM波来调节直流电机的转速;接受反馈的电机转速的信号并计算出电机的转速。 ( 1)下位机串口通信 本设计的串口通信使用的是单片机的串行输入端( RXD)和串行输出端( TXD)与 PC 机的 COM 口相连接,采用的是 RS232 接口标准和 DB9 连接器。 ( 2) PWM 波的产生 PWM 信号的产生通常有两种方法:一种是硬件的方法;一种是软件的方法。 本设计采用的是软件生成 PWM 信号的方案。 设计思路是: 固定单片机输出 PWM波的周期,然后通过执行延时子程序改变高电平输出的时间和低电平输出的时间比,即可产生不同占空比的 PWM 波。 ( 3)电机转速 的计算 电机转速计算的实现 ,本系统采用的是 定时 加计数的方法。 通过 单片机内部的定时器 T0来 定时,然后用外部中断 INT1 来记接收到的反馈脉冲的数量 , 通过在一定时间内 接收到 的脉冲数来算出转速。 3 虚拟仪器和 LabVIEW 介绍 虚拟仪器的概念 所谓的虚拟仪器,就是在以通用计算机为核心的通用硬件平台上,由用户设计定义,采用虚拟面板,测试功能由软件实现的一种计算机仪器系统。 这里的“虚拟”有两层含义: ( 1) 虚拟的仪器面板 在虚拟仪器里由软件在计算机显示器上生成类似于真实仪器的操作面板,物理的开关、旋钮、案件以及数码管等显示器件都是由于实物外观很相似的图形控件来代替,操作人员通过鼠标或者键盘操作软件界面中的这些空间来完成一期的控制。 ( 2) 由软件实现仪器的测量功能 在虚拟仪器系统中,仪器功能是由软件编程来实现的。 它不仅能实现串通一气的测量功能,也能实现传统仪器不能 实现或者很难实现的一些数据处理功能,如 FFT 分析、小波分析、数字滤波、回归分析、统计分析等。 通过不同软件模块的组合,还可以实现多种自动测试功能。 一台性能优良的虚拟仪器不仅可以实现传统仪器的大部分功能,而且在许多方面有传统仪器无法比拟的优点,如使用灵活方便、功能丰富、价格低廉、可以一机多用、可重复开发等。 虚拟仪器与传统仪器相比,有以下 6 个特点 : ( 1) 传统仪器的面板只有一个,其上布置着种类繁多的显示与操作元件,易于导致许多识别与操作错误。 而虚拟仪器可以通过在几个分面板上的操作来实现比较复杂的功能。 同时,虚拟仪器面板上的学生研究和操作元件的种类不受“标准件”和“加工工艺”限制,它们是由 编程来实现的,设计者可以根据用户的认识要求和操作要求设计仪器面板。 ( 2) 在通用硬件平台确定后,由软件取代传统仪器中的硬件来完成仪器的功能。 ( 3) 仪器的功能是用户根据需要由软件来定义的,而不是事先由厂家定义好的。 ( 4) 仪器的改进和功能扩展只需要更新相关软件设计,而不需要购买新的仪器。 ( 5) 研制周期较传统仪器大为缩短。 ( 6) 虚拟仪器开放、灵活,可与计算机同步发展,与网络及其它周边设备互联。 LabVIEW 概述 编程语言的介绍 LabVIEW 是实验室虚拟仪器集成环境( Laboratory Virtual Instrument Engineering Workbench) 的简称,是目前应用最广、发展最快、功能最强的图形化软件开发集成环境,得到工业界和学术界的普遍认可和好评。 它可以把复杂、繁琐、费时的语言 编程简化为用菜单或图标提示的方法选择功能(图形),用仙台哦将各种功能(图形)连接起来的简答图形编程方式,为没有编程经验的用户进行编程、差错、调试提供了简单方便、完整的环境和工具,尤其适合于从事科研、开发的科学家和工程技术人员使用。 LabVIEW 是一种虚拟仪器开发平台软件,能够以其直观简便的编程方式、众多的源代码级的设备驱动程序、多种多样的分析和表达功能支持,为用户便捷地构筑自己在实际工程中所需要的以其系统创造了基础条件。 而且 LabVIEW 与其它计算机语言相比,有一个特别重要的不同点:其它计算机语言都是采用基于文本的语言产生代码行,而 LabVIEW 采用图形化编程语言 —— G 语言,产生的程序是框图的形式,易学易用,特别适合硬件工程师、实验室技术人员、生产线工艺技术人员的学习和使用,可在很短的时间内掌握并应用到实践中区。 特别是对于熟悉仪器结构和硬件电路的硬件工程师、现场工程技术人员以及测试技术人员们学习 LabVIEW 驾轻就熟,在很短的时间内就能够学会 并应用 LabVIEW,也不必去记忆那眼花缭乱的文本式程序代码。 LabVIEW 的功能十分强大。 像 C或 C++等其它计算机高级语言一样, LabVIEW也是一种通用编程系统,具有各种格言、功能强大的函数库,包括数据采集、 GPIB、串行仪器控制、数据分析、数据显示及数据存储,甚至还有目前十分热门的网络功能。 LabVIEW 也有完善的仿真、调试工具,如设置断点、单步执行等。 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 系统硬件设计 单片机外围电路设计 单片机最小系统设计 本设计采用 ATMEL 公司的 8 位 51 单片机 AT89S52,设计的最小系统如图 其功能主要有供给单片机时钟源、复位电路。 时钟电路采用外部晶体振荡器,外加两个协调电容。 本设计一方面基于串口通信 ,为了保持串口通信的正确性,采用 12MHz 频率的晶振,能更好的匹配串口发送速率,保持数据的正确性;另一方面,采用 12MHz 频率的晶振也能达到比较精确的软件定时。 复位电路是由上电复位和按键复位两部分组成。 上电复位原理为单片机上电后,电容充电,充电期间,给 RST 引脚高电平,引发单片机复位,充电完成后,RST 接低电平,单片机正常工作。 按键复位原理为按下按键后,按键和电容构成回路,进行电容放电。 放电期间, RST 接高电平,引发单片机复位。 松开按键后,电容放电完成, RST 接低电平,单片机正常运行。 单片机外围电路设计 前文中已经给出了系统下位机功能实现的设计方案。 AT89S52 单片机通过 P3端口引脚的第二功能来实现其与上位机的串口通信和接收反馈速度信号的作用。 根据 P3 口的第二功能,本设计中采用 RXD(串行输入口)和 (串行输出口)来完成与 PC 机的串口通信;通过 ( 外部中断 1)来接收测速电路反馈的速度信号。 另外, AT89S52 有 32 位 I/O 口线,其中 P0口是一个 8位漏极 开路的双向 I/O 口。 作为输出口,每位能驱动 8 个 TTL 逻 辑电平。 当 P0口作为普通输出端口用的时候,需要外加上拉电阻才能输出高电平。 本设计中, 和 用来输出去往驱动电路的高低电平, 输出 PWM波信号。 电路图如下所示: +5VGND30PFC230PFC3X11KR110KR210uFC1S1SWPB+5V12345678RST9101112。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。