用步進馬達製作超酷的類比時鐘

三月 21, 2017
Facebook
Twitter
圖片

Larry Cotton攝

過去的時鐘使用機械運作,因為這個緣故,鐘面皆發展成圓形(圖A)。如今以電力運作的時鐘已非常普及,卻仍沿用圓形的鐘面以便指針旋轉。由此,我們已經非常習慣大多數時鐘都是圓形、上面有兩根或三根指針旋轉了。我們就不提那些無聊的電子數位時鐘了……
圖片

圖A

步進馬達的旋轉軸,可以雙向小幅度旋轉,也很容易控制轉速。既然如此,何不用來做時鐘呢?步進馬達時鐘的鐘面不必是圓形,但是一樣準確,也更容易看時間(想想孩子們要花多久時間學習「看時間」這件事),成本也非常低,在亞馬遜購買步進馬達和控制板組只要6美元。
看看圖B,現在是幾點呢?這個時鐘用了2個步進馬達,時針和分針沿著圓弧轉動,十分容易辨讀。我甚至考慮過將指針的刻度變成直線(使用同步帶、齒條或齒輪,圖C至E),但經過無數次挫折和深思熟慮,我決定使用2個圓弧,構成一個S形,加上一個只有1根秒針的便宜石英鐘機蕊(AliExpress只賣0.5美元),用來顯示時鐘有在運作。
圖片

圖B

圖片

圖C

圖片

圖D

圖片

圖E

PARTS

  • ​步進馬達,小(2),如亞馬遜網路商店販售的#B00EYVH6GC
  • 步進馬達驅動板,ULN2003(2)
  • 可編程微控制板,如Arduino、BASIC Stamp
  • 電源,壁接式,9~12VDC、1A(1000mA)以上
  • 原型麵包板,小型(數個)
  • 標準電子元件
  • 22AWG連接線、插頭和插座(多個)
  • 單刀雙擲(SPST)開關
  • 石英鐘機械裝置(數個),AliExpress.com
  • 焊料
  • 膠合板,¼”
  • 便宜的立燈,可製作立鐘的底座
  • 高品質列印鐘面
  • 剪刀可裁的薄塑膠,製作指針
  • 油漆,為指針和背面著色
  • 噴膠,如Loctite Repositionable噴膠
  • 各種扣件和黏著劑,包括強力膠和熱熔膠,雙面膠和紙膠帶等

TOOLS

  • Shopsmith磨輪機或砂光機
  • 帶鋸機,也是Shopsmith品牌,但有獨立馬達和底座
  • 小型鑽床,卡盤0″~½”
  • 可攜式電鑽和螺絲刀,無線,卡盤直徑0″~⅜”,提供各種速度,可反轉
  • 鑽頭,1/16″~½”
  • 豎鋸、弓鋸和刀片
  • 剪刀
  • 剝線鉗
  • 小型焊鐵
  • 常見工具,例如鐵鎚、虎鉗和螺絲起子
  • 砂紙

電子裝置

我用一個便宜時鐘來計時,包括一個石英晶體每秒振盪32768次的IC。另外使用一個二進位計數器,在該頻率下每秒溢位1次,透過正負脈衝交替來驅動其螺線管。透過程式和元件設計來產生每2秒1次正脈衝,就能驅動步進馬達了。提醒大家一下,這款石英鐘會發出滴答聲,而非低鳴聲。你可以參考這裡這裡來認識石英鐘的原理。

這段YouTube影片教大家如何從石英鐘取得正訊號(大約3分鐘處)。將訊號傳輸線和接地線連接螺線管2個接點,就會輸出每2秒1次正脈衝,接著傳輸至Arduino或BASIC Stamp等微控制器。
另外,你也可以用微控制器內部的時鐘,但依我的個人經驗,以石英鐘計時比較容易設計程式,也更準確。
我對步進馬達比較不熟悉,因此我特地閱讀不少資料,觀看許多YouTube影片,設法了解其基礎原理。基本上,步進馬達就是多線圈馬達,旋轉軸可雙向小幅度旋轉,但每一步皆須電子脈衝來驅動。這裡有詳細解說,這裡則介紹我所使用的步進馬達。這家公司生產了不少步進馬達,也很熱心提供協助。
我採用兩個28BYJ48步進馬達,分別轉動分針和時針,28BYJ48每次迴轉累計32步,讓輸出轉軸輸出512步(或513步,取決於來源),至於很熟悉Arduino的人,這個網站能協助你為步進馬達編程
無論脈衝的來源是什麼,開發板都必須設定如下:步進馬達等待30個脈衝(正脈衝每2秒1次),再迅速移動分針,從前一分邁向下一分。60分鐘後,時針的步進馬達會取得訊號,從前一小時邁向下一小時(我的時針和分針,直接連接步進馬達的轉軸)。
看著指針在分分秒秒之間移動,我感到非常滿足。舉例來說,在8點那一刻,時針會頓時從7走到8。當時針和分針走完整個鐘面,也會瞬間回歸原點。
以我的步進馬達來說,分進位設定為6步,時進位設定為20步,端視鐘面而定,如果你對我的鐘面感興趣,可以參考這裡
圖片

圖F。點擊可看大圖

圖F是我的電路圖。圖中為Parallax控制板,Arduino的連接點也差不多。我加入電源,為兩個石英鐘輸送1.5VDC電壓,以½” 木條取代AA電池(圖G),若你的電壓不是1.5VDC,就必須調整51歐姆電阻。
圖片

圖G

軟體

無論是C++或PBASIC,都可以試試看脈衝值t,讓指針快速順利移動,脈衝太短,恐導致指針走走停停,脈衝太長,恐浪費太多時間移動指針。
這個副程式(在PBASIC裡面)透過控制板1~4號輸入腳位,迅速順時針驅動分針:
FOR z=1 TO 6
HIGH 1: LOW 2: LOW 3: LOW 4
PAUSE t
LOW 1: HIGH 2: LOW 3: LOW 4
PAUSE t
LOW 1: LOW 2: HIGH 3: LOW 4
PAUSE t
LOW 1: LOW 2: LOW 3: HIGH 4
PAUSE t
NEXT
​LOW 1: LOW 2: LOW 3: LOW 4
第一行啟動迴圈,把分針推進足夠的步數,在鐘面上前進1格。最後一行終止步進馬達線圈,讓馬達保持降溫,以免吸收太多電流。
我的時針和分針移動方向相反,我必須利用5~8號輸入腳位,來反轉先前的線圈啟動序列,才能把時針推進足夠的次數,從前一小時邁向後一小時。
為了讓指針回歸00和1,必須把前面幾次脈衝的累積總數,以相反的次序傳輸給步進馬達,我是採用360(60分x分針每分為6步)和240(12小時x時針每小時20步)來反轉步數。

機械裝置

我利用AutoSketch軟體設計鐘面,包括放置步進馬達和石英鐘軸的小洞,接著儲存為PDF檔案,到外面的Staples列印出來,因為我不想用光自家的黑色墨水,這張鐘面(13”x6½”)只花了我20美分,我還多印了四張備用!
圖片

圖H

接下來,找一塊經雙面砂磨和噴漆的優質¼”合板,將表面噴膠、裁減邊緣並鑽好馬達轉軸的洞。我利用螺絲,將步進馬達固定在合板背面,馬達轉軸穿過事先鑽好的洞,再安裝只有秒針的石英鐘(圖H)。
圖片

圖I

為了打造立鐘,我在Target找到一盞燈,直接用燈架來做底座。我的零件並非專業級的(圖I和J),所以安裝在燈架的低處,讓電線穿過支架背面。
圖片

圖J

如果電子元件配置得宜,不妨直接安裝在合板背面,這樣做出來的時鐘就很適合放在桌上或掛在牆面。圖K是所有的元件。
圖片

圖K。點擊可看大圖

懶人版的作法:設定時間前,先關閉時鐘,把指針分別移到1和00,重新啟動後,就是下午1點整。

時鐘小秘訣:

  1. 最好依照指針的動線來設計鐘面:分針要在一小時內走完圓弧,時針要在12小時內走完。若測試時想縮短流程,不妨把1分鐘縮短為2秒。
  2. 指針不動時,記得關閉步進馬達,否則馬達不會冷卻,還會吸取過多電流。
  3. 先用軟管套住馬達轉軸,再安裝指針,如果你安裝得太牢固,不僅程式須有額外的編碼,也需要安裝設定和開啟的開關(圖I~K)。
  4. 電源必須有足夠的電流傳輸給步進馬達。我的小馬達不會吸收很多電流,但大馬達長時間待機就有這個問題。
  5. 打造立鐘時,長電線記得使用插頭和插座,我自己很後悔沒用。
(譯:謝明珊)
原文
Social media & sharing icons powered by UltimatelySocial