APP下载

基于C8051F020单片机的力感知控制系统设计

2016-07-23豆勤勤

赤峰学院学报·自然科学版 2016年10期
关键词:单片机

刘 涛,豆勤勤

(1.安徽工业大学 机械学院;2.安徽工业大学 工商学院,安徽 马鞍山 243002)



基于C8051F020单片机的力感知控制系统设计

刘涛1,豆勤勤2

(1.安徽工业大学机械学院;2.安徽工业大学工商学院,安徽马鞍山243002)

摘要:目前基于磁流变的力感知控制系统的开发着重于控制系统硬件研究和软件实现,在硬件设计上着重于电流驱动器和一些专用控制器的设计.文章对电流驱动器及相关电路进行了设计,并编制了相应的软件程序.实现了力感知控制系统的要求.

关键词:单片机;电流驱动;力感知

开展基于磁流变液的力感知系统课题的研究最终要建立在将力感知装置应用在力感知系统的软硬件平台,解决基于磁流变液在力感知系统中应用的一些关键技术问题,满足工业现场应用和实验研究的需要.

1 控制系统总体设计

基于磁流变的力感知控制系统的设计主要分为控制系统硬件及软件的设计及实.硬件设计着重于电流驱动器和一些专用控制器,本文目标是开发既能满足实验研究需要,又能满足现场的力感知控制系统的软硬件平台.力感知控制系统不仅能够为力感知装置提供电流驱动,且可以实时地处理传感器信号,遵循指定的控制算法进行.

单片机C8051F020是一个完整的数据采集与控制系统,片上集成了A/D转换模块、PWM脉宽调制模块等功能,因此选用C8051F020单片机作为控制系统的核心.它承担着信号采集、分析、运算控制、数据存储等任务.整个控制系统结构如图1所示,主要包括位移传感器、力传感器、力感知装置、电流驱动电路等几部分.

其工作原理为:由传感器测得被控对象外部力信号,传感器信号经过控制和分析后输入控制器计算控制输出,传感器采用的是力-电压传感器,因此输出一定的电压信号,电流驱动器把此信号通过一定的算法转换为控制电流加到力感知装置的励磁线圈上,由于改变力感知装置线圈的激磁电流的大小可以改变磁流变液中的磁场强度,使工作缸内的磁流变液黏度发生变化,人手推动手柄就可以感受到不同力的作用.从而实现力感知.

图1 力感知控制系统示意图

2 电流驱动器的设计

力感知装置的驱动电流的实时精确调节对其性能的影响很大.其性能指标很多:根据磁流变阻尼器的控制电流与阻尼力的关系,要求控制电流连续可调并具有较高的线性度和较小的相对误差;控制系统的实时性要求控制器的响应速度要快,另外还需满足实际的产品化要求,如功耗小,功率高,体积轻便等[5-7].

图2 电流驱动器工作原理图

力感知装置的控制电流源类似于磁流变阻尼器的控制电流源,因此设计原理与磁流变阻尼器相同.电流控制器采用流源控制方式:其优点是在电源可能的范围内,控制器均可提设置的电流大小,励磁线圈对电流源响应较快.

本文设计的力感知装置采用直流供电,避免了涡流损失.单片机C8051F020是电流驱动器的核心,其工作原理如图2所示.

图中Vg为经整流滤波后输入的直流电压,本实验中使用12V直流电源供电,磁流变阻尼器最大通过电流限制为0.4A,Q为功率MOSFET,本文采用 ST70A,由于单片机最高输出电平为2.7~3.3V,ST70A的工作电压为5V,因此要使用电平转换芯片LVC4245进行电平转换,采用D为快恢复二极管,型号为IN4937,RM是磁流变阻尼器的等效阻抗,大小为4.1Ω,单片机为C8051F020芯片,是控制系统的核心.在PWM脉宽调制信号控制下,Q工作在开关状态下,Q的工作频率和占空比等于PWM脉宽调制信号的频率和占空比.Q导通时,D处于截止状态,直流电压Vg加在D的两端,经LC滤波后对磁流变阻尼器供电;Q截止状态时,输入电压为0,D在回路电感的作用下导通,构成续流回路.I为一个周期内的平均输出电流.RS为采样电阻,KI表示输出电流的采样,K为增益系数,KI输入到集成的A/D转换接口,单片机对采样信号进行运算后,根据相应的策略输出一定占空比的PWM信号,控制主回路输出电流的大小.

纹波电压、纹波电流、平均输出电流可通过公式1-4计算.

3 控制系统的软件设计

在主程序中,首先完成系统的初始化[6],包括C8051F020、定时器和外部中断的初始化.控制系统的软件采用汇编语言设计,系统工作时主程序可以处理其它事务,当定时器2发生周期中断时,触发A/D采样,然后根据电流控制算法程序,输出PWM信号的占空比D,D送给PWM信号发生模块,产生的PWM信号用于控制驱动电流的输出.整个控制流程图如图3所示.

图3 主程序流程图

3.1数据采集模块

本文采用12位ADC的工作方式,不同型号的ADC工作方式略有不同,但都需要使用VREF来确定它的满度电压,因此在进行一次转换之前必须正确设置这个参考电压.ADC的转换时钟来源于系统时钟.可以通过设置ADC0CF寄存器的ADCSC位,将转换时钟的速度降为系统时钟的1/2,1/4,1/8,或1/16.这一功能用于根据不同的系统时钟速度调整转换速度.不同型号的ADC工作方式虽然有差别,但大同小异.

本实验将外界力信号通过传感器转化为0~5V的电压信号,对此电压信号进行采样.为了保证足够的精度,采用12位的ADC模块.采用定时器3溢出启动A/D转换,采用内部振荡器,选择系统时钟频率为4MHz,定时器3的溢出时间为10ms.定时器3不仅用于定时中断,还用于启动A/D转换.定时器3溢出一次,启动一路A/D转换,即在中断程序中,一次有1路模拟电压信号完成数据的启动、转换和采集.

当系统时钟频率为4MHz,定时器3的定时间隔为10ms,它的重装载值X应该如下计算:定时技术次数为 10000μs÷0.25=40000,重装载值X=65536-40000=63C0H.

3.2PWM脉宽调制模块

脉宽调制PWM是通过改变一个脉冲宽度的占空比改变输出波形的方法(占空比是波形为高电平的时间与PWM信号周期之比),这种方法在工业控制上应用广泛.C8051F020单片机具有这个模块功能.采用PCA产生PWM信号可以提高CPU的工作效率.

本实验采用8位脉宽调制输出方式输出占空比可变的波形.占空比随着所采样电压信号的大小而变化,每隔10ms,使电压变化1次.仍然利用定时器3定时10ms.信号由CEX0引脚输出.

3.3串口通信模块

C8051F020单片机是一个可编程的全双工异步串行通信接口,它可以作为通用异步接收和发送器用,也可做同步移位寄存器用,还能实现多机通信.

通过软件编程可使串行通信有4种工作方式.本文采用工作方式1,串行口为10位通用异步接口.发送或接收一帧数据,包括1位起始位0,8位数据位和1位停止位.其传送波特率可调.其接收与发送情况如下:

3.3.1发送

当执行“MOVSBUF,A”指令时,CPU将一个字节数据写入发送缓冲寄存器SBUF(99H),就启动发送器发送,数据从引脚TXD端输出.当发送完一帧数据后,T1标志置1,在中断方式下将申请中断,通知CPU可以发送下一个数据,如要继续发送必须清TI为0.

3.3.2接收

接收时,使REN置1允许接收,串行口采样引脚rxd.当采样到1至0的跳变时,确定是起始位“0”,就开始接收一帧数据.当停止位到来之后把停止位送入RB8位,则置位中断标志RI,在中断方式下将申请中断,通知CPU从SBUF取走接收到的一帧数据.不管是中断方式还是查询方式,都不会清除TI或RI标志,必须用软件清0.

本实验定义串口通信在工作方式1下,TB8作奇偶校验位.采用定时器1方式2作波特率发生器,波特率为4800,外部晶振为11.0592MHz,定时器初值TH1=TL1=0FAH.

4 总结

本文对力感知控制系统的软硬件平台进行了设计,介绍了电流驱动器的工作原理,并设计了适用于本实验系统的电流驱动器,给出了控制软件总流程.实现了力感知控制系统的工作要求,取得了较好的实验效果.

参考文献:

〔1〕余淼,廖昌荣,杨建春.磁流变阻尼器PWM快速控制[J].中国机械工程,2002,13(14):1238-1240.

〔2〕宋瑞坡,佘红,王强锋等.磁流变阻尼器阻尼力控制系统的设计[J].煤矿机械,2009,30(2):32-34.

〔3〕沈娜,王炅,王晓锋.基于C8051F的磁流变控制器设计[J].电子产品世界,2007(4):99-100.

〔4〕樊凡.基于DSP的磁流变阻尼器控制系统的研究[D].武汉:武汉科技大学,2006.

〔5〕王立克.磁流变阻尼器减振系统半主动控制方法的研究[D].天津:中国民用航空学院,2006.

〔6〕沈娜.主动变阻尼冲击减振系统的控制研究[D].南京:南京理工大学,2007.

〔7〕李一平.磁流变阻尼器的控制器及其应用[D].重庆:重庆大学,2005.

中图分类号:TP339

文献标识码:A

文章编号:1673-260X(2016)05-0007-03

收稿日期:2016-03-29

基金项目:安徽省科技厅自然科学基金(KJ2013B039)

猜你喜欢

单片机
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
小议PLC与单片机之间的串行通信及应用
MSP430单片机在仿真中要注意的几点问题
基于单片机的平衡控制系统设计
基于单片机的三维LED点阵设计
Microchip推出两个全新PIC单片机系列
基于Proteus的单片机控制系统的仿真设计