美章网 资料文库 电机控制系统设计分析范文

电机控制系统设计分析范文

本站小编为你精心准备了电机控制系统设计分析参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。

电机控制系统设计分析

《天津工业大学学报》2016年第二期

摘要:

针对传统电机的模拟信号输出和PWM信号输出分辨率不高、抗电磁干扰能力差的问题,开发了一套电机控制系统.该系统兼容模拟信号输出和多种SENT协议的信号解析方式,以32位的STM32F103VCT6单片机为核心处理器,接收三轴霍尔传感器的角度信息,并根据上位机下发的目标角度对电机进行PID闭环驱动.经实验测试验证,该系统能够精准地控制电机的旋转位置,能够实现多种协议的兼容.在SENT协议模式下,电机旋转的角度误差均在0.12%以内,误差低于传统的模拟信号输出方式.

关键词:

STM32F103VCT6;自适应SENT协议;电机控制系统;三轴霍尔传感器

电动机是发明和使用最早的电机之一,可以实现平滑而经济地调速,不需要其他设备配合,只要改变输入或励磁电压电流就可实现调速,故在现代生产生活中得到广泛应用[1].相比于传统的电机控制系统,基于三轴霍尔位置传感器的精确电机控制系统在一些要求比较高的电机控制领域逐步得到了应用[2].但是一般是基于模拟和PWM的输出方式.这2种信号输出方式抗电磁干扰能力弱,精度不够高,成本较高.美国汽车工程师学会(SAE)于2008年制定了SENT2008(SAEJ2716-2008)协议标准,2010年又制定了新的SENT2010(SAEJ2716-2010)协议标准,旨在于提供更精确有效并且低成本的电机控制解决方案.SENT为汽车传感器新型接口标准.相比于模拟信号输出和PWM输出方式,基于SENT协议的电机控制是一种可以有效降低成本、节省线束、节省插针结头的低成本方案,具有很好的EMC特性,并且能传输故障代码从而使传感器系统具有很强的故障诊断能力.它有助于取代传感器和微控制器之间的模拟信号传输.本文正是采用了基于这种协议的电机系统控制方式,并设计了整套的电机控制系统.本文中用到的霍尔位置传感器为MLX90324和MLX90367,它们是CMOSTriaxis霍尔传感器,给出了一个平行于芯片表面磁场的角位置,是专为非接触式旋转位置传感器设计的.CMOSTriaxis霍尔传感器检测出定位和转动在设备表面上的一块小磁铁的绝对角位置.MLX90324既能支持模拟输出,也支持2008版协议的SENT信号输出,而MLX90367只支持2010版协议的SENT信号输出.对于一个未知信号输出的电机模块,MCU如何去自适应它将是今后面临的一个问题.本文将讨论这3种信号输出方式以及解析方法,并设计一套自适应SENT协议的电机控制系统.

1SENT2008和SENT2010协议分析

SENT协议的全称为单边半字节传输协议,是一种单线异步串行通信协议,是一种类PWM的信号输出方式.2008版协议一帧数据的长度包含8个Nibble和1个校验位(1个Nib-ble由4个Bit组成,Nibble值的范围是0~15,由12~27个Tick表示,1个Tick的范围是3~10μs,一般是3μs左右),如图1所示.SENT是一种点对点的单方向从传感器到控制端的协议,每一个Nibble数据被编码成PWM方式.先输出5个Tick的低电平,然后输出7+n(n的范围是0~15)个Tick的高电平.传感器信号以一串方波来传送,方波下降沿之间时间的长短表示信号的大小.传感器上电后会立即发送数据,接收机不需要任何同步校验信号.设计这种协议的目的是用在与汽车ECU快速交互信息的传感器上,以此来取代低精确度的12bitAD和PWM.

2系统设计

本系统以意法半导体公司的STM32F103VCT6为控制核心.驱动器使用的是飞思卡尔的MC33886.控制器与上位机之间通过CAN-232转换模块进行通信.如图3所示.图3中,上位机通过CAN-232模块向MCU发送目标角度命令,控制电机旋转到目标位置,电机旋转过程中磁铁与霍尔传感器的相对位置发生变化,MCU可检测到电机当前角度.MCU实时的将当前角度和目标角度两个参数送入PID算法中计算出一个控制量PWM_OUT.这样就组成了一个带闭环PID算法的电机控制系统.

2.1硬件设计本系统分别设计了基于MLX90324和MLX90367的3组电机信号输出电路.信号处理单元采用单片机实现.STM32F103VCT6是ARM公司的STM32增强型系列,内部使用32位的Cortex-M3内核,工作频率为72MHz,内置高达128kB的闪存和20kB的SRAM,所有型号的器件均包含2个12位的ADC、3个通用16位定时器和一个PWM定时器,还包含标准和先进的通信接口:多达2个I2C和SPI、3个USART、一个USB和一个CAN.工作温度范围为-40~105℃,供电电压为2.0~3.6V.该内核是专门设计用于满足集高性能、低功耗、实时应用、具有竞争性价格于一体的嵌入式领域的要求[3-4].

2.1.1传感器设计位置传感器采用的是Melexis公司的MLX90324和MLX90367,MLX90324和MLX90367的优点如下:(1)绝对旋转位置传感器IC;(2)Trixis霍尔技术-非接触式;(3)完整的360°角或有限角度的应用;(4)-40~150℃环境温度范围.3组电机控制系统如图4—图6所示.

2.1.2电机驱动模块设计直流电机驱动采用飞思卡尔公司的5A集成H桥芯片MC33886.MC33886芯片内置了控制逻辑、电荷泵、门驱动电路以及低导通电阻的MOSFET输出电路,适合用来控制感性直流负载,可以提供连续的5A电流,并且集成了过流保护、过热保护、欠压保护.通过控制MC33886的四根输入线可以方便地实现电机正转、能耗制动及反接制动.使用2片MC33886并联,一方面减小导通电阻对电机特性的影响,另一方面减小MC33886内部的过流保护电路对电机启动及制动时的影响[5-6],如图7所示.

2.1.3CAN收发模块设计本设计采用的CAN总线驱动器是由Philips公司生产的TJA1040,该器件设计的目的是用以替代82C250的高速CAN总线驱动器.TJA1040提供了CAN控制器与物理总线之间的接口以及对CAN总线的差动发送和接收功能,同时还具有极低功耗的待机模式,以及通过总线唤醒能力.当TJA1040断电时,总线反向电流为零,这样,没有接通电源的节点不会对网络其他部分造成影响[7-12],实际上它们此刻是不可见的.这种特性使得TJA1040非常适用于局部网络中的供电与点火开关相连的节点.设计电路如图8所示.

2.2软件设计由于2010版SENT协议比2008版SENT协议多出一个可变的暂停位,这个暂停位的变化范围为12~768个Tick.该暂停位可能与帧头56个Tick相等,所以就不能用56个Tick的同步位来判断帧头了.SENT协议的解析是使用定时器来采集2次下降沿之间时间的长短来解析数据大小的,SENT信号的下降沿触发定时器中断.当采集到56个Tick的数据时,先暂时认为这是帧头,当再次采集到56个Tick长度的数据时,判断在这期间触发了几次中断,若一次,说明上次采集到的值是暂定位,这次才是真正的帧头,并且可以判定连接的是MLX90367.若触发了10次,则说明上次采集的就是帧头,而这次采集的是第二帧的开始,并且可以判断出连接的芯片是MLX90367.若触发了9次,则说明这2次采集的都是帧头,而且通过一帧数据的长度可以判定出连接的芯片是MLX90324.只要能判定出连接的是哪种芯片,就可以做到2种协议的兼容.系统软件设计流程图如图9和图10所示.图9为主函数流程图和目标角度接收流程图.通过CAN中断接收上位机发送的目标角度命令.主函数对当前角度与目标角度进行实时处理,若当前角度与目标角度不相等,则PID算法不断的改变输出量来驱动电机向目标位置旋转.当前角度与目标角度相减满足一定的误差范围便停止输出,使电机停止转动.图10为SENT解析流程图.SENT的解析是通过定时器的输入捕捉中断功能实现的,捕捉2次下降沿之间的时间大小来解析代表的数值.进入中断后先判断帧头,然后判断出所选的芯片是基于哪个版本的SENT协议,进而可以判断出需要接收多少个Nibble的数据.如果是基于SENT2008协议,则需要接收8个Nibble的信息,如果是基于SENT2010协议,则需要接收9个Nibble的信息.这样就完成了一帧数据的接收.完成一帧数据接收后,开始CRC验证,验证通过后解析SENT信息中的角度.

3测试结果与分析

图11为上位机控制电机旋转的上位机界面,图中的曲线1为目标角度的时间-角度曲线图,曲线2为实际角度的时间-角度曲线图.电机按照预先设定好的时间-角度旋转.图12、图13和图14为电机旋转主控软件界面,可设定电机旋转的目标角度,按ENTER键电机就会旋转到相应的角度,并且自动设别出接口类型.图14为捕捉到的处于旋转路径上的电机主控软件界面图.分别实测了3种信号输出方式下目标角度与实际角度的数值,每组重复测试了50次,分析实验数据得到,SENT2008协议下的角度误差约为0.116%,SENT2010协议下的角度误差约为0.103%,而模拟信号输出方式下的角度误差约为0.977%,2种SENT协议下的电机旋转控制精度明显高于传统的模拟信号输出方式。

4结语

本文在传统电机控制模拟信号输出和PWM的基础上,结合了近年提出的基于SENT协议的电机控制方法,设计了一套电机控制系统,并给出了一种判别电机模拟信号输出和基于SENT协议信号输出的自适应方法.经过实验验证,该套系统能做到信号输出模式自适应.上位机通过向MCU发送目标角度,MCU根据当前角度输出控制量驱动电机旋转,然后实时将当前角度上传到上位机进行显示.测试结果表明电机的旋转角度误差均在0.12%以内,得到了精确控制.

作者:黄鹏 杜克奎 荣锋 鲁勇 单位:天津工业大学 电子与信息工程学院