我非常熱愛天文學(xué)和天文攝影。我確信,和我一樣,所有業(yè)余天文學(xué)家都希望擁有一個(gè)價(jià)格實(shí)惠的個(gè)人天文臺,以便拍攝壯麗的宇宙景象。
天文攝影,尤其是深空攝影,對跟蹤精度(以抵消地球自轉(zhuǎn))和調(diào)焦精度要求極高。一臺像樣的赤道儀加上導(dǎo)星器可以解決跟蹤問題,而電動調(diào)焦器則能實(shí)現(xiàn)高精度的調(diào)焦。然而,這些設(shè)備都相當(dāng)昂貴!對于好的赤道儀和導(dǎo)星器,確實(shí)沒有可靠的替代品,但電動調(diào)焦器相對容易以極低的成本自制。
此外,能夠遠(yuǎn)程控制赤道儀也會非常方便。我來自中國,目前在美國上大學(xué)。如果我的高中天文學(xué)老師能夠遠(yuǎn)程訪問我的望遠(yuǎn)鏡,并向她的學(xué)生展示行星或星團(tuán)的實(shí)時(shí)圖像,那就太好了。雖然有一些遠(yuǎn)程控制望遠(yuǎn)鏡的解決方案,但我并不滿意。
因此,我啟動了這個(gè)概念驗(yàn)證項(xiàng)目,允許用戶通過網(wǎng)頁遠(yuǎn)程控制赤道儀、望遠(yuǎn)鏡的調(diào)焦以及相機(jī)。
簡介:
你可以觀看上面的演示視頻,了解項(xiàng)目的工作原理。該項(xiàng)目由四個(gè)部分組成:
電動調(diào)焦控制
微控制器通過SynScan串行通信協(xié)議與赤道儀通信
微控制器通過自定義的串行JSON字符串協(xié)議與其他設(shè)備通信
一個(gè)網(wǎng)頁作為控制赤道儀、調(diào)焦器和相機(jī)的界面
在本教程中,我將引導(dǎo)你完成制作調(diào)焦器的過程,并運(yùn)行我的代碼來控制望遠(yuǎn)鏡。
第一步:所需材料
我根據(jù)自己擁有的設(shè)備制作了這個(gè)項(xiàng)目。如果你擁有與我相同的設(shè)備,可以按照我的確切步驟操作;但如果沒有,你可能需要調(diào)整一些東西或編寫自己的代碼來使其工作。
工具:
一套內(nèi)六角扳手
卡尺
手鉆
訪問3D打印機(jī)的權(quán)限
一款CAD軟件(我使用了Fusion 360學(xué)生版)
你可能已經(jīng)擁有的天文設(shè)備:
一臺帶有不錯(cuò)手動調(diào)焦器的望遠(yuǎn)鏡(我使用的是Sharpstar CF90-II)
一臺帶有SynScan v3或v4的信達(dá)赤道儀(我使用的是EQ6-pro,帶SynScan v4)
一臺佳能單反相機(jī)(我使用的是6D,尼康相機(jī)不適用,因?yàn)間photo2無法控制尼康相機(jī)的B門模式)
部件:
樹莓派(用于遠(yuǎn)程單反相機(jī)控制,我使用的是rpi2)
樹莓派的WiFi加密狗(除非你使用的是rpi3)
Teensy3.2(用于與赤道儀和其他設(shè)備通信)
長質(zhì)量好的USB micro線纜*2(用于為rpi和Teensy供電)
長質(zhì)量好的USB mini線纜(用于你的單反相機(jī))
RJ-11插座和線纜(連接Teensy與SynScan)
Max232芯片(將SynScan的RS-232電平轉(zhuǎn)換為Teensy的TTL電平)
10 uf電容*4(與Max232芯片配合使用)
1602a LCD屏幕
28YBJ-48步進(jìn)電機(jī)
ULN2003步進(jìn)電機(jī)驅(qū)動板
MXL 45齒同步帶輪(替換調(diào)焦旋鈕)
MXL 15齒同步帶輪(連接到步進(jìn)電機(jī))
同步帶
按鈕*3(控制調(diào)焦器)
電位器*3(改變步進(jìn)電機(jī)速度并調(diào)整LCD的亮度/對比度)
#6螺絲和螺母(安裝3D打印的調(diào)焦器)
面包板*2
大量跳線
5V2A電源(用于rpi)和12V 2A電源(用于赤道儀)
注意:
如果你沒有單反相機(jī),可以跳過與之相關(guān)的部件,只制作赤道儀控制器。
Max232電容的值并不那么重要,我看到過幾個(gè)使用不同值的電路圖。只要不是太小,就沒問題。如果你有開發(fā)板,那就更好了。
購買同步帶輪時(shí),請確保內(nèi)徑與你的調(diào)焦器和步進(jìn)電機(jī)匹配。
不要購買長開口的同步帶并嘗試將其粘成環(huán)形。我試過這樣做,但什么都不管用。我是從McMaster-Carr購買的。
一條質(zhì)量好的USB線纜可以節(jié)省你數(shù)小時(shí)的調(diào)試時(shí)間。
我使用了Teensy3.2微控制器。它與Arduino兼容,但功能更強(qiáng)大。我的一些代碼是Teensy特有的(例如IntervalTimer)。如果你想在Arduino上使用這段代碼,需要進(jìn)行一些修改。
第二步:設(shè)計(jì)電子調(diào)焦器
總體思路是制作一個(gè)設(shè)備,讓電機(jī)代替手動旋轉(zhuǎn)調(diào)焦旋鈕。我選擇使用步進(jìn)電機(jī),因?yàn)樗浅>_,而且我的測試表明,通過同步帶機(jī)構(gòu)增加扭矩后,它足夠強(qiáng)大,可以在使用單反相機(jī)時(shí)調(diào)整焦距。我使用同步帶機(jī)構(gòu)是因?yàn)樗梢酝ㄟ^改變皮帶的張力輕松地在手動調(diào)焦控制和電動調(diào)焦控制之間切換。在我的設(shè)計(jì)中,電子調(diào)焦器的主體由三部分組成。一部分連接到望遠(yuǎn)鏡的調(diào)焦器(內(nèi)部),一部分作為間隔件(中部),還有一部分用于固定步進(jìn)電機(jī)(外部)。這三部分通過嵌入在外部部件中的四根長#6螺絲和螺母連接在一起。此外,還有另一個(gè)部件用于調(diào)整皮帶的張力。這種分離使得3D打印更加容易,而且對于不同的望遠(yuǎn)鏡,你只需要設(shè)計(jì)一個(gè)不同的內(nèi)部部件。
我設(shè)計(jì)的步進(jìn)電機(jī)支架是基于我的望遠(yuǎn)鏡的。你的望遠(yuǎn)鏡參數(shù)可能略有不同。因此,如果你能對整個(gè)部件進(jìn)行CAD設(shè)計(jì)并在打印前驗(yàn)證其工作原理,那就更好了。
附件:
第三步:打印并組裝電子調(diào)焦器
完成設(shè)計(jì)后,你可以3D打印部件并將其安裝在望遠(yuǎn)鏡上。安裝過程很簡單。只需按照圖片和CAD設(shè)計(jì)(嘗試爆炸視圖)進(jìn)行操作即可。第一張圖片顯示的是皮帶緊繃時(shí)的情況,第二張圖片顯示的是皮帶松動時(shí)的情況。
以下是一些可能對你有幫助的提示:
在大多數(shù)情況下,你可以使用內(nèi)六角扳手取下調(diào)焦器上的手動旋鈕。安裝大型同步帶輪時(shí),請確保螺絲擰入軸上的小凸片中。
在實(shí)際鉆孔前,總是先預(yù)鉆定位孔。
你可以用橡皮筋包裹張力調(diào)整部件,使其自動縮回。
對于連接步進(jìn)電機(jī)和外部部件,你可以預(yù)鉆一個(gè)比螺絲稍小的孔,并將螺絲擰入以實(shí)現(xiàn)緊密連接。
第四步:驅(qū)動步進(jìn)電機(jī)
步進(jìn)電機(jī)連接到驅(qū)動板,驅(qū)動板再連接到Teensy微控制器。如果你對步進(jìn)電機(jī)不熟悉,可以參考這個(gè)維基百科頁面和這個(gè)鏈接。
我實(shí)現(xiàn)了兩種驅(qū)動模式:兩相全步進(jìn)和半步進(jìn)。兩相全步進(jìn)提供更大的扭矩但精度較低,而半步進(jìn)提供兩倍的精度但扭矩較小。以下數(shù)組包含四個(gè)步進(jìn)電機(jī)引腳的狀態(tài)。
conststaticbooleancycle[8][4] = {{true,false,false,false}, {true,true,false,false}, {false,true,false,false}, {false,true,true,false}, {false,false,true,false}, {false,false,true,true}, {false,false,false,true}, {true,false,false,true}};
在半步進(jìn)模式下,四個(gè)引腳的狀態(tài)會循環(huán)遍歷數(shù)組中的所有八個(gè)組合;而在兩相全步進(jìn)模式下,四個(gè)引腳會循環(huán)遍歷數(shù)組中索引為1、3、5、7的組合。兩個(gè)按鍵通過循環(huán)遍歷數(shù)組的不同方向來控制電機(jī)的旋轉(zhuǎn)方向。
在使用特定驅(qū)動模式時(shí),步進(jìn)電機(jī)的速度取決于引腳狀態(tài)變化之間的間隔。步進(jìn)電機(jī)需要非常精確的定時(shí)來驅(qū)動,因此我使用了定時(shí)器中斷來驅(qū)動電機(jī)。中斷以固定間隔觸發(fā)。每次中斷觸發(fā)時(shí),代碼都會將步進(jìn)電機(jī)引腳設(shè)置為數(shù)組中的下一個(gè)組合。使用電位器可以改變中斷的間隔,從而改變步進(jìn)電機(jī)的速度。
請參考第五步進(jìn)行接線,參考第六步查看代碼。
旁注:使用樹莓派來驅(qū)動步進(jìn)電機(jī)是個(gè)壞主意。在短步進(jìn)間隔下,電機(jī)可能會表現(xiàn)異常,因?yàn)闃漭蛇\(yùn)行的是操作系統(tǒng),難以實(shí)現(xiàn)硬實(shí)時(shí)控制。
第五步:連接電路
根據(jù)上面的電路圖連接電路板。對于電機(jī)控制模式線和顯示設(shè)置線,你可以添加開關(guān)以方便使用。對于開關(guān)和電位器,如果你想要的話,還可以添加額外的電容來平滑輸入信號。
為了使整個(gè)系統(tǒng)正常工作,你還需要將Teensy和單反相機(jī)連接到樹莓派上,將SynScan手動控制器與RJ11插座連接,并使用2A電源為樹莓派供電。
附件
第六步:Teensy代碼
要編譯此代碼,你需要安裝aJSON庫。只需從這里下載zip文件:
https://github.com/interactive-matter/aJson
在Arduino IDE中,選擇“草圖”->“包含庫”->“添加.ZIP庫”來添加庫。然后,轉(zhuǎn)到~/Arduino/libraries/aJson-master,并用我附帶的版本替換aJSON.cpp文件(見下文)。這解決了這個(gè)問題。
https://github.com/interactive-matter/aJson/pull/79
此代碼控制步進(jìn)電機(jī),使用SynScan串行協(xié)議與SynScan手動控制器通信,并使用串行JSON字符串協(xié)議與其他設(shè)備通信。它有一個(gè)循環(huán)緩沖區(qū),用于排隊(duì)外部請求,并在固定時(shí)間間隔內(nèi)執(zhí)行緩沖區(qū)中的命令。雖然在這里我將Teensy連接到樹莓派上,但你可以輕松修改我的代碼,使其與WiFi模塊或藍(lán)牙模塊通信,如果你不需要相機(jī)控制部分的話。
我實(shí)現(xiàn)的串行JSON字符串協(xié)議非常有趣。
https://www.json.org/json-en.html
該設(shè)備具有一個(gè)內(nèi)部的類似JSON的樹形結(jié)構(gòu),該結(jié)構(gòu)為不同的屬性提供了getter和setter方法。下面是一個(gè)示例:
{focuser : {mode :0,interval :3000},telescope : {EQ_Coord : {RA :50.5,DEC :85.6},tracking :2,in_goto :0,slew :"AU2"}}
這個(gè)JSON樹形結(jié)構(gòu)的任何子集都是一個(gè)有效的命令,其中空對象表示獲取,非空值表示設(shè)置。例如,命令{telescope:{EQ_Coord:{}}}表示獲取赤道儀當(dāng)前的赤道坐標(biāo)。Teensy將回復(fù)填充了子樹信息的響應(yīng),例如:{telescope:{EQ_Coord:{RA: 50.5, DEC: 85.5}}}。要轉(zhuǎn)到目標(biāo)位置,你可以簡單地發(fā)送{telescope:{EQ_Coord:{RA: 70.2, DEC: 40.8}}},Teensy會將其解釋為轉(zhuǎn)到該坐標(biāo)。解析器是遞歸的,因此你可以發(fā)送{telescope:{}}來獲取關(guān)于望遠(yuǎn)鏡的所有狀態(tài)信息,或者在一個(gè)命令中執(zhí)行多個(gè)獲取/設(shè)置操作。代碼還會驗(yàn)證你設(shè)置命令中的輸入值,并在出現(xiàn)錯(cuò)誤時(shí)提示API錯(cuò)誤。
除了這個(gè)項(xiàng)目外,如果你想要實(shí)現(xiàn)類似的功能,一定要看看我的代碼。
第七步:樹莓派代碼
首先準(zhǔn)備你的樹莓派。配置樹莓派連接到WiFi網(wǎng)絡(luò)或?qū)⑵渑渲脼檐浗尤朦c(diǎn)。
https://elinux.org/RPI-Wireless-Hotspot
此外,如果你已經(jīng)在樹莓派上配置了VNC,那么遠(yuǎn)程登錄將會非常方便。請按照這個(gè)教程操作:
https://www.raspberrypi.com/documentation/computers/remote-access.html
在樹莓派上運(yùn)行的代碼執(zhí)行以下操作:
通過USB串行和JSON字符串協(xié)議與Teensy通信,以控制赤道儀和調(diào)焦器
使用gphoto2與單反相機(jī)通信
托管一個(gè)網(wǎng)頁,該網(wǎng)頁顯示實(shí)時(shí)星空圖,并提供控制赤道儀、調(diào)焦器和相機(jī)的界面
涉及的技術(shù)包括:
所有服務(wù)器端腳本均使用Node.js編寫
網(wǎng)頁使用Angular.JS和D3編寫
使用node-static提供靜態(tài)網(wǎng)頁服務(wù)
使用socket.io進(jìn)行客戶端-服務(wù)器通信
使用node-serialport訪問串行端口
星空圖靈感來源于VirtualSky
使用的星表數(shù)據(jù)來自HYG數(shù)據(jù)庫
我使用網(wǎng)頁作為界面,因?yàn)樗梢栽谒?a target="_blank">智能設(shè)備上工作。理論上,任何支持HTML5的瀏覽器都應(yīng)該能夠訪問該頁面并控制所有功能。
設(shè)置樹莓派:
install gphoto2:
wget https://raw.githubusercontent.com/gonzalo/gphoto2... &&chmod+x gphoto2-updater.sh && sudo ./gphoto2-updater.sh
install nodejs:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -sudo apt-getinstall -y nodejs
安裝我的代碼
cd~mkdirProjectscdProjectsgitclone https://github.com/yhzhao343/wifi_TeleCtrl.gitcd./wifi_TeleCtrl/mount_ctrlnpm installcdpublicmkdirimage
運(yùn)行代碼:
node ~/Projects/wifi_TeleCtrl/mount_ctrl/simple-server.js
你還可以配置樹莓派在啟動時(shí)自動運(yùn)行它。
服務(wù)器運(yùn)行后,你可以打開瀏覽器,并使用端口8080訪問樹莓派的本地IP地址。例如,在我的情況下,樹莓派的本地IP地址是192.168.0.15。我可以通過在瀏覽器中輸入192.168.0.15:8080來訪問該頁面。你可以登錄到路由器或?qū)⑹髽?biāo)懸停在樹莓派的網(wǎng)絡(luò)圖標(biāo)上來獲取其本地IP地址。
第八步:開始使用
警告:目前代碼尚未準(zhǔn)備好投入生產(chǎn),并且所有互聯(lián)網(wǎng)連接均未加密。如果你計(jì)劃在公共WiFi上使用它,請謹(jǐn)慎操作。
第九步:未來工作
該項(xiàng)目仍處于概念驗(yàn)證階段,還有許多可以改進(jìn)的地方。
以下是我未來希望開展的工作列表:
改進(jìn)網(wǎng)頁的用戶界面(背景和紅色)
在網(wǎng)頁中提供更方便的gphoto2相機(jī)控制選項(xiàng)
使用WebGL重寫星空圖
在網(wǎng)頁中添加QHY5視頻流
在網(wǎng)頁中集成導(dǎo)航器
基于圖像分析的自動對焦
登錄系統(tǒng)和加密連接
感謝閱讀!希望這對你有所幫助。
原文地址:
https://www.instructables.com/Wifi-controlled-TelescopeDSLR-With-Motorized-Focus/
-
WIFI
+關(guān)注
關(guān)注
81文章
5386瀏覽量
207869 -
望遠(yuǎn)鏡
+關(guān)注
關(guān)注
0文章
133瀏覽量
16080 -
樹莓派
+關(guān)注
關(guān)注
121文章
1977瀏覽量
107198
發(fā)布評論請先 登錄
天文望遠(yuǎn)鏡自制導(dǎo)星借口
操作天文望遠(yuǎn)鏡哪這些必須注意
znxsensor 電容傳感器可以用于天文望遠(yuǎn)鏡鏡片微調(diào)嗎
移動天文觀測系統(tǒng)有什么特點(diǎn)?
望遠(yuǎn)鏡測距儀的原理是什么?
利用MatLab對天文望遠(yuǎn)鏡系統(tǒng)進(jìn)行仿真設(shè)計(jì)研究
基于STM32的虛擬天文望遠(yuǎn)鏡
天文望遠(yuǎn)鏡的自動控制系統(tǒng)硬件設(shè)計(jì)
望遠(yuǎn)鏡的原理

太空天文望遠(yuǎn)鏡詹姆斯·韋伯發(fā)射時(shí)間推遲至2020年
西華師范大學(xué)研發(fā)的天文望遠(yuǎn)鏡成功投用
韓天文研究院將與美國NASA聯(lián)合研制觀測太空的紅外望遠(yuǎn)鏡
羅曼太空望遠(yuǎn)鏡將替代哈勃望遠(yuǎn)鏡
用于天文望遠(yuǎn)鏡的虛擬電子尋星鏡StarPointer

評論