這些年,我所用過的開源免費 tracker – AVR tracker

clip_image002

 

先來個著作聲明:

WhereAVR 為 N4TXI 所設計的開源免費 Tracker

AVR tracker 為 DH3WR 以WhereAVR為藍本,改良後發佈的開源免費 Tracker 

下一版本,由你接力…

 

前言

就這個blog的編輯方向,免費 Tracker 還是要弄一個出來。

igate 可以用二,三百蚊買件硬件回來,電腦所需的software,是freeware。但如tracker要用起碼$3100 (Yaesu VX-8GR)先可購到, 咁就真係死得。至於買kit,反正都係要焊接,調試;咁點解唔先試一下freesolution。而所費的銀兩,隨時平過買kit的運費。

再者,掌握了這個solution,要用既時就砌個出來,不假外求。更甚者,改code加上合用的功能,適隨尊便。

當然,唔駛錢就需附出汗水,時間。

本篇也不是Atmel AVR 系列MCU 的tutorial,有關這方面的資料,可參考 eXtreme網站。

有關 C 程式用於MCU的教程,可到公共圖書館借到,或google一下 embedded C

所有有關連結,皆在右欄可找到。

 

AVR Tracker 本尊 – WhereAVR

WhereAVR 在本 Blog 開檔的article也介紹過,現簡述之。作者將之用於外國流行的高空Balloon活動。也由於這點,WhereAVR內附有用IO Port 控制servo的編碼。

我和AVR Tracker的緣份始於APRS4r 的advance設定鑽研,由於APRS4r是德國人設計的,搜尋相關資料無可避免forward 到一些德文ham網站,亂打亂撞發現這個solution。作者附上詳細資料,但全是德文,這也是這個project最困難之處。

AVR Tracker用的MCU為表面銲接32 腳的,WhereAVR用的是DIP一般28IC封裝。需留意兩封裝的腳位編號不一樣,應以腳位訊號名為準。

和阿媽WhereAVR 相比,阿仔AVR Tracker 加入以下元素:

  1. GPS訊號有效LED(PD2腳)。當收到有效的GPS訊就著LED
  2. 啟動了ADC,用來檢測電源輸入電壓(ADC1腳)
  3. 啟動了i2c,用來接到i2c 的溫度sensorTMP275
  4. 加入了一個4位DIP switch,增加了多樣軟件設定

clip_image004

 

電路簡述和接駁需知

由於我們是用AVR Tracker,所有零件數值跟AVR Tracker。自行焊接當然用DIP28腳封裝;所以MCU腳位編號跟WhereAVR,或自行參考data sheet

整個線路以Atmel ATMega8A 為核心,關鍵部份為接到ssmosimisosck 四腳電阻所組成 R-2R DA converter。以4 bit R-2R DA converter 輸出APRS 所需的音頻訊號packet, 我在約10年前的日本CQ magazine 見過,今終可會一會佢。

clip_image005

維基圖片

 

R11R13C10 組成為APRS訊號輸入,WhereAVR 用於處理地面站發出的指令。對我們來說,這部分是備用的。簡單來說,它是利用輸入訊號對MCU產生的中斷的周期,去估出其頻率而再化成有效 AX.25 / APRS訊息。 

i2c 的溫度sensorTMP275 在最後更新的線路已被移除。

就我的prototype,以下零件需注意:

  • 線路圖左下角R18R21Q3不需要
  • GPS RS232 – TTL部份的R12不需要
  • R7 2k2 為 Yaesu系專用,Kenwood系不需要
  • 以上提到的R-2R電阻 ladderR1R2R3R4R51%
  • NPN 用一般的黑豆仔就可以,我用CS9018
  • GPS訊息LED用黃色
  • PTT LED 用紅色
  • 接收 LED用綠色

個線路簡潔,兩三晚功夫應可完成。

 

程式下載,工具

下載software為 eXtreme Burner 免費軟件。

工具為淘寶網有售,只值十多元人仔的USBASP。請參考本blog"基本器材篇"一文

clip_image007

 

將現成已編譯好的 hex code 下載至MCU,共有二個hex file需下載。還需設定MCU 的fuse setting

hex file請從DH3WR網頁下載zip file

二個hex file 為:

主程式: APRS_AVR_Tracker.hex ,下載至MCU即成,無需修改。

eeprom設定檔: APRS_AVR_Tracker_EEPROM_DH3WR.hex,這個需按個人callsign,喜好修改有關項目,另存檔名備用。

這個設定檔,和相關設定程式太重要。也是我取AVR Tracker,捨 WhereAVR 的原因。Tracker 所需設定,皆放在 MCU 的 eeprom 中。但 WhereAVR 沒有附帶設定程式。如我用WhereAVR 為藍本,然後叫人自行將callsign,等英文字譯做hex碼,再填到相對的eeprom 地址上。我諗無人會跟住做。唔係唔想,而係太煩。

設定程式由DL1NOS編寫,解決了這個問題,而所謂的設定程式,是一個圖象化 ascii to hex碼的反譯器。將設定檔template的數值更改就是了。

介面是德文,不過時間關係,google translate己幫你譯做中文。雖然部份中文譯完都唔多明佢意思。設定程式(AVR_Tracker_CFG_V1.0b)無雖安裝,將file解壓在同一folder即可。

 

clip_image008

clip_image009

 

AVRTracker 可設定項目

  • Callsign
  • Path(s)
  • 靜態文字

可因應移動速度改變以下項目(DIP SW1-2)

  • SSID
  • ICON
  • ICON 表

四款預設 APRS Message,由DIP SW3-4 選擇

六種option

測量電壓補嘗值,預設為50,經實驗証明,無需更改

用設定程式打開作者的範本檔,更改各資料,如callsignSSID等,然後save as到另一檔案名。以備日後使用。

 

下載步驟:

eXtreme載入主程式(Open Flash),先下載到MCU (Write => Flash)。

clip_image011

clip_image013

 

然後載入已設定好的設定檔 (Open EEPROM File),下載到MCU (Write => EEPROM)。那六種option,建議先跟預設的設定。熟能生巧後才嘗試其他組合。

clip_image015

 

Fuse Bits setting

正確value為: Lo:9f Hi:c9 。由於Fuse Bits 的設定錯誤會導致MCU不能工作,所以寫入時,必需將LowHigh fusewrite,再按write

clip_image017

 

測試過程秘辛

以上過程好似 easy job,順風順水。但其實折騰了差不多兩個月。主因為兩個:Fuse Bits setting 數值錯誤,沒有 Tx delay 設定。

clip_image018

不要盲目跟隨screen dump

 

Fuse setting 數值

Atmel MCU Fuse Bits setting數值 主要用作設定震盪元件種類,高低頻等自選設定組合。原作者的PDF文件內的一個screen dump顯示為 D9FF。我沒意識到需 countercheck 這個value。照搬如儀。個tracker無反應還好,知有唔妥。最慘係個GPS訊息LED1秒間隔閃下閃下,好似好正常咁。搞到我以為係work

花完一大輪功夫後,百思不得其解;用DSO量度一下crystal,點解震到好似未食飯咁。再檢查一下D9, FF這個value,才發現這個value不應用在這個project上。

用回自己對 mega8的認識,設為 ffc9。反應正常好多。最後,參考完DL2USR有關AVR TrackerPDF文件(德文)同網站資料;決定為 Lo:9f Hi:c9

 

實戰測試

GPS輸出有效訊息到tracker後,tracker GPS訊息LED會長著,我的設定是每30秒間隔就發射。

問題來了,發射後,igate接收LED不著;即收回的packet解不到碼。packet的組成,由R-2R負責。數值會影響準繩度,將之換為1%。再試,結果一樣。那唯有以大量 packet 收發測試。結果發現成功率少於10%。唯一較安心是packet的的波型應屬穩定無問題。那剩下兩問題,packet的波幅,和Tx delay

packet的波幅,我跟據發射機的說明書用DSO調好R7即成。

Tx delay,要測試是否這個問題,先將發射機人手按ptt,等tracker發射時,如igate百收百中,即是這個問題。最後亦証實是這個問題。

Tx delay在一般商品化的tracker是有得設定的。 AVR Tracker則沒有。但又想一下,我遇到的問題,其他ham也會遇到。但點解google一下,外國ham 測試AVR Tracker 沒有遇到同樣問題?

於是想起友台ZACigate時,提到開CTCSS會導致Tx/RX Delay,外國的aprs一般情況下係無用tone的。既然個tracker都試到最後一步,不是改code加進Tx delay部份,就是關掉tone試一下。我當然係prefer 後者。果然,即刻掂哂。成功率不少於八成。我亦順應潮流,之後關掉igate 的CTCSS了。

需注意,在收到有效GPS訊息後自動啟動PTT,就算之後收不到GPS訊號,發射部份仍會繼續按時發射最後收到的GPS位置。

 

設定,調較

如你沒有儀器觀察波形,可參考我的數值。VR R7 對地那邊的電阻值是約3-4k

DIP switch指撥開關的設定

sw1 =兩組SSIDicon設定選擇

  • on set2 (Secondary)
  • off set1 (Primary)

sw2 

  • on =速度小於每小時5公里的情況下視為準靜止狀態,PTT間隔增至7min。反之為機動狀態,PTT間隔降回30秒。
  • off = PTT間隔一律為30 秒

sw3-4 

  • 4 組預設的APRS訊息

 

新加設了 YouTube VR2XKP 頻道,今後會按需要加入多媒體資訊,去片:

 

AVR Tracker Demo byVR2XKP

 

 

What's Next-功能尚未用盡,同志仍雖努力

WhereAVR 為藍本,並以AVR Tracker為參考,更改程式,加進更多的功能,例:

  • ADCtemp sensorLM35
  • Tx delay
  • 甚至enable 接收指令功能

現行hex code size不大,佔用IO pin又不多,加進更多功能應是可應附。

 

總結

美國人發明APRS用在 Amateur Radio上。

日本人將之商品化,將tracker 內置於各車,手機中。大大提升APRS活動的普及性。

德國人開源程式風氣之普及,做就了本人使用IgateAPRS4rAVR Tracker兩個方案,好使好用之餘,且少了一點銅臭味。德國在 Amateur Radio 上的貢獻實也令人敬佩。

 

後記 – 一個階段之終結

行文至此,涉足APRS的三寶IgateTNCTracker;本blog皆已詳細介紹過。且著眼於以低廉價格成事。不論你是跟著本blog的文章去做;或以錢去解決眼前的問題,即買一些成品回來架設,也應有一點成績了。我經常強調:百論不如一試,就是如此。

我將本文定為APRS入門與初階之完結篇。今後有關APRS的課題,將向中階或以上進發,挑戰更大,失敗率更高。不論成事與否;均盡可能編撰成文,分享過中的苦與樂。

Posted in APRS, AVR / ARM | Tagged , , , , , | 1 Comment

當 Tracker 遇上UV-5R = 雞毛鴨血篇

 

head2

水火不容的 Tracker 和 UV-5R

 

這個article本名為”Tracker的調試淺談”,是簡單任務,最後卻好似入了無間地獄,擾釀了大半個月。幸好,troubleshoot的經驗還有少少,最終知道問題所在。過程也值得分享一番。

內置tracker的日系機是好,但起標HK$3100;始終是貴,礙於推廣。再者,用在tracker的設定中,即成部機就是tracker,被hijack了,不能用在其他地方。

外置的tracker,不論kit或成品,所費不多。又可自行駁至自選的發射機,彈性高。

話說我的APRS設備的規格,一向是電腦端用Yaesu FT-51R。Tracker端用Kenwood Th-78。兩者接線不同,以前做好了一堆cable。用得翻當然唔想郁。

至近月,在測試 iGate 新方案的同時,我也開了一個tracker的project。但遺憾的是,TH-78 已登極樂;好自然想到用那兩舊水人仔的UV-5R。

UV-5R接線跟Kenwood系,功率分兩檔,lo = 1W,Hi = 4W。我的Igate正用佢,lo power。用Io power, 是因為QTH 位置不佳,用的也是室內Dipole而已。同樣,室內收不到GPS signal關係,我是將tracker調到 fix location mode,用FT-51R 以EL power 發射aprs signal 供Igate測試。

手機的audio接線端一般分兩種。較舊機種是上面鄰近天線,較新是右側遠離RF的設計。在"那些年"一文提到,Th-78 天線干擾到tracker接線,需加磁環解決。所以估計,新計設的右側遠離RF部份或力或少也是受這個因素影響。

left_up 2

UV -5R是右側計,但估計是人做乜,我做乜o個隻。

OK,將UV -5R設lo power接上tracker,但當ptt時發現tracker有以下怪現象:

  • Tx時有長hold住PTT唔放
  • ptt時,一閃即停
  • 傻閃

加了磁環,情況未見善。更改tracker各參數也沒有進展。這個情況膠著了個多星期。於是試一下 hi power。

仲死,個tracker好似點了穴一樣。最大鑊係關了 UV –5R 和 disconnect 後,tracker 的情況沒有改善。

於是開始懷疑是否tracker 問題,反覆檢查各接頭,電源等也找不到原因。再花掉兩個星期。

技窮了。最後的必殺技,那些年備用的tracker IC 有大量存貨,於是換粒再download反個program落去,個tracker即時翻生 !

在試SDR時 capture低的那張 FT-51R和 UV-5R Tx時的waterfall比較圖即時湧現腦海。low power如此,hi power 只會更衰 …

於是重覆以上步驟: Hi power打死tracker,重灌program,翻生。証明UV-5R Hi Power下的屏閉差勁,Tx電場足似影響Tracker內的program跳到dead loop。這是MCU應用最worst的情況。那bye bye了,tracker的solution 就和這個兩個舊水的東西永別。就算lo power 我也不能用你。

馬上開壇將tracker轉駁至FT-51R,雖High Power 也會jam 到Tracker,但加磁環即可解決。

 

總結Tracker 接到發射機後發生問題,需注意以下各點:

1/ 初學者,應先以最底power 試起。累積一點實戰經驗,再增大power。

2/不論初試結果如何,也應加上磁環,以防干擾發生。干擾有時是來自其他人的。

 

fer

磁環建議選TDK,其他無牌子或雜嘜的。除非有spec在手,否則效果存疑。

TDK的磁環標有model No,上網即可找到spec。

TDK

 

3/ 與tracker的接線,千萬不要和天線 parallel 或纏繞。

mix

 

4/ 使用長天線,進一步將 RF field 提高。

Long_Ant

5/ 以上方法仍沒法解決,tracker 可考慮用包裝 Harddisk 等設備的錫紙袋套住。

 

tin

 

緊記,tracker和HT不要放得太近。本人的實驗結果,HT 背後noise 較強,不要以背對背形試貼在一起使用。

周三旁晚,到尖東一帶實戰一下,微微細雨下終於hit到ZAC – 10。故這張圖可稱為"湮雨淒迷 ZAC-10 到此一遊圖" 也。

zac hit

 

 

後記

我經常說,UV-5R 兩舊水,張就下。但同一時間,我也有問:反正UV-3,5R等外形也是抄考Y記的HT,點解唔將人地的功能如內置tracker也照搬過來;我用double四舊水同你買又點話。但經這次實驗後,我應該明點解 …….

Posted in APRS, Research | Tagged , , , , , , , | 2 Comments