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

        ?

        基于FPGA的電氣設(shè)備溫度控制系統(tǒng)設(shè)計(jì)

        2024-12-28 00:00:00張明白瑪次仁色珍
        今日自動(dòng)化 2024年10期

        [關(guān)鍵詞]溫濕度檢測(cè);FPGA ;DHT11 ;LCD1602

        [中圖分類號(hào)]TM63 [文獻(xiàn)標(biāo)志碼]A [文章編號(hào)]2095–6487(2024)10–0007–03

        1開發(fā)背景

        FPGA(Field Programmable Gate Array)是在可編程器件如PAL(可編程陣列邏輯)和GAL(通用陣列邏輯)的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。FPGA是一種可有效解決傳統(tǒng)器件門電路數(shù)量有限問題的可編程邏輯器件,是專用集成電路中的一種半定制電路。FPGA的基本結(jié)構(gòu)包括可編程輸入輸出單元、可重構(gòu)邏輯區(qū)塊、數(shù)字時(shí)鐘管理模塊、內(nèi)置區(qū)塊RAM、布線資源、內(nèi)置專用硬核、底層內(nèi)置功能單元。FPGA的設(shè)計(jì)流程涵蓋了算法設(shè)計(jì)、代碼模擬、設(shè)計(jì)實(shí)現(xiàn),以及板級(jí)調(diào)試等多個(gè)環(huán)節(jié)。設(shè)計(jì)人員先根據(jù)實(shí)際需要確定算法框架,再用EDA工具或使用HD編程語(yǔ)言編寫設(shè)計(jì)代碼來(lái)制訂設(shè)計(jì)方案。利用代碼模擬驗(yàn)證設(shè)計(jì)方案的符合性,然后進(jìn)行板級(jí)調(diào)試,并在FPGA芯片上加載配置電路,最終對(duì)實(shí)際操作效果進(jìn)行驗(yàn)證。

        2方案選擇與可行性分析

        解決方案1:以FPGA(CycloneⅡ系列)為主控模塊,搭配DS18B20溫度感應(yīng)器和HS1101濕度感應(yīng)器。該顯示屏采用LCD1602液晶顯示屏,報(bào)警裝置采用PWM模式的蜂鳴器,而電器裝置則換成開關(guān)。

        解決方案2:核心模塊同樣采用FPGA(CycloneⅡ系列),但溫濕度傳感器采用DHT11。使用LCD1602液晶顯示屏顯示探測(cè)到的溫度和濕度數(shù)據(jù),同時(shí)使用開關(guān)控制電器裝置作為報(bào)警裝置,并采用PWM模式的蜂鳴器。

        從上述兩種系統(tǒng)方案中可以看到,溫濕度采集模塊有DHT11和DS18B20+HS1101這兩種選擇,DHT11測(cè)量范圍20%~90%,0~50℃,測(cè)溫精度為±2℃,測(cè)濕精度為±5%;DS18B20測(cè)量范圍為-55~125℃,-10~85℃,誤差范圍為±0.5℃。最高精度可達(dá)0.0625℃;HS1101測(cè)量相對(duì)濕度范圍為0~100%,誤差為±2%。DS18B20+HS1101的組合精度更高,測(cè)量范圍也更大,但由于是兩個(gè)元件,設(shè)計(jì)更加復(fù)雜,功耗也更大。雖然DHT11的精確度沒有另一種組合更高,測(cè)量范圍也更小,但仍能滿足應(yīng)用場(chǎng)景的設(shè)計(jì)需求,同時(shí)設(shè)計(jì)簡(jiǎn)單且功耗較低,因此采用DHT11的這一設(shè)計(jì)的溫濕度收集模組更符合要求。故出于對(duì)產(chǎn)品功耗、性能等多方面的考慮,在設(shè)計(jì)溫濕度傳感器時(shí)選擇了DHT11。

        3模塊設(shè)計(jì)

        3.1溫濕度采集模塊

        DHT11傳感器有4個(gè)引腳,分別為VDD、DATA、NC和GND。傳感器的工作電壓為3.3~5.5V,如果在供電時(shí)選擇3.3V,接線長(zhǎng)度應(yīng)盡量縮短,接線過(guò)長(zhǎng)可能會(huì)導(dǎo)致傳感器供電不足,造成測(cè)量誤差。

        DHT11器件采用簡(jiǎn)化的單線通信,即完全依靠這條線路在系統(tǒng)中進(jìn)行數(shù)據(jù)交換與控制。設(shè)備(Master或Control)可通過(guò)1個(gè)開路或三態(tài)口連接數(shù)據(jù)線,從而釋放總線而不發(fā)送數(shù)據(jù),以便其他設(shè)備使用。一般單總線上拉電阻需接在4.7kΩ左右。這樣其狀態(tài)就保持了在總線空閑時(shí)的高水平狀態(tài)。由于主機(jī)必須呼叫從機(jī),從機(jī)才會(huì)應(yīng)答,因此需要按照單總線的正確順序,才能讓主機(jī)訪問設(shè)備。

        DHT11傳感器以8位濕度整數(shù)數(shù)據(jù)、8位濕度小數(shù)數(shù)據(jù)、8位溫度整數(shù)數(shù)據(jù)、8位溫度小數(shù)數(shù)據(jù)、8位校驗(yàn)位為數(shù)據(jù)格式傳輸數(shù)據(jù)。需要說(shuō)明的是濕度的小數(shù)部分始終為零。

        在FPGA與DHT11之間的通信過(guò)程中,將FPGA作為主機(jī),DHT11作為從機(jī)。DHT11在主機(jī)一次發(fā)送起動(dòng)訊號(hào)后,從低功耗模式轉(zhuǎn)換為高速模式,并發(fā)送響應(yīng)訊號(hào),在主機(jī)一次發(fā)送起動(dòng)訊號(hào)結(jié)束后發(fā)送40bit資料以觸發(fā)一次資訊收集。

        設(shè)置微處理器的I/O為輸出狀態(tài)并輸出低電平,要求不低于18ms(且不超過(guò)30ms)的低電平維持時(shí)間,之后將微處理器的I/O轉(zhuǎn)換為輸入狀態(tài)。微處理器的輸入輸出引腳(即DHT11的數(shù)據(jù)線)也因?yàn)樯侠娮璧淖饔?,即為了等待DHT11發(fā)送答案信號(hào),而被拉高了電平。

        當(dāng)DHT11的DATA引腳偵測(cè)到外接訊號(hào)為低電平時(shí),會(huì)進(jìn)入等待狀態(tài)直到外接訊號(hào)的低電平結(jié)束,再延遲一段時(shí)間后,DHT11的DATA引腳便會(huì)轉(zhuǎn)換成輸出狀態(tài)(double-在微處理器輸入/輸出等待接收數(shù)據(jù)時(shí),發(fā)送83μs的低電平信號(hào),然后發(fā)送87μs的高電平信號(hào),通知外設(shè)準(zhǔn)備接收數(shù)據(jù))。在偵測(cè)到低電平的I/O訊號(hào)(即DHT11的應(yīng)答訊號(hào))后,數(shù)據(jù)接收需要等待高電平訊號(hào)87μs。

        DHT11的DATA引腳輸出40位數(shù)據(jù),微處理器接收這些數(shù)據(jù)的方式是通過(guò)監(jiān)測(cè)I/O電平的變化。“0”位數(shù)據(jù)格式為低電平持續(xù)時(shí)間為54μs,之后高電平持續(xù)時(shí)間為23~27μs;“1”位數(shù)據(jù)格式為低電平持續(xù)時(shí)間54μs,之后高電平持續(xù)時(shí)間68~74μs。

        DHT11的DATA引腳輸出40bit數(shù)據(jù)后,在上拉電阻使其變?yōu)楦唠娖降那闆r下,持續(xù)輸出低電平54μs后將其設(shè)為輸入狀態(tài)。DHT11在準(zhǔn)備接收外部信號(hào)的同時(shí),會(huì)周期性地重新測(cè)量環(huán)境的溫濕度數(shù)據(jù)并進(jìn)行存儲(chǔ)。

        為更好地說(shuō)明DHT11的運(yùn)行規(guī)則,文章引入“狀態(tài)機(jī)”對(duì)其進(jìn)行解釋。本設(shè)計(jì)DHT11狀態(tài)如圖1所示,共分為6個(gè)狀態(tài),上電穩(wěn)定后運(yùn)行狀態(tài)只有5個(gè)。

        (1)WAIT_1S。上電后即進(jìn)入這個(gè)狀態(tài),主要是因?yàn)樯想姾笮枰?s的時(shí)間穩(wěn)定DHT11的狀態(tài)。該狀態(tài)使用計(jì)數(shù)器計(jì)時(shí),滿足1s就跳轉(zhuǎn)到下一個(gè)狀態(tài)START,并且計(jì)數(shù)清零,不滿足則停留在這個(gè)狀態(tài)一直計(jì)數(shù)。

        (2)START。在這個(gè)狀態(tài)下DHT11進(jìn)入工作狀態(tài)。主機(jī)將總線拉低18~30ms后再拉高。在這個(gè)狀態(tài)仍使用計(jì)數(shù)器計(jì)時(shí),拉低總線后計(jì)數(shù)開始,計(jì)數(shù)滿足條件后清零并跳轉(zhuǎn)到下一個(gè)狀態(tài)DELAY_10μs,不滿足則停留在這個(gè)狀態(tài)一直計(jì)數(shù)。

        (3)DELAY_10μs。在這個(gè)狀態(tài)下主機(jī)應(yīng)拉高10μs后釋放總線進(jìn)入等待狀態(tài)等待從機(jī)(DHT11)拉低作為回應(yīng)。主機(jī)將總線拉低10μs再將總線放出來(lái)。在這個(gè)狀態(tài)仍使用計(jì)數(shù)器,拉低總線后計(jì)數(shù)開始,計(jì)數(shù)滿足條件后清零并跳轉(zhuǎn)到下一個(gè)狀態(tài)DELAY_10μs,不滿足則停留在這個(gè)狀態(tài)一直計(jì)時(shí)。

        (4)REPLY。這個(gè)狀態(tài)是檢查從機(jī)是否回應(yīng)以及回應(yīng)是否符合時(shí)序。一旦主機(jī)檢測(cè)到上升沿且此時(shí)計(jì)數(shù)器介于70~100μs,則說(shuō)明從機(jī)回應(yīng)了一個(gè)70~100μs的低電平信號(hào),從而跳轉(zhuǎn)到下一個(gè)狀態(tài)DELAY_75μs;一旦主機(jī)檢測(cè)到上升沿但此時(shí)計(jì)數(shù)器大于500μs時(shí)仍沒有檢測(cè)到上升沿,則說(shuō)明從機(jī)的應(yīng)答不符合時(shí)序,那么狀態(tài)機(jī)跳轉(zhuǎn)到START狀態(tài)(不跳轉(zhuǎn)到WAIT_1S狀態(tài),因?yàn)橹挥性诿看紊想姾蟛判枰舆t1s)并將計(jì)數(shù)器清零,在這個(gè)狀態(tài)計(jì)數(shù)器一直計(jì)數(shù)到跳轉(zhuǎn)至另一個(gè)狀態(tài)才清零。

        (5)DELAY_75μs。該狀態(tài)為了接收數(shù)據(jù)而向主機(jī)輸出87μs高電平。因?yàn)楹罄m(xù)發(fā)送數(shù)據(jù)時(shí)一定是以低電平開始,所以在這里一定會(huì)檢測(cè)到數(shù)據(jù)線上的一個(gè)下降沿。一旦檢測(cè)到下降沿且計(jì)數(shù)器大于70μs,那么跳轉(zhuǎn)到下一個(gè)狀態(tài)REV_data并將計(jì)數(shù)器清零,不然則停留在這個(gè)狀態(tài)一直計(jì)時(shí)。

        3.2顯示模塊

        本設(shè)計(jì)顯示模塊采用LCD1602,共有16根管腳(部分型號(hào)只有14根,沒有背光管腳),需要使用的管腳為RS,E和D0-D7。當(dāng)RS為低電平時(shí),代表輸入命令;當(dāng)RS為高電平時(shí),代表輸入數(shù)據(jù)。若表示輸入命令,則輸入與設(shè)置模塊相當(dāng)?shù)臄?shù)列D0-D7;若表示輸入數(shù)據(jù),則將輸入的數(shù)字列成D0-D7,等于寫進(jìn)了一個(gè)字符串,該字符串需要顯示。E端是用來(lái)執(zhí)行命令的能量引腳,當(dāng)LCD模塊執(zhí)行命令時(shí),其由高電平變?yōu)榈碗娖剑ㄏ陆笛兀?。D0-D7是八位雙向并行數(shù)據(jù)線,在文章中僅作輸入端(寫入)。

        模塊有CLK時(shí)鐘輸入端、_RST低電平有效復(fù)位端、LCD_E使能端、LCD_RS數(shù)據(jù)/命令選擇端、LCD_DATA數(shù)據(jù)端5個(gè)端口(其中8個(gè)數(shù)據(jù)端合為8位寬端口);上電穩(wěn)定是數(shù)據(jù)手冊(cè)要求須通電20ms才能進(jìn)行下一步操作的簡(jiǎn)單初始化模塊;RS端通過(guò)數(shù)據(jù)或指令對(duì)輸入進(jìn)行控制;字符輸入由FPGA得到溫度和濕度,溫度以第一行表示,濕度以第二行表示。

        3.3判斷模塊和報(bào)警模塊(信號(hào)輸出模塊)

        對(duì)DHT11傳輸過(guò)來(lái)的溫度進(jìn)行判斷,若溫度大于40℃(濕度大于90)以上,則輸出信號(hào)為3,代表此時(shí)溫度(濕度)過(guò)高,同時(shí)蜂鳴器開始報(bào)警;如果溫度小于15℃(濕度小于40),則輸出信號(hào)為2,代表此時(shí)溫度(濕度)過(guò)低,蜂鳴器同樣進(jìn)行報(bào)警;溫度大于15℃,小于40℃時(shí)(濕度大于40,小于90時(shí)),輸出信號(hào)為0,代表溫度(濕度)正常,蜂鳴器不工作。

        蜂鳴器的設(shè)置為外部輸入25MHz的時(shí)鐘信號(hào),然后用20位計(jì)數(shù)器進(jìn)行計(jì)數(shù),對(duì)輸入時(shí)鐘信號(hào)進(jìn)行分頻,對(duì)應(yīng)的一個(gè)周期為25Hz,設(shè)置判斷邏輯,即可得到占空比為50%的蜂鳴器發(fā)出聲響的結(jié)果。同時(shí),在輸入信號(hào)大于1點(diǎn)的情況下,喊話器也只會(huì)發(fā)出響聲。

        4結(jié)束語(yǔ)

        文章設(shè)計(jì)了以FPGA為核心部件的電氣設(shè)備降溫節(jié)能控制系統(tǒng),利用軟件編程進(jìn)行驗(yàn)證,最終基本上實(shí)現(xiàn)了各項(xiàng)要求。溫濕度檢測(cè)和控制與生產(chǎn)及生活密切聯(lián)系,是熱門研究課題之一。溫濕度的智能控制已成為一種不可避免的趨勢(shì)。未來(lái),通過(guò)自動(dòng)化控制技術(shù)的運(yùn)用,不僅可提高效率,還可節(jié)約人力資源。

        亚洲是图一区二区视频| 日本熟日本熟妇中文在线观看| 国产特级毛片aaaaaa| 日本午夜精品理论片A级APP发布| 色婷婷亚洲十月十月色天| 婷婷色精品一区二区激情| 性色欲情网站| 男女超爽视频免费播放| 久久精品国产亚洲AV高清wy| av手机免费在线观看高潮| av狠狠色丁香婷婷综合久久| 国产成人无码aⅴ片在线观看| 国产一区二区三区视频免费在线| 一区二区在线观看精品在线观看| 午夜裸体性播放| 久久香蕉免费国产天天看| 人妻少妇精品视频一区二区三区 | 另类内射国产在线| 久热香蕉av在线爽青青| 日本一二三区在线不卡| 无套内谢老熟女| 国产色诱视频在线观看| 手机在线中文字幕国产| 丰满少妇被猛进去高潮| 免费人妻无码不卡中文字幕18禁| 中文人妻无码一区二区三区信息| 亚洲av手机在线一区| 亚洲第一狼人天堂网亚洲av | 国产成人精品a视频| 久久精品亚洲牛牛影视| 亚洲天堂av在线免费看| 亚洲国产精品无码久久一线 | 中文字幕专区一区二区| 男人扒开女人双腿猛进视频| 亚洲日韩乱码中文无码蜜桃臀| 国产成人自拍小视频在线| 中文字日产幕码三区的做法步 | 日韩精品中文字幕人妻系列| 久久精品蜜桃亚洲av高清| 久久人人爽人人爽人人片av东京热| 99久久99久久久精品久久|