控制回路任务不可避免,基于单片机如何设计闭环控制系统?
控制回路是许多基于 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 可以帮助你创建更高效,更快,更低的功耗,更有效的控制系统解决方案。
基于K60的四轴飞行器环境信息采集系统设计
伏勋, 任晓明,贾永兴,罗桢,高华平
(上海电机学院 电气学院,上海 200240)
为能全面实时地采集环境信息数据,设计了四轴飞行器环境信息采集系统。本设计采用Freescale K60微控制器作为主控芯片,MPU6050惯性测量传感器和AK8975三轴磁罗盘作为惯性导航单元,使用PID控制算法并以PWM方式驱动三相无刷电机,从而控制四轴飞行器飞行姿态。通过2.4 GHz和5.8 GHz频段将采集到的温/湿度、PM2.5/PM10浓度、摄像头采集图像等信息传输到控制台。经测试,该系统满足不同环境下及时采集数据、有效视频监测的要求,对实际现场监测有一定的应用价值。
四轴飞行器;环境信息采集;K60微处理器
TP27文献标识码:ADOI: 10.19358/j.issn.16747720.2016.23.028
伏勋, 任晓明,贾永兴,等. 基于K60的四轴飞行器环境信息采集系统设计[J].微型机与应用,2016,35(23):96-99.
0引言
近年来空气污染引起了公众的热议,如何有效、及时地处理空气污染问题成为焦点。本文基于环境信息数据的采集,设计了四轴飞行器环境信息采集系统。传感器技术和控制理论的不断发展,尤其是微电子和微机械技术的逐步成熟,使四轴飞行器的自主飞行控制得以实现,并成为国际上的研究热点[1]。
文献[1] 采用STM32系列32位处理器作为主控制器,使用ADIS16355惯性测量单元等传感器用于姿态信息检测,使用PID控制算法进行姿态角的闭环控制。文献[2] 采用 STM32作为主控芯片,三轴加速度传感器MPU6050作为惯性测量单元,通过2.4 GHz无线模块和遥控板进行通信,最终使用PID控制算法以PWM方式驱动电机实现了四轴飞行器的设计。文献[3]采用 ARM处理器控制无刷直流电机,并且通过加速度传感器和陀螺仪的反馈数据进行飞行器的平衡控制和姿态调节。
本文设计了四轴飞行器环境信息采集系统,以K60微处理器为核心,采用惯性测量模块MPU6050姿态获取技术,搭建四轴飞行器控制系统。设计包括四轴飞行器控制、环境信息采集、控制台三部分。其中,四轴飞行器采用人工遥控控制;环境信息采集以模块化为主,将图像、温湿度、PM2.5和PM10各个模块进行数据采集显示输出;控制台负责数据交互与遥控。
1系统设计方案
根据四轴飞行器实际的飞行需求和设计要求,系统采用主控单元K60采集环境信息,处理由温湿度检测模块、PM2.5/ PM10检测模块反馈的数据,并在参数显示器上显示;TS832发射端将摄像头采集到的图像信息通过工作频率5.8 GHz无线传输到遥控器上的RC832接收端,并反映到图像显示器;领航者飞行控制器采用STM32F407VG芯片控制算法求解电机转速,连接T6EHPE接收机,通过2.4 GHz频段与遥控器进行无线传输,由遥控器操作四轴飞行器执行相应指令,实现电机转速调整,进而实现姿态控制。系统设计框图如图1。
2硬件设计
2.1四轴飞行控制器
四轴飞行控制器的核心有MPU6050惯性测量传感器、AK8975三轴磁罗盘、MS5611高精度气压仪。MPU6050惯性测量传感器驱动方式采用I2C接口,时钟引脚 SCL连接到控制器的PB6,数据引脚连接到控制器的PB7,数据中断引脚连接到控制器的PD7,其硬件原理图如图2所示。
AK8975三轴磁罗盘带有高敏感度霍尔传感器,通过增强信号处理器体系结构,实现宽动态测量范围和低电流消耗,不需外部时钟[4]。
MS5611高精度气压仪由压阻传感器和传感器接口组成,将测量的补偿模拟气压值经ADC转换成24位数字输出,采用I2C串行接口,串行时钟SLCK和串行数据SDA与外部控制器进行数据传输[5],其硬件原理图如图3所示。
设计选用F450型号的四轴飞行器机架,该飞行器载重量大、稳定性强、加装区域大、姿态控制简单。四轴飞行器采用人工遥控控制,通过飞机前部摄像头,将拍摄的影像传给遥控器,并在显示器上显示,有利于操作人员对飞行器做出正确控制。
2.2环境信息采集
2.2.1图像信息的采集
本系统采用700线摄像头、TS832发射端和RC832接收端,摄像头模块拍摄现场状况,反馈到机架上的图像收发模块,通过5.8 GHz频段无线传输到遥控器上的图像收发模块,反映到图像显示器(4.3英寸)上。图4所示为四轴飞行器飞行过程中拍摄到的一张图像。
2.2.2温湿度检测模块
本系统采用的是DHT11数字温湿度传感器模块。DHT11是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保其具有极高的可靠性与卓越的长期稳定性,传感器包括一个电阻式温湿元件和一个NTC测温元件,并且与一个高性能的8位单片机相连接。
通过温湿度检测模块来检测环境中的温湿度,通过K60单片机来处理传感器反馈的数据,该数据通过2.4 GHz频段无线传输到遥控器上的环境参数显示器上,得到某一天的温湿度数据如表1。
2.2.3PM2.5和PM10浓度采集
本系统采用SDS011激光PM2.5传感器,能够得到空气中 0.3~10 μm悬浮颗粒物浓度,对PM2.5浓度及PM10浓度进行检测。其具有数据准确、响应快速、集成度高、分辨率高、数据稳定可靠、数字化输出等特点[6]。
通过SDS011激光PM2.5传感器来采集环境中的各种参数,经K60单片机处理传感器反馈的数据,该数据通过2.4 GHz频段无线传输到遥控器上的环境参数显示器上。得到几组PM2.5和PM10浓度的日变化数据,如表2所示。将测得数据与当地气象局监测数据作比较,其PM2.5有±1.2%偏差,PM10有±2.4%偏差,测量结果准确度较高。
2.2.4显示反馈数据
本系统采用0.96英寸OLED液晶屏连接到K60芯片上,实时显示数据,如图5所示。
2.3控制台
控制台部分的研究涉及到遥控、OLED显示、图像显示、无线数据传输。OLED显示和图像显示已在环境信息采集中介绍。数据无线传输选用nRF24L01+无线接收模块。nRF24L01+是一款工作在2.4~2.5 GHz世界通用ISM频段的单片无线收发器芯片。无线收发器包括:频率发生器、增强型SchockBurstTM模式控制器、功率放大器、晶体振荡器、调制器、解调器。输出功率、频道选择和协议的设置可以通过SPI接口进行设置。其拥有极低的电流消耗:当工作在发射模式下,发射功率为6 dBm时电流消耗为9 mA,接收模式时为12.3 mA。掉电模式和待机模式下电流消耗更低。nRF24L01+模块和K60单片机的连接图如图6所示。
3软件设计
系统采用模块化结构设计,使用IAR开发环境,系统功能组态更加方便。基本程序模块有温湿度采集模块、PM2.5/PM10采集模块、OLED显示模块、nRF24L01+无线收发模块等,各个模块既能独立地实现各部分功能,又可以共同工作达到系统的设计要求。
3.1数据发送
主控芯片K60按照中断时间间隔向DTH11温湿度传感器、PM2.5传感器发送起始信号,将读出的温湿度、PM2.5/PM10等信息进行整理校验后,通过无线收发模块发送给控制终端,数据采集程序流程图如图7所示。采用定时器中断的方式完成采集任务,本设计采用每2 200 ms PIT0中断一次,采集一次数据。由于时间间隔较短,各传感器的数据显示不断更新,从而能够实时检测到各环境参数的变化情况。
3.2数据接收
在中断时间到达后,K60主控芯片发送指令,nRF24L01+模块接收数据,判断数据是否正确,如果数据正确,则进行OLED显示,否则继续接收数据。数据接收程序设计流程图如图8所示。
4结论
本文介绍了四轴飞行器环境信息采集系统的设计,提出了系统的整体设计方案,并分别对系统的软硬件进行设计。系统以K60为主控制器,通过2.4 GHz和5.8 GHz无线模块进行通信控制,通过MPU 6050进行姿态获取,使用反馈控制算法进行电机控制。安装调试后,验证了该系统可以实现四轴飞行器的姿态控制;摄像头正常拍摄影像且实时发送给遥控端接收器;飞机在飞行时能够采集环境中的温度、湿度、PM2.5、PM10等信息,并且能够通过2.4 GHz频段无线传输到控制台。
参考文献
[1] 刘峰,吕强,王国胜,等.四轴飞行器姿态控制系统设计[J].计算机测量与控制,2011,19(3):583585.[2] 常国权,戴国强.基于STM32的四轴飞行器飞控系统设计[J].单片机与嵌入式系统应用,2015,15(2):29-32.
[3] 陈海滨,殳国华.四旋翼飞行器的设计[J].实验室研究与探索,2013,32(3):41-44.
[4] 李尧.四旋翼飞行器控制系统设计[D].大连:大连理工大学,2013.
[5] BOUABDALLAH S. Design and control of quadrotors with application to autonomous flying[D].Switzerland:Lausanne EPFL,2007.
[6] 付佳贺.四轴飞行器的设计与研究[D].成都:电子科技大学,2015.
相关问答
红米手机,电量充足。但用会就自己关机。如果在充电用,手机就...STC12C5204AD单片机4541浏览7回答电脑上所有的图标都变成了WPS图标了,怎么处理啊?7237浏览3回答苹果A1489ipad忘记ID密码怎么强制恢復出厂设置苹果?50....