前言
磁流变阻尼器(mrfd)的阻尼力调节主要依靠调节其内部励磁线圈电流的方式实现,一般通过控制器将外界控制端发出的控制信号转变为一定的输出电压(由线圈电阻大小决定)、电流(由线圈线径决定)输入励磁线圈。在工程控制过程中,磁流变阻尼器控制器的实时精确调节对阻尼器性能的影响很大。从设计原理来讲,mrfd控制器主要分成电压源控制器和电流源控制器两种。根据(1)对励磁线圈的等效电路图分析可知电流源响应速度快于电压源。因此mrfd控制器的设计几乎都采用电流源控制方式。
mrfd控制器的性能指标有:磁流变阻尼器的控制电流与阻尼力的线性关系,要求控制电流连续可调并具有较高的线性度和较小的相对误差;振动控制的实时性要求控制器响应速度要快;用于现场测控时需要友好的人机界面、和外部测控系统的无缝连接;用于独立控制时能够提供各种内置的控制算法等。
本文给出了一种基于c8051f310 mcu的磁流变阻尼器控制器的设计方法。
控制系统设计
图1 磁流变阻尼器控制系统硬件框图
磁流变控制系统硬件总体框图如图1所示。磁流变控制系统主要由8051f310处理器、执行模块、手动输入输出模块、外部控制系统接口模块等部分组成。各部分功能如下:
8051f310处理器:利用 a/d采样各项参数,接受内外部发出的控制命令,并通过pwm转换输出到执行系统。
执行模块:利用8051f310处理器发出的pwm信号控制驱动阻尼器。
手动输入输出模块通过键盘和显示器与8051f310处理器连接。
外部控制系统接口模块: 通过专用接口与外部pc机控制系统串接。
硬件电路
c8051f310的可编程计数器(pca0)由一个专用的16位计数器/定时器和5个16位捕捉/比较模块组成。将捕捉/比较模块的工作方式设定为8位pwm,把pwm脉冲输出到mos管功率驱动单元,从而控制磁流变阻尼器的电流值。将通过阻尼器的电流采样放大后,送入c8051f310的a/d单元中,经过a/d转换后由软件滤波得到电流量,并被传送给显示单元axg12864 led。将电流值与设定的电流值相比较得到的误差值,通过特殊的算法来调节pwm的脉宽,这样就形成了磁流变阻尼器电流的闭环控制系统。
键盘控制电路采用了4×4的数字键盘,用外中断来读取键盘的值,从而解码出被按下的键值,从而可以手动设置磁流变阻尼器控制电流值,并且把按下的键值传送给显示单元axg12864led。
axg12864显示模块显示屏为128列、64行、使用1片有64行输出的行驱动器和2片列驱动控制器,其中每片列驱动器有64路输出。行驱动器与mcu没有关系,只要提供电源就能产生驱动信号和同步信号,模块的外部信号仅与列驱动器有关。列驱动器内置64×64位显示存储器,ram被分为8页,每页8行;显示屏上各像素点显示状态与显示存储器各位数据一一对应,显示存储器的数据直接作为图形显示的驱动信号,为“1”显示,为“0”不显示。图2为axg12864显示模块自身的逻辑电路接口框图。
图2 vgs12864显示模块的逻辑电路接口框图
利用c8051f310的uart0单元与上位机(pc机)通讯。它是一个异步全双工的串口,这里我们把它设定在8位uart方式,并通过max232转换芯片转换为rs232电平,从而可以同pc机的com口来完成通讯功能。在pc机上使用vb编程,通过调用mscomm控件来对com口操作,从而实现对磁流变阻尼器的控制,也实时地读取磁流变阻尼器的当前状态值。
磁流变阻尼器控制系统各个接口的电路图3所示。
图3 磁流变阻尼器控制系统接口电路图
软件设计
软件系统设计采用中断向量法,用到的中断包括a/d采样中断、pwm中断、异步串口中断、键盘中断、显示器中断和故障中断。优先级顺序从高到低依次为故障中断、pwm中断、a/d采样中断、键盘中断、异步串口中断、显示器中断。部分程序框图见图4。
图4 故障中断子程序、系统主程序、pwm子程