<tbody id="ghiie"></tbody>

<acronym id="ghiie"><form id="ghiie"><mark id="ghiie"></mark></form></acronym>

<b id="ghiie"></b>
<source id="ghiie"></source>

  • <code id="ghiie"></code>
  • 牧夫天文論壇(中國最早的天文論壇,致力于天文和望遠鏡的科普交流平臺)

     找回密碼
     加入牧夫(注明天文愛好者)

    QQ登錄

    只需一步,快速開始

    蔡司光學大連望遠鏡
    愛牧夫天文微店有新品牧夫紀錄片牧夫20年歷
    牧夫文化衫
    查看: 760|回復: 12
    打印 上一主題 下一主題

    [自制DIY] 自制基于arduino due的經緯儀(DOB)電跟系統

    [復制鏈接]
    跳轉到指定樓層
    樓主
    發表于 2019-6-26 17:52 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式


    先介紹一下這個經緯儀電跟的功能吧:
        它內建數據庫,包含有全部梅西耶天體,部分容易觀測的NGCIC目標,一些重點恒星一共443條數據,通過編碼器旋鈕可以很方便的選擇目標進行跟蹤,也可以輸入自定義目標,觀測位置通過GPS自動獲得,時間還是需要手動輸入的,不過輸入一次即可,它通過計算目標在前后兩個時間點的位置差,來驅動步進電機,帶著經緯儀兩軸實現跟蹤功能。
         由于系統隨時都在計算位置差,在切換目標的時候也是如此,所以這套系統其實自帶了goto,只不過沒有變速的話,這樣goto起來非常耗時,所以我讓它默認忽略掉了切換目標之后產生的位置差,等于把一個goto閹割成了電跟哈哈哈。。。
        然后再來看看外觀,在這個光禿禿的面板上,左下角是信息顯示屏,它上面那個圓球是自定義目標切換開關,右邊那個旋鈕是個編碼器,可以轉動也可以按下,作為一個開關使用。右側有兩個RJ11接口,鏈接高度角和方位角步進電機。盒子上方那面有個GPS天線和電源接口,左邊那面有一個電源開關。
        在第一次開機之后,會搜尋衛星信號,可能要等幾分鐘,當GPS正常工作后,首先要長按編碼器按鈕,輸入當前的年月日時間,這個只需要輸入一次,系統默認是對M1進行跟蹤,不需要任何操作跟蹤就已經開始了,除非你雙擊編碼器按鈕,此時跟蹤暫停,進入目標選擇界面,這個時候你需要對照一個表格,輸入你想要跟蹤目標前面的序號,然后它就開始跟蹤了,或者按一下屏幕上邊的按鈕,進入自定義目標輸入界面,輸入天球坐標,它就能跟蹤任意你輸入的目標了,這就保證了系統的自由度,不只局限于內存中的那幾百個目標。所有的輸入,在切換到最后一位之后即代表確認,單擊編碼器按鈕可以切換輸入的項目。
        顯示界面方面,系統第一行顯示當前日期和時間,第二行顯示當前位置的經緯度,環境溫度,第三行顯示目標的高度角,方位角,方框里面,最左邊是目標名稱,中間是差值跟蹤的次數,右邊分別是高度角方位角電機每次差值后折合運行的步數。










       其實這套系統在5月我就已經做好了,進行了十多次精度測試,3次外出觀測測試,配合之前做好的DSC,效果非常好,只是同步帶和齒輪配合不太牢固,會有些誤差。












       白天用M101做測試,跟蹤29分鐘,經緯儀兩軸誤差分別為10'58.8"7'12",沒有出uw6125倍下的視野。其實對于經緯儀低倍率目視來說,這樣的誤差還可以接受,只要目標不跑出視場就OK啦。
           最初沒有外殼的時候,這些電子設備的光污染還是對觀測有很大影響的,后來裝進了3D打印的外殼,就好了很多。雖然依舊很丑吧,而且現在我的經緯儀被各種零件包裹,搬運的時候也要比之前小心得多。。。
       實際使用起來,是這樣的:
    1.擺好三腳架的腿,調整好高度
    2.用水平泡調整腳架水平度
    3.安裝經緯儀上半部分
    4.安裝望遠鏡
    5.裝上激光目鏡調整雙筒兩邊光軸
    6.換上目鏡隨便找個天區對焦,調合圓(合像)
    7.連接兩根電源和兩根電機線
    8.打開DSC,手機開啟skysafari并連接,進行一星校準
    9.打開電跟系統,搜星直到開始跟蹤默認目標M1
    10.在電跟系統里輸入要觀測的目標,開始跟蹤
    11.在skysafari里找到這個目標,并把望遠鏡指向它,鎖緊經緯儀兩軸

    至此就可以正式開始觀測了,變換目標之前也是先在電跟里切換目標,松開經緯儀兩軸,然后再在手機里找到目標,把望遠鏡推過去,鎖緊。。。

    從到達觀測地,到正式開始觀測,一般需要15分鐘來做前面這些準備工作,調腳架水平是最慢的,因為我那木頭架子不是很好調節,要反復的試


        上上次觀測,多虧了這套電跟,我在10分鐘里,三次看到飛機穿越木星星系,看到飛機發動機熱氣流把木星和它的衛星扭曲的樣子,特別壯觀,而觀測木星的幾次間隙里,我還可以用小雙筒巡天,而不用擔心在牛雙目鏡里丟失木星。之后的觀測,我要重拾畫筆,繼續練習天體手繪,電跟的作用就能發揮出來了,它可以解放我的雙手,讓我專心于繪畫。





    上次帶老婆去看滿月。。。月光把地面照得很亮,uw6自身的光衰減加上中灰濾鏡,讓觀測滿月舒服了很多,而且相當壯觀



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


       本項目源自我關于電子尋星的設想——push to
       最初我想做成類似于手機星圖軟件里,有個箭頭引導去尋星的效果,但要求不依賴手機,想想有些復雜,后來就簡化成了用電子陀螺儀顯示望遠鏡的俯仰角,方向角,就如下圖所示:




       這樣,我只要知道目標的方位角,高度角,推動望遠鏡到目標角度即可,這個數據在很多軟件里是很容易查到的。
       但我做出成品之后,試用了幾次,效果都不好,誤差有時高達2度,而且校準起來也不容易,要先保證水平,再拿著外殼轉幾圈。。。我覺得這種精度,用在無人機上,還能接受,但對尋星來說,就是自找麻煩。











       后來我們的牛雙大佬,老張@zhangshihan 提出DSCdigital setting circles)方案,就是用編碼器作為傳感器,直連經緯儀或者赤道儀的兩個軸,通過無線連接到手機軟件(skysafari),在軟件里可以把經緯儀或者赤道儀旋轉的角度轉換成準星的移動,因此,如果校準得當,準星在軟件里指向的目標,就是目鏡中心看到的目標。編碼器把一個360度的圓周分成了8000多等分格,這樣編碼器每移動一格,就相當于轉動了360(度)*60(分)*60(秒)÷8000=16.2角秒,這也是編碼器的精度,我最高倍數的目鏡是uw6,視場66度,對于小黑主鏡,放大倍率是125倍,那么搭配起來后的實際視場就是66÷125=0.528度,相當于1928角秒,遠高于編碼器分辨率,所以在這種情況下,用DSC方案,理論上是沒有問題的。
       好在我全都在arduino上編程,各種傳感器,模塊,都有案例可以學習,編碼器的上手也很快,三下兩下就搞定了,如下圖:









       其實DSC電路很簡單,一個arduino一個藍牙模塊,兩個編碼器,一個開關。反而是安裝方式需要費點心思,對于我這種經緯儀,不好把編碼器裝到里面去,就只能裝在外面,用皮帶帶動經緯儀主體和編碼器轉盤,要計算一下這兩個圓的直徑比例,如果是DOB就簡單多了。








       經過幾次觀測的檢驗,證明這DSC還是非常好用滴!只要經緯儀足夠水平,進行1星校準就成了,校準超級方便,但是怎么看經緯儀是不是水平呢?我買了個神器如下圖:





       這個水泡精度相當高,DSC在沒有水平校準之前,距離校準星方位角90度以上的目標就會有誤差,水平校準之后,可以保證距離校準星方位角180度內的目標可以準確的被找到,其實在觀測中,我經常用較亮的星進行校準,可以保證目鏡中心的目標與星圖中的目標始終保持精準對應。
       本來我以為做到這樣就可以了,沒想到老張說,如果能加上電跟,那就更好了,所以我就又開始琢磨,這經緯儀的電跟要怎么做呀,肯定不像赤道儀那么簡單吧,會有場旋,這就夠讓人頭疼的,其實我買個手柄,可能也能解決這個問題,但誰讓咱喜歡折騰呢,我開始構思軟件功能,如果skysafari可以通過協議把所選擇目標的高度角,方位角傳輸出來,就很簡單了,也許goto模式能做到,但在pushto模式下,貌似沒法實現這樣的功能,于是我決定電跟系統與手機軟件分離開來,在手機里選擇目標之后,再去電跟系統里輸入要跟蹤的目標,于是就有了下面這個流程圖:






       這還是最初的設想,后來有了一些改動,就沒有更新流程圖了,但大體是這個意思,因為我也不知道廠制的經緯儀電跟用的是什么原理,于是我先假設了這種計算兩個時間點前后位置差的方式來實現跟蹤,一開始我也不知道效果會怎么樣。
       同時,我還預想了這個系統里應該包含的硬件,如下圖:



       對于買零件我是很興奮的,設想好之后就把東西給買了,其實后來我根本就沒用到TF卡模塊,系統內建的數據庫非常的精煉,arduino我用的是國產的DUEramrom都很奢侈,于是就省去了TF卡。
       到此為止,我只是覺得可能高度角那個軸做差值跟蹤,方位角用普通電跟就可以了,這是長期關注南天所產生的錯覺,后來在驗證天球坐標轉換地平坐標的公式時,我才意識到,目標在不同天區,其高度角和方位角,都有著不一樣的變化趨勢。
       后來,我斷斷續續用了一個月的時間,尋找坐標轉換公式,數據庫里只會給出天球坐標,我需要把它轉換成地平坐標,我搜了百度文庫,有一篇pdf解釋了這類公式的各種細節(https://wenku.baidu.com/view/fb26c2b4a1116c175f0e7cd184254b35effd1a64.html),但作者寫得不夠詳細,有各種坑等著我去跳,其實不光是我,估計你們看到那堆公式也會頭疼,變量還那么多,公式里面套公式是最煩的了,所以我很沒耐心,拿來就去驗證,結果卻相差甚遠,于是我給了他個差評,就去搜國外的網站:

    http://www.stargazing.net/kepler/altaz.html#twig09
    https://ww2.mathworks.cn/matlabcentral/fileexchange/27071-conversion-from-right-ascension-declination-to-altitude-azimuth-in-matlab
    進去后點擊“functions”

    這兩個網站上給出的計算公式,跟百度里的粗看下來有很大差別,我琢磨了好幾天之后才能心平氣和的看明白它們分別都是干嘛用的,國外網站公式中的參數單位與百度那個不一樣,而且有些系數沒有計算過程,直接給的結果,但是計算出來的結果還需要進一步的判斷,而百度這篇文章里對結果的判斷寫得不是很明白。后面我會把傻瓜式的公式擺出來,避開各種大坑的那種哈哈。

       搞明白了坐標轉換,我就開始著手準備軟件方面的素材了,把硬件全部羅列出來有一個好處,就是你可以逐一攻破,即使整個系統看起來很復雜,但把它拆解成一個個獨立模塊后,還是很簡單的。我根據這些周邊硬件,設計了一系列的實驗,如下圖:


       一開始我沒設計這么多,比如實驗2里,限定編碼器滾動數字的范圍,實驗3,兩個I2C模塊共同運行的問題,實驗9,實驗10,都是在實踐過程中出現了問題,或者有了新想法之后擴展出來的。完成一個實驗,就把項目文件的名字寫在后面,從110到最終完成,我又用了1個月的時間。

       編程方面,尤其是對字符串的編輯,我反復學習了老外的項目經驗,很受啟發,如下圖:


       我的極簡練的星表數據庫也來自于這個項目,這位大牛人自制觸屏無線goto,代碼很復雜,我估計是沒那個耐心做他這玩意兒。。。雖然他完全開源了

       給你們看看我學習時做的筆記:


       我只挑對這個項目有用的部分學習,其它模塊的案例也是這樣,所以雖然我做了看似很復雜的一套系統,其實我并不完全掌握arduino編程,好在arduino很容易上手,它費半天勁把復雜的代碼黑盒化,看似繞了一個大圈,卻能讓更多像我這樣,懂一點編程,又不愿意從頭到尾學一遍的人,開心的玩上arduino,這就是它最牛的地方。





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


       下面是天球坐標轉換地平坐標的公式,我只對變量進行說明,整個公式或者專業名詞的含義,還請查閱資料,推薦看看《球面天文學》這是我接下來要攻讀的一本書。


    公式1:
    t=100/15+n*24/365.2422+T-(sj-j)/15-RA
    t=天體的時角,單位為小時
    n=當天在全年中的日序  閏年229天,平年228
    T=觀測時間  例如21.5h,就是2130
    sj=觀測地時區經度,北京是+120
    j=觀測地經度,我的是116.397
    RA=目標的赤經(J2000),例如天狼星就是6.75225h(單位小時)
    **15的項都是要把角度單位轉換成小時單位,因為t的單位是小時
    **t既然單位是小時,就要小于24,所以計算出來的t如果大于等于24,就要進行這樣的計算t=t-24,一直減到t<24為止。


    公式2:
    ALT=asinsinLAT*sinDEC+cosLAT*cosDEC*cost*15))
    ALT=目標高度角
    LAT=觀測地的維度,計算的時候要把分秒都換算成度數
    DEC=目標赤緯
    **單位都為度
    **但是計算機的三角函數計算,用的都是弧度,所以在程序里,比如要計算正弦,你得這樣寫:sin(LAT*PI/180),把角度轉換成弧度,當然你要事先定義一下PI是什么,在excel里就不用單獨定義PI了。
    **最后別忘了反正弦的計算要*180/PI,把弧度轉換回角度。

    公式3:
    AZ=acos((sin(DEC) -sin(ALT)*sin(LAT)/cos(ALT)*cos(LAT)
    AZ=目標方位角
    **如果sint*15)是負數,AZ就是目標的方位角,如果是正數,目標的方位角為:AZ=360-AZ
    **上面這些公式可以順利的應用在北半球,東經區域內,南半球,西經,需要更改一些變量的符號。


    評分

    參與人數 1牧夫幣 +20 威望 +1 收起 理由
    最后的恐龍 + 20 + 1 很給力!

    查看全部評分

    沙發
    發表于 2019-6-26 19:58 | 只看該作者
    長文巨作,先頂后看
    回復 支持 反對

    使用道具 舉報

    板凳
    發表于 2019-6-27 07:53 來自手機 | 只看該作者
    厲害,我做了rduinoscope完全成功,

    點評

    牛啊!那個項目真是造福DIY和天文愛好者  詳情 回復 發表于 2019-7-2 11:50
    回復 支持 反對

    使用道具 舉報

    地板
    發表于 2019-6-28 11:24 | 只看該作者
    我以前做類似的東西的時候,直接用的維基百科上的公式。

    點評

    對誒,我都沒想到維基百科  詳情 回復 發表于 2019-7-2 11:56
    回復 支持 反對

    使用道具 舉報

    地窖
    發表于 2019-7-2 01:17 | 只看該作者
    又一個DIY牛人!果斷收藏。
    回復 支持 反對

    使用道具 舉報

    6
     樓主| 發表于 2019-7-2 11:50 | 只看該作者
    fsclub 發表于 2019-6-27 07:53
    厲害,我做了rduinoscope完全成功,

    牛啊!那個項目真是造福DIY和天文愛好者
    回復 支持 反對

    使用道具 舉報

    7
     樓主| 發表于 2019-7-2 11:56 | 只看該作者
    蝶夢 發表于 2019-6-28 11:24
    我以前做類似的東西的時候,直接用的維基百科上的公式。

    對誒,我都沒想到維基百科
    回復 支持 反對

    使用道具 舉報

    8
    發表于 2019-7-2 14:00 | 只看該作者
    好贊的設計,最近也開始在琢磨 樹莓派。

    點評

    樹莓派出新版了,可以用來做導星電腦  詳情 回復 發表于 2019-7-2 14:32
    回復 支持 反對

    使用道具 舉報

    9
     樓主| 發表于 2019-7-2 14:32 | 只看該作者
    xiongyulei 發表于 2019-7-2 14:00
    好贊的設計,最近也開始在琢磨 樹莓派。

    樹莓派出新版了,可以用來做導星電腦

    點評

    你說的版本是?  詳情 回復 發表于 2019-7-2 15:32
    回復 支持 反對

    使用道具 舉報

    10
    發表于 2019-7-2 15:32 | 只看該作者
    sysydf 發表于 2019-7-2 14:32
    樹莓派出新版了,可以用來做導星電腦

    你說的版本是?

    點評

    是樹莓派4  詳情 回復 發表于 2019-7-2 22:14
    回復 支持 反對

    使用道具 舉報

    11
     樓主| 發表于 2019-7-2 22:14 | 只看該作者

    是樹莓派4
    回復 支持 反對

    使用道具 舉報

    12
    發表于 2019-7-3 07:59 來自手機 | 只看該作者
    頂大佬!現在真是很少出現這么有養分的文章了!實屬不易!
    回復 支持 反對

    使用道具 舉報

    13
    發表于 2019-7-4 08:43 | 只看該作者
    看到了一只貓:鏟屎的,又在瞎折騰了
    回復 支持 反對

    使用道具 舉報

    本版積分規則

    QQ|論壇廣告版面招租|簡版|手機版|愛牧夫天文淘寶店|牧夫天文論壇 ( 遼ICP備18003274號 本站官方聯系電話:+86-411-8424-1208,186-零零貳貳七七九九,聯系QQ:224-27993 )

    GMT+8, 2019-8-8 06:04 , Processed in 0.148042 second(s), 32 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回復 返回頂部 返回列表
    午夜福利08550在线看