[Arduino] Arduino開發板 - 外接LED電壓電流量測

Arduino with LED circuit.
 
基本上,每個玩Arduino開發板的人,都碰到爛掉的經典案例,就是"LED Blink" (LED閃爍)。而此一案例也是被Arduino官方給寫進程式範例中。

以上圖來說,整個電路就是由3號pin進行電力輸出,串接經過一個220 Ω的降壓電阻後,電力進入LED,再到接地pin (GND)。

Arduino程式燒錄後,LED燈開始閃爍。結束。

相當基本,好像就這樣而已。少了點樂趣?




那到底LED那裏的電壓跟電流到底怎麼變化? 

其實我們是沒看到的,該如何去看到,就是本文的內容了。




若使用三用電表去量測電壓及電流,那可能需要兩支表分別量,或是一支表量兩次。這也是一種測試方式。不過三用電表的反應時間及量測精確度,可能會造成看不到合理數據。



既然前陣子入手了示波器,還有相關的電流急急棒,那就有戲了。

接下來將會使用示波器來量測外接LED的的電壓及電流變化。

這是個好機會,可以看到實際的量測效果。


Arduino與示波器接線圖

Arduino板與LED及降壓電阻的串聯電路,維持不變。

示波器的電壓跟電流探棒偵測點,請參考下圖。其中電壓探棒以紅線表示,藍線表示電壓探棒的GND端,箭頭處表示測點。而電流探棒以黑線表示,圈圈處表示探棒勾住電線的位置。

示波器電壓及電流探棒偵測點示意圖。

Arduino code

Arduino板的程式碼如下所示。


示波器量測圖

量測出來的電壓變化大約為1.9 V。提供1.9 V電壓給LED一秒後休息2秒,再重新提供電壓。

電流變化則是15 mA。

結果吻合Arduino code的設定。

示波器量得外接LED的電壓及電流變化。

量測數據與規格比較

由於使用的是爛大街的紅光LED,因此手頭上沒有該LED的datasheet。

但可由網路上取得一般對紅光LED的技術描述。

本次測試的數據(1.9 V@15 mA)與LED的I-V curve相比,數據合理。


參考資料:

示波器調整建議

以下有一些調整建議,可以使示波器獲得較好的數據。
  1. 使用[Horiz]選擇Roll模式
  2. 使用[Acquire]選擇High Res模式

在判別電流值時,示波器的調整扮演了很重要的腳色。以下示範一些沒調整好的狀況。

Acquisition

如果Acquisition沒開High resolution時,電流分布範圍過大,非常難以判別數值。如下圖所示。

電流分布範圍過大(綠色區域),非常難以判別數值。

此電流範圍過大問題,勉強可以調整電流顯示檔位,來變更顯示圖面,但仍是不準。

調整電流顯示檔位,來變更顯示圖面,但仍是不準。

Roll模式

若在一般模式,會看到波形從左邊到右邊,一路變化過去,看起來好像data漸漸被洗過去。

有的人會覺得,沒差啊,反正只要對好時間,就可以看到變化圖了。

這裡有個小魔鬼。

雖然,確實在螢幕上可以看到正在洗過去的全屏圖,但是示波器所擷取的圖檔,卻只會儲存剛洗過去的那部分,舊的部分會消失。

此時得小心,若想要的data在螢幕上,但你發現左側已經有新的data洗過來了,那麼請用外部相機照相的方式來保留數據圖吧。

只有剛出現的新data會被截取(左半邊),舊data就是一片全黑(右半邊)。

感想

這是一個很好的經驗,來同時驗證Arduino設計及示波器量測的基本功。同時,也練習將量測數據與資料進行比對,確認數據可信度。

感謝

感謝好友阿峪提供示波器,讓獻慶有機會來自己做測試,並解決開發上的困擾。

感謝超倍能科技林榮豐董事長鼎力相挺,提供獻慶許多資源與時間去學習示波器,及其相關配件。





留言

張貼留言

這個網誌中的熱門文章

什麼是電池的CCA(Cold Cranking Amperes)? 如何量測CCA?

[數據處理] Excel 日期時間 換算成 秒

[Arduino] 使用示波器來看Arduino的UART, Inverted Software serial及RS-232訊號並對其進行解碼