基于 FD6288 设计的经济型无刷电机驱动器论文

2024-04-23 14:08:54 来源: 作者:hemenglin
摘要:无刷电机是大多数机器人主要动力来源,而配套的无刷电机驱动器也成为决定机器人成本的关键部件。市面上应用于机器人无刷电机驱动器的主流硬件方案为德州仪器的DRV8301
摘要:无刷电机是大多数机器人主要动力来源,而配套的无刷电机驱动器也成为决定机器人成本的关键部件。市面上应用于机器人无刷电机驱动器的主流硬件方案为德州仪器的DRV8301 驱动方案,该器件由于庞大的需求量而一直处于高昂的价格,针对此问题,基于STM32 嵌入式控制系统,采用国产FD6288 驱动IC 配合INA240 电流采样芯片低成本硬件驱动方案。电机的控制方式采用场定 向控制(FOC) 算法。通过AD (Altium Design) 对选定的器件设计原理图和PCB, 并焊接元器件,通过示波器检测功能板输出波形的稳定性。驱动软件使用Keil IDE 编写,通过串口将代码无刷电机驱动驱动电机过程中的各相关键数据打印到上位机,通过数据 分析驱动器控制及电机的响应能力,进而调整对应的参数。驱动器电路板调试结果证明提出的驱动方案能使无刷电机稳定运行,为 机器人无刷电机驱动器提供一个可行的方案。
关键词:FOC; STM32; FD6288; INA240; 无刷电机驱动
Economical Brushless Motor Driver Based on FD6288 Design
Yao Yubin , Lü Yanrui , Li Hong , Zhou Hongfu , Huang Deming , Liu Chuangyu
( Guangzhou City University of Technology ,Guangzhou 510800 ,China )
Abstract : Brushless motor is the main power source of most robots ,and the supporting brushless motor driver has become a key component to determine the cost of the robot. The mainstream hardware solution applied to the brushless motor driver of the robot on the market is the DRV8301 driver solution of Texas Instruments ,which has been in high price due to the huge demand of the device. For this problem ,based on the STM32 embedded control system ,the domestic FD6288 driver IC with INA240 current sampling chip is used for a low- cost hardware driver solution. The motor is controlled using the field oriented control ( FOC ) algorithm. The schematic and PCB of the selected devices are designed by AD (Altium Design ) and the components are soldered , and the stability of the output waveform of the functional board is checked by an oscilloscope. The driver software is written using Keil IDE , and the key data of each phase in the process of driving the motor by the code brushless motor driver is printed to the host computer through the serial port , and the drive control and the responsiveness of the motor are analyzed through the data ,and the corresponding parameters are adjusted through the analysis of the data. Through the debugging of the driver board ,it is proved that the drive scheme can make the brushless motor run stably and provide a feasible solution for the robot brushless motor drive .
Key words : FOC ;STM32 ;FD6288 ;INA240 ;brushless motor drive
引言
永磁同步电机按其驱动波形可分为方波永磁同步电机(也称为无刷直流电机)和正弦波永磁同步电机[2]它们均具有高功率密度、高输出转矩和高效率等优点因此具有广泛的应用[-4.其中方波永磁同步电机一般采用 120°方波驱动方式,而正弦波永磁同步无刷电机采用正弦波驱动。正弦波驱动的方式也称为磁场定向控制(Field-0riented Control,FOC)驱动算法5],该驱动方式优势在于能做到像素级的控制,大量应用于像机器人高端家电等对动力需求较高的行业中。
而小体积的无刷直流电机则具有占用空间小、重量轻、响应速度快等特点,因此成为机器人领域中广泛采用的动力源转置。作为无刷电机的驱动控制装置,无刷电机驱动器在机器人领域中也至关重要,应用于消费级机器人无刷电机驱动器的主流硬件方案有德州仪器DRV8303等,该系列方案具有高集成度,将开关电源模块、场效应管驱动模块电流采样模块集成于一颗 IC 内从而缩PCB 的体积。因为有着各种优势使得该方案具有较高市场占有率,让其价格一直居高不下。近年来由于机器人应用场景越来越多降低无刷电机和无刷电机驱动器成本成为机器人企业急需解决的问题。针对该问题,本文以STM32 嵌人式系统为基础”,使用国产场效应管驱动芯片FD6288.配合INA240 电流采样芯片的硬件方案,驱动方式采用FOC驱动算法,设计一款经济型小型化的无刷电机驱动器方案,该方案成本只需 DRV8303 系列方案的一半,支持上端双电阻采集和下端双电阻采集,兼容多种 MCU 主控方案。该方案设计的无刷电机驱动器通过示波器检测输出波形,对无刷电机驱动器驱动过程中的各项数据进行分析,检测驱动器的稳定性和响应能力。
1 FOC 框架
本文设计的无刷直流电机驱动采用FOC算法,学术界也称它为矢量控制算法!7.FOC 基础框架如图1所示系统将采集到的三相电流通过 Clak变化(图2)得到两相坐标轴 1。利用 Pak 变化可将1、坐标转化成可用于计算的线性值1。通过PID 计算将系统目标值和采集到的实际值做比较计算出补偿值输出到RePark中转化成随磁场旋转的两相电压值U、U,再通过SVPWM 将产生三相马波驱动电机。
2 FOC 公式推导
不同的无刷电机驱动器在的电压驱动器件和电流采 集器件方式都有所不同,但核心的驱动公式算法都大致 相同,本文不考虑哪种类型点的外围器件,只推导核心 算法原理和相关的公式。
2. 1 Clark 变换
将电机上采集到的三相电流使用坐标系的方式表示出来,如图2中的abc , 3 个向量很明显非正交的,而使用Clark 变换可将其转化为正交的两相坐标公式如下。
2. 2 Park 变换
虽然得到相互独立正交的两相静态坐标,但还是不ark 变换公式如下将相对静态 的坐标转换成随磁场方向的动态坐标系如图3所示。
2. 3 SVPWM
SVPWM 的理论基础是平均值等效原理,即在一个开关周期内通过对基本电压矢量加以组合,使其平均值与给定电压矢量相等[8]。
2. 3. 1 空间电压矢量
假设给三相中其中一相通电定义为Sx = 1. 不通电则 为Sx = 0. 那么a导通b 和c不导通则为Sa = 1 , Sb = 0 , S c = 0.组合的结果就是U4 ( 100 )。如果在同一时刻,不同相的导通或不导通状态不同,就会产生非零矢量的相电流;而如果三相同时导通或同时不导通,就不会产生相电流,属于零矢量[9]。因此,共有6个非零矢量存 在:U1 (001 )、U2 ( 010 )、U3 ( 011 )、U4 ( 100 )、U5 ( 101 )、U6 ( 110 ) [ 10 ] 。以及两个零矢量:U0 (000 )、U7 ( 111 )。电压矢量的坐标如图4所示,在每种状态中各相分配的电压如表1所示。
2. 3. 2 基本矢量作用时间计算与三相PWM 波形的合成在每一个扇区,选择相邻两个电压矢量以及零矢量,按照伏秒平衡原则来合成每个扇区内的任意电压矢 量,即:
MOSFET 直通,还加入了信号滤波功能。售价不到德州 仪器相似器件的1/20. 可大大降低整个驱动器的硬件成本。DF6288 最高可工作在250 V 电压下,虽然在PCB 设 计时有功率设计但由于本驱动器选用了场效应管为 AON7400A 该器件最高只支持电压30 V, 电流30 A, 采样电阻最高支持20 A, 所以该驱动器的最高工作功率在 600 W, 应用原理如图7所示。
电流采样芯片选择了经济型的德州仪器INA240. 该电 流采样芯片内置硬件PWM 滤波,避免采集到电流中的PWM噪声。如图8所示,INA240 的IN + 连接采样电阻上端,IN-连接采样电阻下端,通过内部的运放减法得到采样电阻两 端电势差,REF2 为偏执电压输入端,通过INA240 用户手册 可以看出内部使用两个50 kΩ 的电阻将REF2 端口输入的偏 执电压进行二等分的分压,所以OUT 输出的电压等于采样 电阻两端电势差+1/2 的REF2 的偏置电压。
根据AD 设计的原理图设计出PCB 电路如图9所示,将 设计好的PCB 图生产打样,焊接完元器件如图10 所示。
4 软件设计
该软件系统采用了STM32f405 嵌入式系统开发,开 发语言为C/C + + 编程,开发软件使用ST 官方提供的 CubeMX 生成外设代码,IDE 使用Keil + Clion 联合开发,Keil 用于代码调试,Clion 用于代码撰写和版本管理,软 件框架如图11 所示,由于电机工作是周期性圆周运动,其位置环也叫角度环。
5 驱动调试
该项目测试系统平台和工具如图12 ~13 所示。系统 包括云台电机、伺服驱动器和笔记本电脑、便携式示波 器、单路电源、无线调试器。测试内容有定时器输出、电流采样、电流环、转速环、角度环。通过示波器检查 定时器输出波形是否稳定、采样中断是否正常工作,PC监测三闭环的输出形。
测试SVPWM 的运算结果是否正确,需将Id 和Iq 设 置为固定值,在主函数内定义一个变量Angle, 初始化为0. 在每次循环中自增1. 直到360 重新置0. 每个循环末尾延时1ms。将角度值赋到RePark 函数,函数内部将Id , Iq 和角度通过RePark 变换后赋给SVPWM 函数。将代码烧录后启动,可以看到电机会开始慢速旋转,至于旋转的速度取决于设增加角度的频率,同时将SVPWM 三相计算结果使用串口打印出来得到一个如图14 所示的三相马蹄波,X 轴对应时间t, Y 轴是输出电压的百分比对应到单片机的PWM 占空比。
由于该驱动器电阻采样方案是下端双电阻,该方案的采样特点是需要在SVPWM 一个周期末到另一个周期初的时刻采样如图15 中A1 , B1 , C1 三相中间对齐模式的PWM 周期末到下一个周期初时刻进行电流采样,也 就是说在此刻三路半桥上端同时关闭下端同时开启,此 时无刷电机三相同时接地,由于电机线圈的寄生电感在 三端的闭合形成回路,电流流过采样电阻,可采集比较 稳定且接近工作电流。在软件里配置定时器为中间对其 模式,并在每个PWM 周期结束触发一次事件,在ADC配置基于定时器事件触发采样既可实现下端双电阻的采 样条件,为了更直观看到效果,在电流采样触发中断中 对一个IO 口电平拉低后又抬高,再用示波器抓取该IO口电平变化和定时器输出的三相PWM 输出中的其中一 相IO 口的电平变换,抓取效果如图16 所示,绿色为定 时器某一通道的输出波形,黄色为中断中改变电平的测 试引脚,很明显当每个PWM 周期绿线波形结束时触发 了中断内设定的IO 口黄色曲线的电平变化,证明电流采 样的中断事件是被触发的,也就是说ADC 采样可以顺利 的在每个PWM 周期末采样。
测试电流采样中断事件能成功触发证明程序能进入,电流也采样到相应的值。而将采集到的值打印出来得到如图17 的三相正弦波,X 轴对应时间单位ms , Y 轴是ADC 采集到值减去偏置电压对应的ADC 值(该值在不同板上都有所不同,所以需要预先单独测量)。转换为实际电流公式如下:
整定电流环和速度环PID 参数[14] , 测试速度环的响应能力,将速度环设置初始值为800 r/min, 等速度稳定到目标时将其目标值改为-800 r/min (X 轴对应时间单位ms , Y 轴为rmp 值),将其工作时的速度值使用串口打印出来如图18 所示,可以看出该驱动器有着优异的速 度响应能力。
在机器人控制中,电机的角度环能否稳定控制很大 影响机器人动作控制。本驱动器实现电机角度控制的方 式是在速度环上在加上角度环PID 实现角度的校准控制,由于在程序中PID 反馈值加了圈数,所以在PID 运算时 接收的反馈值等于(圈数× 编码器一圈数值+编码器反 馈值)× 0. 1. 编码器选用了AS5047P, 它每一圈的值为16 383. 其中0. 1 倍的增益是为了便于PID 参数的调整。如图19 所示(X 轴对应时间单位ms , Y 轴为编码器单位值)黄色线为给定的目标值,蓝色线为电机编码器+圈 数总值,很明显该驱动电机有着很明显的角度响应能力。
在机器人关机电机工作中,电机常常是处于负载情 况的,所以对角度环的负载测试是很有必要的。
在给定角度的目标值,电机空载稳定到目标角度值后,用手给定电机外加随机且方向不确定的负载,测试电机在不 同的负载情况下的角度控制的稳定性,把测试过程中电机的实时角度使用出口打印出来如图20 所示(X 轴对应时间单位ms , Y 轴为编码器单位值),可以看出驱动电机在不同负载的情况下角度控制能符合使用要求。
6 结束语
针对消费级机器人的无刷电机驱动器的应用需求,本 文采用了基于经济型小体积通用器件STM32 主控方案配合 场效应管驱动芯片FD6288 和INA240 电流采样芯片,实现 基于FOC 算法驱动无刷电机的无刷电机驱动器硬件方案设 计。经过测试,本驱动器控制稳定,响应速度快,满足应用 于消费级机器人无刷电机驱动要求,在通讯方面也支持主 流的通讯协议,如USB,串口,SPI 和CAN 等通讯协议。该 驱动选用的器件都是市面上主流通用器件,大幅度降低了 驱动器后期的器件停产的的风险和生产成本。这款经济型 小型无刷驱动器的设计为消费级机器人的无刷电机驱动设 计提供了一个可行的驱动硬件方案。
参考文献:
[ 1 ] T Wchun ,Q Vtran ,H Hlee. Sensorless control of bldc motor drive for an automotive fuel pump using a hysteresis comparator [J ] . IEEE Transactions on Power Electronics ,2014 ,29 (3 ):1382-1391 .
[2 ] 谭建成.永磁无刷直流电机技术[M ] . 北京:机械工业出版社,2011.
[3 ] 夏长亮.无刷直流电机控制系统[M ] . 北京:科学出版社,2009.
[4 ] 王硕,康劲松,钟再敏,等.电动汽车用永磁同步电机转矩脉动抑制方法综述[J ] . 电源学报,2016 ,14 (5 ):24.
[5 ] 李自成.无刷直流电机无位置传感器控制关键技术研究[D]. 武汉:华中科技大学,2010
[6 ] 原国强.基于STM32 的交流电机磁场定向控制系统设计与实现[D ] . 天津:天津大学,2015.
[7]钟斌.新型双馈磁场调制电机建模及其矢量控制研究[D] .西安:西北工业大学,2014.
[ 8 ] 袁琼珍.新型SVPWM 异步电机控制的仿真研究[J ] . 防爆电机,2014 (6 ) .
[9]李硕.永磁同步电机控制方法研究与测试系统实现[D]. 哈尔滨:哈尔滨工业大学,2018.
[10]李建超.永磁同步电机直接转矩控制技术的研究[D]. 哈尔滨:哈尔滨工业大学,2007.
[ 11 ] 张少伟.SVPWM 在有源逆变中的研究与应用[D ] . 北京:华北电力大学,2008.
[ 12 ] 武丽晓.基于FPGA 的SVPWM 系统设计及Simulink 仿真[ D ] . 保定:河北大学,2014.
[13]黄丽萍.基于无差拍控制的PWM 整流器研究[D]. 沈阳:东北大学,2013.
[ 14 ] 吴庆勋,姜文强,孙红飞,等.基于模糊PID 的无刷直流电机电流跟踪控制[J]. 天津理工大学学报,2011(3):9-13 .
[ 15 ] 颜小刚.无位置传感器BLDCM 的FOC 控制系统设计与实现[D]. 成都:电子科技大学,2020.
[16]刘法民.近极槽无刷直流电机的设计研究与损耗分析[D] .广州:华南理工大学,2015.
[ 17 ] 韩建民.基于SVPWM 算法优化的永磁同步电机振动分析与抑制[D ] . 南京:东南大学,2018.
[18]权东.高性能无刷直流电机调速系统设计[D]. 镇江:江苏大学,2010.
[ 19 ] 马梦意.基于XMC4800 和EtherCAT 的伺服电机控制系统设计[D]. 杭州:浙江工业大学,2020.
