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,可以看到前面板上的溫度計顯示當前的溫度。
總結
以上是生活随笔為你收集整理的LabVIEW热敏电阻温度计程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: FRED案例:矩形微透镜阵列
- 下一篇: ECharts-漏斗图