2015年1月7日 星期三

製作一個Arduino專案不只是寫Code(一)

用了Arduino之後,深覺利用程式來控制電路邏輯,可以讓不熟悉電子工程的人很容易上手來製作自己想要的電路功能,能根據不同的輸入或感應器的讀數,來控制不同的設備、儲存什麼資訊、發送什麼訊息等;甚至連結無線網路、跟手機、網站等連線、實現遙控或IOT設備都有可能。

不過實作一陣子之後就會發現,有時候花時間解決的問題往往不在Arduino本身,而是在如何供電、如何連接線路、如何驅動某個設備、搜尋跟採買適合的零件、甚至怎樣製作一個精美的外殼等事情上。如何克服這些事,而讓你的小專案完成,這裡有些經驗可以分享一下。




完成一個專案,所需要的各個部分,包含Arduino本身的邏輯,這就好像人的大腦一樣,從程式來判斷所接收到的訊息應該做什麼動作。如何驅動及控制各種設備,這在網路上很多Arduino教學或者書籍上都會有寫:怎樣點亮LED、驅動小馬達及伺服器、控制繼電器、接收微動開關訊號、使用光敏電阻、接收溫度氣壓感應器、顯示資訊在LED上、讀寫SD卡等等。但是這些都是著重在如何撰寫程式碼來達到讀寫GOIP腳位訊號及各種判斷式,或者如何利用I2C/SPI搭配程式庫來連結不同周邊設備等,這是專案的核心,但距離完成專案,還有一大步。

第一個會面對到的問題大概就是電源 - 如何替你的Arduino供電。我們在撰寫程式時,Arduino是連接在電腦的USB上,傳輸程式以及供電都從USB埠來,USB能穩定的供應5V以及最高500mA的電源。但離開了電腦,該用什麼電源呢?用UNO的人第一個會想到用9V電池,用電池扣加插頭插進UNO的插座裡。這個插座要求是DC7-12V的電源,這個範圍的電池並不好找,並聯4個AA電池也才6V,並聯再多,體積跟重量就越來越大了。

還有,搭配專案周邊的電路板並不一定都是5V、有的是3.3V,有的是12V等,其中3.3/5V可以由Arduino直接供應,但如果需要的電流過大(UNO每個pin腳供應40mA,3.3V供應50mA)則要跳過Arduino來供電。所以可行的方案大概會有:
  • 用USB 5V變壓器來供電,這是插牆上插頭的方案,一般電流可到1A或2A。
  • 9V電池或4-6個AAA的電池盒,9V電池其實電容量不高,很快就會把電用光,作為一個要持續久一點的專案,這個選項可能不適合。
  • 用行動電源透過USB供電,一般行動電源都有1000mAh以上,充電也簡單,但是體積就稍微大了些,還需要一條長長的USB線。
  • 使用Li-PO鋰聚合物電池,有3.7/7.4/11.1V等電壓可選擇,但是鋰電池使用跟充電都比較麻煩,弄不好還有可能爆炸,所以使用這個方案一定要小心,確定你對鋰電池有足夠的基本知識,再小心的去使用它。鋰電池的好處就是密度高,它可以做的很小,又有各種尺寸可以搭配你的專案,但是放電跟充電都要注意,不能過度放電,否則就再起不能。不能過度充電,否則容易起火或爆炸,所以購買有保護板的鋰電池以及慎選充電器以及充電場所(附近不要有易燃物)是需要注意的。另外供航空模型或電動車等使用的鋰電池強調放電係數C(比如說15C或20C),這一點在製作Arduino專案時通常不需要,除非你要做的是無人機UAV,而且這類的鋰電池通常不加保護板(因為主板上通常有保護電路),所以購買時要認清楚。
除了電池,升壓(穩壓)電路也很重要,4個AA電池加起來是6V,但隨著使用時間過去電壓會慢慢下降,要是掉到5V以下有可能運行就不穩了。或者用4顆AA充電電池,電壓是4.8V,一顆3.7V的鋰電池,都需要升壓電路來供應穩定的5V給Arduino。另外電壓升越高供應給Arduino只是變成熱能而已,Arduino內部運作還是用5V,從外部供應9V其實有些電都浪費掉了。這塊升壓電路買起來也不貴,只是它又占一個體積,以及需要焊接連線測試等,所以需要用到電池的專案這個部分也要規劃進去。

簡略的說,用4個AA充電電池配固定5V輸出電路,插進Vin跟GND腳位就可以替UNO或Nano供電了。什麼?你說不用麵包板要怎麼插進UNO或連上Nano?這就開始牽扯到「佈線」了,下一篇再繼續談。

沒有留言:

張貼留言