LabVIEW热敏电阻温度计程序

CSDN话题挑战赛第2期
参赛话题:学习笔记

#【国庆活动】带上CSDN一起玩转国庆#

最近遇到一个使用Arduino Uno控制板的项目,利用热敏电阻和LIAT中的热敏电阻函数节点,通过Arduino Uno控制板的模拟端口采集与热敏电阻串联电阻的分压值上传给LabVIEW软件,并除以温度系数以获得温度值,实现一个温度计的功能。

为啥用labview呢,因为LabVIEW是NI的数据采集创新软件产品,其全称是实验室虚拟仪器工程平台(Laboratory Virtual Instrument Engineering Workbench),是一种基于图形语言(Graphics Language,图形化编程语言)的测试系统软件开发平台。LabVIEW并不局限于虚拟仪器的开发,它的作用是为大型复杂测试系统提供通用的软件开发平台。目前,LabVIEW已经成为测试领域应用最广泛和最有前途的软件开发平台之一。

Arduino Uno是Arduino的典型控制器,拥有Arduino所有的基本功能,使用最为广泛,而且本书的应用篇和项目篇都是基于Arduino Uno来设计的,所以接下来重点介绍Arduino Uno的硬件部分,其他型号Arduino控制板硬件介绍可以参考Arduino官方网站:www.arduino.cc。

1.控制器
❑处理器:ATmega328
❑工作电压:5V
❑输入电压:(推荐)7~12V
❑输入电压:(范围)6~20V
❑数字I/O接口:14路(其中6路作为PWM输出)
❑模拟输入接口:6路
❑I/O接口直流电流:40mA
❑3.3V接口直流电流:50mA
❑Flash Memory:32KB(ATmega328,其中0.5KB用于Bootloader)
❑SRAM:2KB(ATmega328)
❑EEPROM:1KB(ATmega328)
❑工作时钟:16MHz
2.电源
Arduino Uno可以通过3种方式供电,而且能自动选择供电方式。
❑外部直流电源通过电源插座供电。
❑电池连接电源连接器的GND和VIN引脚。
❑USB接口直接供电。
电源引脚说明:
❑VIN:当外部直流电源接入电源插座时,可以通过VIN向外部供电;也可以通过此引脚向Uno直接供电;VIN有电时将忽略从USB或者其他引脚接入的电源。
❑5V:通过稳压器或USB输出的5V电压,为Uno上的5V芯片供电。
❑3.3V:通过稳压器产生的3.3V电压,最大驱动电流50mA。
❑GND:电源负极。
3.存储器
ATmega328拥有片上32KB Flash,其中0.5KB用于Bootloader,同时还有2KB SRAM和1KB EEPROM。通常情况下,Arduino的存储空间即其主控芯片所集成的存储空间,也可以通过使用外设芯片的方式扩展Arduino的存储空间。
❑Flash:32KB。其中0.5KB分作BOOT区,用于储存引导程序,实现串口下载程序的功能,另外的31.5KB作为用户存储程序的空间,可以满足一般的应用设计。
❑SRAM:2KB。SRAM相当于计算机的内存,在CPU运算时,需要在其中开辟一定的存储空间。当Arduino断电或者复位后,其中的数据都会丢失。
❑EEPROM:1KB。EEPROM全称为电可擦写可编程只读存储器,是一种用户可更改的只读存储器,特点是Arduino断电或者复位后,其中的数据不会丢失。
4.输入/输出
❑14路数字输入/输出接口:工作电压为5V,每一路输出或输入的最大电流为40mA。每一路配置了20~50kΩ的内部上拉电阻(默认不连接)。除此之外,有些引脚有特定的功能,具体说明如下:
串口信号RX(0号)和TX(1号):与内部ATmega16U2USB-to-TTL芯片相连,提供TTL电压水平的串口接收信号。
外部中断(2号和3号):触发中断引脚,可设成上升沿、下降沿或同时触发。
脉冲宽度调制PWM(3、5、6、9、10、11):提供6路8位PWM输出。

❑6路模拟输入A0~A5:每一路具有10位的分辨率(即输入有1024个不同值),默认输入信号范围为0~5V,可以通过AREF调整输入上限。除此之外,有些引脚有特定功能。
 ○TWI接口(SDA A4和SCL A5):支持通信接口(兼容I2C总线)。
❑AREF:模拟输入信号的参考电压。
❑Reset:信号为低时复位单片机芯片。
5.通信接口
❑串口:ATmega328内置的UART可以通过数字口0(RX)和1(TX)与外部实现串口通信;ATmega16U2可以通过访问数字口0和1实现USB上的虚拟串口。
❑TWI(兼容I2C)接口:A4(SDA)、A5(SCL),可用于TWI通信,兼容I2C通信。
❑SPI接口:10(SS)、11(MOSI)、12(MISO)、13(SCK),可用于SPI通信。

(1)项目最终效果
利用热敏电阻和LIAT中的热敏电阻函数节点,通过Arduino Uno控制板的模拟端口采集与热敏电阻串联电阻的分压值上传给LabVIEW软件,并除以温度系数以获得温度值,实现一个温度计的功能。

(2)硬件连接
将热敏电阻与10kΩ电阻串联起来,热敏电阻另一端接至Arduino Uno控制板上的+5V,10kΩ电阻另一端接至Arduino Uno控制板上的GND上,将热敏电阻与10kΩ电阻的连接处接至模拟引脚A2上,如图所示。
在这里插入图片描述
在这里插入图片描述

(3)程序设计
LabVIEW的前面板和程序框图如图1和图2所示。
LabVIEW程序首先通过设置的串口号与Arduino Uno控制板建立连接,然后进入While循环中,在循环中不断调用热敏电阻专用的Thermistor Read函数节点来读取温度值。最后,断开与Arduino Uno控制板的连接。
在这里插入图片描述
在这里插入图片描述

(4)实验与演示
点击运行按钮,LabVIEW程序开始执行,在Analog Pin选择A2,可以看到前面板上的温度计显示当前的温度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr Robot

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值