認識SAMD21系列微控制板(二):採用超級電容(法拉電容)供電

最近買了一片深圳一位電子玩家製作的Trinket M0相容控制板“RCM-X86”,這個微型控制板就像上一篇文章提到的SwitchMe,主要銷售目標是想把自製韌體注入器安裝在Switch主機內部的玩家。

Trinket M0相容控制板“RCM-X86”

不過,它吸引我的主要因素是在商品說明中提到的,I/O接腳跟Adadruit Trinket M0一致。畢竟注入自製韌體,並不一定要透過這一類型的USB裝置,除了使用電腦、微電腦板,還有兩種簡便的方式:

  • Android裝置:開放原始碼的RekadoNXLoader,都能讓Android裝置充當Fusée Gelée啟動器,所以除了手機和平板,電視機上盒應該也能用。
  • 瀏覽器:改機也邁入雲端時代了,Nintendo Switch Payload Loader是用JavaScript語言開發的Fusée Gelée啟動器。

組裝Trinket M0相容控制板

Trinket M0和Arduino Zero採用同一系列,但不同型號的微控器:

  • Arduino Zero:ATSAMD21G18微控器
  • Trinket M0:ATSAMD21E18微控器

這兩款微控器的核心相同,差別在晶片的封裝型式和接腳數量。Trinket M0採用的版本接腳比較少(32腳,另一款是48腳),但是接腳的間距比較寬(0.8mm,另一款是0.5mm),如果要自行焊接的話,會比較容易一些。

Trinket M0板只有引出5個I/O腳,其中:

  • 3個具備類比輸入功能(12位元解析度)
  • 1個具備類比輸出功能(10位元解析度)
  • 2個具備PWM輸出功能
  • 3個內建電容式觸控開關功能

每個I/O腳最高輸出入3.3V, 10mA(建議7mA),所有輸出入埠的總電流量不得超過65mA。此控制板上面有兩個LED,一個是接第13腳的紅色LED;另一個是RGB DotStar全彩LED,接第D7和D8腳。完整的接腳說明,請參閱Trinket M0的Pinouts說明頁以及電路圖

Adafruit有推出其他採用SAMD21微控器的控制板,例如Adafruit Feather M0 Basic Proto,有20個GPIO腳。

我買的這片“RCM-X86”相容板,微控器和Arduino Zero相同,板子上沒有Reset鍵,因為預設是要安裝在Switch主機內部,出貨時附帶磁簧開關,方便使用者透過磁鐵在Switch主機外部吸附開關,達到按下Reset鍵的目的。

這個相容板沒有第13腳的紅色LED,也沒有RGB全彩LED,接腳如下:

Trinket M0相容控制板“RCM-X86”接腳

我把它跟一些零件焊接在PCB洞洞板:

組裝Trinket M0相容控制板

這是正面,左下角的圓形零件是超級電容。

組裝Trinket M0相容控制板

使用超級電容器(法拉電容)充當電池

任天堂Switch遊戲機在開機或睡眠狀態時,它的USB Type-C介面可輸出5V供電給週邊裝置;在關機狀態,Type-C介面就沒有電力輸出。由於改機晶片必須在Switch開機之前待命,所以外接型必須自帶電源。

上一篇文章提到,有些Fusée Gelée程序啟動器,採用鈕扣型電池驅動,有些則用一般的鋰電池,這是一款使用超級電容當作電池的Xecuter SX Pro

Xecuter SX Pro

超級電容(又稱為「法拉電容」或「雙電層電容器」)的尺寸和外型類似普通電解質電容,但是能量密度高,比傳統的電解電容容量高上數百倍至千倍不等,像上圖兩側的超級電容,電容值高達500F。

超級電容的優點是充電速度快、循環使用壽命長(10萬次以上)、沒有記憶效應、充電電路簡單。缺點是耐電壓低,電子零件行常見的販售耐電壓規格是2.7V和5.5V。

一般電池在長時間使用下,都能維持固定的輸出電壓;超級電容則是會快速放電、輸出電壓呈指數型衰減到0。所以超級電容通常用於「備援」,例如,裝在行車記錄器中,當汽機車關閉電源時,能夠持續紀錄數秒並讓設備正常關機;或者裝在硬碟裡面,在外部電力中斷時讓讀寫頭歸位。

超級電容有不同的包裝和接腳型式,筆者選用的外觀如下(V型脚),電容的包裝印刷有個指示「負極」接腳的三角標示:

超級電容的接腳標示

選用電容要注意它的耐電壓值,供應電壓最好在電容耐電壓的80%以下,絕對不能超過耐電壓值,正、負腳也不可接反,否則可能會爆裂。筆者打算將它連接USB的5V電源,因此選用的耐電壓是5.5V,容量為1F(嗯,有點小,但夠實驗用了)。

超級電容的充電電路簡單到只要在它的正極串接一個電阻就行了。假如超級電容的耐電壓是2.7V,可以像下圖這樣把它們串聯起來,即可增加耐電壓值,但是電容量也會減半:

串聯電容的耐電壓和電容值

串接在電容前面的電阻的作用除了限流(5V÷10Ω=0.5A),也可調節電容充電時間(參閱「電容式觸控開關實驗(一):RC延時電路應用」),筆者手邊正好有1/2W 10Ω電阻,就直接用上了,也可以用其他阻抗值替代。

超級電容驅動的Adafruit Trinket M0相容微控制板的組裝電路圖

我主要打算把這個微電腦板接在電腦上開發測試使用,所以採用USB A型公頭,若是要接在Switch或其他USB Type-C裝置,只要再套上一個USB Type-C轉接頭就行了。USB A型公頭的接腳定義如下:

USB Type A Pins

底下是Trinket M0相容微控制板組裝電路圖。USB插頭的電源「正極」腳連接一個蕭特基二極體(Schottky),避免超級電容的電源逆流回到電腦端;電腦的USB插孔內部應該也有相應的防護電路,不過,反正只是多焊接一個二極體,價錢也很便宜,所以還是加上吧~

超級電容驅動的Adafruit Trinket M0相容微控制板的組裝電路圖

蕭特基二極體可用普通的功率二極體(如1N4001)替代,然而,筆者選用的SS32蕭特基二極體的導通電壓為0.5V,普通二極體則是0.6~0.7V,也就是通過蕭特基二極體之後的USB電壓約為4.5V。此外,蕭特基二極體的反向恢復時間極短,也就是從導通到截止狀態幾乎沒有延遲,可有效避免反向電壓。

超級電容兩端的電壓,會隨著電容充電逐漸上升到4.5V左右,經過現成的5V轉3.3V降壓模組輸出3.3V供電給微控制板。

我使用的直流電壓轉換模組是常見的1117元件。有一種升降壓直流電轉換模組,可以在輸入電壓超過或低於輸出電壓時,自動讓輸出電壓維持在固定值。例如,無論輸入是3.5V還是12V,輸出都固定在5V,但是,輸出電流並非恆定,假設輸入12V輸出5V/2A,輸入3.5V,升壓之後的輸出電流可能只有0.5A,畢竟能量不會從無中生有。

自動升降壓模組很適合用在太陽能板或者風力發電機,輸出電壓極不穩定的場合(風力發電機的電力輸出會隨著風速改變),也適合用於超級電容電路,不過,自動升降壓直流電轉換模組的輸入電壓大多要3.5V以上,所以我採用比較便宜的降壓模組。

延伸閱讀

Posts created 470

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top