基于DSP2407A和MCGS触摸屏,设计了变频恒流稳压微弧氧化电源人机界面。通过设计串口通信规约及开发MCGS驱动程序和DSP解析程序,实现了人机界面对微弧氧化电源的数据采集及监控。该人机界面实现了数据存储和导出,为分析微弧氧化过程及优化工艺奠定了基础。
1 引言
微弧氧化(MAO)技术是一种金属表面处理技术,经过微弧氧化处理后提高了金属的耐磨性和耐腐蚀性,在国防装备、航天、机械、汽车、船舶等领域得到了应用。微弧氧化是将铝合金置于强电场环境的溶液中,器件表面因受到电压作用而发生微弧放电,产生高压高温使微区的铝原子与溶液中的氧结合生成一层以氧化铝为主要成分的陶瓷层。
微弧氧化作为一种等离子体电化学技术受到电流密度、电压、频率、占空比及氧化时间等能量参数的影响,故在微弧氧化过程中实时记录能量参数的变化对研究微弧氧化工艺有重要作用。本设计基于MCGS及控制微弧氧化的DSP2407A设计人机交互界面,实现了对微弧氧化过程中的电参数的实时记录及监视,并支持数据导出为分析微弧氧化过程及优化工艺奠定了基础。
本文主要有四部分组成,第一部分分析了人机界面在整个系统中的位置和作用;第二部分定义了通信帧结构和开发驱动;第三部分设计DSP通信帧解析程序;第四部分分析了微弧氧化过程中电参数变化过程。
2 电源特征
根据MAO的工艺要求,电源能输出高电压大电流且频率、占空比都可调节,输出波形如图1所示。
电源参数:正向电压0~600V可调,额定电流300A,脉冲个数1~32767个可调;负向电压0~100V,额定电流150A,脉冲个数1~32767个可调;占空比5%~100%可调。脉冲频率最高可达7.3KHZ。此外根据MAO过程正负电源可以分别选择在自动模式下运行,即开始阶段为恒流输出,当膜层长厚击穿电压达到限压值后为恒压输出,整个电源系统结构如图2所示。
整个系统大致可以分为主电路,DSP控制模块,人机界面等三个模块。系统开始运行时DSP的各个功能单元都是停止的,操作员在人机界面上设定好整个系统的参数后,MCGS通过串口通信协议将设置的参数值传递到DSP模块,DSP根据串口通信的命令帧中的命令将参数传递到各个控制模块,当参数设定后MCGS人机界面就可以发送启动系统的命令帧,DSP模块就根据先前的设定启动各个功能单元。
在系统的运行过程中MCGS不停的发送采集命令帧将DSP的模拟量AD转换结果和DA通道的输出值传送到MCGS中,MCGS通过各个组件把采集来的数据以波形或数值的形式显示在界面上,并根据条件进行数据存储;当微弧氧化过程结束后,可以通过人机界面的数据导出功能将微弧氧化过程中的数据导出进行更为深入的分析。
3 通信结构
3.1人机界面需求
根据系统的工作过程可知:(1)人机界面需要设置DSP功能模块的参数;(2)人机界面需要实时采集DSP的模拟量输入和输出;(3)人机界面需要发送特殊的命令来驱动DSP的功能模块。为方便理解在 DSP中参与通信的数据都以数组的方式进行存储,根据MCGS的通信需求,在DSP中分别建立模拟量采样数组ADData[]含16个元素,模拟量输出数组DAdata[]含4个元素,数据交换数组DataE[]含16个元素。
3.2 通信帧
为实现MCGS和DSP控制模块之间的通信,本文设计了一种通信帧结构如图3所示。
整个通信帧共有8个字节组成:
- 首字节是起始码,用来标注通信帧命令的开始。
- 第二字节为地址码,用来标注本通信帧要到达的设备的地址,地址值为0~255。
- 第三字节为命令码,用来标注此通信帧的主要功能,命令码的取值区间为0~255,共可以容纳256个通信命令,在本设计中用到的命令码主要有:AD采集:0xAD;DA采集:0xDA;数据交换命令:0xDD;停止命令:0x00;启动命令:0x11;参数写入命令:0x22。
- 第四字节为操作域,用来标注命令码操作的数据域,如果要采集AD采样结果的第二通道的值,那么命令码为:0xAD,操作域为0x01,解析程序就会把第二个AD采样通道的值填入返回帧中。
- 第五字节是数据高8位,主要用于携带DSP存储单元中的高8位数据,在DSP中数据以16位为一个存储单元,而串口通信则以8位为一个单元,所以要传输一个DSP数据存储单元的值就得分为高8位和低8位。对于一些并不携带通信数据的命令,如启动命令:0x11,只要在DSP的通信帧解析中加以屏蔽即可,为了通信帧的统一性还是要保留数据位的通信。
- 第六字节为数据位低8位,主要用于携带DSP存储单元中的低8位数据。
- 第七字节为数据结束位,这是为多数据通信预留,以便实现用一帧传送多数据。
- 第八字节为帧停止位,用来标注通信帧的结束。
4 驱动开发
在DSP的应用中为了实现对象控制往往需要一个人机界面,通常采用的方法是MCU+DSP,即用一个MCU做人机界面,用DSP做控制。这种方法虽然可以解决简单的人机界面问题,如键盘输入、LCD显示输出等,但很难实现变量变化趋势监控,而且开发难度大、风险大、难以实现大量数据存储查询等复杂功能。
北京昆仑通态公司推出的mcgsTpc系列嵌入式HMI(人机界面)产品广泛的应用于工控领域,性能稳定,提供了完整的开发平台,用户可以根据需要自行开发硬件的驱动程序,实现组态;而基于DSP设计变频恒流稳压微弧氧化电源控制器并非通用设备,MCGS并没有提供相应的设备驱动。
基于图3的通信帧结构,本文开发了变频恒流稳压微弧氧化电源控制器的MCGS驱动,将DSP和MCGS连接起来。MCGS上的驱动与DSP通信结构如图4所示。
MCGS上的驱动主要通过三种方式发送命令帧与DSP进行通信:
第一种周期采集,即周期的收发通信帧,主要是对AD、DA结果进行采集,如图4所示,驱动给出了与上层应用的接口:AD、DA通道。
第二种命令驱动,驱动给出设备命令函数,上层应用只要调用相应的函数就可以收发通信帧。设备命令有:Stop(发送停止命令)、ConGo(发送启动命令)、RDSP(CHL AS INTEGER,Fd AS INTEGER)(读通道值)、WDSP(发送数据更新命令)等。
第三种方式是数据改变时触发通信,收发通信帧。在上层的应用中,如果与数据交换通道相连的变量的值发生改变时,就会触发一次通信,完成通信帧的收发以实现数据交换。在MCGS开发环境中加载此驱动后就可以从设备驱动窗口看到驱动与上层交互界面的接口如图5所示。
图5中对应数据对象栏是指窗口应用中的变量,通道类型为驱动通过的接口。
5 DSP通信解析
5.1DSP通信帧收发机制
从图4中可知,DSP需要对通信帧进行接收、解析、发送等三个操作才能实现与MCGS之间的通信。DSP通信帧收发流程如图6所示。
为了提高通信的效率,通信帧的接收和发送都是以中断的方式进行处理。在DSP中建立一个通信帧数组TMPCMD[]和接受完成标志Flag,当通信帧接收完成后SCI的接收中断服务程序就使Flag置1,主程序知道Flag置1后就会对接收的通信帧数组TMPCMD[]进行解析,解读其中内容进行相应的动作并且更新发送帧数组TMPCMDS[],更新完成后启动返回帧的发送Flag置0,SFlag置1,返回帧的实体就是TMPCMDS[]数组,返回帧发送完后SFlag置0。
5.2通信帧解析
解析就是对命令帧中的内容所具有的意义进行理解,并调用相应的函数完成通信帧中所赋予的意义。解析流程图如图7所示。
当通信帧接收完成后,接收中断就会对Flag置1,这时主程序就对通信帧进行解析,解析的第一步将通信帧中的命令码,操作域,携带数分别放入结构体TmpCmdMAP中的Code域,Field域,和Data域中。
第二步对Code域进行分析即图7中的判断块,其中的0x$$是指命令码的值。从3.2可知本文一共定义了AD采集:0xAD;DA采集:0xDA;数据交换命令:0xDD;停止命令:0x00;启动命令:0x11;参数写入命令:0x22等6个命令。
对于AD、DA命令码,解析程序会根据TmpCmdMAP中的Field域将相应的AD采样结果和DA输出结果更新到返回帧中相应的位置上,在返回帧中命令码保持与发送帧中的一致.
对于数据交换命令:0xDD解析程序会将接收帧中的数据携带值还原成16位格式,更新到TmpCmdMAP中的Data域中,并将该值更新到数据区数组DataE[TmpCmdMAP. Field]中。再将更新后的DataE[TmpCmdMAP. Field]值更新到返回帧数组中;对于停止命令:0x00解析程序会调用PWMStop()函数停止波形输出,及自动控制的所有功能,返回帧数据域、命令域均填0x00。
对于启动命令:0x11则调用PWMStart()函数启动波形输出,及自动控制的所有功能,返回帧数据域、命令域均填0X11;对于参数写入命令:0x22解析程序调用PWMStop()函数停止波形输出,再调用Refresh()函数,刷新控制模块的数据,主要是将人机界面设定值更新到各功能单元,返回帧数据域、命令域均填0X22。
6 人机界面窗口结构
开发好MCGS驱动和DSP通信解析程序后就可以进行人机交互窗口的设计,人机交互窗口如图8所示。
主要有封面、波形调整等10个窗口组成,在上层窗口中只用点击相应子窗口名的按钮就可以进入下一层窗口,在子窗口中只用单击就可以返回上一层窗口。
封面主要显示系统运行时间和各个子窗口的入口的按钮。
波形调整界面主要作用是设置波形参数,恒流稳压参数以及启动和停止DSP波形输出和PID系统。
PID设定窗口主要是用来调试PID,与波形调整界面中的调整不同,这个界面中还可以以Q15格式调整PID的Kp、Ki、Kd等参数。
时间设定界面主要是用来修正触摸屏的时间参数,设定系统运行时间以及系统进入稳压PID后的运行时间,时间控制值设定后起效。
历史波形参数查询界面主要用来查看以往的波形参数,并可以调用子窗口进行记录输出。
报警监视窗口主要用来监视系统的报警信息,主要是温度报警和通信报警。
模拟量监控窗口主要是对系统的电流、电压进行监控,以及输出模拟量记录以进行工艺分析。
6 实验结果
系统开发完成后用两个铝合金器件进行了实验,记录的电参数如图9所示,其中上图为电流变化记录,下图为电压变化记录。
主要电参数:正向脉冲个数为15个,反向脉冲个数为5个,占空比为50%;恒流参数为正向电流3A,反向电流1A,正向稳压值为500V;反向稳压值为80V。
从图9中可以看出0—1200S时只有正向电流,正向电压,主要作用是在铝合金表面生成普通的氧化铝薄膜为微弧氧化做铺垫,1200S以后正向电流电压,反向电流电压都出现上升过程,这是电流PID的作用,然而随着微弧氧化的进行,陶瓷层氧化膜不断增厚,电流不断减小,电压在恒流PID作用下就达到了限压值,系统转入稳压PID程序。
电压进入稳压PID程序后大概到2500S处电压都是稳定不变的。进入恒压PID后,从图9中可以看到正向电流和反向电流都开始不断的减小。
在3500S处反向电流几乎等于0A。根据以往经验当反向电流接近0A后,继续微弧氧化就会增大样品表面的粗糙度。将反向电参数的控制方式改为手动,提高反向电压,从图9的电压图中可以看到,反向电压有一个向下的小口,是由于跳到手动挡后反向电压为0V造成的。反向电压手动升高后,正向电压依然是稳压PID,正向的电流和反向的电流都有所增大。
大约在8000S处正向电流在稳压PID作用下达到0.8A左右,为了延长微弧氧化时间采取与反向同样的方法,改为手动模式,所以就看到了正向电压向下的那条线。从正向电压的向下线后,可以看出电压只用向上调很小的范围电流就发生了很大的变化。第一个器件的微弧氧化在17000S左右因反向电流为0A而结束。第二个器件的微弧氧化过程与第一个基本相同。
7 结论
本人机界面的设计实现了:(1)提供友好的人机交互接口;(2)实时的记录了微弧氧化过程中的电参数,实现了对微弧氧化过程的监视;(3)成功的开发了一种适用于对DSP模拟量和数字量进行监控的通信协议。
(编自《电气技术》,作者为张正良、张东宁 等。)