【開源GPS追蹤】 之 硬件開源


根據設定目標: 使用GPS 采集經緯度,然后通過GPRS模塊/wifi 發送到服務器顯示,WIFI不常有,所有就使用GPRS模塊!

 

對於GPS模塊,沒有特殊要求,只要輸出格式符合NMEA協議即可,為了后續編程方便,盡量使用輸出波特率為9600 的模塊。

我使用的是TTL 接口波特率9600 的sirf III,感覺還可以。

 

對於GPRS,我手頭上有些有方的M590,湊合着用。 

 

對於MCU,最熟悉的51,如果51 可以勝任就用51,目前實現的功能來說還是可以的。 如果增加其他功能可以使用STM32或者考慮低功耗用MPS430

實物連接圖(都是用手上現成的模塊用杜邦線連接起來的,用來做驗證使用)

 

====================================================================================

1 MCU 與 GPS 連接

  GPS通過MCU 的串口0 與MCU連接,GPS可以通過這個接口把GPS 的數據全部送到MCU,MCU內部對GPS數據進行處理。

2 MCU 與GPRS連接

  GPRS通過MCU的串口與MCU連接。 MCU通過發送命令控制GPRS 上電/斷電、TCP 連接以及 數據發送。

  考慮到節能低功耗要求,GPS數據每隔一定時間發送到服務器,按照需求可以修改code 控制這個間隔。 在發送 完數據后,GPRS可以切斷電源,等到下次GPS 數據ready的時候再上電(GPRS 工作的時候電流約100mA 左右,GPS+MCU 工作電流約50mA)。如果間隔較大的應用中,一定要這樣做,節能非常明顯。

  如果對功耗要求非常苛刻的地方,選用MPS430 MCU,GPS選用帶有熱啟動的模塊,增加GPS 電源控制電路,控制GPS工作情況,進一步減少電能損耗。

   *****************************************************************************************************

  為了實現GPRS的啟動、斷電,結合M590 設計手冊,可以使用帶Enable 的LOD。 我找到的這個模塊就有,只是Enable pin 和VCC pin 短接在一起了,只要VCC供電,M590就上電了,而我需要的是通過一個pin 讓MCU控制供電,所以修改電路,把Enable pin layout 強行"切開"然后連上。最后的效果如下圖:

 

   這樣,VCC 供電,如果Enable pin 為低電平,M590 也是吃不到電的,通過Enable pin 和 M590 的ON pin 兩個控制M590 on\off.(這個具體時序需要參見M590的設計手冊,在code 中會有體現。)

 

總體硬件連好,就是這個樣子,因為是幾個模塊堆疊起來的通過杜邦線連接起來,看起來比較亂,但是測試了幾下,感覺用於定位追蹤還是棒棒的,畢竟成本低廉。 等一些完善好了,打算做一塊板子,把GPRS 和 MCU做到一起,但是這個需要后面有空才能搞。

目前還是持續驗證完善程序,避免不必要的bug出現,目前是能用即可!

==========================================================================

web 端定位效果圖

定位感覺還行,偶爾會出現gps 飄逸。 程序用延時函數實現采集,目前基本50s 采集一次(如果GPS GPRS信號不好,采集間隔時間會延長)

**之前在另一篇文章里提到流量的問題,感覺一天0.3MB就夠用了,但是實際上卻比較費流量**

 

我使用的是阿里通信的手機卡,這一周來累計使用了1.88MB流量,其中有一次連續工作10小時,走了約0.6M。與之前計算結果差異挺大,仔細分析,原因是因為之前計算值考慮了上傳時花費的流量,沒有考慮服務器收到數據也會給GPRS發送數據,而這一塊的數據可能比上傳數據要大,實際上用電腦模擬POST GET確實會收到很多數據,這個就不截圖了。解決辦法:GPRS發送完數據立馬關掉TCP。 這個方法還沒有實際測量。

 

============================================================================================

20160710 更新

 用杜邦線連接畢竟不是那么美觀,所以自己畫了PCB。下面貼一下原理圖和PCB截圖,技術糙,多擔待。

 

板子特點

1 M590 模塊兩種供電模式

因為為了實現使用MCU控制M590 開關,電路需要稍微特殊設置,方案1 使用現成電源芯片spx29300,電壓穩定,成本高。 方案2 使用三極管+MOSFET 組合方式,電源電壓與供電電壓一致,成本低。

2 增加232 接口

因為我這里有一些GPS是232 輸出的,到時可以直接使用

這些特點基本都是備份或者重復的功能,所以板子看着東西挺多,其實如果定型,元器件會進一步減少。

 

PCB 的尺寸設計可在TB上找到一款塑料盒子,爭取把模塊與鋰電池同時放進去。

 

預計一周之內打樣,半個月左右會焊接調試完畢!願一切順利!

 

20160716 更新

這周斷斷續續review了PCB,發現主要問題有幾個

1 NMOS NPN 原理圖和PCB庫的引腳不能一一對應,根據datasheet 直接在PCB修改net重新布線

2 卡槽直接復制了之前有方V1.0版本,卡槽引腳和PCB也是不能一一對應,直接修改nat 重新布線。

3 M590 模塊具有低功耗選項,參考M590數據手冊,直接在PCB上把DRT引腳與MCU相連接

修改完成后已經在嘉立創上打樣了。。。。下周見!

 

在板子打樣好之前,把原來的各個模塊規整到一起,裝到盒子里了,放到電動車里,感覺還不錯。 上圖

GPRS + MCU +電池

GPS模塊放到盒子上方,天線需要外露才能收到信號,鐵殼會屏蔽信號

鐵盒外面GPS天線和GPRS天線都引出了(如果是塑料殼就不要這么麻煩了)

放到電動車上出去走了一圈去趟超市

 

 

20160724 更新

昨天PCB回來,焊接了兩塊進行了簡單測試。

先上圖

 

已經測試通過的選項

1 單片機下載程序OK

2 GPRS與單片機連接,通信正常

3 反接保護電路正常

4

問題:

1 單片機Enable 引腳沒有連接

2 R12 應該放到bottom

3 電源芯片封裝有點大

4 通過NPN+NMOS控制電源部分壓降有1.2V,需要檢查

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM