37款傳感器與執行器的提法,在網絡上廣泛流傳,其實Arduino能夠兼容的傳感器模塊肯定是不止這37種的。鑒於本人手頭積累了一些傳感器和執行器模塊,依照實踐出真知(一定要動手做)的理念,以學習和交流為目的,這里准備逐一動手嘗試系列實驗,不管成功(程序走通)與否,都會記錄下來---小小的進步或是搞不掂的問題,希望能夠拋磚引玉。
【Arduino】168種傳感器模塊系列實驗(資料代碼+圖形編程+仿真編程)
實驗七十四:GY-NEO-6MV2新款飛控GPS模塊 (帶陶瓷有源天線)
NEO-6M
是 ALIENTEK 生成的一款高性能 GPS 模塊,模塊核心采用 UBLOX 公司的 NEO-6M 模組,具有 50 個通道,追蹤靈敏度高達-161dBm,測量輸出頻率最高可達 5Hz。NEO-6M 模塊自帶高性能無源陶瓷天線(無需再購買昂貴的有源天線了),兼容 3.3V 和5V 單片機系統,並自帶可充電后備電池(支持溫啟動或熱啟動)。NEO-6M 模塊非常小巧(25.5mm*31mm),模塊通過 4 個 2.54mm 間距的排針與外部連接。
NEO-6M 模塊特性
• u-blox 6 定位引擎:
o 跟蹤靈敏度 –162dBm ,冷啟動靈敏度–148 dBm
o 更快的捕獲速度,帶有 AssistNow Autonomous功能
o 可配置的電源管理
o GPS/SBAS 混合型引擎(WAAS、EGNOS、MSAS)
o 抗干擾技術
• 易於與 u-blox 無線模塊集成
• A-GPS:AssistNow Online 和 AssistNow Offline 服務,符合 OMA SUPL 規范
• 向后兼容(硬件和固件);可從 NEO-5 系列或NEO-4S 輕松遷移
• 采用可靠的 LCC 封裝,制造性價比高
• 工作溫度范圍:–40° C 至 85° C
注 1:冷啟動是指模塊所有保存的 GPS接收歷史信息都丟失了(相當於主電源和后備電池都沒電了),這種情況下重啟,稱之為冷啟動。溫啟動是指模塊保存了 GPS 接收歷史信息,但是當前可視衛星的信息和保存的信息不一致了,這樣的條件下重啟,稱之為溫啟動。熱啟動則是指在模塊保存了 GPS 接收歷史信息且與當前可視衛星信息一致,這樣的條件下重啟,稱之為熱啟動。
注 2: 此電流為連續工作模式下的電流,可以選擇省電模式(Power Save Mode)以節省用電。
注 3: 當 VCC 大於 3.3V 時 VCCX=3.3V,否則 VCCX=3.3V。
注 4: 模塊的 TXD 和 RXD 腳內部接了 510 歐電阻,做輸出電平兼容處理,所以在使用的時候要注意,導線電阻不可過大(尤其是接 USB 轉 TTL 串口模塊的時候,如果模塊的 TXD、RXD 上帶了 LED,那就會有問題),否則可能導致通信不正常。NEO-6M GPS 模塊支持多種通信波特率,通過串口進行設置,並可以保存在模塊自帶的 EEPROM 里面,模塊默認波特率為:38400(8 位數據位,1 位停止位,無奇偶校驗)。
NEO-6M 模塊主要參數
1、精確度
定位2.5MCEP
SBAS 2.0mCEP
捕獲冷啟動29s
溫啟動27s
輔助啟動<3s
熱啟動<1s
2、靈敏度
捕獲-162dBm
跟蹤-147dBm
冷啟動-146dBm
3、多徑抑制
智能化多徑檢測與抑制
A-GPS
支持AssistNow Online及AssistNow Offline
4、運行限制
速度515m/s(1000節)
串口1個UART接口
1個USB V2.0,全速12Mbit/s
1個DDC接口
1個SPI接口
串口和I/O電壓3V電平
協議NMEA、UBX二進制
數字I/O接口可配置的時間脈沖
1個EXTINT輸入接口
5、電氣參數
電壓2.7V – 3.6V
功耗<80mW @ 1.8V
120mW @ 3.0V
備用電源1.3V -4.8V有 30uA
天線類型有源與無源
運行溫度-40℃- +85℃
存儲溫度-40℃- +85℃
GPS陶瓷有源天線
GPS就是通過接受衛星信號,進行定位或者導航的終端。而接收信號就必須用到天線。 GPS衛星信號分為L1和L2,頻率分別為1575.42MHZ和1228MHZ,其中L1為開放的民用信號,信號為圓形極化。信號強度為-166dBW左右,屬於比較弱的信號。 這些特點決定了要為GPS信號的接收准備專門的天線。GPS天線是由接收天線和前置放大器兩個部件組成。GPS接收天線的作用,是將衛星來的無線電信號的電磁波能量變換成接收機電子器件可攝取應用的電流。絕大部分內置GPS天線為右旋極化陶瓷介質,其組成部分為:陶瓷天線、低噪音信號模塊、線纜、接頭。
GPS天線工作原理
1)陶瓷片:陶瓷粉末的好壞以及燒結工藝直接影響它的性能。現市面使用的陶瓷片主要是25×25、18×18、15×15、12×12。陶瓷片面積越大,介電常數越大,其共振頻率越高,接受效果越好。陶瓷片大多是正方形設計,是為了保證在XY方向上共振基本一致,從而達到均勻收星的效果。
2)銀層:陶瓷天線表面銀層可以影響天線共振頻率。理想的GPS陶瓷片頻點准確落在1575.42MHz,但天線頻點非常容易受到周邊環境影響,特別是裝配在整機內,必須通過調整銀面塗層外形,來調節頻點重新保持在1575.42MHz。
3)饋點:陶瓷天線通過饋點收集共振信號並發送至后端。由於天線阻抗匹配的原因,饋點一般不是在天線的正中央,而是在XY方向上做微小調整。這樣的阻抗匹配方法簡單而且沒有增加成本。僅在單軸方向上移動稱為單偏天線,在兩軸均做移動稱為雙偏。
4)放大器:承載陶瓷天線的PCB形狀及面積。由於GPS接收信號有觸地反彈的特性,當背景是7cm×7cm無間斷大地時,天線的效能可以發揮到極致。雖然受外觀結構等因素制約,但盡量保持相當的面積且形狀均勻。放大器增益的選擇必須配合后端LNA增益。Sirf的GSC3F要求信號輸入前總增益不得超過29dB,否則信號過飽和會產生自激。
GPS天線在室外空曠地區接受信號較好,在車內,因金屬外殼和玻璃的防爆膜尤其是含金屬粉的車膜,以及車內音響等都會對內置GPS天線接收信號產生干擾甚至阻礙,在室內受鋼筋混凝土的遮擋,甚至無法接受GPS信號。
NEO-6MV2飛控GPS模塊 (帶陶瓷有源天線)
型號:GY-GPS6MV2
3V-5V供電通用
模塊帶陶瓷有緣天線,信號超強
EEPROM掉電保存配置參數數據
帶數據備份電池
有LED信號指示燈
天線尺寸25*25mm
模塊尺寸25mm*35mm
安裝孔徑3mm
默認波特率:9600
兼容各種飛控模塊,GPS電腦測試軟件
6MV2飛控GPS模塊電原理圖
6MV2飛控GPS模塊實驗開源代碼
/* 【Arduino】168種傳感器模塊系列實驗(資料代碼+圖形編程+仿真編程) 實驗七十四: GY-NEO-6MV2新款飛控GPS模塊 (帶有源陶瓷天線) */ #include <SoftwareSerial.h> SoftwareSerial ss(4, 3); void setup() { Serial.begin(9600); ss.begin(9600); } void loop() { while (ss.available() > 0) { byte gpsData = ss.read(); Serial.write(gpsData); } }
放到窗口,接收了一些信號
了解NMEA語句
● 110617 - 表示固定地點的時間,UTC時間11:06:17
● 41XX.XXXXX,N - 北緯41度XX.XXXXX'N
● 00831.54761,W - 經度008度31.54761'W
● 1 - 固定質量(0 =無效; 1 = GPS修正; 2 = DGPS修正; 3 = PPS修正; 4 =實時運動學; 5 =浮動RTK; 6 =估計(航位推測); 7 =手動輸入模式; 8 =模擬模式)
● 05 - 正在跟蹤的衛星數量
● 2.68 - 水平位置因子
● 129.0,M - 海拔高度,以米為單位
● 50.1,M - 大於WGS84橢球體的大地水准面(平均海平面)的高度
● 空字段 - 自上次DGPS更新以來的秒數
● 空字段 - DGPS台站ID號
● * 42 - 校驗和,數據總是以*開頭
其他NMEA句子提供了其他的信息:
● $ GPGSA - GPS DOP和主動衛星
● $ GPGSV - 詳細的GPS衛星信息
● $ GPGLL - 地理緯度和經度
● $ GPRMC - 基本的GPS pvt(位置、速度、時間)數據
● $ GPVTG - 速度很好
GPS數據遵循NMEA-0183協議,該數據標准是由NMEA(National Marine Electronics Association,美國國家海事電子協會)於1983年制定的。統一標准格式NMEA-0183輸出采用ASCII 碼,其串行通信的參數為:波特率=4800bps,數據位=8bit,開始位=1bit,停止位=1bit,無奇偶校驗。
數據傳輸以“語句”的方式進行,每個語句均以“$”開頭,然后是兩個字母的“識別符”和三個字母的“語句名”,接着就是以逗號分割的數據體,語句末尾為校驗和,整條語句以回車換行符結束。
NMEA-0183的數據信息有十幾種,這些信息的作用分別是:$GPGGA:輸出GPS的定位信息;$GPGLL:輸出大地坐標信息;$GPZDA:輸出UTC時間信息;$GPGSV:輸出可見的衛星信息;$GPGST:輸出定位標准差信息;$GPGSA:輸出衛星DOP值信息;$GPALM:輸出衛星星歷信息;$GPRMC:輸出GPS推薦的最短數據信息等。
一、 輸出語句說明:1,$GPRMC語句
(Recommended Minimum Specific GPS/TRANSIT Data-RMC,推薦定位信息1次/1秒)
對於一般的GPS動態定位應用,GPRMC語句完全滿足要求。該語句中包括經緯度、速度、時間和磁偏角等字段,這些數據為導航定位應用提供了充分的信息。下表詳細說明GPRMC語句中的各個字段:
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,,<12>
字段 $GPRMC語句意義——取值范圍
<1> UTC時間:hhmmss.ss——000000.00~235959.99
<2> 狀態,有效性 ——A表示有效;V表示無效
<3> 緯度格式:ddmm.mmmm——0000.00000~8959.9999 (標准的度分格式)
<4> 南北半球——N北緯;S南緯
<5> 經度格式:dddmm.mmmm——00000.0000~17959.9999(標准的度分格式)
<6> 東西半球——E表示東經;W表示西經
<7> 地面速度——000.00~999.999
<8> 速度方向——000.00~359.99
<9> 日期格式,月日年——010100~123199
<10> 磁偏角,單位:度——00.00~99.99
磁偏角方向——E表示東;W表示西
<12> 模式指示及校驗和—— A=自主定位,D=差分,E=估算,N=數據無效
例如:$GPRMC,074529.82,A,2429.6717,N,11804.6973,E,12.623,32.122,010806,,W,A*08
2,$GPGGA語句
(Global Positioning System Fix Data-GGA,GPS定位信息, 輸出1次/1秒)
GPS定位主要數據,該語句中包括經緯度、質量因子、HDOP、高程、基准站號等字段。下表詳細說明GPGGA語句中的各個字段:
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,,<12>,,<14>
字段 $GPGGA語句意義——取值范圍
<1> UTC時間:hhmmss.ss——000000.00~235959.99
<2> 緯度,格式:ddmm.mmmm ——0000.00000~8959.9999(標准的度分格式)
<3> 南北半球——N北緯;S南緯
<4> 經度格式:dddmm.mmmm ——00000.0000~17959.9999(標准的度分格式)
<5> 東西半球——E表示東經;W表示西經
<6> 質量因子——0=未定位,1=GPS單點定位固定解,2=差分定位,3=PPS解;4=RTK固定解;5=RTK浮點解;6=估計值;7=手工輸入模式;8=模擬模式;
<7> 應用解算位置的衛星數——00~12
<8> HDOP,水平圖形強度因子——0.500~99.000 ;大於6不可用
<9> 天線高程(海平面)——-9999.9~99999.9
<10> 線線高程單位(m) ——m
大地水准面起伏——地球橢球面相對大地水准面的高度
<12> 大地水准面起伏單位(m) ——m
<13> 差分GPS數據期——差分時間(從最近一次接收到差分信號開始的秒數,如果不是差分定位將為空),不使用DGPS時為空
<14> 基准站號——0000~1023;不使用DGPS時為空
$GPGGA,074529.82,2429.6717,N,11804.6973,E,1,8,1.098,42.110,M,,M,,*76
3,$GPGSV語句
(GPS Satellites in View-GSV,可見衛星信息,1次/5秒)
GPS可見星的方位角、俯仰角、信噪比等每條語句最多包括四顆衛星的信息,每顆衛星的信息有四個數據項,即:(4)-衛星號,(5)-仰角,(6)-方位角,(7)-信噪比
$GPGSV,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>,<15>,<16>,<17>,<18>,<19>
字段 $GPGSV語句意義——取值范圍
<1> 總的GSV語句電文數——0~12
<2> 當前GSV語句號
<3> 可視衛星總數——0~32
<4> 衛星號——1~32
<5> 仰角——00~90
<6> 方位角——000~359
<7> 信噪比——00~99dB無表未接收到訊號
<8> 衛星號——1~32
<9> 仰角——00~90
<10> 方位角——000~359
信噪比——00~99dB無表未接收到訊號
<12> 衛星號——1~32
<13> 仰角——00~90
<14> 方位角——000~359
<15> 信噪比——00~99dB 無表示未接收到訊號
<16> 衛星號——1~32
<17> 仰角——00~90
<18> 方位角——000~359
<19> 效驗和,格式:*效驗和——檢查位
$GPGSV,3,1,11,1,83,54,32,3,19,192,28,6,26,57,36,7,51,140,37*7D
$GPGSV,3,2,11,14,40,136,34,16,64,266,36,20,21,293,,22,2,168,*4C
$GPGSV,3,3,11,23,10,321,,25,53,7,40,30,2,46,*48
4,$GPVTG語句
(Track Made Good and Ground Speed-VTG,地面速度信息)
格式:$GPVTG,<1>,T,<2>,M,<3>,N,<4>,K,<5>*hh
字段 $GPVTG語句意義——取值范圍
<1> 以真北為參考基准的地面航向——000.000~359.999
<2> 以磁北為參考基准的地面航向——000.000~359.999
<3> 地面速率——000.000~999.999節
<4> 地面速率——0000.0~1851.8公里/小時
<5> 模式指示——A=自主定位,D=差分,E=估算,N=數據無效(僅NMEA0183 3.00版本輸出)
<6> hh 校檢位
$GPVTG,257.314,T,257.314,M,10.739,N,19.888,K,A*2F
5,$GPGSA語句
(GPS DOP and Active Satellites-GSA,當前衛星信息,1次/1秒)
GSA : GNSS 的當前衛星和精度因子,包括可見衛星PRN號,以及PDOP、HDOP、VDOP。如:
<1> 模式 ——M = 手動, A = 自動。
<2> 定位類型——1 = 未定位, 2 = 二維定位, 3 = 三維定位。
<3> PRN 數字——01 至 32 表天空使用中的衛星編號,最多可接收12顆衛星信息。正在用於解算位置的衛星號(01~32,前面的0也將被傳輸)。
<4> PDOP位置精度因子——0.5~99.9
<5> HDOP水平精度因子——0.5~99.9
<6> VDOP垂直精度因子——0.5~99.9
<7> Checksum.(檢查位).
$GPGSA,<1>,<2>,<3>,<3>,,,,,<3>,<3>,<3>,<4>,<5>,<6>,<7>
$GPGSA,A,3,19,11,03,23,27,13,16,,,,,,3.43,1.67,2.99*0E
6,$GPGLL語句
(輸出大地坐標信息)
$GPGLL,<1>,<2>,<3>,<4>,<5>,<6>,<7>*61
字段 $GPGLL語句意義——取值范圍
<1> 緯度:ddmm.mmmmm——0000.00000~8959.9999
<2> 南緯或北緯——北緯N,S南緯
<3> 經度:dddmm.mmmmm——0000.00000~17959.99999
<4> 東、西經 ——東經E,西經W
<5> UTC時間——hh:mm:ss
<6> 數據狀態——A有效,V無效
$GPGLL,2431.25310,N,11806.15429,E,081401.00,A,A*61
7,$GPZDA 語句
(輸出UTC時間和日期信息)
$GPZDA, <1>,<2>,<3>,<4>,<5>*hh
字段 $GPZDA語句意義——取值范圍
<1> 時間:hhmmss.ss——0000000.00~235959.99
<2> 日——00~31
<3> 月——00~12
<4> 年——0000~9999
<5> 地方時與世界時之差
<6> 檢校位 *hh——*
$GPZDA,081401.00,14,09,2006,00,00*62
8,$GPGST 語句
(GPS 偽距噪聲統計,包括了三維坐標的標准偏差信息)
字段——示例——說明
Sentence ID ——$GPGST
UTC Time——024603.00——UTC time of associated GGA fix
RMS deviation——3.2——Total RMS standard deviation of ranges inputs to the navigation solution
Semi-major deviation——6.6——Standard deviation (meters) of semi-major axis of error ellipse
Semi-minor deviation——4.7——Standard deviation (meters) of semi-minor axis of error ellipse
Semi-major orientation——47.3——Orientation of semi-major axis of error ellipse (true north degrees)
Latitude error deviation——5.8——Standard deviation (meters) of latitude error
Longitude error deviation——5.6——Standard deviation (meters) of longitude error
Altitude error deviation——22.0——Standard deviation (meters) of latitude error
Checksum—— *58
$GPGST,024603.00,3.2,6.6,4.7,47.3,5.8,5.6,22.0*58
9,$GPCN0語句
各顆用於解算的衛星信噪比:
$GPCN0,30,40,35,26,24,36,31,38
二、 輸出時間說明:
GPGGA(1次/1秒)
GPGSA(1次/1秒)
GPGSV(1次/5秒)
GPRMC(1次/1秒)
另可選用GLL,VTG或SiRF二進制格式.
三、坐標系統WGS84
WGS-84坐標系(World Geodetic System)是一種國際上采用的地心坐標系。坐標原點為地球質心,其地心空間直角坐標系的Z軸指向國際時間局(BIH)1984.0定義的協議地極(CTP)方向,X軸指向BIH1984.0的協議子午面和CTP赤道的交點,Y軸與Z軸、X軸垂直構成右手坐標系,稱為1984年世界大地坐標系。這是一個國際協議地球參考系統(ITRS),是目前國際上統一采用的大地坐標系。GPS廣播星歷是以WGS-84坐標系為根據的。
WGS84坐標系,長軸6378137.000m,短軸6356752.314,扁率1/298.257223563。
實驗開源圖形編程(Mind+、編玩邊學)
一大早,把6MV2飛控GPS傳感器放到窗台上,接收的GPS信號情況