亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        SHT10傳感器在溫濕度監(jiān)測系統(tǒng)中的應(yīng)用

        2012-10-22 03:35:22陸榮鑑
        傳感器與微系統(tǒng) 2012年9期
        關(guān)鍵詞:微控制器時序校驗

        陸榮鑑,李 品,孫 周

        (南京林業(yè)大學(xué)機(jī)電院機(jī)械電子工程系,江蘇南京 210037)

        0 引言

        倉儲管理、生產(chǎn)制造、氣象觀測、科學(xué)研究以及日常生活中,需要對溫度、濕度進(jìn)行實時檢測。傳統(tǒng)的溫度、濕度傳感器測量精度難以保證,且在線性度、重復(fù)性、互換性、一致性等方面表現(xiàn)較差。隨著新技術(shù)和新材料的發(fā)展,數(shù)字式溫濕度傳感器出現(xiàn)了,具有代表性的是瑞士Sensirion公司生產(chǎn)的SHT1x/7x系列單片集成傳感器,這類傳感器可以同時測量濕度、溫度,不僅提高了測量精度,還簡化了外圍電路。本文選用的是SHT10傳感器[1]。

        在工業(yè)控制領(lǐng)域,RS—485是常用的計算機(jī)與外部串行設(shè)備之間進(jìn)行數(shù)據(jù)交換的通信協(xié)議。因其具有良好的抗噪聲干擾性,長的傳輸距離和多站能力等上述優(yōu)點就使其成為首選的串行接口。本文介紹了基于RS—485串行接口總線的多點溫濕度監(jiān)測系統(tǒng)。

        1 系統(tǒng)硬件設(shè)計

        1.1 數(shù)據(jù)采集單元設(shè)計

        數(shù)據(jù)采集單元由溫濕度傳感器SHT10和微控制器PIC16F873組成。

        SHT10通過二線串行接口與微處理器連接,如圖1所示。SHT10 的供電電壓是 2.4~5.5 V,推薦使用 3.3 V,電源引腳VDD和GND之間需要加一個100nF的去耦電容器。串行時鐘輸入線SCK用于使PIC16F873與SHT10之間通信同步,由于SHT10接口包含了完全靜態(tài)邏輯,因而不存在最小SCK頻率限制,即微控制器可以以任意低的速度與SHT10通信。串行數(shù)據(jù)線DATA引腳是三態(tài)門結(jié)構(gòu),用于數(shù)據(jù)的讀取。DATA在SCK時鐘下降沿之后改變狀態(tài),并僅在SCK時鐘上升沿有效。在PIC16F873向SHT10發(fā)送數(shù)據(jù)且SCK時鐘為高電平時,DATA必須保持穩(wěn)定。為避免信號沖突,PIC16F873應(yīng)拉低 DATA,當(dāng)需要拉高DATA信號時,可以通過附加的上拉電阻來實現(xiàn)[1]。

        1.2 數(shù)據(jù)傳輸單元設(shè)計

        RS—485總線采用雙絞線差分傳輸,可連接成半雙工和全雙工方式,最遠(yuǎn)傳輸距離為4000ft(1ft=0.3048m)。系統(tǒng)數(shù)據(jù)傳輸網(wǎng)絡(luò)采取主從式,上位機(jī)PC機(jī)為主機(jī)[2],下位機(jī)PIC16F873為從機(jī)。主機(jī)控制整個網(wǎng)絡(luò)的通信時序,每個從機(jī)有一個識別地址,當(dāng)從機(jī)被尋址時,該機(jī)做出響應(yīng),保證各從站分時使用總線,從而避免數(shù)據(jù)傳輸沖突。系統(tǒng)選用半雙工式通信芯片75LBC184,允許在總線上掛接最多64個類似器件。該芯片帶有內(nèi)置高能量瞬變噪聲保護(hù)裝置,顯著提高了抵抗數(shù)據(jù)同步傳輸電纜上的瞬變噪聲的可靠性。

        PIC16F873單片機(jī)自帶異步通信接口,外接RS—485收發(fā)器75LBC184。PIC16F873的異步通信口與75LBC184之間采用3片光耦進(jìn)行電氣隔離,如圖2所示。由于上位機(jī)的接口是RS—232接口,故兩者之間還需加上 RS—232/RS—485轉(zhuǎn)換器進(jìn)行信號轉(zhuǎn)換。

        圖1 數(shù)據(jù)采集單元Fig 1 Data acquisition unit

        圖2 數(shù)據(jù)傳輸單元Fig 2 Data transmission unit

        2 系統(tǒng)軟件設(shè)計

        2.1 SHT10 工作時序

        SHT10上電后11 ms進(jìn)入休眠模式,首先應(yīng)發(fā)送一個傳輸啟動時序(如圖3所示)喚醒芯片。隨后,微控制器可向SHT10發(fā)送命令,命令字包括高3位的地址位 (目前只支持000)和低5位的命令位。常用命令有:0x03測溫度,0x05測相對濕度,0x07讀寄存器,0x06寫寄存器,0x1e軟件復(fù)位。在發(fā)送命令時序中,SHT10在第8個SCK時鐘周期下降沿后拉低DATA來表示正確接收到命令。SHT10在第9個SCK時鐘周期的下降沿之后釋放DATA線,DATA恢復(fù)至高電平。微控制器發(fā)出一組測量命令后需要根據(jù)測量數(shù)據(jù)精確度8/12/14 bit分別等待最長20/80/320 ms,SHT10通過拉低DATA表示測量結(jié)束,同時存儲測量結(jié)果等待微控制器讀取,SHT10自動進(jìn)入空閑狀態(tài)[1]。

        圖3 SHT10傳輸啟動時序Fig 3 Transmission start timing sequence of SHT10

        測量數(shù)據(jù)讀取前,微控制器重新啟動SCK,SHT10傳送2字節(jié)的測量數(shù)據(jù)與1字節(jié)的CRC校驗數(shù)據(jù),傳輸數(shù)據(jù)的順序是從最高位(MSB)到最低位(LSB)。微控制器接收到每個字節(jié)后,將數(shù)據(jù)線拉成低電平,產(chǎn)生應(yīng)答信號ACK,以CRC校驗字節(jié)的確認(rèn)表示通信結(jié)束。CRC寄存器通過計算多項式(x8+x5+x4+1)來判定測量過程是否發(fā)生錯誤,一旦發(fā)現(xiàn)錯誤,微控器就發(fā)送軟啟動命令,重新進(jìn)行測量。如果不使用CRC—8校驗,微控器可以在測量值LSB后保 持DATA高電平來終止通信。SHT10在測量和通信完成后會自動返回睡眠模式。

        如果微控制器與SHT10通信中斷,可通過連接復(fù)位時序復(fù)位,即當(dāng)DATA保持高電平時,觸發(fā)SCK時鐘9次或更多次,如圖4所示。這個時序只復(fù)位串口,狀態(tài)寄存器內(nèi)容仍然保留。

        圖4 SHT10連接復(fù)位時序Fig 4 Connection reset timing sequence of SHT10

        2.2 數(shù)據(jù)采集模塊軟件設(shè)計

        這個模塊主要是根據(jù)SHT10的功能時序?qū)/O口進(jìn)行操作,使其完成溫濕度的測量,并將測量結(jié)果發(fā)送至微控制器中進(jìn)行計算,如圖5所示。

        圖5 數(shù)據(jù)采集程序Fig 5 Data acquisition program

        溫濕度值在PIC16F873中以BCD碼存儲,共計5個寄存器。0x0020存放溫度值的小數(shù)部分,0x0021存放溫度值整數(shù)部分的十位和個位,0x0022存放溫度值整數(shù)部分的符號位和百位數(shù);0x0023存放濕度值的小數(shù)部分,0x0024存放濕度值的整數(shù)部分。

        2.3 數(shù)據(jù)傳輸部分程序設(shè)計

        異步通信中以10位字符為1幀,1位起始位,8位數(shù)據(jù)位,1 位停止位,無奇偶校驗位,波特率為 9 600 bps[3]。PIC16F873的USART模塊帶有一個8位的波特率發(fā)生器BRG,為串行信息幀格式中的每一位編碼的發(fā)送和接收檢測提供定時時鐘,通過BRGH,SPBRG寄存器確定波特率。這里選用BRGH=1(高速方式),SPBRG寄存器初值設(shè)為25。

        2.4 協(xié)議設(shè)計

        RS—485電氣接口規(guī)范只規(guī)定了電氣特性,而沒有規(guī)定插件傳輸電纜和通信協(xié)議,在數(shù)據(jù)收發(fā)過程中,依據(jù)ModB-us協(xié)議保證數(shù)據(jù)的可靠傳輸。ModBus協(xié)議有2種傳輸模式,即RTU模式和ASCII模式。RTU模式表達(dá)相同的信息需要較少的位數(shù),即信息幀中的8位數(shù)據(jù)作為2個4位16進(jìn)制字符,且在相同通信速率下具有更大的數(shù)據(jù)流量,故系統(tǒng)選用RTU模式,典型的消息幀如表1所示。最終數(shù)據(jù)會被從最低位開始轉(zhuǎn)換成二進(jìn)制編碼發(fā)送,采用CRC—16進(jìn)行數(shù)據(jù)有效性檢驗[4]。

        表1 RTU協(xié)議典型消息幀Tab 1 Agreement typical news frame of RTU

        在RTU模式中,一幀信息的結(jié)束到另一幀信息的開始至少需要3.5個字符的時間間隔(由于波特率是9600 kps,故這里的時間間隔是3.7 ms),系統(tǒng)通過定時器2設(shè)定中斷來判斷幀的起始和結(jié)束。從機(jī)每接收到一個新的字節(jié),就重啟定時器計時。當(dāng)超過設(shè)定的3.7 ms時,定時器中斷,并在中斷中設(shè)定一個標(biāo)志位,當(dāng)主程序查詢到這個標(biāo)志位時暫停定時器的工作繼而處理接收到的數(shù)據(jù)。另外,整個消息幀必須作為一連續(xù)數(shù)據(jù)流傳輸,如果在幀完成之前有超過1.5個字符的時間間隔,接收設(shè)備將刷新不完整的消息并假定下一字節(jié)是一個新消息的地址字節(jié)。如果一個新消息在小于3.5個字符時間(1.6 ms)內(nèi)接著前個消息開始,接收的設(shè)備將認(rèn)為它是前一消息的延續(xù),但這樣CRC校驗不會正確[5]。串口中斷和定時器中斷子程序如圖6和圖7所示。

        在PIC16F873里,專門劃出一塊緩沖區(qū)用于串行通信,從0x0060到0x0080。系統(tǒng)中若主機(jī)設(shè)備想要了解某一從機(jī)的測量值時,發(fā)送一個包含從機(jī)地址編碼的信息,則符合相應(yīng)地址碼的從機(jī)接收通信命令,并根據(jù)功能碼與相關(guān)要求讀取信息。如果CRC校驗無誤,則執(zhí)行相應(yīng)的任務(wù),然后把執(zhí)行結(jié)果返送給主機(jī)。

        圖6 串口中斷子程序流程圖Fig 6 Flow chart of serial interrupt subprogram

        圖7 定時器中斷子程序流程圖Fig 7 Flow chart of timer interrupt subprogram

        2.5 單片機(jī)主程序設(shè)計

        單片機(jī)主程序分為四部分:初始化模塊、數(shù)據(jù)接收模塊、數(shù)據(jù)采集模塊、數(shù)據(jù)處理和發(fā)送模塊。初始化模塊包括波特率設(shè)置、定時器設(shè)置、開中斷等;數(shù)據(jù)接收模塊由串口中斷子程序和定時器中斷子程序組成;數(shù)據(jù)采集模塊如前所述;數(shù)據(jù)處理和發(fā)送模塊包括校驗計算和將數(shù)據(jù)打包成協(xié)議設(shè)定格式并回復(fù)主機(jī)。從機(jī)接收到主機(jī)命令并且校驗正確之后,進(jìn)入數(shù)據(jù)采集模塊,繼而再將所需數(shù)據(jù)發(fā)送至主機(jī)。

        2.6 監(jiān)測中心軟件界面與實驗數(shù)據(jù)

        本系統(tǒng)共放置了10個監(jiān)測點,所有監(jiān)測點通過RS—485總線連到中心計算機(jī),監(jiān)測軟件采用VB編寫。

        界面分4個區(qū),分別為通信串口設(shè)置區(qū)、數(shù)據(jù)查詢區(qū)、監(jiān)測點溫濕度數(shù)據(jù)顯示區(qū)、采集控制區(qū)。其中通信串口設(shè)置區(qū)用來設(shè)置串口號和通信速率;數(shù)據(jù)查詢區(qū)提供各監(jiān)測點的溫度、濕度查詢,溫度、濕度報警設(shè)置值查詢,當(dāng)按下要查詢項目的按鈕,會跳出相應(yīng)的文本框,提供復(fù)制黏貼;監(jiān)測點溫濕度數(shù)據(jù)顯示區(qū)顯示10個監(jiān)測點當(dāng)前的溫度和濕度;采集控制區(qū)是對溫濕度數(shù)據(jù)進(jìn)行復(fù)位,對溫濕度報警值進(jìn)行設(shè)定。測試數(shù)據(jù)如表2所示。

        表2 實驗測試值Tab 2 Experimental test value

        經(jīng)測試,所測數(shù)據(jù)均符合要求,達(dá)到技術(shù)指標(biāo)的要求。

        3 結(jié)論

        本文介紹了SHT10在溫濕度監(jiān)測系統(tǒng)中的應(yīng)用,通過RS—485實現(xiàn)指定范圍內(nèi)溫濕度監(jiān)測網(wǎng)絡(luò)。本系統(tǒng)已在大棚和藥品倉庫溫濕度監(jiān)系統(tǒng)系統(tǒng)得到應(yīng)用。在后續(xù)的研究中,考慮組建無線傳感器網(wǎng)絡(luò),通過基站收集各節(jié)點的數(shù)據(jù),集中處理后提交給用戶。以此實現(xiàn)復(fù)雜的指定范圍內(nèi)目標(biāo)檢測與跟蹤,具有快速展開、抗毀性強(qiáng)等特點。

        [1] Datasheet SHT1x(SHT10,SHT11,SHT15)humidity and temperature sensor datasheet[Z].Sensirion,2009.

        [2] 李學(xué)海.PIC單片機(jī)原理[M].北京:北京航空航天大學(xué)出版社,2004.

        [3] B&B Electronics Ltd.RS—422 and RS—485 Application Note[Z].Ireland,2006.

        [4] Modicon Manual,Inc.Modicon modbus protocol reference guide P1—MBUS—300Rev.J.[Z].Modicon Manual Inc,1996.

        [5] 孟 華,王鵬達(dá),李明偉.基于ModBus協(xié)議的觸摸屏與PIC單片機(jī)的通信實現(xiàn)[J].儀表技術(shù)與傳感器,2009(10):58-60.

        猜你喜歡
        微控制器時序校驗
        時序坐標(biāo)
        基于Sentinel-2時序NDVI的麥冬識別研究
        爐溫均勻性校驗在鑄鍛企業(yè)的應(yīng)用
        物聯(lián)網(wǎng)技術(shù)在微控制器實驗教學(xué)中的應(yīng)用
        電子制作(2017年14期)2017-12-18 07:07:58
        一種毫米波放大器時序直流電源的設(shè)計
        電子制作(2016年15期)2017-01-15 13:39:08
        大型電動機(jī)高阻抗差動保護(hù)穩(wěn)定校驗研究
        電測與儀表(2015年1期)2015-04-09 12:03:02
        基于加窗插值FFT的PMU校驗方法
        鍋爐安全閥在線校驗不確定度評定
        Atmel針對新一代物聯(lián)網(wǎng)應(yīng)用發(fā)布全新32位微控制器
        最新STM32設(shè)計工具增加對混合信號微控制器的支持
        激情视频国产在线观看| 99久久精品国产成人综合| 国产成人啪精品| 中文字幕精品永久在线| 在线成人影院国产av| 国内精品久久久久久久97牛牛| 人人添人人澡人人澡人人人人| 精品国产亚洲一区二区三区演员表| 亚洲av午夜福利一区二区国产| 在线亚洲+欧美+日本专区| 一道本中文字幕在线播放| 人妻少妇进入猛烈时中文字幕| 成人免费无码大片a毛片软件| 在线成人福利| 一级黄色一区二区三区视频| 精品亚洲国产成人av色哟哟| 无码日韩精品一区二区三区免费| 99国产精品久久久蜜芽| 蜜桃一区二区三区在线视频| 99久久99久久精品国产片| 品色永久免费| 亚洲黄色性生活一级片| 乳乱中文字幕熟女熟妇| 无码人妻一区二区三区兔费| 国产午夜激无码av毛片| 美腿丝袜一区二区三区| 亚洲av男人的天堂一区| 国产成本人片无码免费2020| 久久久久中文字幕精品无码免费| 免费看黄在线永久观看| 日韩精品人成在线播放| 欧美gv在线观看| 精品国产1区2区3区AV| 国产三级精品三级男人的天堂| 亚欧美日韩香蕉在线播放视频 | 99热最新在线观看| 中文字幕丰满人妻被公强| 亚洲午夜av久久久精品影院色戒| 欧美熟妇精品一区二区三区| 亚洲综合色婷婷七月丁香| 老熟女富婆激情刺激对白|