查看: 1418|回复: 11
打印 上一主题 下一主题

基于LABVIEW上位机界面的STM32F0 DISCOVERY多路数据采集系统

[复制链接] qrcode

31

主题

44

帖子

126

积分

注册会员

Rank: 2

积分
126
楼主
跳转到指定楼层
发表于 2014-2-25 09:16 PM | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

基于LABVIEW上位机界面的STM32F0 DISCOVERY多路数据采集系统

方案计划

一、应用背景

在一般的工业控制应用项目中,都需要涉及到数据采集部分,即利用各种传感器将不同的环境变量(数字量、电压、电流、温度、湿度、压力、方向和距离等)采集,并送至控制器进行转换处理。控制器对得到的相关信息进行判断后,进行相应的控制处理。在进行控制处理的过程中,有些需要人工进行干预,这就要求各种传感器的信息必须在一定的界面(液晶屏、串口终端、上位机界面)上进行实时显示。

二、功能说明

本方案计划实现一种基于LABVIEW上位机界面的STM32F0 DISCOVERY 多路数据采集系统,利用STM32F0 DISCOVERY 板载芯片STM32F051R8T6上的12ADC实现高精度数据采集,并将采集到的数据发送至LABVIEW上位机界面显示。

1STM32F051R8T6 ADC模块具有16路外部通道和3路内部通道,在此方案中,利用普通电位器产生电压来模拟各种环境变量的信号。增加DS18B20温度传感器模块。

2、上位机界面除正常的波形数据显示界面外,视情况增加一些额外演示功能。增加控制板载LED灯闪烁效果,将采集到的数据发送TXT文件中保存功能。

3、利用LABVIEW自带的VISA串口实现和STM32F0 DISCOVERY板子的通信。

三、工具说明

硬件:STM32F0 DISCOVERY 开发板 软件:LABVIEW8.2 or LABVIEW8.6

方案实施进度表

1、拿到STM32F0--开发板硬件

2、解决STM32FO开发板和开发环境的调试

3、解决STM32FO--串口通信模块和ADC模块。

4 解决STM32FO--DS18B20温度传感器模块程序移植。

5、解决LABVIEW开发环境调试

6、解决LABVIEW串口通信模块调试

7、解决ADC数据的载入并计算显示波形。

8、解决ADC数据的TXT文件保存功能

9、解决开关按钮控制STM32F0 DISCOVERY--板载LED的演示功能。

10、增加额外功能或修改并美化系统界面

方案设计

一、硬件设计

由于该方案采用STM32F0 DISCOVERY进行开发,硬件设计并不复杂。

硬件系统框图如下:



1 硬件系统框图

硬件系统电路原理图如下:



2 硬件系统电路原理图

硬件系统实物图如下所示


3 硬件连接实物图

二、系统软件设计

该方案的主要工作在于系统软件的代码设计,包括下位机驱动设计和LABVIEW上位机界面的程序设计。由于本人对STM32了解较少,故先编写了一部分驱动文件,包括USART串口驱动,SYSTICK系统定时器、NVIC中断管理、DS18B20(移植MSP430LM3S系列)ADC(DMA方式驱动)。考虑到时间问题,和LABVIEW的串口通信通讯采用简单的软件查询方式实现,也没有增加复杂的控制协议,比如(帧头+数据+校验码)的方式,这种在工业通信中应用比较普遍。

驱动文件浏览图如下:


4 驱动文件浏览图

项目工程文件浏览图如下:



5 项目工程文件浏览图

LABVIEW上位机程序界面采用LABVEIW8.6软件进行开发。采用事件驱动方式。界面前面板如下图所示。


6 上位机程序界面。

上位机软件的详细使用,见文档LABVIEW上位机软件说明书V1.0.pdf》。

界面的部分源程序界面如下:


7—串口设置部分


图8温度传感器部分处理


图9—ADC DMA通道数据处理。

由于串口通信采用8位数据方式,对非STM32产品来讲,总线都是8位方式,而对于STM32来说,是16位方式,这样就需要在串口通信时,将DS18B20ADC采集的数据16位数据拆分成两个8位数据分别发送,发送后再进行一些处理。这对于一些刚接触LABVIEW的新手来讲,可能也是一个问题吧。

方案点评

对于工业应用或一般项目应用的数据采集来讲,该方案仅仅是提供了一个框架或思路,还有很多需要改进或优化的方向,实际中的项目远比此复杂的多,通信数据的解析和算法的处理也不是一两个VI程序就能完善的,为了更加直观,本人的VI已项目文件方式实现,目的是让自己和相关的人形成一个良好的习惯,就像写MCU的驱动一样,分成了很多小模块。

在此提出一些改进或优化的方向,留给感兴趣的人研究。

1LED灯的延时控制在上位机界面中实现调整。

2、串口通信协议可以增加帧头、帧尾和校验。

3ADC数据采集保存方式合并到一个文件中,见文档LABVIEW上位机软件说明书V1.0.pdf》。


视频地址:

http://v.youku.com/v_show/id_XNDgwMzM0MjQ4.html




Fengye5340

20121228





=======================================================

基于LABVIEW上位机界面的STM32F0 DISCOVERY多路数据采集系统(附件大全)





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

88

帖子

6

积分

新手上路

Rank: 1

积分
6
沙发
发表于 2014-2-25 09:21 PM | 只看该作者
此强帖采用STM32F0 实现了MCU和labview的串口通信,并通过控制LED灯、DS18B20以及多路ADC采集,并将数据保存的精彩内容,是一个非常经典的labview控件的应用,涉及labview编程的方方面面,非常值得学习,特此推荐给大家!
回复 支持 反对

使用道具 举报

3

主题

97

帖子

23

积分

新手上路

Rank: 1

积分
23
板凳
发表于 2014-2-25 09:40 PM | 只看该作者
我就在用STM32F030探索套件 都发了 几篇文章  哈哈    美女应该多搞些原创有价值的帖子  

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

0

主题

89

帖子

26

积分

新手上路

Rank: 1

积分
26
地板
发表于 2014-2-25 09:49 PM | 只看该作者

呵呵,你发布的STM32F030内容了吗?在哪里?只看到一个F4的介绍,我现在在整理板块,等有时间了就会把自己的原创发上来哦


回复 支持 反对

使用道具 举报

0

主题

65

帖子

4

积分

新手上路

Rank: 1

积分
4
5#
发表于 2014-2-25 09:57 PM | 只看该作者
@冰山一角,看到你发的都是些官网例程修改的内容哦
回复 支持 反对

使用道具 举报

0

主题

162

帖子

166

积分

注册会员

Rank: 2

积分
166
6#
发表于 2014-2-25 10:02 PM | 只看该作者
呵呵,你发布的STM32F030内容了吗?在哪里?只看到一个F4的介绍,我现在在整理板块,等有时间了就会把自己的原创发上来哦
回复 支持 反对

使用道具 举报

0

主题

71

帖子

18

积分

新手上路

Rank: 1

积分
18
7#
发表于 2014-2-25 10:18 PM | 只看该作者
  自己写的,难道跑马灯 和定时器 自己还能有什么创意么?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

0

主题

78

帖子

10

积分

新手上路

Rank: 1

积分
10
8#
发表于 2014-2-26 07:46 AM | 只看该作者

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

0

主题

93

帖子

30

积分

新手上路

Rank: 1

积分
30
9#
发表于 2014-2-26 09:23 AM | 只看该作者
支持小雨儿
回复 支持 反对

使用道具 举报

0

主题

89

帖子

18

积分

新手上路

Rank: 1

积分
18
10#
发表于 2014-2-26 06:38 PM | 只看该作者
这些东西别人都已经在网上发过了哦,冰哥
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表