"); //-->

狠狠做深爱婷婷久久一区,欧美日韩国内,久久麻豆精品传媒,久久久一区一区二区,色鬼伦理片,99视频精品久久,久久精品国产久久久久久,久久久伦理电影一区二,磁力天堂河北彩花

專欄中心

EEPW首頁 > 專欄 > LabVIEW控制Arduino采集熱電偶溫度數(shù)值(進(jìn)階篇—2)

LabVIEW控制Arduino采集熱電偶溫度數(shù)值(進(jìn)階篇—2)

發(fā)布人:美男子玩編程 時(shí)間:2022-06-22 來源:工程師 發(fā)布文章

1


項(xiàng)目概述


在之前的博文中,介紹了LabVIEW控制Arduino采集LM35溫度傳感器數(shù)值和LabVIEW控制Arduino采集熱敏電阻溫度數(shù)值的方法。本篇博文將基于熱電偶搭建一款溫度監(jiān)控系統(tǒng)。


熱電偶測溫具有技術(shù)成熟,測溫范圍寬,測量精度高,性能穩(wěn)定,結(jié)構(gòu)簡單,動(dòng)態(tài)響應(yīng)較好,價(jià)格相對較便宜的優(yōu)點(diǎn)。


熱電偶是將兩種不同材料的導(dǎo)體或半導(dǎo)體A和B焊接起來,構(gòu)成一個(gè)閉合回路,當(dāng)導(dǎo)體A和B的兩個(gè)連接點(diǎn)1和2之間存在溫差時(shí),兩者之間便產(chǎn)生電動(dòng)勢,因而在回路中形成一個(gè)回路電流。這種現(xiàn)象稱為熱電效應(yīng),而這種電動(dòng)勢稱為熱電勢。熱電效應(yīng)原理圖如下圖所示:


圖片


熱電偶就是利用熱電原理進(jìn)行溫度測量的,其中,直接用作測量介質(zhì)溫度的一端叫作工作端(也稱為測量端),另一端叫作冷端(也稱為補(bǔ)償端)。


熱電偶實(shí)際上是一種能量轉(zhuǎn)換器,它將熱能轉(zhuǎn)換為電能,用所產(chǎn)生的熱電勢測量溫度。對于熱電偶的熱電勢,應(yīng)注意如下幾個(gè)問題:

1、熱電偶的熱電勢是熱電偶工作端的兩端溫度函數(shù)的差,而不是熱電偶冷端與工作端之間溫度差的函數(shù);

2、當(dāng)熱電偶的材料均勻時(shí),熱電偶所產(chǎn)生的熱電勢的大小,與熱電偶的長度和直徑無關(guān),只與熱電偶材料的成分和兩端的溫差有關(guān);

3、當(dāng)熱電偶的兩個(gè)熱電偶絲材料成分確定后,熱電偶熱電勢的大小,只與熱電偶的溫度差有關(guān);若熱電偶冷端的溫度保持一定,熱電偶的熱電勢僅是工作端溫度的單值函數(shù)。


關(guān)于熱電偶更詳細(xì)的測溫原理可參見博文:熱敏電阻、RTD、熱電偶的原理和特性



2


項(xiàng)目架構(gòu)


本篇博文主要介紹采用熱電偶、MAX6675、Arduino Uno與LabVIEW來實(shí)現(xiàn)上下位機(jī)高溫監(jiān)測系統(tǒng)。其中,MAX6675實(shí)現(xiàn)熱電偶的線性化與冷端補(bǔ)償,Arduino Uno作為下位機(jī),負(fù)責(zé)MAX6675的讀寫以及數(shù)據(jù)傳輸,LabVIEW編寫的監(jiān)測軟件作為上位機(jī),上下位機(jī)利用USB-TTL接口實(shí)現(xiàn)通信。系統(tǒng)框圖架構(gòu)如下圖所示:


圖片



3


硬件環(huán)境


將K型熱電偶兩端接至MAX6675模塊的接線座上,確保正負(fù)兩極連接無誤。將MAX6675模塊的VCC、GND、SO、CS、SCK分別接至Arduino Uno控制板上的+5V、GND、數(shù)字端口5、6、7上。熱電偶高溫監(jiān)測系統(tǒng)硬件連接如下圖所示:


圖片



4


Arduino功能設(shè)計(jì)


Arduino下位機(jī)部分需要完成以下功能:溫度測量和溫度傳輸,Arduino Uno控制板通過USB—TTL電纜接收上位機(jī)發(fā)來的命令,完成相應(yīng)的溫度測量,并將測量的溫度數(shù)據(jù)回傳至LabVIEW上位機(jī)軟件。


溫度測量即通過Arduino Uno控制器操作MAX6675以讀取K型熱電偶的溫度數(shù)據(jù)MAX6675完成K型熱電偶信號的模數(shù)轉(zhuǎn)換、冷端補(bǔ)償和線性化。


Arduino Uno控制器負(fù)責(zé)讀取LabVIEW上位機(jī)發(fā)來的熱電偶溫度采集命令,并讀取MAX6675從而獲取熱電偶的溫度數(shù)據(jù),通過串口發(fā)送回上位機(jī)LabVIEW軟件。Arduino Uno控制器的程序代碼如下所示:



























































#include "Max6675.h" Max6675 ts(8, 9, 10);// Max6675 module: SO on pin #8, SS on pin #9, CSK on pin #10 of Arduino UNO// Other pins are capable to run this library, as long as digitalRead works on SO,// and digitalWrite works on SS and CSK byte comdata[3]={0};      //定義數(shù)組數(shù)據(jù),存放串口命令數(shù)據(jù)int LED = 13;                 //定義LED連接的管腳 void receive_data(void);      //接受串口數(shù)據(jù)void test_do_data(void);         //測試串口數(shù)據(jù)是否正確,并更新數(shù)據(jù)  void setup(){  Serial.begin(9600);        pinMode(LED, OUTPUT);  ts.setOffset(0);  // set offset for temperature measurement.  // 1 stannds for 0.25 Celsius} void loop(){  while (Serial.available() > 0)   //不斷檢測串口是否有數(shù)據(jù)   {        receive_data();            //接受串口數(shù)據(jù)        test_do_data();               //測試數(shù)據(jù)是否正確并更新數(shù)據(jù)   }}  void receive_data(void)       {   int i ;   for(i=0;i<3;i++)   {      comdata[i] =Serial.read();      //延時(shí)一會,讓串口緩存準(zhǔn)備好下一個(gè)字節(jié),不延時(shí)可能會導(dǎo)致數(shù)據(jù)丟失,       delay(2);   }} void test_do_data(void){  if(comdata[0] == 0x55)            //0x55和0xAA均為判斷是否為有效命令   {     if(comdata[1] == 0xAA)     {        if(comdata[2] == 0xff)          {                 Serial.print(ts.getCelsius(), 2);          }      }   }}



5


LabVIEW功能設(shè)計(jì)


LabVIEW上位機(jī)部分需要完成以下功能:向下位機(jī)發(fā)送數(shù)據(jù)和接收數(shù)據(jù)并顯示在前面板上,Arduino Uno控制板通過串口接收上位機(jī)命令,完成相應(yīng)的溫度測量,并將數(shù)據(jù)回傳至上位機(jī)。


5.1、前面板設(shè)計(jì)


LabVIEW前面板分為當(dāng)前溫度數(shù)據(jù)顯示和溫度波形數(shù)據(jù)顯示兩個(gè)部分,波形數(shù)據(jù)主要用于顯示溫度的變化趨勢,LabVIEW上位機(jī)前面板設(shè)計(jì)如下圖所示:


圖片


5.2、程序框圖設(shè)計(jì)


LabVIEW上位機(jī)主程序的結(jié)構(gòu)為順序結(jié)構(gòu)+While循環(huán)。首先,在順序結(jié)構(gòu)中的第幀中,通過設(shè)置的串口號來初始化串口通信。然后,程序進(jìn)入While循環(huán)中,每間隔1秒讀取一次熱電偶的溫度,并顯示在前面板上的數(shù)值框和波形圖。最后,關(guān)閉串口通信。


為了保證通信的正確性,在數(shù)據(jù)幀中設(shè)置0X55和0XAA的校驗(yàn)幀,0XFF為熱電偶溫度采集命令碼。LabVIEW上位機(jī)程序框圖如下圖所示:


圖片


本篇博文介紹的熱電偶高溫監(jiān)測系統(tǒng)可以實(shí)現(xiàn)較寬范圍的溫度測量,將Arduino Uno與LabVIEW的通信方式更改為RS-485總線,適用于鍋爐等工業(yè)現(xiàn)場的高溫測量。


*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。

關(guān)鍵詞: LabVIEW Arduino

相關(guān)推薦

基于Portenta的農(nóng)業(yè)和草坪管理

LabVIEW 8.20技術(shù)資料大全簡介

使用OPC連接LabVIEW到任意PLC

視頻 2009-03-24

labview入門教材

高通收購硬件公司Arduino,深耕機(jī)器人領(lǐng)域

使用LabVIEW 8.5的“多核”功能

視頻 2009-03-24

自由度直升機(jī)控制系統(tǒng)視頻演示

視頻 2009-03-24

LabView教材

資源下載 2007-03-20

LabVIEW 8.5新特性演示

視頻 2009-03-24

高通收購Arduino帶來了全新的氛圍——UNO Q上的人工智能與信號處理

高通收購Arduino,開源社區(qū)持懷疑態(tài)度

LabVIEW 8.5在各行業(yè)的應(yīng)用集錦

視頻 2009-03-24

使用Arduino和EMG的錯(cuò)誤姿勢和肌肉拉傷監(jiān)測器,帶實(shí)時(shí)藍(lán)牙警報(bào)

基于Arduino的雙模科學(xué)計(jì)算器設(shè)計(jì)

Arduino UNO Q登陸DigiKey,現(xiàn)已開放預(yù)訂

二十年過去 Arduino已經(jīng)遠(yuǎn)不止是Arduino了

簡體中文版LabVIEW 8.20—— 母語編程,方便高效

Arduino硬件模擬器 vs 實(shí)物零件:哪個(gè)更合適?

更多 培訓(xùn)課堂
更多 焦點(diǎn)
更多 視頻

技術(shù)專區(qū)

贺兰县| 文成县| 本溪| 进贤县| 阳谷县| 鲁山县| 望都县| 焉耆| 井冈山市| 河间市| 庐江县| 武乡县| 博乐市| 株洲县| 新巴尔虎右旗| 福泉市| 夏邑县| 贵阳市| 乌鲁木齐县| 屯门区| 西和县| 故城县| 壶关县| 广河县| 光山县| 弋阳县| 子长县| 杭州市| 桓仁| 淮安市| 呼图壁县| 惠安县| 新和县| 宣城市| 灵璧县| 深州市| 辽阳市| 恩平市| 环江| 锦州市| 化德县|