控制回路任务不可避免,基于单片机如何设计闭环控制系统?
品慧电子讯控制回路是许多基于 MCU 的设计所执行的最基本的任务之一。通常这些设计中未充分利用的关键特征和外围设备在现代单片机最有效地实现闭环控制系统。
控制回路是许多基于 MCU 的设计所执行的最基本的任务之一。通常这些设计中未充分利用的关键特征和外围设备在现代单片机最有效地实现闭环控制系统。定时器和中断控制器在这些系统中经常使用,但在实现控制系统时,许多其他功能,如 DMA、高级模数转换器和专门的数学功能,常常被忽视。 本文将快速回顾高效的基于单片机的闭环控制系统的一些关键要求。提高效率的常用技术将使用一些例子说明 MCUs。一旦您了解了一些提高效率的常用技术,您就可以更好地寻找实现最佳关闭下一个控制循环设计的实现。 控制环基础 控制环是控制动态系统的关键元素。一个动态系统可以是任何机械或电气系统之间的关系(通常建模为输入和输出之间的线性关系)。输出通常需要以这样的方式控制,以保持在期望的操作“频带”内。例如,汽车的自动巡航控制就是这样一个系统,在这个系统中,汽车的速度设定在一个期望的水平上,即使汽车碰到山坡,控制器也能保持车速不变。控制速度的算法使用一个控制环,它应用一个输入(油门上的压力),测量结果(速度)并根据需要调整输入以保持速度达到所需的水平。一个简单的单输入单输出控制系统的框图,带有控制回路,如图 1 所示。
图 1:一个简单的动态控制系统控制回路框图。
在上面的方框图中,对动态系统的输入产生一个输出。输出由反馈传感器测量,并将测量的输出与参考(期望)输入进行比较。如果存在差异,系统控制器会使用所产生的错误来修改系统输入,使系统输出更接近参考输入。系统控制器需要足够智能,以避免由于不正确管理的控制系统引起的振荡和其他问题。假设动态系统是线性的(输出与输入成比例)并不像你想的那样有限制,因为许多机械和电气系统是以线性方式运行的,或者很容易“偏置”,在更复杂的传递函数的线性区域内工作。
利用单片机实现控制回路
这是很容易看到为什么 MCU 实现控制系统的主力。与意识、能力计算、控制各种输入和输出,都在非常高的性能水平(特别是在高利率就像汽车机械系统)是一个自然的控制单元 MCU。除了 CPU 的能力,在单片机的智能外设有许多让你闭环控制简单有效。
控制回路通常在动态系统的每次调整之间有定时关系。这个“循环时间”决定了调整的速度。如果循环时间过长与系统动力学(受控系统的时变特性)相关,那么很难不可能有效地控制系统输出。振荡和失控的错误会累积,使系统处于失败的危险中,也许是一个非常戏剧性的性质。一般来说,MCU 可以更快地关闭循环(处理输出传感器,确定任何参考错误,并调整系统输入),更好。
有效的定时和计数因此关键功能所需要的最佳关闭控制回路和 MCU 的先进外设可以实现控制回路的最佳时机。例如,SiliconLabsefm32lg360f64g-e-csp81 单片机定时 / 计数器周围有用控制回路实现的几个特点。除了闭环控制器的主回路定时器外,还需要定时和计数功能。让我们更详细的 EFM32LG 计数器 / 定时器外设的框图(图 2)看,看它如何能帮助控制回路系统如图 1 所示的实施等常用功能。
图 2:SiliconLabsEFM32LG 单片机的定时器 / 计数器框图。
的定时器 / 计数器,一个有用的功能是从外部来源,通过左边的图的 timn_ccn 引脚数转换的能力。当观察基于动态系统的测量输出时产生转换的传感器时,这些输入是有帮助的。例如,基于位置测量的旋转测量常常在每次旋转时产生转换。还注意到在图的上中间有一个正交解码器块,可以用于类似的测量。记录的数量的计数,当达到存储在 TImern_top 终端值可用于触发中断,立即行动或可存储供以后处理。
定时器 / 计数器的输出,图中右侧 TImn_ccn 引脚,可以使用脉冲宽度调制(PWM)控制动态系统输入常用方案。在这些系统中,信号活动的时间与控制所需的电压或电流电平有关。对信号周期、信号高时间和边缘转换点的精确控制都是关键的,并且可以有效地控制在定时器 / 计数器的 PWM 特性中。有三个单独的 PWM 输出也便于普通电机控制应用,其中三个单独的绕组用于改变与旋转电机相关的磁场。
智能外设控制
实现快速而有效的环路反馈时间通常需要使用智能外设来从大功率 CPU 和程序内存块中卸载处理。如果外围设备可以独立于 CPU 操作,这就允许 CPU 执行其他更复杂的处理任务,甚至可以在低功耗状态下等待,直到需要进行处理。一些先进的 MCU 具有特殊的外围控制系统,可以用来连接外围设备一起从 CPU 没有干预的需要配置自主操作。例如,瑞萨 MCU 的单片机 r5f52108cdfm,rx210 集团的一员,有一个事件链接控制器(ELC)连接和控制外设输出为自主操作的外设输入。在 ELC 的框图如图 3 所示。
图 3:瑞萨单片机 rx210 组事件链接控制器框图。
图左边的内部外围总线用于连接外围设备,如图右侧所示。所有外设,包括 DMA 控制器、数据传输控制器(DTC)和中断控制器(ICU)都可以与专用控件连接,自主地基于中断、计时器比较结果或 PIN 转换激活外设。多达 59 种类型的事件信号可以连接到外围设备以启动转换、启动计时器,并开始 DMA 或 DTC 传输或任何其他所需的外围设备。当已设置为触发器的事件发生时,将启动所选模块的操作集。
可以启动多个操作的链,以便在没有 CPU 干预的情况下完成复杂的操作。例如,计时器可以启动存储在内存中的模数转换和转换值。计数器可以跟踪转换的数量,并且在计数表明可以处理完整数据集时 CPU 可以被中断。在 CPU 处理过程中,时钟振荡器可以自动切换到更快的模式。采用 ELC 发挥到了极致,很多的传感功能中常见的控制回路的要求可以非常迅速和有效地使它容易实现快速循环次数的同时保持功率最小。
高效的计算
正如我们所看到的,使用智能和自主计数器 / 定时器和外围设备可以改善环路时间和降低功耗——这是控制系统设计中的两个重要方面。通常,每一个主要控制系统块都需要计算来处理在检测、比较、控制和操作被控制系统时所需的数据。事实上,随着控制系统的效率、精度和长的使用寿命,计算需求急剧增加,已成为重要的系统需求。实现控制回路的高级算法现在使用比例积分微分算法,浮点运算通常需要提高精度。如果硬件中不支持高级计算,则在所需频率下控制环路闭合变得非常困难。
MCU 厂商了解先进的加工能力的需要,包括数值处理能力,即使在低端 MCU 可以加快复杂的闭环控制设计所需的计算。高端机通常包括专用硬件加速浮点计算最精确的控制应用的要求。飞思卡尔 KineTIsK60 单片机 mk61fn1m0vmd15mk61fn1m0vm 类使用 32 位 ARMCortex-M 处理器与 DSP 指令和单精度浮点运算单元的速度为最复杂的控制算法,需要先进的计算。DSP 指令包括扩展单周期多累积(MAC)指令,用于高精度信号的快速处理,以及单指令多数据(SIMD)指令,以便更快地处理低分辨率信号。硬件分割块只运行 2 到 12 个周期,加快了普通的缩放操作。
为了获得更高的性能,可以使用双核 CPU,以便并行处理任务。例如,一个德克萨斯乐器协奏曲的单片机,如 f28m35h52,兼具 ARMCortex-M332 位 CPU 和德克萨斯文书中的 32 位 CPU 浮点能力 TMS320C28X 处理器。下面的图 4 显示了这种双核 MCU 的框图。
图 4:德克萨斯仪器 f28m35x 协奏曲 MCU 框图。
基于 ARM 的 MCU,在图的上部,可用于管理外围设备,而协奏曲 CPU 可用于处理数据和管理受控制的系统。请注意,PWM 定时器与协奏曲子系统紧密相连,因此很容易产生由控制系统输入所需的复杂波形。当应用程序有容易分离的算法时,双核 CPU 之间的这种类型化是很重要的。如果你需要更多的处理能力为一个单一的算法或需要双 CPU 步调一致的高可靠性,均匀的双 CPU,具有相同的处理子系统,如德克萨斯仪器 cortex-r4 大力神 RM4ARMMCU 可能是更好的选择。高可靠性应用的闭环控制系统可以使用异构双 CPU 实现的内置冗余来提高效率和健壮性。
结论
在基于 MCU 的设计中,有效地关闭控制回路不必充满尝试和错误的方法来寻找最佳实现。更系统的方法,采用现代先进的功能正确,MCU 可以帮助你创建更高效,更快,更低的功耗,更有效的控制系统解决方案。
推荐阅读:
晶振大佬也得看,如何设计PCB晶振
PCB板极限温度测试方法分析
开关电源中的PFC功率因素校正理解,读这一篇就明白啦
DC-DC开关电源管理芯片设计(下)
DC-DC开关电源管理芯片设计(上)