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

        ?

        基于STM32的水質(zhì)監(jiān)測(cè)系統(tǒng)研究

        2022-08-06 02:16:32游曠吉吉董自鵬顧苗苗
        江蘇科技信息 2022年17期
        關(guān)鍵詞:開(kāi)發(fā)板濁度芯片

        游曠吉吉,董自鵬,顧苗苗

        (蘇州市職業(yè)大學(xué) 計(jì)算機(jī)工程學(xué)院,江蘇 蘇州 215104)

        0 引言

        水是生命的源泉,隨著經(jīng)濟(jì)社會(huì)的快速發(fā)展和社會(huì)文明的進(jìn)步,人類(lèi)對(duì)水資源的重視程度越來(lái)越高。傳統(tǒng)的人工抽樣檢測(cè)水質(zhì)既費(fèi)時(shí)又費(fèi)力,實(shí)現(xiàn)對(duì)水質(zhì)的實(shí)時(shí)監(jiān)測(cè),無(wú)論是對(duì)保護(hù)水資源還是促進(jìn)水產(chǎn)養(yǎng)殖都具有十分重要的意義[1]。

        基于嵌入式的產(chǎn)品開(kāi)發(fā),市場(chǎng)廣泛、功能擴(kuò)展性好[2]。本文基于STM32設(shè)計(jì)的水質(zhì)監(jiān)測(cè)系統(tǒng),可實(shí)現(xiàn)對(duì)被監(jiān)測(cè)水域的水溫和濁度自動(dòng)實(shí)時(shí)監(jiān)測(cè)并預(yù)警。

        1 總體設(shè)計(jì)

        本系統(tǒng)以正點(diǎn)原子戰(zhàn)艦STM32F1 V3開(kāi)發(fā)板作為控制器[3],總體設(shè)計(jì)采用STM32F103ZET6作為主控芯片[4],選用DS18B20溫度模塊和TSW-30濁度模塊作為傳感器[5],通過(guò)引腳設(shè)定和必要的外部電路連接,分別測(cè)量監(jiān)測(cè)水域的水溫和濁度,經(jīng)過(guò)信號(hào)處理和A/D轉(zhuǎn)換,將測(cè)量得到的數(shù)值顯示在TFTLCD液晶屏上,當(dāng)測(cè)量值超過(guò)設(shè)定的閾值時(shí),蜂鳴器報(bào)警,提醒現(xiàn)場(chǎng)工作人員,如圖1所示。

        圖1 總體設(shè)計(jì)

        2 硬件選擇

        2.1 主控芯片

        本系統(tǒng)以STM32F103ZET6作為主控芯片,該芯片是意法半導(dǎo)體公司生產(chǎn)的一款32位Cortex-M3內(nèi)核的處理器[6],具有64 kB SRAM,512 kB FLASH、最高72 MHz的工作頻率,共有112個(gè)通用IO口,是一款低功耗、高性能的芯片。該芯片已在工程上被廣泛使用,很適合本系統(tǒng)的嵌入式開(kāi)發(fā)。

        2.2 DS18B20傳感器

        DS18B20是由DALLAS半導(dǎo)體公司推出的一款“一線總線”接口的溫度傳感器,具有體積小、抗干擾性強(qiáng)、與微處理器接口簡(jiǎn)單的優(yōu)點(diǎn),測(cè)量溫度范圍-55~125 ℃,精度為±0.5 ℃,可在3.3~5.0 V的電壓范圍工作。使用時(shí)將DS18B20的平面部分朝內(nèi)、曲面部分朝外,按照電源線、DQ線、接地線的次序從左到右插入開(kāi)發(fā)板U6的1、2和3腳,測(cè)量結(jié)果即會(huì)以9~12位數(shù)字量方式串行傳送,不需要再外接外圍元件。

        2.3 TSW-30濁度傳感器

        濁度傳感器通過(guò)測(cè)量水中懸浮固體總量(TSS)的變化來(lái)測(cè)量水中懸浮顆粒物的光透過(guò)率和散射率,利用光來(lái)檢測(cè)懸浮顆粒物。傳感器默認(rèn)采用模擬信號(hào)的輸出模式,濁度越高輸出值越低,根據(jù)參考資料,輸出的電壓值和濁度關(guān)系,如圖2所示。在使用時(shí)電源線接開(kāi)發(fā)板的5 V引腳,接地線接開(kāi)發(fā)板的GND引腳,OUT接開(kāi)發(fā)板的PA1引腳即可讀取到內(nèi)部ADC值,通過(guò)單片機(jī)的A/D轉(zhuǎn)換即可得到電壓值,進(jìn)而得到當(dāng)前水的濁度。

        圖2 電壓與濁度關(guān)系

        3 軟件編程

        軟件部分使用C語(yǔ)言庫(kù)函數(shù)編寫(xiě),用MDK5軟件進(jìn)行編譯,用FlyMcu軟件將編譯好的.hex文件下載到STM32中,查看運(yùn)行效果。主要的函數(shù)模塊有DS18B20溫度模塊、濁度模塊和主函數(shù)模塊,程序控制流程,如圖3所示。

        圖3 程序控制流程

        3.1 DS18B20溫度模塊

        DS18B20的典型溫度讀取過(guò)程為:復(fù)位→發(fā)SKIP ROM命令(0XCC)→發(fā)開(kāi)始轉(zhuǎn)換命令(0X44)→延時(shí)→復(fù)位→發(fā)送SKIP ROM命令(0XCC)→發(fā)讀存儲(chǔ)器命令(0XBE)→連續(xù)讀出兩個(gè)字節(jié)數(shù)據(jù)(即溫度)→結(jié)束。轉(zhuǎn)化后得到的12位數(shù)據(jù)存儲(chǔ)在DS18B20的兩個(gè)8比特的RAM中,如圖4所示。二進(jìn)制中的前面5位是符號(hào)位,如果測(cè)得的溫度大于0,這5位為0,只要將測(cè)到的數(shù)值乘以0.062 5即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測(cè)得的數(shù)值需要取反加1再乘以0.062 5即可得到實(shí)際溫度。

        圖4 DS18B20數(shù)據(jù)位表示

        if(TH>7)

        {

        TH=~TH;

        TL=~TL;

        temp=0; //溫度為負(fù)

        }else temp=1; //溫度為正

        tem=TH; //獲得高八位

        tem<<=8;

        tem+=TL; //獲得低八位

        tem=(float)tem*0.625; //轉(zhuǎn)換

        if(temp)return tem; //返回溫度值

        else return -tem;

        代碼實(shí)現(xiàn)如上所示,先判定溫度的正負(fù),如果為負(fù),則將高低位的值都取反,反之則數(shù)據(jù)位保持不變動(dòng),再將測(cè)量得到的數(shù)值乘以0.625,將實(shí)際溫度擴(kuò)大10倍,輸出時(shí)再分別除以10取整以及取余作為整數(shù)部分和小數(shù)部分,小數(shù)點(diǎn)前后的數(shù)據(jù)分開(kāi)輸出,并精確到0.1 ℃。

        3.2 TSW-30濁度模塊

        在獲取ADC的值時(shí),因?yàn)槭莻€(gè)實(shí)時(shí)變化的量,可能誤差較大,因此采用一定時(shí)間內(nèi)多次測(cè)量取平均值的方法,獲得adcx的值,提高精確度。代碼實(shí)現(xiàn)如下所示。

        u16 Get_Adc_Average(u8 ch,u8 times)

        {

        u32 temp_val=0;

        u8 t;

        for(t=0;t

        {

        temp_val= temp_val +Get_Adc(ch);

        delay_ms(5);

        }

        return temp_val/times;

        }

        adcx=Get_Adc_Average(ADC_Channel_1,10);//采樣10次

        因?yàn)镾TM32的ADC是12位逐次逼近型的模擬數(shù)字轉(zhuǎn)換器,其值為0~4 095,定義一臨時(shí)變量temp,用于儲(chǔ)存測(cè)量得到的adcx值轉(zhuǎn)換為0~4.5 V的電壓值。當(dāng)temp小于2.64時(shí),直接輸出NTU的值3 000(表示水極度渾濁);當(dāng)temp大于4.2時(shí),直接輸出NTU的值0(表示水比較清澈);當(dāng)temp介于2.64~4.20之間時(shí),根據(jù)公式-1 120.4*temp*temp+5 742.3*temp-4 352.9,求得NTU的值。代碼實(shí)現(xiàn)如下所示。

        temp=(float)adcx*(4.5/4096);

        if(temp<2.64)

        NTU=3000;

        else if(temp>4.2)

        NTU=0;

        else

        NTU=-1120.4*temp*temp+5742.3*temp-4352.9;

        3.3 主函數(shù)模塊

        主函數(shù)主要包括定義一定的變量,完成延時(shí)函數(shù)初始化、設(shè)置中斷優(yōu)先級(jí)、串口初始化、LED端口初始化、蜂鳴器初始化、LCD顯示屏初始化、STM32內(nèi)部ADC初始化、DS18B20初始化和中文字庫(kù)初始化等。

        if(t%10==0) //每100ms讀取一次

        {

        temperature=DS18B20_Get_Temp();

        if(temperature<0)

        {

        LCD_ShowChar(30+40,210,'-',16,0); //顯示負(fù)號(hào)

        temperature=-temperature; //將負(fù)數(shù)轉(zhuǎn)為正數(shù)

        }else

        LCD_ShowChar(30+40,210,' ',16,0); //原負(fù)號(hào)的位置不顯示

        LCD_ShowNum(30+40+8,210,temperature/10,2,16); //顯示整數(shù)部分

        LCD_ShowNum(30+40+32,210,temperature%10,1,16); //顯示小數(shù)部分

        }

        delay_ms(10);

        t++;

        if(t==20)

        {

        t=0;

        }

        通過(guò)t的計(jì)數(shù)和延時(shí),每100 ms獲取一次DS18B20測(cè)得的temperature并進(jìn)行判定,如果小于0,就顯示“-”號(hào)并將值取反,否則就顯示空白,然后將temperature分別除以10取整以及取余作為整數(shù)部分和小數(shù)部分輸出在屏幕上。

        4 系統(tǒng)測(cè)試

        系統(tǒng)通電后,將傳感器放入水中,即可在TFTLCD液晶屏上正常顯示采集到的數(shù)據(jù)。分別選取一定程度的渾濁水和清澈水,模擬測(cè)試圖,如圖5和6所示:渾濁水測(cè)試結(jié)果NTU的值為2 407,水溫為20.1 ℃;清澈水測(cè)試結(jié)果NTU的值為0,水溫為20.5 ℃。系統(tǒng)設(shè)定:當(dāng)水溫值低于10 ℃或高于30 ℃、濁度值高于2 800時(shí),蜂鳴器報(bào)警。

        圖5 渾濁水測(cè)試

        圖6 清澈水測(cè)試

        5 結(jié)語(yǔ)

        本系統(tǒng)在設(shè)計(jì)和實(shí)現(xiàn)的過(guò)程中僅加入了單一的溫度和濁度傳感器,具有投入小、適用范圍廣的優(yōu)勢(shì)。但當(dāng)被監(jiān)測(cè)的水域面積足夠大時(shí),可能無(wú)法客觀地反映整體水域的水質(zhì)情況,并且不同深度的水質(zhì)情況也會(huì)存在差異,可利用STM32良好的功能擴(kuò)展性,通過(guò)多布局傳感器節(jié)點(diǎn)、統(tǒng)一收集數(shù)據(jù)管理分析的方式,更為全面地反映整體水域的水質(zhì)情況。后期還可添加溶氧、酸堿度、電導(dǎo)率、氨氮、亞硝酸鹽pH等傳感器,多參數(shù)更為科學(xué)地、綜合地評(píng)價(jià)水質(zhì)情況;還可添加LoRa無(wú)線傳輸模塊和GPRS通信模塊,通過(guò)無(wú)線傳輸?shù)姆绞綄?shù)據(jù)傳送至遠(yuǎn)端計(jì)算機(jī)保存,實(shí)現(xiàn)遠(yuǎn)程實(shí)時(shí)監(jiān)測(cè)。

        猜你喜歡
        開(kāi)發(fā)板濁度芯片
        丙烯酰胺強(qiáng)化混凝去除黑河原水濁度的研究
        動(dòng)態(tài)濁度補(bǔ)償技術(shù)在總磷在線自動(dòng)監(jiān)測(cè)儀上的應(yīng)用
        云南化工(2021年6期)2021-12-21 07:31:06
        11°角應(yīng)用于啤酒過(guò)濾濁度測(cè)量
        Microchip最新推出兩款PIC32 Curiosity開(kāi)發(fā)板
        淺析單片機(jī)開(kāi)發(fā)板的設(shè)計(jì)與制作
        電子制作(2017年22期)2017-02-02 07:10:14
        芯片測(cè)試
        多通道采樣芯片ADS8556在光伏并網(wǎng)中的應(yīng)用
        辣木籽粕粗提液對(duì)水中濁度及水質(zhì)的影響
        Mouser為您呈上開(kāi)發(fā)關(guān)鍵之STMicroelectronics Nucleo開(kāi)發(fā)板
        Arduino和Atmel發(fā)布Arduino Zero開(kāi)發(fā)板
        久久这黄色精品免费久 | 久久视频在线| 中文乱码人妻系列一区二区| 国产一起色一起爱| 国产三级不卡在线观看视频| 无码精品人妻一区二区三区漫画| 精精国产xxxx视频在线播放| 日韩中文网| 日韩一区二区,亚洲一区二区视频| 黄片小视频免费观看完整版| 无码国产69精品久久久久孕妇| 天天av天天爽无码中文| 亚洲日本人妻中文字幕| 亚洲女同同性一区二区| 国产无遮挡又爽又刺激的视频老师| 乱子真实露脸刺激对白| 亚洲免费不卡av网站| 中文字幕精品亚洲字幕| 久久精品国产亚洲av无码娇色| 乱码一二区在线亚洲| 国产精品久久久精品三级18| 性av一区二区三区免费| 欧美黑人性暴力猛交喷水黑人巨大| 久久久国产精品樱花网站| 国产一区二区三区白浆肉丝| 国产日本精品一二三四区| 免费a级毛片无码| 无码精品一区二区免费AV| 国产三级在线观看不卡| 日本三级香港三级人妇99| 精品午夜福利无人区乱码一区| 久久中文字幕日韩精品| av在线一区二区精品| 亚洲欧美牲交| 国产AV边打电话边出轨| 亚洲精品一区二区三区蜜臀| 熟女人妻中文字幕av| 久久久天堂国产精品女人| 国产乱子伦农村xxxx| 国产丝袜美腿在线播放| 999国内精品永久免费观看|