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

        ?

        傳感器數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

        2018-11-07 04:59:20劉冠艷
        中小企業(yè)管理與科技 2018年27期
        關(guān)鍵詞:卡爾曼濾波設(shè)置

        劉冠艷

        (曲靖市麒麟職業(yè)技術(shù)學(xué)校,云南 曲靖 655000)

        1 引言

        在嵌入式應(yīng)用開(kāi)發(fā)中,常常需要對(duì)傳感器的數(shù)據(jù)進(jìn)行采集。為保證傳感器采集數(shù)據(jù)的精度,必須使用單精度或雙精度浮點(diǎn)數(shù)進(jìn)行采集,但是浮點(diǎn)數(shù)據(jù)在計(jì)算機(jī)內(nèi)部存儲(chǔ)的結(jié)構(gòu)有別于其他類型的數(shù)據(jù),同時(shí)由于傳輸?shù)倪^(guò)程中存在丟包和干擾現(xiàn)象,為實(shí)現(xiàn)在上位機(jī)和下位機(jī)之間浮點(diǎn)數(shù)據(jù)的采集,本文使用STM32位處理器作為下位機(jī)主控,對(duì)PC上位機(jī)和下位機(jī)之間的通訊機(jī)制進(jìn)行了初步研究。

        2 下位機(jī)設(shè)計(jì)

        有刷直流電機(jī)[2]調(diào)速系統(tǒng)由有刷直流電機(jī)、電機(jī)驅(qū)動(dòng)模塊、STM32F103C8T6最小開(kāi)發(fā)板模塊、霍爾編碼器構(gòu)成。在使用開(kāi)發(fā)版板串口時(shí),首先對(duì)相關(guān)寄存器初始化設(shè)置,以使串口發(fā)送接收數(shù)據(jù)。同時(shí)在實(shí)際應(yīng)用時(shí)為了保證一定的精度,傳感器采集的數(shù)據(jù)通常是浮點(diǎn)數(shù)據(jù)[3],串口發(fā)送接收時(shí)需要對(duì)浮點(diǎn)數(shù)據(jù)進(jìn)行處理:發(fā)送時(shí)將浮點(diǎn)數(shù)據(jù)轉(zhuǎn)換成字節(jié)數(shù)據(jù),接收數(shù)據(jù)時(shí)將字節(jié)數(shù)據(jù)轉(zhuǎn)換成浮點(diǎn)數(shù)據(jù)[4]。

        2.1 下位機(jī)串口硬件初始化

        下位機(jī)硬件串口和上位機(jī)串口屬性設(shè)置類似,具體代碼如下:

        RCC->APB2ENR|=1<<2;//使能串口 1 時(shí)鐘

        GPIOA->CRH&=0XFFFFFF0F;

        GPIOA->CRH|=0X000000B0;//設(shè)置PA口輸入輸出模式

        RCC->APB2RSTR|=1<<14;//串口復(fù)位

        RCC->APB2RSTR&=~(1<<14);//停止串口復(fù)位

        USART1->BRR=mantissa;//設(shè)置串口波特率

        USART1->CR1|=0X200C;//一位停止位,無(wú)校驗(yàn)

        USART1->CR1|=1<<8;//串口中斷使能 USART1->CR1|=1<<5;//接收緩沖區(qū)非空中斷使能

        MY_NVIC_Init(2,1,USART1_IRQn,2);//設(shè)置串口中斷優(yōu)先級(jí)

        由于下位機(jī)串口發(fā)送接收的是字節(jié)數(shù)據(jù),需要將字節(jié)數(shù)據(jù)轉(zhuǎn)換成浮點(diǎn)數(shù)據(jù)[5],通過(guò)下列語(yǔ)句進(jìn)行轉(zhuǎn)換,x為緩沖區(qū)接收到的字節(jié)變量,y為浮點(diǎn)數(shù)據(jù)。

        y=(*(float*)&x));

        圖1 卡爾曼濾波效果對(duì)比

        發(fā)送數(shù)據(jù)時(shí)需要將浮點(diǎn)數(shù)據(jù)轉(zhuǎn)換成字節(jié)收據(jù)進(jìn)行發(fā)送,使用下列語(yǔ)句進(jìn)行轉(zhuǎn)換。x為緩沖區(qū)接收到的字節(jié)變量,y為浮點(diǎn)數(shù)據(jù)[6]。

        2.2 卡爾曼濾波

        卡爾曼濾波是一種常見(jiàn)的時(shí)域?yàn)V波方法,該方法可以根據(jù)系統(tǒng)的輸入輸出觀測(cè)數(shù)據(jù),對(duì)系統(tǒng)狀態(tài)進(jìn)行最優(yōu)估計(jì)[7]。該濾波算法[8]可以有效剔除系統(tǒng)中的隨機(jī)噪聲和干擾的影響,便于計(jì)算機(jī)編程實(shí)現(xiàn),并能夠?qū)ΜF(xiàn)場(chǎng)采集的數(shù)據(jù)進(jìn)行實(shí)時(shí)更新和處理,因此,在許多方面得到了廣泛應(yīng)用。濾波效果見(jiàn)圖1。

        3 上位機(jī)設(shè)計(jì)

        上位機(jī)串口通訊軟件采用Visual studio2005 C#語(yǔ)言編寫,由于上位機(jī)和下位使用串口進(jìn)行通訊,因此在編寫上位機(jī)軟件時(shí)必須引用System.IO.Ports命名空間,在程序開(kāi)頭部分使用下列語(yǔ)句:using System.IO.Ports。

        引用后創(chuàng)建串口變量并對(duì)它的屬性進(jìn)行設(shè)置,并將串口serialPort的波特率設(shè)置為9600kbs,8位數(shù)據(jù)位,一個(gè)停止位,無(wú)奇偶校驗(yàn)。

        在程序中使用Read()方法讀取緩沖區(qū)的數(shù)據(jù),發(fā)送數(shù)據(jù)使用serialPort2.Write()方法,為了實(shí)時(shí)觀察傳感變化的情況,上位機(jī)軟件需要須用到chart控件,使用時(shí)應(yīng)在程序開(kāi)頭部分引用下列語(yǔ)句:System.Windows.Forms.DataVisualization.Charting

        需對(duì)chart控件的ChartAreas["ChartArea1"].AxisY屬性的MajorTickMark、MinorTickMark進(jìn)行設(shè)置,添加點(diǎn)使用chart1.Series["Series1"].Points的AddXY()方法。

        4 通信控制設(shè)計(jì)

        由于需要傳遞的數(shù)據(jù)大部分是浮點(diǎn)數(shù)據(jù),而浮點(diǎn)數(shù)據(jù)在內(nèi)存中占用4個(gè)字節(jié),并且在STM32F103C8T6和PC中都是小端存儲(chǔ)模式,所以PC上位機(jī)和下位機(jī)之間通訊封裝了7個(gè)字節(jié)的數(shù)據(jù)包,其格式是:

        FF M f1 f2 f3 f4 0A

        FF代表數(shù)據(jù)包開(kāi)始,M代表傳送數(shù)據(jù)類型,f1-f4代表4個(gè)字節(jié)浮點(diǎn)數(shù)據(jù),0A表示數(shù)據(jù)結(jié)束。上位機(jī)發(fā)送7個(gè)字節(jié)的數(shù)據(jù)包,下位機(jī)串口接收到數(shù)據(jù)進(jìn)行中斷響應(yīng),在單片機(jī)內(nèi)部中斷響應(yīng)的過(guò)程如下:首先對(duì)接收到的數(shù)據(jù)進(jìn)行解包,如果數(shù)據(jù)封裝完整,單片就把設(shè)置好的數(shù)據(jù)發(fā)送給上位機(jī),如果單片機(jī)中斷響應(yīng)沒(méi)有正確獲得數(shù)據(jù)包,直接進(jìn)行丟包處理。上位機(jī)接收到數(shù)據(jù),產(chǎn)生接收數(shù)據(jù)事件觸發(fā)響應(yīng),上位機(jī)響應(yīng)后檢查設(shè)置的數(shù)據(jù)是否一致,如果一致,就在上位機(jī)上相應(yīng)控件顯示,并且生成日志,以便查看參數(shù)設(shè)置記錄,上位機(jī)檢查如果發(fā)現(xiàn)設(shè)置參數(shù)不一致,再重新發(fā)送。

        5 結(jié)論

        綜上所述,在嵌入式應(yīng)用開(kāi)發(fā)中,上位機(jī)和下位機(jī)之間通過(guò)串口進(jìn)行通訊時(shí),由于傳感器存在各種干擾因素,需要對(duì)獲取的數(shù)據(jù)進(jìn)行濾波,在本文中使用卡爾曼濾波的方法進(jìn)行濾波,獲得了較好的效果。同時(shí)由于整個(gè)通訊過(guò)程存在數(shù)據(jù)丟失時(shí)或者干擾的可能,需對(duì)數(shù)據(jù)進(jìn)行封裝和丟包處理,以便能夠正確解析通訊數(shù)據(jù)。

        猜你喜歡
        卡爾曼濾波設(shè)置
        中隊(duì)崗位該如何設(shè)置
        7招教你手動(dòng)設(shè)置參數(shù)
        改進(jìn)的擴(kuò)展卡爾曼濾波算法研究
        基于遞推更新卡爾曼濾波的磁偶極子目標(biāo)跟蹤
        基于模糊卡爾曼濾波算法的動(dòng)力電池SOC估計(jì)
        本刊欄目設(shè)置說(shuō)明
        中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
        基于擴(kuò)展卡爾曼濾波的PMSM無(wú)位置傳感器控制
        基于EMD和卡爾曼濾波的振蕩信號(hào)檢測(cè)
        基于卡爾曼濾波的組合導(dǎo)航誤差補(bǔ)償
        欧美成免费a级毛片| 亚洲日本精品一区二区三区| 中文字幕人妻日韩精品| 天堂中文а√在线| 秋霞鲁丝片av无码| 精品国产一区二区三区久久女人 | 国产精品丝袜美女久久| 人妻丰满熟妇aⅴ无码| 中国凸偷窥xxxx自由视频| 国产免费播放一区二区| 日本高清一区二区三区不卡| 色综合久久网| 久久久久久久人妻无码中文字幕爆 | 亚洲男人第一av网站| 一区二区三无码| 免费在线视频亚洲色图| 免费黄色影片| 中文字幕欧美一区| 国产女主播视频一区二区三区| 久久九九精品国产av| 国产午夜精品理论片| 无夜精品久久久久久| 精品国产av一区二区三四区| 日本精品少妇一区二区三区| 欧美黑人巨大xxxxx| 一本久久精品久久综合桃色| 亚洲精品一区二区三区52p| 久久无码av中文出轨人妻| 亚洲AV综合A∨一区二区| 久久熟女少妇一区二区三区 | 亚洲av无码一区二区二三区下载| 日本精品国产1区2区3区| 亚洲中文字幕人妻久久| 俄罗斯老熟妇色xxxx| 亚洲中文欧美日韩在线| 久久伊人精品色婷婷国产| 欧洲美女黑人粗性暴交| XXXXBBBB欧美| 中文字幕精品一区二区三区av| 成 人 免 费 黄 色| 久久网视频中文字幕综合 |