基于单片机的短样测试数据采集系统的设计
时间:11-04
来源:互联网
点击:
3.上位机程序设计
上位机采用LabVIEW开发环境,LabVIEW是新一代G语言编程软件,适宜于仪器控制和数据采集,程序使用状态机结构,分为五个状态:设置,采集,保存,分析,显示。采用多线程技术,三个工作线程:数据采集显示线程,实时分析线程,数据保存线程。在三个线程之间采用Queen队列传递数据。Queue队列,先进先出结构,协调三个线程运行,在采集中起到约束和补偿的作用,避免了数据丢失和死锁现象。下面是上位机程序结构图。
Keithley公司提供了纳伏表Keithley-2182 LabVIEW库函数,Keithley 2182 Display.vi用于设置启用或关闭仪器面板显示,关闭仪器面板显示可以提高采集速度。Keithley 2182 Measurement Mode.vi用于设定采集类别,采集系统设置为电压采集(DCV)。Keithley 2182 DCV.vi用于设定电压范围、精度、滤波和采集速度,采集系统设置为精度 7位半、中速、无滤波、通道 1。GPIB Write.vi用于向 Keithley-2182纳伏表写入 GPIB命令,命令“:data:fresh?”:请求获取昀新采集数据。GPIB Read.vi用于接收昀新数据。可以循环发出 GPIB读写命令,进行数据采集。
LabVIEW串口通讯调用 VISA模块中的库函数。VISA Configure Serial Port:初始化指定串口通讯参数,设定波特率为 19200,8数据位,无奇偶校验,COM1; VISA Set I/O Buffer Size:设置指定的串口的输入输出缓冲区大小,设定为 2048字节;
在数据保存线程中,为了方便以后数据察看和分析,采用 excel文件存储。在 LabVIEW中,利用 ActiveX服务中的属性节点 Property Node,可以读取或设置 ActiveX控件的属性,调用节点 Invoke Node可以用来调用 ActiveX控件的方法,通过使用属性节点和调用节点来打开,读取和写入 excel文件。系统设定每隔 1秒线程从数据队列 1请求一组数据,这样使得采集显示线程可以获得更多时间片用于采集,提高速度。
在实时分析线程中,线程每隔 1秒从数据队列 2请求一组数据,插入绘图数组中,利用LabVIEW的绘图函数绘制趋势图。设置 x轴为通电电流,y轴为短样股线电压。下面是采集系统运行界面图。
4. 测试与总结
经过测试,采集系统速度可以稳定达到每秒每通道采样 17个,采集精度和速度符合要求,可以完整捕捉到失超临界点和失超曲线;采集系统硬件电路简单,成本低廉;软件界面直观,智能化程度高,程序可读性较 VC代码强,适合非计算机专业工程人员使用。采集系统扩展性很好,如果有需要可以采集更多路信号。 创新点:采用 AT89S52单片机和 MAX197 A/D转换芯片,替代 PCI采集卡,降低了成本,简化了系统设计,提高了可维护性,同时也达到了短样测试的数据要求;采用便携式 Keithley-2182纳伏表使实验室获得了高精度采集的能力;软件设计方面采用 LabVIEW和 Queen技术保证了易用性和稳定性。
上位机采用LabVIEW开发环境,LabVIEW是新一代G语言编程软件,适宜于仪器控制和数据采集,程序使用状态机结构,分为五个状态:设置,采集,保存,分析,显示。采用多线程技术,三个工作线程:数据采集显示线程,实时分析线程,数据保存线程。在三个线程之间采用Queen队列传递数据。Queue队列,先进先出结构,协调三个线程运行,在采集中起到约束和补偿的作用,避免了数据丢失和死锁现象。下面是上位机程序结构图。
Keithley公司提供了纳伏表Keithley-2182 LabVIEW库函数,Keithley 2182 Display.vi用于设置启用或关闭仪器面板显示,关闭仪器面板显示可以提高采集速度。Keithley 2182 Measurement Mode.vi用于设定采集类别,采集系统设置为电压采集(DCV)。Keithley 2182 DCV.vi用于设定电压范围、精度、滤波和采集速度,采集系统设置为精度 7位半、中速、无滤波、通道 1。GPIB Write.vi用于向 Keithley-2182纳伏表写入 GPIB命令,命令“:data:fresh?”:请求获取昀新采集数据。GPIB Read.vi用于接收昀新数据。可以循环发出 GPIB读写命令,进行数据采集。
LabVIEW串口通讯调用 VISA模块中的库函数。VISA Configure Serial Port:初始化指定串口通讯参数,设定波特率为 19200,8数据位,无奇偶校验,COM1; VISA Set I/O Buffer Size:设置指定的串口的输入输出缓冲区大小,设定为 2048字节;
在数据保存线程中,为了方便以后数据察看和分析,采用 excel文件存储。在 LabVIEW中,利用 ActiveX服务中的属性节点 Property Node,可以读取或设置 ActiveX控件的属性,调用节点 Invoke Node可以用来调用 ActiveX控件的方法,通过使用属性节点和调用节点来打开,读取和写入 excel文件。系统设定每隔 1秒线程从数据队列 1请求一组数据,这样使得采集显示线程可以获得更多时间片用于采集,提高速度。
在实时分析线程中,线程每隔 1秒从数据队列 2请求一组数据,插入绘图数组中,利用LabVIEW的绘图函数绘制趋势图。设置 x轴为通电电流,y轴为短样股线电压。下面是采集系统运行界面图。
4. 测试与总结
经过测试,采集系统速度可以稳定达到每秒每通道采样 17个,采集精度和速度符合要求,可以完整捕捉到失超临界点和失超曲线;采集系统硬件电路简单,成本低廉;软件界面直观,智能化程度高,程序可读性较 VC代码强,适合非计算机专业工程人员使用。采集系统扩展性很好,如果有需要可以采集更多路信号。 创新点:采用 AT89S52单片机和 MAX197 A/D转换芯片,替代 PCI采集卡,降低了成本,简化了系统设计,提高了可维护性,同时也达到了短样测试的数据要求;采用便携式 Keithley-2182纳伏表使实验室获得了高精度采集的能力;软件设计方面采用 LabVIEW和 Queen技术保证了易用性和稳定性。
电流 电压 电阻 放大器 CMOS 总线 单片机 电容 电路图 LabVIEW 电路 相关文章:
- 智能铅酸蓄电池充电器的设计与实现(06-07)
- 电容触摸感应MCU工作原理与基本特征(11-15)
- 处理器全方位能耗测量的实现(05-02)
- 基于STM32的双相步进电机细分驱动器设计(09-08)
- 基于STM32的大扭矩永磁同步电机驱动系统(09-25)
- 锂离子电池组监控系统研究与实现 — 锂电池组管理系统测试及结论(01-26)