0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于MCU的闭环控制系统的设计与相关技术介绍

电子设计 来源:郭婷 作者:电子设计 2019-02-19 08:19 次阅读

控制回路是许多基于MCU的设计执行的最基本任务之一。这些设计通常无法充分利用现代MCU中可用的关键特性和外围设备来最有效地实现闭环控制系统定时器和中断控制器通常用于这些系统,但在实现控制系统时,其他一些功能,如DMA,高级模数转换器和专用数学函数,往往被忽略了很多次。

本文将快速回顾有效的基于MCU的闭环控制系统的一些关键要求。将使用一些示例MCU来说明用于提高效率的常用技术。一旦您了解了一些提高效率的常用技术,您就可以更好地寻找能够最佳地关闭下一个控制回路设计的实现。

控制回路基础知识

控制回路是用于控制动态系统的关键元素。动态系统可以是在输入和输出之间具有关系(通常建模为线性关系)的任何机械电气系统。通常需要控制输出以使其保持在期望的操作“频带”内。例如,汽车中的自动巡航控制是这样一种系统,其中汽车的速度被设定在期望的水平,并且即使汽车遇到山坡,控制器也保持速度恒定。控制速度的算法利用控制回路,该控制回路应用输入(加速器上的压力),测量结果(速度)并根据需要调整输入以将速度保持在期望的水平。带有控制回路的简单单输入和单输出控制系统的框图如下图1所示。

基于MCU的闭环控制系统的设计与相关技术介绍

图1:块一个简单的动态控制系统控制回路图。

在上面的框图中,动态系统的输入产生一个输出。输出由反馈传感器测量,测量的输出与参考(所需)输入进行比较。如果存在差异,系统控制器将使用结果错误修改系统输入,以使系统输出更接近参考输入。系统控制器需要足够智能,以避免因错误管理的控制系统而导致的振荡和其他问题。假设动态系统是线性的(输出与输入成比例)并不像您想象的那样具有限制性,因为许多机械和电气系统确实以线性方式运行,或者可以很容易地“偏向”以在更复杂的传递函数的线性区域。

使用MCU实现控制回路

很容易理解为什么MCU是实现控制系统的主力。由于能够以非常高的性能速率(特别是相对于电机等机械系统的高性能速率)感测,计算和控制各种输入和输出,因此MCU是一种自然的控制元件。除了CPU的功能外,MCU中的许多智能外设还可以简化和高效地关闭控制回路。

控制回路通常在动态系统的每次调整之间具有时序关系。这个“循环时间”决定了调整的速度。如果循环时间与系统动力学(受控系统的时变性质)相关太长,则有效控制系统输出即使不是不可能也是困难的。振荡和“失控”错误可能会累积,使系统面临失败的危险,可能是非常戏剧性的。通常,MCU关闭环路的速度越快(处理输出传感器,确定任何参考误差,并调整系统输入),效果越好。

因此,高效的定时和计数是最佳关闭控制回路所需的关键功能,具有高级定时外设的MCU可以最佳地实现控制回路。例如,Silicon Labs EFM32LG360F64G-E-CSP81 MCU具有定时器/计数器外设,具有在控制环实现中有用的几个功能。除了闭环控制器的主循环定时器之外,通常还需要定时和计数功能。让我们更详细地看一下EFM32LG计数器/定时器外设的框图(图2),看看它如何帮助实现图1所示的控制回路系统中的其他常用功能。

基于MCU的闭环控制系统的设计与相关技术介绍

图2:Silicon Labs EFM32LG MCU定时器/计数器框图(由Silicon Labs提供)。

Timer/的一个有用功能计数器是通过图左侧的TIMn_CCn引脚计算来自外部源的转换的能力。当观察基于动态系统的测量输出产生转变的传感器时,这些输入可能是有用的。例如,基于位置测量的旋转测量通常在每次旋转时产生过渡。另请注意,图中上部有一个正交解码器模块,可用于类似的测量。当记录到达存储在Timern_TOP中的终端值时,记录的计数可用于触发中断以立即采取行动,或者可以存储以供将来处理。

定时器/计数器输出,图中右侧的TIMn_CCn引脚,可以使用通用的脉冲宽度调制(PWM)方案来控制动态系统的输入。在这些系统中,信号有效的时间与用于控制的所需电压或电流水平有关。精确控制信号周期,信号高电平时间和边沿转换点都很关键,可以在定时器/计数器的PWM功能内有效控制。具有三个独立的PWM输出也便于常见的电机控制应用,其中三个独立的绕组用于改变与旋转电机相关的磁场。

智能外设控制

实现快速有效的环路反馈时间通常需要使用智能外设来卸载高功率CPU和程序存储器模块的处理。如果外设可以独立于CPU运行,则可以允许CPU执行其他更复杂的处理任务,甚至可以在低功耗状态下等待,直到需要处理为止。一些高级MCU具有特殊的外围控制系统,可通过将外围设备连接在一起来配置自主操作,因此无需CPU干预。例如,瑞萨R5F52108CDFM MCU是RX210 MCU组的成员,它具有一个事件链路控制器(ELC),用于连接和控制外围输出到外设输入,以实现自主操作。 ELC的框图如下图3所示。

基于MCU的闭环控制系统的设计与相关技术介绍

图3:瑞萨RX210群MCU事件链路控制器框图(由瑞萨提供)。

图中左侧的内部外围总线用于互连外围设备,如图所示。图的右侧。所有外设,包括DMA控制器,数据传输控制器(DTC)和中断控制器单元(ICU)都可以与专用控制器连接,以根据中断,定时器比较结果或引脚转换自动激活外设。多达59种类型的事件信号可以链接到外设,以启动转换,启动定时器,并开始DMA或DTC传输或任何其他所需的外设。当发生已设置为触发的事件时,将启动为所选模块设置的操作。

可以启动多个操作链,这样就可以在没有CPU干预的情况下完成复杂的操作。例如,计时器可以启动模数转换,并将转换后的值存储在存储器中。计数器可以跟踪转换次数,当计数表明可以处理完整数据集时,CPU可能会被中断。在CPU处理期间,时钟振荡器也可以自动切换到更快的模式。通过充分利用ELC,可以非常快速有效地完成常见控制回路中所需的许多传感功能,从而可以轻松实现快速回路时间,同时将功率降至最低。

高效计算

正如我们所看到的,使用智能和自主计数器/定时器和外设可以缩短循环时间并降低功耗 - 这两者都是控制系统设计的重要方面。通常,在每个主控制系统块中需要计算以处理在感测,比较,控制和操作受控系统时所需的数据。实际上,随着控制系统效率,精度和长使用寿命成为重要的系统要求,计算要求急剧增加。用于实现控制回路的高级算法现在使用比例积分微分算法,其中通常需要浮点计算以提高精度。如果硬件不支持高级计算,则很难实现所需频率的控制环闭合。

MCU制造商了解对高级处理能力的需求,并且即使在低端MCU上也包含了数字处理功能,可以加速复杂闭环控制设计所需的计算速度。高端MCU通常包括专用硬件,以加速最精确控制应用所需的浮点计算。飞思卡尔Kinetis K60 MK61FN1M0VMD15 MK61FN1M0VM类MCU使用带有DSP指令的32位ARM Cortex-M CPU和单精度浮点单元来加速最复杂控制算法所需的高级计算。 DSP指令包括用于快速处理高精度信号的扩展单周期多累加(MAC)指令,以及用于更快处理低分辨率信号的单指令多数据(SIMD)指令。硬件分频块仅在2到12个周期内工作,从而加速了常见的缩放操作。

为了获得更高的性能,可以使用双核CPU,以便可以并行完成处理任务。例如,德州仪器协奏曲微控制器,如F28M35H52,具有ARM Cortex-M3 32位CPU和具有浮点功能的Texas Instruments TMS320C28x 32位CPU。该双核MCU的框图如下图4所示。

基于MCU的闭环控制系统的设计与相关技术介绍

图4:德州仪器F28M35x协同MCU单片机框图(由德州仪器提供) )。

基于ARM的MCU位于图的上半部分,可用于管理外设,而Concerto CPU可用于处理数据和管理受控系统。请注意,PWM定时器与Concerto子系统紧密相关,可以轻松生成受控系统输入所需的复杂波形。当您的应用程序具有易于分离的算法时,双核CPU之间的这种专业化非常重要。如果您只需要单个算法需要更多处理能力,或者需要双CPU以锁步方式运行以获得更高的可靠性,那么具有相同处理子系统的同类双CPU(如德州仪器Hercules RM4 ARM Cortex-R4 MCU)可能更适合。用于高可靠性应用的闭环控制系统可以使用异构双CPU实现的内置冗余来实现更高效和稳健的设计。

结论

关闭控制在基于MCU的设计中有效地循环不需要充分利用反复试验方法来寻找最佳实现。更加系统化的方法可以正确使用现代MCU的所有高级功能,可以帮助您创建更高效,更快速,更低功耗和更具成本效益的控制系统解决方案。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16009

    浏览量

    343524
  • 控制系统
    +关注

    关注

    41

    文章

    5960

    浏览量

    108684
  • 定时器
    +关注

    关注

    23

    文章

    3146

    浏览量

    112028
收藏 人收藏

    评论

    相关推荐

    闭环控制系统方框图27例

    闭环控制系统方框图27例[hide][/hide]
    发表于 01-02 18:12

    闭环控制系统方框图12例

    闭环控制系统方框图12例.doc
    发表于 01-22 10:57

    怎样利用电机旋转角度和转速双闭环去搭建一个双闭环控制系统

    怎样利用电机旋转角度和转速双闭环去搭建一个双闭环控制系统?双闭环控制系统的结构是由哪些部分组成的?
    发表于 07-22 09:25

    基于VXI的快速闭环控制系统

    为了适应快速闭环控制的需求,提出了基于VXI总线的快速闭环控制系统的设计和应用方法,对VXI系统组成、算法控制器模块、信号调理和软件组态等部分进行了具体分析。经过工业
    发表于 07-10 16:22 11次下载

    油压注塑机闭环控制系统的应用研究

    本文阐述了油压注塑机闭环控制系统的开发与应用。该系统实现了注塑机电液比例阀的闭环控制,并开发了与之配套的上位机监控软件,实现了PID参数的在线调整。
    发表于 03-02 16:21 47次下载

    什么是闭环控制

    什么是闭环控制   闭环控制   发动机电喷系统闭环控制是一个实时的氧传感器、计算
    发表于 03-12 10:03 2062次阅读

    基于DSP的SVPWM变频压力闭环控制系统

    基于DSP的SVPWM变频压力闭环控制系统
    发表于 04-15 18:29 15次下载

    基于DSP的交流电机双闭环控制系统设计

    基于DSP的交流电机双闭环控制系统设计。
    发表于 04-18 09:37 115次下载

    闭环控制系统方框图12例

    闭环控制系统方框图12例
    发表于 01-04 13:06 0次下载

    闭环控制系统方框图27例

    闭环控制系统方框图27例
    发表于 01-04 11:32 0次下载

    无刷直流电机双闭环控制系统的设计_方炜

    无刷直流电机双闭环控制系统的设计_方炜
    发表于 01-08 10:47 27次下载

    开环控制系统闭环控制系统的举例说明

    本文介绍了开环控制系统闭环控制系统以及手动控制系统和自动控制系统,并举例说明。
    发表于 10-15 10:41 18次下载
    开环<b class='flag-5'>控制系统</b>与<b class='flag-5'>闭环控制系统</b>的举例说明

    闭环控制系统的结构框图

    闭环控制系统控制系统的一种类型。具体内容是指: 把控制系统输出量的一部分或全部,通过一定方法和装置反送回系统的输入端,然后将反馈信息与原输入信息进行比较,再将比较的结果施加于
    的头像 发表于 01-12 11:07 3.8w次阅读

    闭环控制系统名词解释_闭环控制系统与开环控制系统有什么不同

    闭环控制系统控制系统的一种类型。具体内容是指: 把控制系统输出量的一部分或全部,通过一定方法和装置反送回系统的输入端,然后将反馈信息与原输入信息进行比较,再将比较的结果施加于
    的头像 发表于 08-05 14:33 1.5w次阅读

    基于ARM和DSP的谐波实时闭环控制系统

    基于ARM和DSP的谐波实时闭环控制系统
    发表于 06-15 11:26 23次下载