1、带磁编码器的 无人机 FOC 云台控制器 贝能电子 (福建 )有限公司 作者:江火明 摘要 : 商用 无人机云台 是 立足于 无人机 高空操控优势,通过无线遥控来进行航空摄影 、 系统立体测绘地面图像或者准确操控附带设备的驱动 装置 , 主要功能是利用高精度电机控制,实现 摄像 设备对 X,Y,Z 三维空间的精 准角度控制 ,以达到 精确 控制 设备操作角度 的效果 。 云台系统 的控制精度对这个无人机的摄像性能及操控效果有着至关重要的作用。 目前在云台控制算法上比较先进的控制算法都本掌握在国内领先的几家厂家手上,大部分云台设计都沿用了传统的直流有刷电机的控制或者 120 BLDC 控制,在防
2、抖效果及控制精度上都有需要改进的地方,通过对 产品的分析 将 FOC 算法融入云台控制,将有助于 达到提升防抖效果及控制精度的效果, 尤其是将磁编码器替换传统的电位器设计,可以在控制精度 ,提高使用寿命 ,降低噪声,减少生产难度等方便带来 极大 优势。 关键字:无人机云台 PMSM FOC 控制算法 磁编码器 正文: 引言 : 云台控制的核心 主要分 为两大部分 :电机控制和角度控制 , 电机控制 的关键 包括 MCU 编 程 及功率器件 的控制 ,角度控制则包括编码器的 结构 安装 设计 及控制 等 。 将 FOC 控制及磁编应用稳定运用到无人机云台控制系统中,有助于提高电机控制精度,减低系
3、统噪声,降低功耗,减少飞行控制主系统的运算开销 ,提高产品工作寿命 等作用,从而提升无人机整体性能。 系统介绍 : 摄像 无人机实物图如下 : 摄像 云台系统主要是控制 X,Y,Z 三轴方向上的电机来实现对摄像头的转动控制,通过与飞 行控制器 配合,来快速调整摄像头的方向,达到稳定摄像头角度的效果,所以在运行 速度 、 采样速度 、 外设 集成 度 、传感器精度上都有 较 高 要求,传统的 有刷电机或者 120方波电机 设计 在 电机 响应速度 和 精度上无法 使系统 达到 很 好的效果,所以我在 该 项目中采用了 PMSM(永磁同步 ) 电机 ,并且改进了原来的电位器设计,将磁编码器引入项目
4、,克服了电位器精度不高,不易安装,转动角度有限,易磨损等不足,可以大大提高云台的性能。 鉴于电机及编码器的性能特点,在 MCU 的选择上, 本设计选择 采用 美国 Microchip 公司 高集成度高性能 dsPIC33EPXXMC 系列 16bit 单片机, dsPIC33EP128MC504,内部集成 电机驱动模块 , CAN 通讯模块 ,运放,比较器 等 硬件外设 , 70MIPS 的运算速率可以轻松实现 FOC 电机驱动算法。 磁编码器采用的是 AMS 公司的 AS5600 编码器,它可以通过 在电机 转子 中心轴上安装磁铁, 检测芯片安装在定子上来 隔离检测电机 运行 的绝对位置及
5、转速, 12bit 的检测精度, 360 度全方位 角度 检测 , 很方便实现电机的高精度位置检测, 并在安装上为布线带来便利 ,降低安装误差 , 从而 更好地 实现对摄像设备的高精度传感检测。 与传统方案的串口通讯设计 相比 ,该项目 X,Y,Z 三轴电机之间通过 CAN_BUS 与飞控的 CAN_BUS 实行通讯, CAN_BUS 通讯 最高可以实现 1Mbps 速率,并且广泛用于汽车电子系统上,具有高可靠稳定性 、 长距离传输的特点,应在在该系统中可以大大提高系统的性能,使飞行主控制器与三轴之间实现高速高效通讯。 功率设计部分主要是采用了 Microchip公司的低压 三相 全桥驱动芯片
6、 MCP8026及 Infineon公司的 6颗Mosfet IRFHM8363, 构成了三相全桥 PMSM 电机驱动电路 。 全桥驱动芯片 MCP8026 为 40V/0.5A,可以驱动三路互补 Mosfet,并且内置运放及比较器 ,简化电路硬件设计 , 并 自带保护功能 ,很适合 12V 系统的无人机云台控制 。 IRFHM8363 为 30V/10A mosfet,性价比高 ,体积小 , 满足无人机的控制系统的小体积需求 ,合适的 Rds(on)使其具有高的性价比优势 。 本设计采用 PMSM 电机替换 BDC 及 BLDC 电机,是基于 PMSM 电机在 体积 、 噪声 、 效率 、
7、脉动等各方面都有着更大优势基础上选择的,未来在更多的场合都将使用到 PMSM 电机控制。 硬件设计 : 如上面 所示 框图 中 ,硬件设计的关键 点 包括 1.电源的 的稳定性 系统电池需要提供 能 足够的电流 驱动 能力 ,大小根据所挂摄像头设备重量而定 ,设备越重 ,所需电流 越大 。同时要 尽量做到 电源的 纹波小 及稳定性 。 电池通常都有 BMS 系统 ,经过分析对比 ,好的 BMS 系统 会 对 PMSM 带来更好的控制效果 ,在 此 不 做 详细论述 。 2.电机驱动电路 电机驱动电路包括 Mosfet 驱动和全桥 Mosfet 电路 , 在这部分设计的关键是器件的选取及电路的保
8、护工作 。器件的 电压及电流 参数冗 余量 要合适 ,通常选取电压 2 倍以上及电流 3 倍以上的冗 余量 ,比如正常工作 12V/3A 的运行系统 ,可选择 40V/10A 就足够 , 参数冗 余量 太大会 造成浪费 , 提 高 了系统成本 。当然 , 如果 PMSM 电机设计部合理 ,比如电感量过大 ,可能也会出现极高的峰值电流从而烧 坏Mosfet 或者电机 ,这就需要 选择 更大余量的 功率器件 。同时为了控制发热量 ,最好选取 开关频率较高 ,驱动能力较强 的 驱动芯片及 Rds(on)比较小的 Mosfet, 不过 参数 越 好价格越高 ,需要 通过测试 找一个 性能与价格之间的
9、合适平衡点 。电路保护主要包括自举升压电路 ,过流 、 过压 、 过温 保护电路 , ESD 保护等 , 自举升压电路 的设计需要 结合实际使用的频率来 决定 , 不能一概而论 , 它 对电机的 PWM 频率 控制至关重要 。过流 、 过压 、 过温 保护电路 ,通常除了驱动芯片自带的硬件保护 , 可以 通过 外加电流比较器 , 电压采用电路 , 温度传感器 等 方式增加保护 ,尤其是电流保护 ,处理不好将造成系统无法工作 。 ESD 保护可以通过加TVS 管保护的方式实现 。 3,采样电路 采样电路的 设计 涉及到 PMSM 电机的 转子 位置 及速度估算 ,是 FOC 电路的核心所在 。
10、FOC的初始位置可以通过磁编码器的绝对位置获得 ,而 启动后 的 转子 位置 及速度估算 ,需要通过双相电阻采样的反电动势获得 ,而电流信号是通过 5-20 毫欧姆 的 小 电阻采样 小信号电流 获得 ,极易受到干扰 ,需要 加 滤波放大 处理 电路 , 同时 也 为了获得稳定的 便于检测的 反电动势过零点 ,在电路设计的时候我们增加了一个1.65V 基准电压电路 , 这样 将反电动势信号在滤波的同时又 抬 高电压 , 通过 软件采样处理 , 准确获得过零点 做速度 、 位置估算 。 4,位置传感器设计 系统中 AS5600 磁编码器位置检测主要 作用有两点 ,一是获得电机启动时间的绝对位置,
11、以方便快速启动并切入 FOC 算法,否则在 无绝对 位置情况下很难快速切入闭环启动 ;二是实 时快速 检测 出摄像设备的当前位置,及时调整云台来调整到制定位置,同 时 与飞控 通讯 ,使飞控选择合适的飞行姿态。位置传感器的设计 不同于传统的电位器设计,它属于非接触式应用, 一个 NS 极对 、 1.2T 磁通量 (推荐 )的 磁铁安装在电机 转租 主轴 中心点 ,而磁铁是固定在 定子上 的,模具设计中药 保证磁铁 的中心与AS5600 芯片的中心在一个轴上,即 同心度要求比较高,误差 +/- 0.2mm, 磁铁 与芯片距离为 0.5-2.5mm 之间 ,根据磁铁磁通量大小 及位置需要 来调整
12、。磁编码器的的硬件设计将直接影响 磁 传感器 检测 精度 。 5, CAN 通讯电路设计 CAN 通讯电路硬件设计 需要 保证 在告诉通讯下 较好的 抗干扰 性 。 可选择增加磁珠增加抗干扰性 ,增加 TVS 管 以提高 ESD 防护能力 。 同使 60 欧姆的电阻匹配必不可少 。在 PCB Layout 要主要差分信号的完整性 ,保证 CAN 链路的阻抗一致性 。通讯可选择 1Mbps 的高速率 保证通讯及时性 。 硬件设计 的关键当然 也包括 PCB Layout 的布线问题 ,好的电路布线有助于提高电路稳定性及抗干扰性 。无人机小巧的体积也决定了电路板的小面积 ,信号线的走线较为密集 ,
13、需 要合理分配走线 ,注意 PCB布线 电气规则 ,为后期软件调试打下稳定基础 。 软件 算法 : 软件编程流程图 : 软件处理的关键主要包括 FOC 电机 算法处理 ,PI 调节算法 ,位置检测 , SVPWM 算法 , CAN 通讯处理等 。 FOC 算法 概述 : 软件设计 算法的好坏 在云台控制中 至关重要,由于这个系统 PMSM电机的驱动 是关键 ,所以电机控制算法是这部分最核心的部分 。 本设计采用 空间矢量 FOC算法控制 电机 。 传统 的 BLDC电机的 控制方法是以一个六步 换向 控制过程来驱动定子,而这种控制过程会使生成的转矩产生振荡 ,采用 FOC控制可以降低转矩脉动,
14、同时提高 处理动态负载变化的速度,实现 PMSM电机快速角度调整。 FOC算法也称矢量控制算法,它类似将电机运行的速度与电流放在一个坐标系统中,而参数的变化就类似坐标系统中矢量变换 的 过程 ,通过这种变换,可以很方便实现更高精度的速度环及电流环控制。矢量控制的过程如下: 1)、 测 量 三 相定子电流。 通常是 双电阻采样测量,这种设计可以简化电路, 采样电路是需要通过运 算 放大器 放大信号,并通过基准电压 来抬高 电压,最终模数转化得到电流信号 值 , 否则可能没办法及时响应有效的相电流信号。这些测量可得到 ia 和 ib 的值 , 最终通过以下公式计算出 Ic : ia + ib +
15、ic = 0; 2)、 Clarke变换。 将 3相电流变换至 2轴系统。该变换可 得到变量 i和 i,它们是由测 量 得的 ia,ib以及计算出的 ic值变换而来。 以 定子角度 为中心 来看, i和 i是相互正交的时 随时变化的 电流值。 3). Park变换 .按照控制环上一次迭代计算出的变换角,来旋转 2轴系统使 其 与转子 的 磁通 轴 对齐。 i和 i变量经过 Park变换可得到 Id、 Iq。 Id 、 Iq 为变换到旋转坐标系下的正交电流。在稳态条件下, Id和 Iq是常量。 4). 误差信号由 Id、 Iq的实际值和各自的参考值进行比较而获得。 Id 的参考值控制转子磁通 I
16、q 的参考值控制电机的转矩输出 误差信号是到 PI 控制器的输入 控制器的输出为 Vd 和 Vq,即要施加到电机上的电压矢量 5).估算出新的变换角,其中 V和 V、 i和 i是输入参数 ,新的角度可告知 FOC 算法下一个电压矢量在何处。 6). 通过使用新的角度,可将 PI 控制器的 Vd 和 Vq输出值逆变到静止参考坐标系。该计算将产生下一个正交电压值 V和 V,这里 P,I系数调节很关键 ,过大 ,则响应过快 ,过小 则无法获得正常的 V和 V, 使 FOC的坐标偏离正常轨道 ,无法转动电机或者效率得不到提高 ; 7). V和 V 值经过 Park和 Clarke逆变换得到 3相值 V
17、a、 Vb 和 Vc。该 3相电压值可用来计算新的 PWM 占空比值,以生成所期望的电压矢量。 8).强 PWM占空比输出到内置电机驱动模块 ,自动产生中心对齐的 PWM互补波形 , 经过 FIR电容 生成 类似正弦波的 三相 模拟波形 ,启动 PMSM电机平滑运行 。 下图为变换、 PI迭代、逆变换以及产生 PWM 的整个过程。 在 FOC算法处理中 ,需要 处理反电动势信号的检测 ,在这部分我们做了信号放大及滤波处理 ; 由于系 统电池存在随着使用时间而降低的问题 ,做 系统电压误差补偿 也是很有必要的 , 通过对系统电压的检测 , 将电压的变化与 FOC算法的 Vd 和 Vq做比例处理
18、,已取得更为精确的 Vd 和 Vq。 在调试中如果借助 数据监视和控制界面( Data Monitor and ControlInterface, DMCI,可以实时观测各种中间变化量 ,准确判断处理效果 ,做出算法调整 ,将大大提高软件开发效率 。 PI调节算法 实现 : PID调节算法是指比例 -积分 -微分算法 ,而在电机控制中 ,通常指需要 PI调节即可 。 PID 调节 算法 对闭环控制中的误差信号进行响应 并作出 尝试 , 对控制量进行 微 调节,以获得期望的系统响应。 被控参数 可以是任何可 以 测 到的 系统量,例如转速、转矩或磁通 灯 。 PI调节可以通过对系数的调整 , 建
19、立一个稳定的模型 ,对数据结构进行有效的 静态处理 ,起到稳定滤波及合理响应的作用 。 PI系数调节要 多 做 的测试 , PI调节将决定系统的响应能力 ,过响应及满响应都无法适应系统需求 ;再做速度给定及 速度估算 过程中 , 需要建立一个表格来做数据分析 ,获得一个比较合理的位置 与反电动势关系图标 ,配合软件 修改 。 在 该无人机云台 系统中 , P比例是由 误差信 号乘以 一个 P因子 得到 ,通过对误差信号大小的判断 ,调整P因子的系数 ,从而将误差信号提供最大的修正量 ,有利于减少系统总 误差 ,通过逐步的调整 ,系统误差将逐步 接近于零 ,但是 时钟会存在静态误差 ,这个是就需
20、要应道 I因子来抵消静态误差 。 I调节 通过对 误差信号进行 连续 积分 处理 ,得到的误差信号在一定周期内与 I因子相乘 ,就得到 I输出项 ,通过调节 I因子来逐步减少静态误差 。 在初次对控 制器进行参数整定时,将 I 和 D因子 设置为 0。 随后可 逐步 增大 P因子 , 使 P因子的改变造成最小的误差信号变化 , 直到系统能够很好地响应设定点的变化 。固定好 P因子之后 ,再 可缓慢地增加 I 增益以消除系 统 静态 的误差。 如果发 生 误差 振荡,通过减小 I因子 并增大 P因子来 解决问 题 。 在 本 系统中 , PI调节器的软件实现已经封装成子程序 ,我们可以通过直接调
21、整 PI参数 来直接进行误差补偿 ,方便完成 整个 FOC及 PI调节 设计 。 位置检测 实现 位置检测是通过 对 AS5600的 控制 实现 , AS5600有两种输出模式 ,我们选择 PWM输出 , 同时将 PWM频率调整为最快 920Hz, 便于 位置信息 的快速采集 。 PWM通过 占空比输出绝对位置 信息 ,它 的 标称 精度可达 12bit,实际只有 8bit,能支持的最高速度也是不高于 1000rpm,所以在设计的时候 ,启动绝 对位置 检测精度 是足够的 ,但是在做摄像头设备位置检测的时候 需要 在位置 信息 上做些细分及估算处理 , 通过实验分析出他们之间 的误差比例关系
22、, 比如通过 电机 运转速度和时间 ,估算运行 位置 ,将估算 位置与实际检测位置做误差补偿 。 在启动的时候 最好 做 一次 归零校正 ,减少机械误差 ,提高系统精度 。 SVPWM软件控制 SVPWM是 MCU内部的电机驱动专用模块 , 我们需要将 PWM配置为中心对齐的三相互补输出模式 , 设置好 PWM周期及初始占空比 , 各种故障保护及中断响应 。 合理的死区时间 是很关键的 ,死区多大会造成效率低下 ,精度不高 ,死区过小容易造成半桥上下管直通 ,甚至烧毁电机 。 SVPWM支持 PWM I/O直接改写功能 ,可以实现 PWM与普通 I/O的快速切换 ,这在做刹车处理及真反转处理的
23、时候很关键 ,可以很方便实现这些功能 。同事 SVPWM可以与比较器配合 ,实现在外部过流的情况下快速关断 PWM输出 , 实现硬件过流保护 。电机的 力矩调整主要是修改 SVPWM寄存器 占空比 ,通过占空比的调节来控制 PMSM的电流施加时间 ,从而控制 力矩,而转速的控制则主要是通过 PWM的频率调整 。将 FOC算法中得到的 估算 转速及位置 与实际比较 ,通过 SVPWM的调整 ,结合 PI调节 ,实现转速与力矩的逐步调整 。 SVPWM控制方式不同与传统的 SPWM模式 ,它的依据是在一个 PWM周期内的 平均 电压矢量是相等的 ,不同的是 在不同矢量上的时间是不一样 ,基于这个原
24、理 ,我们可以将不 同速度下对应的时间做出调整 ,就可以实现很好的速度控制及转矩控制 。在软件上 ,需要通过相位 , 幅值 和周期参数的调整 ,实现正弦波 SVPWM的输出 ,控制电机运行 。 CAN通讯处理 CAN通讯 在软件上遵循标准 CAN协议 ,通过 MCU内部的寄存器设计值 ,可以得到 CAN通讯的波特率 , 同步信息 , 数据帧 帧头 ,长度 ,数据 ,检验等信息 ,通过 过滤 及 屏蔽寄存器 可以设计 所 需要的 接 收的帧信息 。增加对错误帧的判断将大大提高系统的抗干扰性 ,不过也会占用系统通讯资源 ,需要根据实际情况去判断 。由于该系统无需上 CAN系统而只需要制定自己的通讯
25、协议即可 ,同事 CAN分析仪器或者示波器 CAN专用模式 可以获得 类似 下图捕捉信号 结论 : 随着无人机市场 的逐步发展 , 应用领域不断扩大 ,从当今主要是商业娱乐逐步拓展到农业 ,物流 ,安防 ,电力 ,测绘 ,气象 等 市场方向 , 应用环境不断变换 , 对云台的要求也是越来越高 。而带磁编的 FOC算法控制的 PMSM方案将打破传统的电位器方波控制 的 BLDC方案 的 控制 方式 ,在控制精 度 ,续航时间 ,使用寿命 ,设备操控效果各方面 性能 得到大幅提升 。该设计的思想在未来 相信 将逐步被更多的无人机厂家应用 ,逐步成为设计主流 。 不足之处 : 1, 该 FOC算法
26、设计目前是采用滑模控制 来进行 速度及位置估算 ,但是 滑模控制 器的不足就是响应速度相对比 PLL控制器慢 ,无法更进一步提高性能 。不过 目前 PLL控制器 算法 目前还不是太成熟 ,在估算精度上有些问题 ,后续需要逐步突破 提高 , 一旦将成熟的 PLL控制器应用于 FOC控制算法中 , FOC电机控制 算法 将 在技术上 更进一步 ,有更大应用空间 。 2, 设计在成本 上 较传统设计 会有所提高 ,主要对 MCU的性能 要求的提高 及磁编码器 优势的 应用 ,在价格上 都比传统 方案 稍高 ;另一方便 ,该设计中 PMSM电机的成本比 BLDC也会 有所 提高 。不过相信随着未来应用的越来越广泛 ,器件价格将逐步降低 ,这个商业化最大的难题也逐步得到化解 。 下图实物图示 : 参考文献 : 1, Microchip PMSM 的无传感器磁场定向控制 2, Microchip 使用 dsPIC30F DSC 实现 PMSM 电机的正弦驱动 3, 上海交通大学 王有庆 田涌涛 王占杭 李从心 用 PLC实现的电机速度闭环控制 4, 南京航空航天大学 丁文双 永磁同步电机 PI参数自整定