APP下载

基于ARM的微型化智能伺服驱动器设计

2018-09-11王广龙乔中涛高凤岐

传感器与微系统 2018年9期
关键词:直流电机驱动器时钟

林 森, 王广龙, 乔中涛, 高凤岐

(陆军工程大学 纳米技术与微系统实验室,河北 石家庄 050003)

0 引 言

目前国内外在控制驱动系统的研究中投入了大量的人力和物力。具有代表性的包括研旭[1]、居逸[2]、艾思控[3]、Elmo[4]等公司,其代表产品旨在实现控制驱动器的微型化和智能化,但无法较好满足大功率伺服驱动器的需求。因此,需要研制一种大功率智能伺服驱动器以满足目前人形机器人关节、智能车驱动、云台等的精确运动控制。

本文设计的智能伺服驱动器采用ARM微处理器为核心[5,6],以大功率集成驱动器件实现对无刷直流电机(brushless direct current motor,BLDCM)的控制和驱动,以控制器局域网(controller area network,CAN)总线完成指令和参数的传输[7~9],速度环采用自适应模糊比例—积分—微分(proportion-integration-differentiation,PID)控制算法实现对BLDCM的转速调节[10],该驱动器具有功率大、精度高、体积小、接口方便等特点,可实现BLDCM高精度和快速响应的要求,可通过添加无线局域网(wireless fidelity,WiFi)模块、红外模块等实现更多的控制功能,可广泛应用于航天、数控、医疗器械等领域[11]。实验结果表明:该控制器对BLDCM具有良好的控制效果,具有较高的推广价值。

1 智能伺服驱动器设计

智能伺服驱动器由ARM控制模块和驱动模块组成,如图1所示。其中ARM控制模块包括ARM微处理器,CAN,通用串行总线(universal serial bus,USB),串口电路等,驱动模块包括电源转换、三相集成驱动器、相电流检测电路等。BLDCM通过驱动模块输出的三相电压工作。驱动模块具有欠压、超温、过载、短路保护特性和可编程的限流保护功能[9]。

图1 智能伺服驱动器硬件结构

驱动器工作时,ARM控制模块通过CAN总线接收控制指令,由驱动模块实现对BLDCM的控制。其中驱动模块的器件采用三相脉宽调制(pulse width modulation,PWM)电机驱动芯片DRV8332,可代替传统的6个MOSFET驱动器实现三相控制,驱动电压可达50V,连续相电流达8 A,最大13 A。通过ARM控制模块输出的3路PWM信号实现BLDCM转动角度和速度的精确控制。

霍尔传感器输出的3路转子位置信号反馈给ARM控制模块实现电机换相,磁传感器输出的电机角度信号反馈到ARM控制模块,经过解算得到电机当前角度和转速,磁传感器的分辨率可达0.087 9°,满足无刷直流电机角度精确控制的要求。霍尔电流传感器采样到相线电流并将其转换为电压值后送入ARM控制模块A/D端口,解算后进行过流判断,起到过流保护的作用。

2 模糊PID控制器设计

采用自适应模糊PID控制器的速度环实现对转速的精确控制,通过设定比例因子和量化因子,建立二维模糊PID控制器,其结构如图2所示。模糊控制器的输入语言变量为给定转速ne和BLDCM实际转速ns的误差e与误差的变化率ec。实际输出变量为PID的3个参数Kp,Ki,Kd的校正量ΔKp,ΔKi,ΔKd。

图2 模糊PID控制器结构

在模糊控制中,将得到的各个数据进行模糊化,才能接受模糊规则的处理。本系统中将输入e,ec和输出ΔKp,ΔKi,ΔKd的论域设为[-6,6],并使其离散化,分为7级,分别为{NB,NM,NS,ZO,PS,PM,PB},建立隶属度函数为“三角形”。根据不同PID参数调整模糊原则,得到输出变量ΔKp,ΔKi,ΔKd规则表,如表1所示。

表1 输出变量模糊规则表

得到输入量隶属函数、输出变量的隶属函数与3个输出量的控制曲面。

采用“重心法”对模糊推理得到的模糊集合去模糊化,其数学表达式为

(1)

式中uc(z)为变量z的隶属函数。通过式(1)可得出模糊控制器的两个输入量的精确值{E,Ec},并代入式(2)计算

(2)

本文智能伺服驱动器速度环采用自适应模糊PID控制算法实现对转速调节的快速响应和稳态精度,满足了无刷直流电机转速精度、响应速度和动静态稳定性的要求。

3 智能伺服驱动器软件设计

驱动器的软件采用Keil开发环境,编程语言为C语言。驱动器软件分为主程序模块和系统功能模块。主程序模块包括系统时钟配置、中断配置、HALL模块、PWM模块、模数转换器(analog digital converter,ADC)模块、系统定时模块、CAN总线模块、USART模块、USB模块等初始化。系统功能模块则包括各中断服务功能子程序。如图3(a)所示,系统初始化完成后,首先确定系统功能模式,然后定时通过CAN总线发送当前状态信息给上位机,进入中断等待。

驱动器的功能大部分依赖于中断程序的运行,对于中断程序的配置和其优先级的设置是程序设计的关键,其中转速位置调节中断次优先级应设为最高,其函数流程如图3(b)所示,CAN接收中断的优先级应设为最高,其函数流程如图3(c)所示。

CAN总线对于系统时钟的配置和波特率的设置要求最为严格,波特率相同系统间才可以正常通信,因此控制系统需要相同的高速外部时钟HSE作为时钟源。如果HSE不工作,STM32时钟源会自动转为内部时钟造成时钟紊乱进而造成CAN通信失败。

换向程序设计的准确性关系到BLDCM能否正常稳定的运转,在执行换相程序时,通过获取霍尔传感器发送的霍尔信号得到当前位置信息,并将接口定时器的输入捕获通道设置为上升沿触发,根据获得的当前位置,改变TIM1高级定时器的配置,从而改变3路PWM输出,同时需要调整3路RESET信号的高低电平,完成换相功能。

图3 驱动器软件流程

4 实验验证及数据分析

通过完成BLDCM控制驱动系统的搭建,上位机通过CAN总线实现对BLDCM的实时控制,CAN总线上的信号波形如图4所示。

图4 CAN总线通信波形

上位机通过CAN总线更改电机的设定转速实现电机调速,也可以设置转动角度,实现电机角度调节。智能控制驱动器输出的电机相电压波形如图5所示。图中上方波形为A相,下方波形为B相,两相间相差120°电角度,智能控制驱动器通过输出3个两两相差120°电角度的梯形波形,实现对BLDCM的控制。实验采用的电机,其额定电压24 V,额定功率60 W,额定转速为3 000 r/min。PID的初始值设为Kp=9,Ki=18,Kd=0.05,设定转速为1 000 r/min,当运行3 s时,将设定转速调至1 500 r/min。通过MATLAB软件建立自适应模糊PID算法仿真模型,电机传递函数为1/(0.003 9s2+1.683s+0.049),得到一组仿真数据,通过完成控制器的搭建与实验,得到一组实际实验数据,两组数据结果如图6所示。

图5 BLDCM相电压波形

图6 电机转速仿真和实验响应曲线比较

从电机转速的响应曲线可以看出,仿真曲线与实验所获得的曲线大致相同,当设定转速为1 000 r/min时,伺服驱动器的调节时间大约为0.4 s,超调量为1.2 %,当设定转速调至1 500 r/min时,伺服驱动器的调节时间大约为0.19 s,无超调量。分析可以看出,系统稳定时实际速度基本稳定在设定值附近,稳态精度在0.3 %之间。

实际实验中为了获得空载和带载时电机转速响应数据,通过连接器将一个带有减速器的直流电机与控制系统的BLDCM相连,BLDCM带动直流电机旋转,直流电机作为发电机给3 Ω电阻器供电。当BLDCM输入为24 V时,空载时母线电流为0.07 A,带载时母线电流为0.18 A,直流电机产生23.5 V电压。空载和带载状态下设定转速为1 000 r/min时转速响应比较如图7所示,可以看出,相比于空载状态,BLDCM在带载的状态下超调量增大,调整时间延长,稳定精度大致相同。

图7 电机空载和带载时转速响应曲线比较

表2 系统角度设定值对应的输出数据 (°)

5 结 论

本文设计了一种新型的微型化、大功率智能伺服驱动器,实验表明:该智能伺服驱动器响应速度快,调节时间短,超调量小,转动角度精度高,获得了较好的启动性能和运行性能,满足BLDCM控制驱动系统对于稳定性和精确度的要求。

猜你喜欢

直流电机驱动器时钟
基于模糊PID的无刷直流电机速度控制系统的设计与仿真
基于模糊自适应ADRC的无刷直流电机控制技术
别样的“时钟”
古代的时钟
藏起驱动器号确保数据安全
空间大载荷石蜡驱动器研制
基于FPGA的双绕组无刷直流电机软件设计
有趣的时钟
压电陶瓷驱动器的迟滞特性
直流电机电源设计研究