历史上的今天
返回首页

历史上的今天

今天是:2024年10月15日(星期二)

正在发生

2020年10月15日 | 基于MSP430F149的控制模块VAC400的真空控制系统的设计

2020-10-15 来源:elecfans

引言

国家“九五”重大科学工程项目HIRFL-CSR(兰州重离子加速器冷却储存环工程)主环真空系统全线非标部件和标准设备的安装、检漏在2004年初已经完成,经烘烤后真空度达到10-11mbar的超高真空环境。放置于加速器注入线和主环真空腔体和束运线上的各类高/低真空泵达几百个, 需要检测和控制的真空计和高真空电源也近百个, 为了实现远程开/关各种真空计和高真空电源,定时检测真空计读数和状态,并需要为中央控制中心提供异常(定值点越界)报警和提示。运行时, 超高真空系统任何一处束流线发生真空故障就会造成束流丢失、仪器设备损坏、加速器停运的严重后果。因此加速器必须具有响应快速、安全可靠的真空保护与控制系统。


1 系统硬件组成

本控制系统的核心是自主设计的可以兼容各种真空计,真空泵和高真空电源要求的基于MSP430F149的控制模块VAC400。每个模块连接一台或多台真空计或真空泵,用来采集它们的模拟/数字量和状态码,数据经RS-485串行总线上传到中央控制机进行在线监视/显示,并把中央控制机发送来的测控命令直接作用于真空计,电源或电磁阀,完成巡检测控。每个VAC400都有一个唯一的标识码(或地址),每个RS-485线上最多可以连接32个VAC400模块, 每次通信周期中,只容许一个下位机与上位机通讯,通讯连接采用握手方式, ADC采集的数据不断自动更新并发送给上位机读出显示。VAC400与真空计通信速率为 9600bps。INTRANET用户通过访问上位机来实现对特定真空计特定功能的操作。

基于MSP430F149的控制模块VAC400的真空控制系统的设计

2 系统软件设计

系统软件的设计关键是要针对不同的控制对象真空计IM520,真空计IT23和真空泵GST-03L这些不同仪器设备自身的控制命令进行设计,而且需要输出与被控仪器实际显示的数据类型和单位相一致的结果。同时当中央控制中心发出本设备其他操作命令或者其他设备的操作命令时,需能产生中断执行,并获取相应的数据。针对不同的被控设备,我们改变相应的主函数部分注入模块,从而实现了复杂多变的系统任务。


2.1 真空计IM520控制部分程序

系统需获取真空计IM520的真空值数据,而真空值与电压值成复杂的函数关系,由于MSP430无法实现复杂函数的计算,所以用 MSP430只显示电压值,后续转换需要用其他软件设计。MSP430的ADC寄存器可显示十六进制整数,人机交互界面需要直观的带三位小数的十进制浮点数的电压值,下面的ADC函数就是实现这一功能:

void ADC(void)

{ unsigned tra[4]; int j;

TXBUF1=ADDRESS; //输出模块名称并在其后加“;”和空格

while ((UTCTL1&0x01)==0);

TXBUF1=58;

while ((UTCTL1&0x01)==0);

TXBUF1=‘ ‘;

while ((UTCTL1&0x01)==0);

if(Buffer[2]==‘r‘)//判断是否输入读取 ADC数据的命令

for(i=0;i<4;i++)

{ ADC12CTL0 &=~ 0x02;//在进行设置时首先复位ADC的转换使能

ADvalue[i]=ADC12MEM[i]; //读取数据

/*将读取的十六进制数转换成输出三位小数的十进制浮点数*/

tra[i]=ADvalue[i]*10000.00/4095.00;

ADbit[0]=tra[i]%10;

ADbit[1]=(tra[i]/10)%10;

ADbit[2]=(tra[i]/100)%10;

ADbit[3]=22;

ADbit[4]=(tra[i]/1000)%10;

/*循环输出ADC12MEMx里的数据*/

for(j=4;j>=0;j——)

TXBUF1=Hex2ASCII(ADbit[j]);

while ((UTCTL1&0x01)==0);

TXBUF1=‘ ‘; //输出空格与下一组 ADC数据相间隔

while ((UTCTL1&0x01)==0);

TXBUF1=13; //显示数据之后换行,执行下一次循环显示

while ((UTCTL1&0x01)==0);

ADC12CTL0 |= 0x02; } // 使能ADC转换


真空计监视的真空设备的数据需要自动传送给中央控制中心,以便实现实时监控。下面程序部分实现以MSP430 F149为核心的控制模块自动将数据传送给远控的计算机。


void main(void)

{ int i=0,j=0;

WDTCTL=WDTPW+WDTHOLD; //停止看门狗

_EINT(); //开总中断

Init(); //对ADC进行初始化

ADC12CTL0 |= 0x01; //开始转换

while(1)

{ P4OUT &=~0xC0; //指示发光二极管熄灭

display: stop1=0; //goto 循环结构入口

delay(0xFFFF); //延时程序调用

if(stop1==0)

{ IE2 &= ~URXIE1; //停止USART1 RX中断 P3OUT |=0x01;

ADC(); //调用ADC 函数

Buffer[2]=‘r‘; //真空计IM520读取数据命令中一个区别于其他任务

命令的关键字符

delay(0x1FFF);

ADC();

Buffer[2]=‘r‘;

IE2 |= URXIE1; //使能USART1 RX中断

P3OUT &=~0x01;

else goto display; }


2.2 真空计IT23控制部分程序

真空计COMBIVAC IT23型是三路真空规输入,前面板或RS-232C(9芯D型口9600bps)接口控制与数据读出。前面板LCD显示四项内容:Torr,Micron, Pa和mbar。并且需要远程控制机输入“uni w mbar or Torr or Pa or Micron”操作命令进行在线转换读出各种类型的数据内容。


void main(void)

{ char IT[4][15]={"uni w mbar","mes 1","mes 2","mes 3"}; //真空计IT23 操作命令

int i=0,j=0;

/…同真空计IM520控制部分程序…/

display: delay(0x1FFFF);

if(stop1==0)

{ IE2 &= ~URXIE1;

P3OUT |=0x01;

for(j=0;j<5;j++) //循环执行操作命令并显示数据

for(i=0;IT[j][i]!=‘‘;i++)

{ Buffer[2]=‘w‘;

OperateIT23();

TXBUF0 =IT[j][i];

while ((UTCTL0&0x01)==0);

/…同真空计IM520控制部分程序…/

else goto display; }


3 结语

运行表明,基于MSP430F149的真空控制系统获取的数据具有很好的精确度和稳定性,较好地完成了真空设备的实时监控和显示任务。由于该系统低成本,高速度,低功耗,高精度等优点,同时可以应用于安全防护检测,门禁互锁联动和水电检测系统等领域。

推荐阅读

史海拾趣

Bharat Electronics Ltd公司的发展小趣事

随着技术的不断积累和发展,BEL逐渐摆脱了对外部技术的依赖,开始自主研发和生产电子产品。公司不仅成功开发出一系列具有自主知识产权的产品,还打造了知名的BEL品牌。这些产品以其高性能、高可靠性在市场中赢得了广泛认可,使BEL成为印度乃至全球电子行业中的佼佼者。

Dynex公司的发展小趣事

作为电子行业的领军企业,BEL始终注重技术创新和研发。公司不断投入大量资源用于新产品的研发和创新,努力引领行业趋势。近年来,BEL在无人机、太阳能电池组等领域取得了显著成果,推出了一系列具有创新性和市场竞争力的产品,为公司的持续发展注入了新的活力。

Digital Equipment Corp公司的发展小趣事

随着业务的不断扩展和产品的不断创新,DEC在1966年决定公开上市。这次上市不仅为DEC带来了大量的资金,还提升了其在业界的知名度。借助资本市场的力量,DEC能够进一步扩大生产规模,加强研发能力,并推出更多具有竞争力的产品。在上市后的几年里,DEC的销售收入快速增长,成为计算机行业的重要参与者。

Frequency Devices公司的发展小趣事

面对快速变化的市场需求,Frequency Devices公司展现出了敏锐的市场洞察力。在21世纪初,随着无线通信技术的快速发展,对高频电子元件的需求急剧增加。公司及时调整产品策略,加大了对无线通信领域高频产品的研发投入,并成功推出了一系列适用于手机、基站等通信设备的高频滤波器、功率放大器等关键元件。这些产品不仅满足了市场需求,还进一步巩固了公司在行业内的市场地位。

Dearborn Electronics Inc公司的发展小趣事

Dearborn Electronics Inc.注重国际合作与交流,与全球多家知名企业和研究机构建立了紧密的合作关系。通过引进国外先进的技术和管理经验,公司不断提升自身的核心竞争力。同时,公司也积极参与国际市场竞争,拓展海外市场,为未来的发展奠定了坚实的基础。

以上这些故事框架仅供参考,你可以根据这些框架进行深入的调查和研究,撰写出具体、详细的发展故事。

AUREL公司的发展小趣事

随着电子市场竞争的加剧,AUREL公司意识到单纯的技术创新已不足以维持竞争优势。于是,公司开始注重品质管理,引入了先进的生产流程和严格的质量控制体系。这一举措大大提高了产品的可靠性和稳定性,赢得了客户的信赖和好评。通过持续改进和优化,AUREL公司的产品质量逐渐在行业中树立了良好的口碑。

问答坊 | AI 解惑

关于2008年江苏省大学生电子设计竞赛

本帖最后由 paulhyde 于 2014-9-15 09:44 编辑 1. 竞赛报名 1) 参赛对象:江苏省内所有设置电类专业的高校(包括本科和高职高专)在籍学生; 2) 竞赛组织:由各参赛学校指定竞赛负责人和领队统一负责本校参赛队的组队、报名、竞赛和送审工 ...…

查看全部问答>

漫漫职场路,痛并快乐着是一种收获

作者:华清远见嵌入式学院 不记得是什么时候了,曾经看过一篇文章,里面有一句话:“痛并快乐着”让我印象非常深刻,在刚看到这句话的那一刻,自己颇有些感同身受的共鸣。回想一下:从学生到技术人的成长过程是痛并快乐着的、跟团队一起进行项目研 ...…

查看全部问答>

射频/微波电路中的薄膜无源器件

就在不久之前,大多数微波电容器还都基于多层陶瓷烧制技术。在生产过程中,多层高导电性的金属合金电极层和低损耗的陶瓷绝缘层交错排列,从而得到所需要的电容值。然后,将合成的叠层进行高温烧制,将其烧结成单片结构。这一工艺目前仍然很好地满足 ...…

查看全部问答>

程序多跑一次

程序如下: while (1)   {          /* Loop forever */       if ( UART0Count != 0 )       {            U0 ...…

查看全部问答>

请问PC104+的主板兼容PC104设备吗?

比如一张PC104的IO卡插在PC104+的ISA上应该能使用吧?…

查看全部问答>

如何将网上订单发送到GPRS接收终端并直接打印?

各位大侠:     小弟有一事求教:我有一个网上购物的网站,要做一个应用,就是把用户在网上下的订单直接用GPRS的方式发送到商家的接收和打印终端上,这种终端现在市面上没有,主要难搞定的是数据的发送和接收,哪位高手可以帮我做开发? ...…

查看全部问答>

mini2440 jlink 间接烧写nand 以及 uboot

我的是256M的nand。。没有并口,使用jlink。 使用supervivi-128M,这个文件直接烧写到nor,启动正常。从nor启动后,利用\'a\'命令烧到nand,然后从nand也能正常启动(需要按下六个按键中的一个)。说明这个文件自适应nor、nand。 我打算从nand启 ...…

查看全部问答>

单片机教程+汇编语言

很适合我们这些初学者…

查看全部问答>

jlink的usb插上电脑,不停闪烁

今天插上仿真器的数据线,突然出现指示灯不停闪烁,频率差不多是10hz。点击擦除芯片,出现:can not connect to j-link via usb。failed to connect could not erase chip,not connected擦出按手册说,是启动,那也不能不停启动啊。昨天还没 ...…

查看全部问答>

大家来看看这个是个什么呢?

不才不才啊,,请大神帮看看这个东东是干啥滴?…

查看全部问答>