「為了看星星,我自己做了一個行星觀測器」

2020-07-02 DFRobot智造星球


「為了看星星,我自己做了一個行星觀測器」

星空,永遠是大家神往的地方。

這次給大家帶來的項目,是外國小哥用樹莓派和天文望遠鏡製作的一臺智能行星觀測器。

「為了看星星,我自己做了一個行星觀測器」

觀測器從 NASA 獲取已知行星的坐標數據,然後可以自動調整角度,聚焦這顆行星,讓我們很方便地觀測它們。

「為了看星星,我自己做了一個行星觀測器」

相信它能很好地帶我們好好感受一下外太空世界。

材料清單

「為了看星星,我自己做了一個行星觀測器」

「為了看星星,我自己做了一個行星觀測器」

  • 樹莓派 3B ×1
  • 16×2 LCD 屏幕 ×1
  • 帶驅動器的步進電機 (28-BYJ48) ×2
  • 按鈕 ×3
  • 法蘭聯軸器 5mm ×2
  • 按鈕指南針 ×1
  • M3 螺栓/螺母 ×8
  • 3D 列印外殼 ×1
  • 3D 列印望遠鏡 ×1

行星坐標數據

「為了看星星,我自己做了一個行星觀測器」

這裡介紹兩種定位行星的方法。

  • 使用水平坐標系。它可以從北方(方位角)向上方傾斜一個角度和從地平線(高度)向上方傾斜一個角度,具體以我們的位置而定,角度會有所不同。這個方法以北方作為參考目標。參考資料:https://en.wikipedia.org/wiki/Horizontal\_coordinate\_system
  • 將樹莓派連上 WiFi 後,直接連接到 NASA 獲得數據。

訪問行星數據

從 NASA 噴氣推進實驗室(JPL)獲取數據:

https://ssd.jpl.nasa.gov/\?horizons

訪問數據前需要安裝 AstroQuery 庫,這個庫是用於查詢行星網絡表單和資料庫的工具。下載地址:

https://astroquery.readthedocs.io/en/latest/jplhorizons/jplhorizons.html

如果這是你的第一個樹莓派項目,可以先參考下面的設置指南:

https://projects.raspberrypi.org/en/projects/raspberry-pi-getting-started

確保安裝最新版本的 Raspbian(我使用的是3.7.3版)。打開終端運行命令:

sudo apt install python3-pip

然後使用 pip 安裝 astroquery 的升級版本。

pip3 install --pre --upgrade astroquery

在繼續完成項目前,可以使用簡單的 Python 腳本訪問該數據,確保所有依賴正確安裝。

from astroquery.jplhorizons import Horizons
mars = Horizons(id=499, location=&39;, epochs=None, id_type=&39;)
eph = mars.ephemerides()
print(eph)

不出意外,這串代碼會顯示火星的詳細位置。我們可以查看火星定位是否正確:

https://theskylive.com/planetarium

為了方便查詢,我會做簡化處理。其中 id 表示是 JPL數據中與火星的數據,epochs表示獲取數據的時間,id_type表示詢問太陽系主體。「000」在格林威治天文臺的位置代碼中表示英國的位置。其他位置可點擊查看:

https://minorplanetcenter.net//iau/lists/ObsCodesF.html

故障排除:

如果出現報錯:No module named 『keyring.util.escape』可以在終端中輸入以下命令:

pip3 install --upgrade keyrings.alt

編程

為了找到精確的坐標數據,在getPlanetInfo修改位置信息(使用上一步中天文臺的列表修改這裡的location)

def getPlanetInfo(planet):
obj = Horizons(id=planet,
location=&39;, epochs=None,
id_type=&39;)
eph = obj.ephemerides()
return eph

完整的 python 腳本下載方式,在文末告知。

連接硬體

「為了看星星,我自己做了一個行星觀測器」

在該步驟中,要連接麵包板、跳線、兩個步進電機、LCD 屏幕和三個按鈕。在樹莓派上找到引腳,在終端上輸入

pinout

「為了看星星,我自己做了一個行星觀測器」

上圖顯示了 GPIO 編號和板子編號。

連接方式如下:

  • 第一個進電機 – 7、11、13、15
  • 第二個進電機 – 40、38、36、32
  • 按鈕 1 – 33
  • 按鈕 2 – 37
  • 按鈕 3 – 35
  • 顯示屏 – 26、24、22、18、16、12

當全部連接後,運行 python 腳本

python3 planetFinder.py

「為了看星星,我自己做了一個行星觀測器」

在屏幕上會顯示設置文本信息,並且按鈕可以啟動步進電機。

3D 列印外殼

「為了看星星,我自己做了一個行星觀測器」

「為了看星星,我自己做了一個行星觀測器」

「為了看星星,我自己做了一個行星觀測器」

「為了看星星,我自己做了一個行星觀測器」

「為了看星星,我自己做了一個行星觀測器」

「為了看星星,我自己做了一個行星觀測器」

「為了看星星,我自己做了一個行星觀測器」

「為了看星星,我自己做了一個行星觀測器」

「為了看星星,我自己做了一個行星觀測器」


所有列印 STL 文件,文末提供打包下載連結。

測試3D列印件

「為了看星星,我自己做了一個行星觀測器」

「為了看星星,我自己做了一個行星觀測器」

「為了看星星,我自己做了一個行星觀測器」

「為了看星星,我自己做了一個行星觀測器」


部件都列印完成之後,在塗膠水之前,先確保它們都能緊密貼合。

將按鈕安裝到位,固定顯示屏和步進電機,打磨一下外殼,確保所有組件都能正常使用。然後我們再進行下一步的操作。

安裝步進電機

「為了看星星,我自己做了一個行星觀測器」

「為了看星星,我自己做了一個行星觀測器」

「為了看星星,我自己做了一個行星觀測器」

「為了看星星,我自己做了一個行星觀測器」

「為了看星星,我自己做了一個行星觀測器」

「為了看星星,我自己做了一個行星觀測器」


步進電機將控制位於外殼上方的望遠鏡的仰角,所以需要延長電線方便旋轉。安裝方法可以參照上圖。

接線完成後,可以運行一下 python 腳本,檢查是否一切正常。

然後將電線放回管內,直到步進電機就位,再將步進電機固定在外殼上,把外殼粘合。

安裝按鈕和 LCD 屏幕

「為了看星星,我自己做了一個行星觀測器」

如圖所示安裝按鈕,在焊接前使用螺母把它固定好。

「為了看星星,我自己做了一個行星觀測器」

使用M3螺栓和螺母固定LCD顯示器。請將LCD其中一個引腳焊接到電位計上。

「為了看星星,我自己做了一個行星觀測器」

「為了看星星,我自己做了一個行星觀測器」

在將所有的組件粘合之前,再次測試代碼,確保所有能夠正常工作,因為該階段更容易修復。

添加法蘭聯軸器

「為了看星星,我自己做了一個行星觀測器」

將3D列印的底座連接到步進電機。

「為了看星星,我自己做了一個行星觀測器」

我們把5mm的法蘭聯軸器安裝在步進電機的頂部,並用螺釘固定到位。

「為了看星星,我自己做了一個行星觀測器」

將望遠鏡安裝到旋轉塔頂上的電機很簡單,因為有足夠的空間可以將小螺釘固定到位。

「為了看星星,我自己做了一個行星觀測器」

一個法蘭器粘連在旋轉塔架的底座上,另一個安裝在望遠鏡上。再次測試,確保裸露的電線彼此不接觸,用電工膠帶纏住並修補可能引起問題的任何地方。

啟動

因為想把它獨立運行,而不是每次手動代碼尋找行星,因此把觀測器設置為在樹莓派開啟時運行代碼。在終端中輸入。

crontab -e

在打開的文件中,在文件末尾,另起一行輸入。

@reboot python3 /home/pi/PlanetFinder/planetFinder.py &

代碼保存在 PlanetFinder 文件夾中,因此文件位置為:/home/pi/PlanetFinder/planetFinder.py。如果你保存在其他地方,請在此處更改。

說明:代碼末尾的&是允許代碼在後臺運行,因此它在啟動時不會阻止其他進程。

完成組裝

「為了看星星,我自己做了一個行星觀測器」

「為了看星星,我自己做了一個行星觀測器」

將小指南針添加到旋轉底座的中間,最後,將所有的組件安裝到位!

使用方法

「為了看星星,我自己做了一個行星觀測器」

1、當望遠鏡開始啟動時,調整垂直軸。按下向上和向下按鈕可以移動望遠鏡,調整好後按下 OK 按鈕即可(位於底部)。

2、調整旋轉角度,使用按鈕旋轉望遠鏡,直到小指南針將望遠鏡指向北方,然後按下 OK 按鈕即可。

現在,我們可以使用向上、向下按鈕選擇行星,確定好後按下OK按鈕即可。它將顯示選定行星的高度和方位角,指向它幾秒後再轉向北。

到現在,項目就算全部完成了。

趕緊去找找你心中的那顆行星吧!

「為了看星星,我自己做了一個行星觀測器」



項目來源:https://www.instructables.com/id/Raspberry-Pi-Planet-Finder/

項目作者:snowbiscuit

相關焦點

  • 【保姆級教程】用Arduino做一臺FPV(第一人稱視角)遙控履帶車
    非常適合有興趣製造自己的RC履帶車,或者只是想使用3D列印,Arduino和FPV進行創造的夥伴們。這只是一個指南,你可以根據需要切換裝配順序。製作好控制器後,你可能會意識到電位器沒有得到利用。這是因為我在RC飛艇項目中使用了相同的控制器。如果你知道如何對該控制器進行編程可以控制你將來的RC項目,那麼該控制器將具有多種用途。
  • 一種基於狀態觀測器的PMSM速度觀測算法
    王遠洋  王 衛(湖南工業大學 電氣與信息工程學院,湖南 株洲 412008)本文引用地址:http://www.eepw.com.cn/article/201911/407675.htm  摘 要:為了改善低線數碼盤的測速精度及碼盤固有的相位滯後問題,提出了一種基於狀態觀測器的速度觀測算法。
  • 基於改進神經網絡的非線性系統觀測器設計
    與傳統控制系統狀態觀測器相比,神經網絡狀態觀測器具有更強的逼近非線性函數的能力和容錯性,尤其適用於多輸入多輸出系統。 與線性定常系統中的設計[2]相比,本文是在非線性系統中利用前饋神經網絡的函數逼近能力,設計出了一種神經網絡觀測器,並對觀測器的穩定性進行了分析。本文採用了LM優化算法來改進BP網絡,由於其算法可以比標準梯度下降法網絡訓練速度提高几十甚至上百倍[3],從而大大提高了工作效率。
  • 學術|基於新型滑模觀測器的永磁同步電機無傳感器矢量控制系統
    在眾多無速度傳感器控制中,滑模觀測器因具有對參數變化不敏感、魯棒性強而得到廣泛應用。基於sigmoid函數的傳統滑模觀測器控制系統因高頻信號切換導致系統存在較大抖振,針對這一問題,該文提出一種新型滑模觀測器,該觀測器採用分段指數型函數代替傳統滑模觀測器中的開關函數。並利用Lyapunov穩定判據對系統穩定性進行分析。
  • 看星星的重大人
    2020年6月21日,在#我的大學#裡,李維淘學長參與了央視直播,為全國人民解說日環食,這位看星星的重慶大學學子憑著一腔熱愛,在自己的「星球」閃閃發光。那天,我正好路過直播地點,親眼目睹了李維淘學長有條不紊地安排現場工作,為廣大參與觀測的同學們解釋著日環食的具體時間和現象。
  • 成都掀起「觀星」熱 為您解答「看星星」的那些問題
    原標題:為您解答「看星星」的那些問題   近些年,成都掀起了「觀星」熱,並且正在形成新的社會文化現象。本報記者請來四川省天文科普學會監事常捷,為大家解答有關「看星星」的那些問題。   您最難忘的「追星故事」是什麼?   常捷:每次追星都是難忘的旅程。
  • 基於變係數滑模觀測器的PMSM伺服系統
    摘要:為改善永磁同步電機(PMSM)伺服系統的控制性能,在分析PMSM數學模型的基礎上,提出了基於變係數滑模觀測器的無位置傳感器PMSM伺服系統控制方案。
  • 基於自適應狀態觀測器的混沌同步仿真研究
    目前關於混沌控制與同步的方法已有很多,但大部分都是在驅動系統參數已知、響應系統能夠構建為基礎上的,然而在實際系統中系統的狀態變量並不是都可以得到的,因此可構造狀態觀測器實現混沌系統同步。此外,系統參數總存在一定的攝動,系統不可避免地會受到外界幹擾的影響,而參量的微小變化就會導致系統動態行為的巨大變化。因此近幾年對參數不確定混沌系統的自適應同步控制方法的研究越來越多。
  • 基於觀測器的傳感器故障檢測方法對比分析
    針對航空發動機傳感器故障檢測方法的適用範圍缺乏量化數據問題,提出以故障檢測性能指標為依據,對基於卡爾曼濾波器和基於自適應滑模觀測器的故障檢測方法適用性進行對比分析。 分別設計了基於卡爾曼濾波器的殘差生成和自適應滑模觀測器的故障估計檢測方法,根據
  • 我子時樓底看星星,被保安抓住了
    那話題來了,做為程式設計師,加班到凌晨三四點,五六點肯定是有的,在你通宵加班的過程中,最困的是在幾點?你通過什麼方式熬過去的?12點-1點子時是最困的,我在樓底看星星,然後,就被保安抓住了唄說說我自己,工作這幾年,有幾次通宵加班,但沒幾次好玩的,趴著睡了一會,就起來了,沒什麼特別的地方。比較好玩的是,在十年前,大四,進了軟體園,實訓java,那時叫J2EE企業級開發。
  • 為了探測小行星上的鑽石,這些高校決定眾籌一個微納衛星
    歐空局還做了一個未來立方星的圖譜,有觀測地球的、有觀測月球的、有觀測小行星的。 這種立方星最大的好處是成本很低,而且它可以平臺互換:這個衛星上的部件可以放到另一個衛星上,大家可以通用,多便宜。 我以前做的衛星都是圍繞著近地軌道做一些科學任務,後來我想,能不能做點更好玩的。
  • 學術簡報︱一種改進型滑模觀測器,可抑制抖振,改善電機性能
    福州大學電氣工程與自動化學院的研究人員王愷成、楊明發,在2019年第10期《電氣技術》雜誌上撰文(論文標題為「基於改進型滑模觀測器的永磁同步電動機矢量控制」),針對傳統滑模觀測器在永磁同步電動機無位置傳感器控制過程中出現的抖振問題,本文提出一種改進型滑模觀測器。
  • 天文學的啟蒙,陪她去看星星,這些好處是難以想像的
    幾天前,我和父親觀看了發射載人火箭的實況轉播,我兒子也來觀看。問:「那個火箭裡有人麼?」我說:「當然有,這是載人火箭」她又問:「太空人要去月亮上麼?」我說:「他們要去空間站。」過了一會兒,她帶著一個樂高空間站模型回來了。
  • 「行星運動」都有哪些歪歷史?丨高中物理
    帶頭大哥手下有一批小弟們,沒事就看星星看月亮經過多方觀察,他們共同提出了一個說法:地球是全宇宙的中心,所有的行星都繞著地球轉。其中的一個傑出小弟就是託勒密。雖說這個說法存在著一定的瑕疵。不過,既能夠證明上帝他老人家的偉大,也鞏固了帶頭大哥全宇宙中心的地位。一下就獲得了帶頭大哥的全力支持。
  • 在冰天雪地的夜晚看星星是一種什麼體驗
    有時候想在同學面前炫耀一下自己從小就看星星,忽然發現天文知識少的可憐,也只能指出北鬥和北極星,使大勁能再找到個天狼星。所以每年回家我都非常珍惜。去年過年,大半夜,我一個人扛著三腳架在大雪地裡拍星星。我爸說我有神經病,天天看的東西,有什麼可拍的,大晚上的往外跑。
  • 楊航:走出去是為了回來做一個更優秀的自己!
    我依然記得香港那晴朗的天空。晴空之下的早餐茶樓裡散發出陣陣誘人的香味。各路美食更是令我流連忘返。"迪士尼"更是給了我一個夢幻般的世界,我是玩得"如魚得水"。我依然記得享有"人類世界上最後一片淨土"美譽的西藏。那絕美的藍天與白雲。那紅白相間的"雪域聖殿"布達拉宮裡神秘的四千多房間裡陳設的神靈與那成千上萬的朝拜者。我忘不了那次震懾心靈的靈魂之旅......
  • 《酋長的男人》番外篇:終於等到看星星了!3對CP命運何去何從?
    為了星月的身體著想,易天和雲河她們強忍著悲痛沒有告知她。 其實那就是高振赫出事的地方,星月抽泣地對小王子說道,我和你爸爸就是在這裡第一次見面的,也是我對他一見鍾情的地方。
  • 我女朋友崇拜特斯拉,她自己也想做一個發明家
    我女朋友崇拜特斯拉,她自己也想做一個發明家 我女朋友崇拜特斯拉 她自己也想做一個發明家 她每天去廢品收購站
  • 照亮了尋找九大行星的路徑
    ,位於海王星的軌道外的這顆行星存在的可能性,在近年來因為天文學家對位於庫伯環的一個有趣的由一些細小,冰冷的天體組成的軌道的研究,在天文學家中逐漸增大。為了試圖去勘測第九行星這是它第一次被大規模地用於一個很大的太空區域。
  • 我為什麼要開始做新媒體?只是為了檢驗自己的朋友親人——ForCifer...
    之前在知乎回答了一個問題:「經過了這次疫情,你與家人、朋友、同事之間的關係發生了哪些變化?」我的回答附帶了很多故事,包括我為什麼開始做自媒體,剛開始時為什麼我要激進言論,為什麼有刪人掛人等行為。添加幾篇回答使我更易被理解,當然也可以跳過直接看正文回答。