基于智能电子自旋共振仪的信号测量与监控系统
摘要:在研究基于智能电子自旋共振仪的普通高校近代物理实验上,设计了一种适合智能电子自旋共振仪的基于单片机和PC机的数据传输系统,并实现串口与嵌入式单片机数据透明传输的硬件连接和软件编程,实际效果表明该系统数据采集准确,并达到了实时监测实验数据的目的,同时系统自动生成图文并茂的实验报告,避免了手工输入时产生的误差。
关键词:电子自旋共振仪;嵌入式单片机通信;信号采集与监控;智能
电子自旋共振现象被发现于本世纪四十年代后期,经过几十年的研究发展,它与核磁共振,铁磁共振,光泵磁共振等形成了一个新的学科——磁共振波谱学。作为一项实用技术,它在化学、物理、生物和医学等方面获得了广泛的应用,近年来,与计算机技术结合,为人类作出了巨大的贡献。
文中涉及的是普通高校近代物理实验-电子自旋共振实验,在实验中要求观察电子自旋共振现象,观察顺磁离子对共振信号的影响,测量DPPH(自由基二苯基三硝基苯肼)中电子的g因子(hv=gJμB),并利用电子自旋共振测量地球磁场的垂直和水平分量。其中准确的获得这些实验数据是非常重要的,文中提出利用PC机与嵌入式单片机通信传输数据,并且将采集到的数据绘制成可视化的共振谱线图,通过读取共振谱线的坐标值来获得实验所需要的数据,同时将实验数据生成实验报告。大大提高了实验的精度和自动化。
1 智能电子自旋共振仪
智能电子自旋共振仪优越于传统的电子自旋共振仪,它用单片机系统来判断共振点,用亥姆霍兹线圈取代传统的螺线管线圈来测量磁场强度B0,测量准确、便捷。
为了观测到共振现象,需要使用一个高频探头,其振荡线圈为被测物DPPH提供能级跃迁所需的能量(hv),当产生共振时,振荡器的能量被样品吸收,振荡幅度会发生变化,该变化经过检波和低频放大后输出,即可在外接示波器或PC机上观察到共振峰(亦称为共振谱线)。仪器前端采用边缘振荡器来探测共振信号,信号经检波放大后送波形变换模块,产生CMOS电平的信号脉冲,然后送往微处理器的I/O口,由软件来计算矩形脉冲的宽度,当峰信号出现等间距时,相邻脉冲的宽度相等,此时即判定B0已调准并给出读取数据的指示,同时将该数据放入内存。
2 信号测量
2.1 通信原理
实验仪器中嵌入了AT89C52单片机(下位机),负责数据采集、处理和控制。PC监控机(上位机)进行现场可视化检测,它们之间采取主从串行通信方式。PC机上的串行通信通过端口RS232的RTS信号进行二进制数据的收发转换与传输。下位机中串行数据从TXD引脚按规定的波特率输出,接收数据时监视RXD引脚,一旦出现“0”位,按规定的波特率将外围设备送来的数据存储。但是,在8051单片机的内部有一个全双工的异步串行I/O口,它的输入和输出使用5 V逻辑而不是RS-232电压,所以连接时用MAX485专用芯片进行转换。如图1所示单片机与外设串口通信原理图。
2.2 数据通信程序设计
2.2.1 通信协议
本系统串行通信采用异步通信方式。协议如下:
1)一帧数据由1位起始位、8位数据位、无奇偶校验位、1位停止位共10位组成。
2)波特率设为2 400 bps。单片机串行口按方式1工作,波特率由定时器T1控制。
PC机串口波特率通过VB通讯控件的Settings属性设置,为保证数据传送的准确性,两者的波特率必须一致。
2.2.2 下位机通信及程序设计
单片机可以采用中断方式或查询RI(接受中断标志位)或TI(发送中断标志位)方式进行数据通信。本系统采用查询方式,在定时器T2中断子程序中查询RI,一旦检测到RI=1则转入接受数据子程序,在子程序中单片机读取从上位机发送的通信指令、读取记录个数等数据,经校验正确后,即从ATC256存储器中将历史记录数据上传给PC机。
Uchar comReceive(void)
{ while(RI==0)//表示未接收,需等待
RI=0;//接收完后清除换下一数据
Return(SBUF)
2.2.3 上位机通信及程序设计
上位机利用Visual Basic8.0编程。用VB8.0开发串行通信程序有2种方法,一种是利用Windows的API函数;另一种是采用VB8.0的通信控件MSComm。利用API函数编写串行通信程序较为复杂,需要掌握大量的通信知识,其优点是可实现的功能更丰富、应用面更广泛,适合于编写较为复杂的低层次通信程序。而VB8.0的MSComm通信控件提供了标准的事件处理函数、事件、方法,并通过控件属性对串口参数进行设置,比较容易地解决了串口通信问题。
本系统采用事件驱动方式进行串口通信设计。
该实验接收从单片机发来的电流值等数据,并赋予数组。部分代码如下:
至此,该实验系统中数据的采集工作就完成了,下一步将把采集的数据可视化监控,利用上位机完成实验中磁场,g因子等各种计算。
3 信号监控
从单片机采集到的数据传送到PC机的存储数组中,然后将每组数据绘制成共振谱线,并且通过读取共振谱线的坐标值来获得实验数据。在VB中实时曲线的绘制一般借助于Timer控件来完成,使用Timer控件,定期将智能电子自旋共振仪中监测到的数据送往pic_main,而曲线的绘制一般画成折线图,采用PictureBox1的Line方法绘制。用Line方法可以在窗体或图片框上绘制一条直线或绘制一个矩形。
Line方法的一般格式:
[对象名.]Line(x1,y1)-(x2,y2)[,颜色]
其中,(x1,y1)为始点坐标;(x2,y2)为终点坐标;颜色可以使用RGB函数,规定画线或画矩形的颜色。部分代码如下:
4 实验报告的生成
本系统实验结束后,电子自旋共振实验报告由系统自动生成一张WORD文档。避免了传统的手工输入时产生的误差。实验报告的信息内容:姓名、标题、表格、图表、日期、实验计算及测量结果等。
4.1 新建文档
Documents集合包含所有打开的文档。要新建一篇文档,可使用Add方法将一个Document对象添至Documents集合。
新建文档的方法之一是使用Add方法。Add方法将返回Document对象,该对象引用新文档。
4.2 添加文本
接下来,向空文档中添加文本,这将使用Paragraphs集合对象来完成此项工作。以下代码向文档某处添加一个段落并设置本段落格式:
电子自旋共振实验系统中生成的WORD文档除了基本信息外还包含一些表格信息,表格信息部分代码如下:
5 实验结果
由于智能电子自旋共振仪器嵌入了单片机系统,许多数据的采集由计算机自动完成,大大提高了实验效率,实验误差极小。通过嵌入式单片机与PC机间的通信实现数据的传输,在PC机上直观的刻画出实验的共振谱线图,如图2(共振谱线)所示,图中第1个波峰值和第3个波峰值相同,此时取坐标C0和C1的值,计算g因子和磁场等数值。同时自动生成实验文档进行保存或打印,如图3(实验报告)所示。
- 高速光信号测量-pico9221A-pico9000系列20GHZ带宽采样示波器(01-12)
- 精确测量微小信号(01-12)
- 视频信号测量与发生基础(12-23)
- 移频键控信号测量系统设计(08-25)
- DDR信号测量方法及信号完整性验证面临的挑战与建议(09-26)
- 用于以太网的NI CompactDAQ(09-08)