采用MSP430的機(jī)器人定位系統(tǒng)電路設(shè)計(jì)
對(duì)于在室外環(huán)境工作的移動(dòng)機(jī)器人通常使用慣導(dǎo)/衛(wèi)星組合導(dǎo)航方式。慣性導(dǎo)航系統(tǒng)具有完全自主、抗干擾強(qiáng)、隱蔽能力好和輸出參數(shù)全面等優(yōu)點(diǎn),但它的魯棒性極低,誤差會(huì)不斷隨時(shí)間累積發(fā)散。衛(wèi)星導(dǎo)航系統(tǒng)具有精度高、定位范圍廣和誤差不隨時(shí)間累積等優(yōu)點(diǎn),但其自主性差、易受外界遮擋和干擾、接收機(jī)數(shù)據(jù)更新頻率低等缺點(diǎn)。因此工程上常常將兩者互補(bǔ)結(jié)合使用,組成衛(wèi)星/慣性組合導(dǎo)航系統(tǒng)。
本文引用地址:http://www.ex-cimer.com/article/201710/369150.htm本文以低功耗MSP430F149為核心,設(shè)計(jì)了能夠同時(shí)實(shí)現(xiàn)衛(wèi)星導(dǎo)航(GNSS)接收機(jī)、慣性測量單元(IMU)、氣壓高度等導(dǎo)航信息的高速采集與高速合路傳輸,并進(jìn)行初步導(dǎo)航定位信息融合的導(dǎo)航系統(tǒng),即可為室外移動(dòng)機(jī)器人提供直接的導(dǎo)航服務(wù),也可作為高精度組合導(dǎo)航系統(tǒng)的原始測量信息高速采集系統(tǒng)。系統(tǒng)設(shè)計(jì)的關(guān)鍵是利用單片機(jī)有限的接口資源實(shí)現(xiàn)了多傳感器信息并行采集,設(shè)計(jì)了有效的數(shù)據(jù)同步方法,解決了氣壓傳感器數(shù)據(jù)手冊(cè)疏漏導(dǎo)致的無法接入問題,給出了機(jī)器人組合定位的基本方法。系統(tǒng)充分利用了MSP430F149單片機(jī)的能力,具有結(jié)構(gòu)簡單、低功耗、對(duì)傳感器具有普適性等優(yōu)點(diǎn)。
本系統(tǒng)由電源、氣壓計(jì)接口、IMU接口、GNSS接收機(jī)接口、SPI轉(zhuǎn)UART模塊及MSP430F149構(gòu)成。系統(tǒng)組成如圖1所示。組合導(dǎo)航系統(tǒng)的功能實(shí)現(xiàn)分為IMU數(shù)據(jù)接收與解析、GNSS數(shù)據(jù)接收與解析、氣壓計(jì)數(shù)據(jù)接收與解析、組合導(dǎo)航解算以及數(shù)據(jù)輸出五個(gè)部分。IMU數(shù)據(jù)接收與解析功能用來獲取導(dǎo)航解算中需要的加速度和角速度信息;GNSS數(shù)據(jù)接收與解析功能用來獲取導(dǎo)航解算中需要的位置和速度信息(松耦合組合)或者 GNSS偽距和偽距率(緊耦合組合);氣壓計(jì)數(shù)據(jù)接收與解析功能用來獲取高度信息;組合導(dǎo)航解算功能為系統(tǒng)核心,用來進(jìn)行組合導(dǎo)航解算;數(shù)據(jù)的輸出包括原始數(shù)據(jù)包的整合輸出和解算結(jié)果的輸出。
圖1 系統(tǒng)組成結(jié)構(gòu)圖
本文所使用的慣性器件和GNSS接收機(jī)都是RS-232電平的UART接口,具有通用性,用戶可根據(jù)成本考慮不同精度的設(shè)備。氣壓計(jì)選用美國MEAS公司生產(chǎn)的MS5803-02BA,已經(jīng)固化在電路中。
微控制器接口
整個(gè)組合導(dǎo)航定位系統(tǒng)需要三個(gè)UART接口和兩個(gè)SPI接口。其中兩個(gè)UART接口由430單片機(jī)自帶的UART資源提供,另外一個(gè)UART接口由 GPIO模擬SPI通過MAX3111E芯片轉(zhuǎn)化得到;兩個(gè)SPI接口由GPIO模擬得到。另外需要一個(gè)外部中斷引腳捕獲秒脈沖信號(hào)(PPS)、一個(gè)外部中斷引腳捕獲MAX3111E中斷信號(hào)。MSP430F149管腳資源分配如表1所示。
電源電路
本系統(tǒng)供電需求為3.3V供電,因此采用AMS1117穩(wěn)壓芯片,接入5V電源即可輸出3.3V穩(wěn)定電壓,可提供1A電流,滿足系統(tǒng)供電需求。電路設(shè)計(jì)如圖2所示。
圖2 電源電路
IMU器件及GNSS接收機(jī)接口電路
IMU器件及GNSS接收機(jī)都采用UART接口方式接入,采用RS232協(xié)議。因此可使用430單片機(jī)上自帶的兩個(gè)UART接口,但是需要進(jìn)行TTL電平與RS232電平轉(zhuǎn)換。這里采用常見的MAX3232芯片,電路設(shè)計(jì)如圖3所示。
圖3 IMU及GNSS接口電路
氣壓計(jì)MS5803-02BA接口電路
MS5803-02BA[3]是由MEAS公司生產(chǎn)的數(shù)字壓力傳感器,分辨率達(dá)10cm。芯片內(nèi)部包含一個(gè)高線性的壓力傳感器和一個(gè)內(nèi)部工廠標(biāo)定系數(shù)的超低功耗24位ΔΣ型ADC。該款芯片有SPI和I2C兩種接口方式,通過芯片的PS引腳配置了選擇不同的接口方式(PS置低時(shí),采用SPI工作模式;PS置高時(shí),采用I2C工作模式)。本文所闡述的定位系統(tǒng)將氣壓計(jì)配置為SPI工作模式。MS5803-02BA與微控制器間的接口電路設(shè)計(jì)如圖4所示。
圖4 MS5803-02BA接口電路
MS5803-02BA的控制命令包括復(fù)位命令、溫度ADC命令、氣壓ADC命令、ADC讀取命令、PROM讀取命令??刂泼钊绫?所示??刂泼钔ㄟ^SDI口移位輸入,響應(yīng)結(jié)果從SDO移位輸出。輸入的電平判定在時(shí)鐘信號(hào)的上升沿,輸出的電平判定在時(shí)鐘信號(hào)的下降沿。輸出的氣壓值可以進(jìn)行溫度補(bǔ)償,需要利用芯片內(nèi)部PROM中的系數(shù)來補(bǔ)償。ADC讀取命令輸入之后,輸出24位ADC結(jié)果;PROM讀取命令輸入之后,輸出16位補(bǔ)償系數(shù)。
本文基于MSP430F149單片機(jī)設(shè)計(jì)的室外移動(dòng)機(jī)器人組合導(dǎo)航定位系統(tǒng),通過接口的擴(kuò)展使得該款定位系統(tǒng)能夠接入IMU、GNSS接收機(jī)、氣壓計(jì)三路信息,完成初步導(dǎo)航定位服務(wù)功能,同時(shí)可作為多路數(shù)據(jù)采集設(shè)備,將多路數(shù)據(jù)整合到一路高速輸出接口,用于進(jìn)一步的高精度導(dǎo)航解算。該系統(tǒng)根據(jù)使用者的需求不同,可接入不同成本和精度的設(shè)備,只要滿足RS-232協(xié)議即可。筆者將其實(shí)際運(yùn)用,整個(gè)系統(tǒng)充分利用該款單片機(jī)的資源,結(jié)構(gòu)簡單、功耗低、適用范圍廣,不僅可作為初步導(dǎo)航定位服務(wù)的設(shè)備,還可作為多路數(shù)據(jù)采集設(shè)備。
評(píng)論