小凱學三用電表 資二忠 9935129 郭家凱資二忠 9935131 陳永在資三忠 9835121 莊焜傑指導老師資訊科王文良老師 摘要 三用電表與相關操作對高職電機電子群學生而言是一項很基礎的技能, 然而卻有不少的學生不得其門而入 實習操作甚少有補救教學, 老師在示範後即由學生實際操作, 但一位老師很難照顧到近 2 位的學生, 而有些學生的錯誤操作也一直沒有被發現 本專題希望以跨平台的技術來開發三用電表學習輔助系統, 使得初學者能隨時隨地進行補教學習, 而老師也能透過遠距教學, 掌握到學生的學習情況 一 專題動機 三用電表又稱為萬用電表, 其功能主要能測量電路之交流電壓 (ACV) 直流電壓 (DCV) 直流電流(DcmA) 以及電阻值(Ω) 等, 為電機電子從業人員所不可或缺的裝置 傳統三用電為指針介面, 為了要能測量上述不同的電學特性, 因而指針所在的面板, 即有數種不同刻度共用, 使用者必須根據所要測量的電學特性, 再乘以選擇開關所在的等級, 最後為其所測量之值 而初學者在使用三用電表時, 又常因分不清楚電流表與電壓表的使用, 進而導致電表損壞的情形, 輕者更換保險絲 嚴重者必需更換新的電表 以現今台灣經濟現況而言, 三用電表並非昂貴儀表, 也幾乎人手一台, 但以高職一班 4 人而言, 雖然有分組, 但一組仍有 2 人, 通常一個老師很難面面俱到地照顧到所有的三用電表初學者, 而且實習課也不像其它課程有參考書或是補習班等課後的補救教學 二 專題目的 雖然三用電表操作是很基本的能力, 對初學者也是重要的測量檢測工具, 但在大班教學情況下, 老師一個人很難瞭解到學生的學習情況, 而目前也沒有一套適合且有效的輔助學習工具供初學者課後學習使用 因此, 開發一套能在不同電腦系統 (Apple Linux Windows) 甚至於各種類型的平板電腦 1 或手機等行動裝置的輔助學習系統, 對學習落 1 目前平板電腦或手機約可分成 Apple Google 以及 Windows 等作業系統 1
後的學生就顯得格外重要 因此本專題的目的有 : (1) 發展一套三用電表輔助學習系統, 以利初學者或是學習落後者學習或補救之用 (2) 能跨平台 能在不同操作環境 ( 個人電腦 平板 手機 ) 下學習三用電表, 以提高使用的便利性 (3) 未來希望能能記錄使用者操作三用電表的情形, 有助於初學者學習評量之用 三 設備工具 3.1 上網裝置與作業平台 從早期的電腦輔助學習系統, 以及近來的資訊科技融入教學 線上學習系統, 雖有其不同的時代背景, 然而由於本專題強調讓使用者能在不同平台 不同裝置使用三用電表輔助學習系統, 因此本單元將探討現今的上網裝置與作業平台, 接著探討三用電表輔助學習系統的跨平台適用性 3.2 Visual Studio 21 Microsoft Visual Studio( 簡稱 VS) 是美國微軟公司的開發工具套件系列產品 VS 是 一個基本完整的開發工具集, 它包括了整個軟體生命周期中所需要的大部分工具, 如 UML 工具 代碼管控工具 整合式開發環境等等 所寫的目的碼適用於微軟支援的所有平台, 包括 Microsoft Windows Windows Mobile Windows CE.NET Framework.NET Compact Framework 和 Microsoft Silverlight 微軟稱 Visual Studio 21 整合式開發環境 (IDE) 的介面被重新設計和組織, 變得更加清晰和簡單 新的 IDE 更好的支援了多文檔窗口以及浮動工具窗, 並且對於多顯示器的支援也有所增強 Visual Studio 21 將會帶來.NET Framework 4. 並且支援開發面向 Windows 7 的應用程式 除了 Microsoft SQL Server, 它還將會支援 IBM DB2 和 Oracle 資料庫 ( 詳情參見 IBM.com 和 TeamFuze.net) 它將具有內建的 Microsoft Silverlight 開發支援, 包含一個互動設計器 Visual Studio 21 將會提供一些工具來使並列計算更加簡單 : 除了.NET Framework 的本地代碼並列擴充功能以及並列模式庫 (Parallel Patterns Library), Visual Studio 21 還包含了用於偵錯並列程式的工具 這些新工具使並列任務以及它們的執行時堆疊視覺化 這些工具可以用來視覺化緒程等待時間以及緒程在多核心之間的移動 3.3 Silverlight 4 Silverlight 是一項全新 Web 呈現技術, 是微軟所發展的 Web 前端應用程式開發解 決方案, 專為在各種平台上執行而建立 它可建立豐富又多采多姿的互動式體驗, 而且 2
可以在任何環境上執行 : 各種瀏覽器內 多種裝置上以及在其他桌上型電腦作業系統 ( 例如 Apple Macintosh) 上皆可使用 目前 Silverlight 已經受到各主流瀏覽器的支援, 包含 Internet Explorer Firefox Opera 與 Safari 等, 同時也支援 Mac OS 作業系統, 在 Windows Mobile 6. 和 Symbian (Series 6) 手機等行動裝置上也受到支援 與 Silverlight 相同的開放原始碼解決方案 Moonlight 則提供在 Linux 上的支援 21 年 9 月 27 日, 台灣微軟正式公布 Silverlight 台灣自創看板娘 藍澤光 ( 畫者為 shinia, 配音員為姚敏敏 ), 為 Silverlight 在台灣版獨步全球的美少女看板娘, 為台灣微軟利用動漫代言商品的一項創舉 四 三用電表原理 三用電表如圖 4.1, 基本上是利用一檢流計組合後而成, 測試電流時就用電流檔, 而不能誤用電壓檔 電阻擋, 其他同理, 否則輕則燒三用電表內的保險絲, 重則損壞表頭 事先不知道量程, 就選用最大量程嘗試著測量 ( 數字刻度最大者 ), 然後斷開測量電路再換檔, 切不可在線的情況下轉換量程 有表針迅速偏轉到底的情況, 應該立即斷開電路, 進行檢查 茲將三用電表操作規則列出如下 : 1. 三用電表不使用時, 要將範圍選擇旋鈕調到 OFF, 如果沒有 OFF 則, 應將轉換開關置於交流電壓的最大擋 如果長期不使用, 還應將三用電表內部的電池取出來, 以免電池腐蝕表內其它器件 2. 量測待測物時, 不可用手碰觸測試棒金屬的部分 3. 兩測試棒接於待測物時, 必須考慮極性, 紅棒接高電位端, 黑棒接低電位端 4. 量測 ACV DCV DCmA 時, 若不能預估待測電流大小或電壓高低時, 要將檔放在比較大的位置, 然後在測試中做適當的調整 5. 在使用三用電表過程中, 不能用手去接觸表筆的金屬部分, 這樣一方面可以保證測量的準確, 另一方面也可以保證人身安全 6. 在測量某一電量時, 不能在測量的同時換檔, 尤其是在測量高電壓或大電流時, 更應注意 否則, 會使三用電表毀壞 如需換擋, 應先斷開表筆, 換擋後再去測量 7. 三用電表在使用時, 必須水平放置, 以免造成誤差 同時, 還要注意到避免外界磁場對三用電表的影響 3
圖 4.1 指針式三用電表 4.1 歐姆 (Ω) 檔轉動原理 三用電表基本上是利用一檢流計組合後而成 如圖 4.1, 因三用電表歐姆檔的刻度為非線性排列, 因此本專題必須先推導出計算歐姆檔偏轉角度的公式 在圖 4.2 x1 Ω 等效電路中, 指針偏轉角度與通過指針線圈電流會呈現線性關係, 也就是 偏轉角度 (4.1) R + 2 // 6K 因為 ( i ) 當 R 時, 指針轉 9,( ii) 當 R = 2時, 指針轉 45 由此可推估,x1 Ω 的偏轉 角度為 R = 9, 簡化為 + 2 // 6K.15 9 偏轉角度 (4.2) + 2.15 R 4
待測電阻 R 58KΩ 2Ω 圖 4.2 x1 Ω 等效電路 指針線圈 2KΩ 在圖 4.3 x1 Ω 等效電路中, 指針偏轉角度與通過指針線圈電流會呈現線性關係, 也就是 偏轉角度 (4.3) R + 2 // 6K 因為 ( i ) 當 R 時, 指針轉 9,( ii) 當 R = 2時, 指針轉 45 由此可推估,x1 Ω 的偏 轉角度為 R = 9, 簡化為 + 2 // 6K.15 9 偏轉角度 (4.4) + 199.3.15 R 待測電阻 R 58KΩ 2Ω 圖 4.3 x1 Ω 等效電路 指針線圈 2KΩ 5
在圖 4.4 x1k Ω 等效電路中, 指針偏轉角度與通過指針線圈電流會呈現線性關係, 也就是 偏轉角度 (4.5) R + 3K // 6K 因為 ( i) 當 R = 時, 指針轉 9,( ii) 當 R 3K時, 指針轉 45 由此可推估,x1K Ω 的偏 轉角度為 R = 9, 簡化為 + 3K // 6K.15 9 偏轉角度 (4.6) + 2.15 R 待測電阻 R 58KΩ 3KΩ 圖 4.4 x1k Ω 等效電路 指針線圈 2KΩ 在圖 4.5 x1k Ω 等效電路中, 指針偏轉角度與通過指針線圈電流會呈現線性關係, 也就是 12V 偏轉角度 (4.7) R + 2K 因為 ( i) 當 R = 時, 指針轉 9,( ii) 當 R 2K時, 指針轉 45 由此可推估,x1K Ω 的偏轉角度為 R = 12V 9, 簡化為 + 2K.6 12V 9 偏轉角度 (4.8) + 2.6 R 6
待測電阻 R 118KΩ 指針線圈 2KΩ 圖 4.5 x1k Ω 等效電路 4.2 直流電壓 (DCV) 表原理 如圖 4.1, 由於直流電壓表與電流表的刻度皆為線性排列, 因此, 本專題可以電路 中某元件的電壓值或電流直接換算其偏轉角度即可 其中 DCV 的偏轉角度計算如下 : 偏轉角度 = 待測元件電壓值 DCV選擇開關檔位 9 (4.9) 4.3 直流電流 (DCmA) 表原理 同 4.2 節,DCmA 的偏轉角度計算如下 : 偏轉角度 = 待測元件電流值 DCmA選擇開關檔位 9 (4.1) 7
五 專題開發過程 本專題擬開發一套能在不同平台 ( 作業系統 ) 與不同裝置 (PC 平板 手機 ) 的三用電表 學習輔助系統 其功能描述如下 : 5.1 Zener 二極體電路 : 該電路係採用四技二專 1 年統測專一電子學第 28 題題目, 原題目的各元件值原本為固定值如圖 5.1 所示, 本專題將其修改為可依使用者需求彈性輸入, 如圖 5.2; 另外, 該電路新增了一個開關, 用滑鼠點選開關位置可改變開關狀態 圖 5.1 1 年四技二專統測專一電子學第 28 題題目 圖 5.2 修改為可彈性輸入各元件值 開關控制程式碼由 on 副程式所控制 當使用者以滑鼠左鍵點選開關時,on 副程式會先載入各元件的最新輸入值, 去檢查開關原來狀態, 如果開關原來是打開的狀態 ( ), 則將開關狀態設定為關上 ( 1 ) 計算電路各元件的電流與電壓值 最後將開關畫成關閉的形狀 ; 如果開關原來是關閉的狀態 ( 1 ), 則將開關狀態設定為打開 ( ) 將開關畫成打開的形狀 private void on(object sender, MouseButtonEventArgs e) // 載入最新輸入值 dr1 = Convert.ToDouble(ir1.Text); 表 5.1 開關程式碼 8
dr2 = Convert.ToDouble(ir2.Text); dvs = Convert.ToDouble(ivs.Text); dvz = Convert.ToDouble(ivz.Text); // 開關原是打開 (OFF) 的狀態 if (onoff=="") // 將開關畫成關閉 sw.1 = 145; sw.y1 = 7; if ((dr2 / (dr1 + dr2)) * dvs > dvz) di1= (dvs - dvz) / dr1; di3 = dvz / dr2; di2 = di1-di3; dvr1 = dvs - dvz; dvr3 = dvz; else di1= (dr2 / (dr1 + dr2))*dvs; di3 = di1; di2 = ; dvr3 = (dr2 / (dr1 + dr2)) * dvs; dvr1 = dvs - dvr3; onoff = "1"; result.content = " 電源開啟中, 請勿將選擇開關置於歐姆檔, 以免電表燒毀 "; odegree = ndegree; degreecalulating(); return; // 開關原是關上 (ON) 的狀態 if (onoff == "1") // 將開關畫成打開 sw.1 = 128; sw.y1 = 7; onoff = ""; result.content = " 電源關閉中, 請將選擇開關置於 DCV 或 DCmA 檔, 開始測量直流電壓與電流 "; odegree = ndegree; degreecalulating(); return; 5.2 三用電表選擇開關位置 因為 Zener 二極體電路為一直流電路, 故在測量方面只需用到 Ω 檔 DCV 檔 DcmA 檔 由於三用電表在測量電阻方面, 電路是不能處於通電狀態, 而在測量電壓與電流, 電路則必須處於通電狀態, 因此, 本專題的功能方塊圖如圖 5.3 所示 9
開關 OFF 三用電表 Ω 檔 1Ω檔 1 Ω檔 1K Ω檔 1K Ω檔 偵測鱷魚夾位置 Zener 二極體電路 開關 ON 1V檔 25V檔 5V檔 三用電表 DCV 檔 1V檔 2.5V檔.5V檔.25V檔 偵測鱷魚夾位置 計算指針偏轉角度 25mA檔 25mA檔三用電表 DCmA 檔 2.5mA檔.5mA檔 偵測鱷魚夾位置 圖 5.3 三用電表學習輔助系統 在 Ω 檔部分, 共有四個副程式, 分別為 x1ω 檔 x1ω 檔 x1kω 檔 x1kω 檔 ; 以 x1ω 檔程式碼為例, 當使用者以滑鼠右鍵按下圖 4.1 三用電表右下方的 x1 區域時, 則系統會執行 ohmx1mlbd 副程式, 首先將選擇開關的圖形轉動 166 度, 如圖 5.2 所示 ; 接著設定選擇開關的代號為 1( 代表選擇開關為 x1ω 檔 ) 記錄指針目前位置 最後是執行角度計算副程式 表 5.2 x1ω 檔程式碼 //x1ohm private void ohmx1mlbd(object sender, MouseButtonEventArgs e) selector1.angle = 166; selector = "1"; odegree = ndegree; degreecalulating(); return; 1
圖 5.4 按下 x1ω 檔後的選擇開關位置 5.3 移動鱷魚夾 當使用者用滑鼠拖曳鱷魚夾時, 系統會觸發表 5.3 的 detecting() 副程式, 以偵測鱷魚夾位置, 藉以判斷使用者欲測量的元件 系統在鱷魚夾前端設定一個偵測點, 當鱷魚夾被使用者移時,detecting() 會有以下的偵測活動 :(1) 測試棒是否短路 (2) 是否在圖 5.5 的九個偵測點中 (3) 以上皆非 表 5.4 為紅黑鱷魚夾在電路偵測點的代表位置與測量結果 表 5.3 鱷魚夾位置偵測程式碼 private void detecting() // 修正紅色鱷魚夾的偵測點位置 double rx = prmrl. - 46; double ry = prmrl.y + 19; // 修正鱷魚夾的偵測點位置 double bx = pbmbl. - 46; double by = pbmbl.y + 13; rmd = "11"; bmd = "12"; // foreach (Rectangle child in detectcanvas.children) double ox = (double)child.getvalue(canvas.leftproperty); double oy = (double)child.getvalue(canvas.topproperty); double height = (double)child.getvalue(canvas.heightproperty); double weight = (double)child.getvalue(canvas.widthproperty); // 測試棒短路 if (Math.Abs(rx - bx) <= 3 && Math.Abs(ry - by) <= 3) rmd = "1"; bmd = "1"; // 在九個偵測點中時, if (rx >= ox && rx <= ox + weight && ry >= oy && ry <= oy + height) 11
rmd = (string)child.getvalue(canvas.nameproperty); if (bx >= ox && bx <= ox + weight && by >= oy && by <= oy + height) bmd = (string)child.getvalue(canvas.nameproperty); odegree = ndegree; degreecalulating(); return; 圖 5.5 九個偵測點在電路的位置 表 5.4 鱷魚夾位置與測量結果 紅色鱷魚夾位置 黑色鱷魚夾位置 測量結果 d2 d3 測量 2Ω 電阻電壓 d3 d2 測量 2Ω 電阻 d5 d6 測量 8Ω 電阻電壓 d6 d5 測量 8Ω 電阻 d4 d7 測量 Zener 電壓 d1 d9 測量電池電壓 d1 d1 短路 d2 d2 短路 d3 d3 短路 d4 d4 短路 d5 d5 短路 d6 d6 短路 d7 d7 短路 d8 d8 短路 d9 d9 短路 d1 d1 短路 d11 d12 紅黑鱷魚夾未接觸 12
5.4 指針偏轉計算 有關三用電表 Ω 檔 DCV 檔 DcmA 檔之偏轉角度計算如公式 (4.1) 至 (4.1) 角度計算副程式 degreecalulating(), 如表 5.5 會先判斷電源開關 (onoff) 的位置, 當開關為 時, 此時只能測量電阻的功能 ; 接著判斷選擇開關 (selector) 的狀態, 選擇開關為 1, 表示目前要在 x1ω 檔的位置 ; 而當紅色鱷魚夾夾在 d2 黑色鱷魚夾夾在 d3 時, 表示使用者欲測量 R1 電阻 (2Ω); 而當紅色鱷魚夾夾在 d5 黑色鱷魚夾夾在 d6 時, 表示使用者欲測量 R2 電阻 (8Ω); 而 ndegree 變數為指針偏轉角度 表 5.5 指針偏轉角度計算的部分程式碼 private void degreecalulating() // 電源開關 switch (onoff) // 測量電阻時 case "": switch (selector) case "": ndegree = ; result.content = " 三用電表關閉 "; break; //1 歐姆檔 case "1": switch(rmd+bmd) case "11": ndegree = 9; break; case "d2d3": case "d3d2": dr1 = Convert.ToSingle(ir1.Text); ndegree = (3 * 9) / ((dr1 + 2) *.15); result.content = " 測量 R1 電阻值 "; break; case "d5d6": case "d6d5": dr2 = Convert.ToSingle(ir2.Text); ndegree = (3 * 9) / ((dr2 + 2) *.15); result.content = " 測量 R2 電阻值 "; break; default: ndegree=; break; break; 13
六 專題成果 ( 執行畫面 ) 本專題功能呈現如下 : (1) 使用者先輸入電路各元件值, 然後點選開關以決定測量電阻 電壓 電流 (2) 點選三用電表選擇開關 ; 如果電路的電源未開, 則選擇開關只能選擇歐姆檔 ; 如果電路的電源已開, 則選擇開關只能選擇電壓或電流檔 (3) 移動鱷魚夾位置, 選擇欲測量之元件 假設使用者欲測量 1Ω 電阻, 則鱷魚夾必須移動至 1Ω 電阻位置, 如圖 6.1 圖 6.1 測量電阻值 (4) 將電源開關關上, 調整三用電表選擇開關至 DCV 1V 檔, 然後移動鱷魚夾至 25Ω 電阻的位置, 可觀察到指針指在 5V 的位置 14
圖 6.1 測量電壓值 七 參考文獻 [1] http://msdn.microsoft.com/zh-tw/library/bb443.aspx [2] Silverlight 4. 全面精通手冊, 章立民研究室, 碁峰出版社,29 [3] Silverlight 入門 問題解答 經驗分享, 劉祖亮 問麗萍, 旗標出版社,28 [4] Beginning Silverlight 4 in C#, Robert Lair, Apress, 21 15