0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

电子设计 来源:郭婷 作者:电子设计 2019-06-20 08:01 次阅读

引言

国家“九五”重大科学工程项目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\0","mes 1\0","mes 2\0","mes 3\0"}; //真空计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]!=‘\0‘;i++)

{ Buffer[2]=‘w‘;

OperateIT23();

TXBUF0 =IT[j][i];

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

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

else goto display; }

3 结语

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电源
    +关注

    关注

    184

    文章

    17567

    浏览量

    249415
  • 寄存器
    +关注

    关注

    31

    文章

    5310

    浏览量

    119983
  • adc
    adc
    +关注

    关注

    98

    文章

    6430

    浏览量

    544047
收藏 人收藏

    评论

    相关推荐

    msp430F149应用电路原理图

    msp430F149应用电路原理图
    发表于 04-11 10:46 414次下载
    <b class='flag-5'>msp430F149</b>应用电路原理图

    HIRFL-CSR真空控制系统的设计及其应用

    介绍了以微控制MSP430F149为核心设计的真空控制模块,给出了在HIRFL-CSR真空
    发表于 08-11 09:09 25次下载

    基于MSP430F149单片机的SDRAM控制程序设计

    本文介绍了德州仪器公司新一代16位Flash型MSP430F149系列单片机的结构、特性和功能,阐述了基于该单片机控制系统的硬件组成和软件设计,并给出了该控制器在SDRAM控制系统中的
    发表于 08-29 08:40 26次下载

    MSP430F149模块实验程序

    MSP430F149模块实验程序MSP430F149模块实验程序
    发表于 12-03 16:17 25次下载

    msp430f149使用手册

    msp430f149使用资料,包含msp430f149原理图,msp430f149使用例程,扩展功能等。
    发表于 12-07 10:52 290次下载

    MSP430F149

    MSP430F149超低功耗单片机,英文原版数据手册。
    发表于 04-29 17:57 26次下载

    MSP430F149流水灯

    MSP430F149的流水灯例程,使用定时中断和外部晶振,感兴趣的小伙伴们可以看看。
    发表于 07-26 11:37 2次下载

    MSP430F149程序

    MSP430F149程序,包括DAC输出和ADC采样。
    发表于 07-29 17:08 12次下载

    MSP430F149压缩包

    MSP430F149文档及程序
    发表于 12-13 22:47 18次下载

    基于MSP430F149的NPRQ检测系统_陈真诚

    基于MSP430F149的NPRQ检测系统_陈真诚
    发表于 03-19 19:08 1次下载

    基于MSP430F149开发板的C应用

    MSP430F149是TI公司推出的MSP430F14X系列单片机中目前的最高端产品。
    发表于 09-21 09:34 18次下载
    基于<b class='flag-5'>MSP430F149</b>开发板的C应用

    MSP430F149单片机为控制核心的的点光源跟踪系统设计

    系统采用两片TI公司的MSP430F149单片机分别作为发送部分和接受部分的控制核心,完成信号发送和接收、电流检测、控制电机、键盘输入及液晶显示等功能。
    发表于 07-27 08:56 1466次阅读
    以<b class='flag-5'>MSP430F149</b>单片机为<b class='flag-5'>控制</b>核心的的点光源跟踪<b class='flag-5'>系统</b>设计

    MSP430F149跑ADC和USB好用的代码

    MSP430F149跑ADC和USB好用的代码
    发表于 05-02 17:48 9次下载
    <b class='flag-5'>MSP430F149</b>跑ADC和USB好用的代码

    使用MSP430F149单片机控制步进电机的C语言程序免费下载

    本文档的主要内容详细介绍的是使用MSP430F149单片机控制步进电机的C语言程序免费下载。
    发表于 08-26 17:30 6次下载
    使用<b class='flag-5'>MSP430F149</b>单片机<b class='flag-5'>控制</b>步进电机的C语言程序免费下载

    MSP430F149平衡小车原理图

    MSP430F149平衡小车原理图
    发表于 03-15 11:39 12次下载