上位机不能直接对加速器施加控制信号,需要将控制信号值传入控制器,通过控制器进行相应处理后,再对加速器进行控制。本测试系统采用RS-232进行通信(长距离通信可改用RS-422协议)。
3 控制器
加速器的急停、电源、开机等功能直接通过航空插头接在控制器上实现,通过控制器上的相关按钮即可控制加速器的低预热过程、高预热过程、是否出束、是否截断加速器电源等功能。另外,加速器的“使能控制”、“同步信号”等时序控制需要由控制器经计算处理后对加速器进行控制。
3.1 控制器硬件设计
根据测试系统设计的需要,控制器应设计与上位机通信的接口、参数模式及数值输入接口、显示接口。考虑到抗干扰设计的需要,确定控制器硬件电路由以下5个模块构成:通信模块、显示模块、控制模块、光隔离模块及按键处理模块。下面介绍控制模块和光隔离模块的设计。
(1)控制模块:基于对单片机性能与价格以及控制柜系统对于单片机要求的考虑,选用AT89C52芯片。设计优点:单片机价格便宜,所需功能都能实现,性价比高。设计缺点:单片机为串行处理,不能很好地满足对执行效率要求较高的系统。
(2)光隔离模块:控制侧接口电源采用独立5 V电源,控制柜和加速器之间的信号采用速度为1Mb/s的光耦合差分器件6N136进行连接;采用5 V的26LS32器件完成差分信号形式的输入/输出。如图4所示。
3.2 控制器软件设计
采用C语言进行控制器软件程序的编写,它移植性好,在扩充系统时可以很快移植运行于UNIX操作系统。主要由主程序模块、LCD显示模块、串口模块、按键处理模块及波形发生模块组成。
主程序控制系统主要功能,单片机各部分的功能都在相应子程序中实现。为保证数据传输的实时性以及不影响控制器其他部分程序的运行,串口以及波形发生均采用中断方式实现。
3.3 频率值误差分析及校正
本系统用定时器0实现方波的定时时间。由于使用的单片机晶振是11.059 2 MHz,根据定时器0计数参数的计算公式:initial_value=t/MC。其中t为欲定时时间,t=T/2=1/(2×freq);MC为89C52的机器周期,即MC=12/11.059 2,故initial_value=t/MC=460 800/freq。由此得出定时器0的计数初值:
TH0=(65536-initial_value)/256
TL0=(65536-initial_value)%256
由于单片机晶振为11.059 2 MHz,故实际的频率值与理论值存在误差。
加速器对于频率值的要求比较高,在输入频率值50 Hz~250 Hz变化的范围内,要求在50 Hz、100 Hz、150 Hz、200 Hz、250 Hz的频率值时,误差范围在0.5%以内,其余频率值时,误差范围在2%以内。为满足上述要求,当频率值是10的倍数时,根据读取的频率值,通过不断纠正,直接给出initial_value的值,而不是通过公式算出的initial_value值。其他范围内的值,通过临近范围内特殊频率值的initial_value值乘上频率值给出M的粗略值。其中,M的值要小于理论值460 800。
此方法计算出来的频率值精度较高,能较好地满足加速器对于频率值精度要求高的设计要求。
本工业CT用驻波电子直线加速器测试系统具有模块化的特点,可根据实用需求进行性能扩展;实现了分项系统的质量监控的操作。由于采用了光隔离模块,使控制柜能够在工业环境中正常运行,增强了系统的稳定性。另外,系统中通过对频率误差进行补偿设计,满足了加速器正常工作的需求。系统已试用于9MeV驻波电子直线加速器工业CT机中,运行情况稳定可靠。
参考文献
[1] 曾自强,张立峰.10Mev辐照电子直线加速器控制系统[J]. 原子能科学技术,2005,39(2):114-117.
[2] 张朝宗,郭志平.工业CT技术和原理[M].北京:科学出版社,2009.
[3] 陈雪星,刘宏邦.基于89C52单片机的多功能数据采集器[J].核电子学与探测技术,2008,28(5):1045-1047.
[4] 郑莉,董渊,张瑞丰.C++语言程序设计[M].北京:清华大学出版社,2005.
[5] 何立民.MCS-51系列单片机应用系统设计系统配置与接口技术[M].北京:航空航天大学出版社,1990:407-
408.
[6] 吕卫星,高振江.电子直线加速器计算机控制系统的研制[J].原子能科学技术,2002,36(2):97-99.