• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      多路BH1750光強檢測系統(tǒng)的設計

      2019-01-16 01:44:50楊世權張謙述
      太原學院學報(自然科學版) 2018年4期
      關鍵詞:光照度高分辨率總線

      楊世權,張謙述,周 聰

      (西華師范大學電子信息工程學院,四川 南充 637009)

      引言

      隨著科學技術的不斷發(fā)展,智能家居、智能農(nóng)業(yè)和智能園林開始出現(xiàn),其中光照強度是一項重要的環(huán)境參數(shù)。在家居環(huán)境中,光照度影響著人們的舒適度。農(nóng)業(yè)種植中,適當?shù)墓庹樟繉瞎卟说纳L十分重要。園林中,適當光照度可以讓花草生長得更好。文獻[1]提出了單個BH1750光強檢測系統(tǒng)的設計,但沒有提到多個BH1750的應用和相應的實驗數(shù)據(jù)。文獻[2]給出了設計一種光照強度測試儀,但存在處理器較落后、處理速度慢和顯示器分辨率低等不足。文獻[3]提出將BH1750與串口相結合,將光強數(shù)據(jù)上傳到電腦上顯示,但沒給出相應的軟件實現(xiàn)程序。綜上,本文提出并實現(xiàn)了多路BH1750光強檢測系統(tǒng),實驗表明該系統(tǒng)具有精度高、可移植性強、輸出范圍廣和穩(wěn)定性好等優(yōu)點。

      1 系統(tǒng)總體結構

      1.1 系統(tǒng)構成

      系統(tǒng)主要由STM32F4控制器、BH1750傳感器、TFTLCD顯示器組成。

      1.2 系統(tǒng)總體設計方案

      系統(tǒng)由室外環(huán)境和控制室的控制器兩部分構成。采用STM32芯片作為控制芯片,首先室外場地光強通過BH1750進行采集,其內(nèi)部AD器件把采集的模擬量轉(zhuǎn)換為數(shù)字量,STM32F4處理器根據(jù)器件從地址的不同來讀取不同傳感器采集的光照數(shù)據(jù),最后把讀取并轉(zhuǎn)換后的數(shù)據(jù)送給LCD進行顯示。多路光強檢測系統(tǒng)總體框圖如圖1所示。

      圖1 多路光強檢測系統(tǒng)總體框圖

      2 系統(tǒng)硬件電路設計

      系統(tǒng)總體設計原理圖如下圖2所示。

      圖2 總體設計原理圖

      2.1 主控制芯片的選型

      在控制器選型方面,有兩種方案,傳統(tǒng)的51單片機和新興的STM32F4單片機。兩種控制器性能對比情況如下表1所示。

      表1 控制器性能對比表

      通過上表可以看出,STM32F4在許多方面優(yōu)于51單片機,因此本系統(tǒng)采用意法半導體公司(ST)推出的基于ARM Cortex-M4內(nèi)核處理器芯片STM32F407ZGT6作為系統(tǒng)的主控芯片[4]。

      2.2 光強傳感器模塊

      本系統(tǒng)光強傳感器選用BH1750,BH1750是一種用于兩線式串行總線接口的數(shù)字型光強傳感器。BH1750傳感器內(nèi)部有16位模數(shù)轉(zhuǎn)換器,傳感器的測量范圍為(1Lx-65535Lx)[5]。BH1750通過I2C協(xié)議與控制器STM32F4進行通信。本文用軟件來模擬I2C協(xié)議,使系統(tǒng)運行速率和穩(wěn)定性得到提高。模擬的I2C端口可接收數(shù)據(jù)和發(fā)送數(shù)據(jù)。發(fā)送時,將并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù);接收時,把串行數(shù)據(jù)轉(zhuǎn)換成并行。傳感器通過自身時鐘引腳和數(shù)據(jù)引腳連接到I2C總線上,I2C總線運行速度可達100KHz~400KHz[6]。BH1750FVI有三中測量模式,每種測量模式又分兩種方式,單次測量和連續(xù)測量。

      本系統(tǒng)模擬兩路I2C總線,而每一路根據(jù)器件從地址不同(即ADDR接高電平或低電平),可搭載兩個BH1750,所以共有4個BH1750傳感器,STM32F4與BH1750連接電路圖如圖3所示。

      2.3 LCD的選型

      在LCD選型方面,有兩種方案可供選擇,LCD1602和2.8寸TFTLCD。2.8寸TFTLCD是彩色主動顯示屏幕,分辨率為240*320;LCD1602是黑白TN顯示屏幕,分辨率僅為5*8。可見,TFTLCD要明顯優(yōu)于LCD1602,因此本系統(tǒng)采用TFTLCD作為顯示模塊。

      圖3 STM32F4與BH1750連接電路圖

      3 系統(tǒng)軟件設計

      系統(tǒng)軟件設計流程為開啟BH1750,等待測量指令。接著發(fā)送測量命令,BH1750以連續(xù)高分辨率模式進行數(shù)據(jù)測量。時分復用,開啟第2個BH1750傳感器。發(fā)送測量命令,BH1750以連續(xù)高分辨率模式進行數(shù)據(jù)測量??刂破髯x取并轉(zhuǎn)換數(shù)據(jù),將轉(zhuǎn)換后的數(shù)據(jù)送給顯示器。依次類推,直到讀取最后一個傳感器后,返回進行下一輪測量。軟件設計流程如圖4所示。

      圖4 軟件設計流程圖

      3.1 I2C協(xié)議

      I2C總線的SDA和SCL兩條信號線同時處于高電平時,規(guī)定為總線的空閑狀態(tài)。當SCL為高期間,SDA由高跳變到低,此時為啟動信號;當SCL為高期間,SDA由低到跳變高,此時為停止信號。發(fā)送器每發(fā)送一個字節(jié)時,在時鐘脈沖9期間釋放數(shù)據(jù)線,由接收器反饋一個應答信號。應答信號為低電平時,規(guī)定為有效應答位(ACK簡稱應答位),表示接收器成功接收了該字節(jié);應答信號為高電平時,規(guī)定為非應答位(NACK),一般表示接收器接收該字節(jié)沒有成功。為保證數(shù)據(jù)有效傳送,數(shù)據(jù)在SCL的上升沿到來之前就需準備好,并在下降沿到來之前必須穩(wěn)定[7]。I2C總線接口時序圖如圖5所示。

      圖5 I2C總線接口時序圖

      3.2 BH1750傳感器的軟件設計

      從屬地址有兩種類型,它是被ADDR端口決定。

      ADDR=‘H’(ADDR≥0.7VCC)→“1011100”

      ADDR=‘L’(ADDR≤0.3VCC)→“0100011”

      從“寫指令”到“讀出測試結果”設計實例如下。

      實例:連續(xù)高分辨率模式(ADDR=‘L’)

      1)發(fā)送“連續(xù)高分辨率模式”指令:

      2)等待完成第一次高分辨率模式測量。(允許最長時間180 ms);

      3)讀取測量結果:

      當數(shù)據(jù)高字節(jié)是“10000011”和低字節(jié)是“10010000”

      (215+29+28+27+24)/1.2=28067[Lux]

      連續(xù)測量模式的結果是不斷更新的。(高分辨率模式典型時間是120ms,低分辨率模式時間是16ms)

      3.3 部分主程序代碼

      初始化程序:

      extern float temp,temp1;//定義外部變量

      extern float temp2,temp3;//定義外部變量

      u16 i=0;

      delay-init(168);//初始化延時函數(shù)

      uart-init(115200); //初始化串口波特率為115200

      LCD-Init();//LCD初始化

      Init-BH1750(); //I2C初始化

      Init-BH1751(); //I2C初始化

      Init-BH17502(); //I2C初始化

      Init-BH17503();//I2C初始化

      delay-ms(180);//延時180ms

      POINT-COLOR=RED;//設置顯示字體為紅色

      LCD-ShowString(40,70,200,24,24,"Light:");//固定要顯示的位置

      LCD-ShowString(40,100,200,24,24,"Light1:");//固定要顯示的位置

      LCD-ShowString(40,100,200,24,24,"Light2:");//固定要顯示的位置

      LCD-ShowString(40,100,200,24,24,"Light3:");//固定要顯示的位置

      光照數(shù)據(jù)采集及顯示程序:

      Start-BH1750();//開啟BH1750

      Start-BH17501();//開啟BH17501

      Start-BH17502();//開啟BH17502

      Start-BH17503();//開啟BH17503

      delay-ms(180);//延時180ms,給傳感器相應反應時間

      Read-BH1750();//連續(xù)讀取數(shù)據(jù)存儲在buf中

      Read-BH17501();//連續(xù)讀取數(shù)據(jù)存儲在buf中

      Read-BH17502();//連續(xù)讀取數(shù)據(jù)存儲在buf中

      Read-BH17503();//連續(xù)讀取數(shù)據(jù)存儲在buf中

      Convert-BH1750();//將采集的數(shù)據(jù)轉(zhuǎn)換成相應光照度

      Convert-BH17501();//將采集的數(shù)據(jù)轉(zhuǎn)換成相應光照度

      Convert-BH17502();//將采集的數(shù)據(jù)轉(zhuǎn)換成相應光照度

      Convert-BH17503();//將采集的數(shù)據(jù)轉(zhuǎn)換成相應光照度

      LCD-ShowxNum(120,70,temp,6,12,0);//顯示轉(zhuǎn)換后的結果

      LCD-ShowxNum(120,82,temp1,6,12,0);//顯示轉(zhuǎn)換后的結果

      LCD-ShowxNum(120,94,temp2,6,12,0);//顯示轉(zhuǎn)換后的結果

      LCD-ShowxNum(120,106,temp3,6,12,0);//顯示轉(zhuǎn)換后的結果

      4 實驗驗證與分析

      選取該系統(tǒng)一個BH1750傳感器與照度計所測光照度進行對比,分時測試了20 組數(shù)據(jù)如圖6所示,N表示測試次數(shù)。從圖中可以看出,檢測系統(tǒng)與照度計的測量值相差很小,幾乎完全重合,反應出BH1750檢測系統(tǒng)的準確性。隨后對其它BH1750傳感器進行測試,實驗結論相同。

      圖6 系統(tǒng)和照度計測量值

      保持各個場地光照度不變,四個傳感器進行多次光強檢測,檢測數(shù)據(jù)如表2所示。

      表2 檢測數(shù)據(jù)

      其系統(tǒng)平均相對誤差、平均絕對誤差和均方根誤差如表3所示。

      表3 系統(tǒng)誤差分析

      從表3可以看出,平均相對誤差小于0.6%,平均絕對誤差在1Lx以下,均方根誤差最大僅為1.08Lx,反映出該系統(tǒng)穩(wěn)定性好、精密度高、抗干擾性強。

      5 結語

      通過對系統(tǒng)進行多次測試驗證,該系統(tǒng)能準確測量不同場地的光強變化,把不同場地光強信息反饋給顯示器,方便物主獲取信息,并對不同場地進行管理。該系統(tǒng)具有體積小、功耗低、成本低、移植性好等特點,在農(nóng)業(yè)種植和園林綠化等光照控制領域,具有廣泛的應用價值。

      猜你喜歡
      光照度高分辨率總線
      光照度傳感器在智能家居照明系統(tǒng)中的應用
      傳感器世界(2022年7期)2022-10-12 09:11:22
      三種光照度對廣西地不容生理生化特性的影響
      高分辨率合成孔徑雷達圖像解譯系統(tǒng)
      雷達學報(2020年3期)2020-07-13 02:27:16
      基于PCI Express總線的xHC與FPGA的直接通信
      測控技術(2018年6期)2018-11-25 09:50:12
      機載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設計
      測控技術(2018年8期)2018-11-25 07:42:08
      光照度對不同產(chǎn)地南方紅豆杉幼苗生長發(fā)育的影響
      “農(nóng)地種電”型光伏電站可種植區(qū)域光溫環(huán)境參數(shù)研究
      高分辨率對地觀測系統(tǒng)
      太空探索(2015年8期)2015-07-18 11:04:44
      基于Curvelet-Wavelet變換高分辨率遙感圖像降噪
      多通道ARINC429總線檢查儀
      义乌市| 五家渠市| 郸城县| 福贡县| 鲁甸县| 邯郸县| 新疆| 龙州县| 吐鲁番市| 来宾市| 大荔县| 桓仁| 昭苏县| 大丰市| 凤台县| 偃师市| 濮阳县| 黄冈市| 封丘县| 宾阳县| 巴东县| 枣庄市| 福安市| 巴彦淖尔市| 巴林左旗| 九龙城区| 郴州市| 修水县| 运城市| 疏勒县| 鹤山市| 南昌县| 凉山| 沅陵县| 唐河县| 柏乡县| 伊宁县| 阿尔山市| 吴江市| 桐梓县| 集安市|