• 沒有找到結果。

中 華 大 學 碩 士 論 文

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學 碩 士 論 文"

Copied!
53
0
0

加載中.... (立即查看全文)

全文

(1)

中 華 大 學

碩 士 論 文

WSN 無線電力感測系統—韌體應用與實現

Firmware Designs and Implements of

the Wireless Sensor Network Energy Detecting System

系 所 別:電機工程學系碩士班 學號姓名:M09601012 王興浚 指導教授:田慶誠 博士

中華民國 九十八 年 八 月

(2)

WSN 無線電力感測系統-韌體應用與實現

指導教授︰田慶誠 博士 研究生︰王興浚 中華大學電機研究所 通訊組

摘要

Zigbee 是以 IEEE 802.15.4 為基礎所制定的無線網路規格。是一種短距 離、成本低、低耗電的無線感測網路(Wireless Sensor Network, WSN)傳輸技 術。經常與各類 Sensor 做結合,主要應用於電表、溫濕度等各種數據的監 測、遠端監控、家用設備的控制、工業以及家庭的設備自動化等。

本論文主旨在於運用 ZigBee 將即時監控的電壓、電流值等透過 ZigBee 網路拓樸傳送至 ZigBee Coordinator,再將接收的資料透過 UART 傳送至 PC 端,進而達到即時管理、監控的效果;最後並與異質網路結合以擴展監控 範圍。

關鍵詞:ZigBee、WSN、異質網路、CC243x

(3)

Firmware Designs and Implements of

the Wireless Sensor Network Energy Detecting System

Advisor︰Dr. Ching-Cheng Tien Student︰Hsing-Chun Wang Department of Electrical Engineering

Chung Hua University

Abstract

The purport of this report is using the ZigBee to transmit the immediately voltage and current value via ZigBee topology, and then the ZigBee coordinator convey the data to PC through UART. Achieve managing and controlling purpose, combine the different system to extend the control range.

(4)

致謝

就讀研究所期間,受到很多人的照顧與幫忙,在此特別表示感謝。

首先感謝田慶誠老師、王志湖老師、邱建榮老師,不論在專業知識、

與人相處或是做事的態度方面,都給學生很大的幫助。

其次要感謝實驗室的學長、學姊們︰均達、耿驛、獸人、洋蔚、魷魚、

大毛、Noki、小毛以及芸芳學姊,在我們遇到困難時所給予的幫助,感謝 學長姐們!

再來就是同窗的戰友們了,感謝一起做事的阿延、永聖,在接案子期 間,大家互相體諒、容忍,努力朝著進度邁進,也才會有今日的成果。感 謝貿鴻、武華、Q 毛、小馬、阿彥、阿佑不論是在專業上所給予的幫助,

或是在平常時帶歡笑給大家,讓實驗室的氣氛不在那麼苦悶悶的。

還有學弟們,天天、子揚、阿偉,所給予的多方面協助。最後感謝我 的父母親,在這期間一直支持我,讓我不輕易放棄,謝謝您們!!

興浚 謹識

中華民國九十八年八月 新竹

(5)

目錄

摘要 ...I Abstract... II 致謝 ... III 目錄 ...IV 圖目錄 ...VI 表目錄 ...IX

第一章 序論 ... 1

1.1 研究動機 ... 1

1.2 論文簡介 ... 1

第二章 背景知識 ... 2

2.1 ZigBee 介紹 ... 2

2.1.1 ZigBee Stack... 3

2.1.2 裝置類型及拓樸類型 ... 5

2.2 TI CC243x 開發套件... 7

2.2.1 硬體-發展板簡介... 7

2.2.2 韌體-IAR 與 Z-Stack 簡介 ... 8

2.3 電源管理 IC-ADE7758 ... 9

2.4 異質網路結合介面 ... 9

(6)

3.1 系統目標 ... 11

3.2WSN 無線電力感測系統流程 ... 11

3.2.1 WSN 無線電力感測系統功能規劃 ... 12

3.2.2 Serial to Ethernet 轉換模組 ... 18

第四章 WSN 無線電力感測系統測試與驗證... 19

4.1 WSN 無線電力感測系統 ... 19

4.1.1 資料傳送與接收 ... 21

4.1.2 程式撰寫-電壓、電流偵測傳送接收... 24

4.1.3 實測驗證-電流、電壓偵測... 29

4.1.4 程式撰寫-利用 UART 與 PC 連結顯示 ... 33

4.1.5 實測驗證-利用 UART 與 PC 連結顯示 ... 34

4.2 Serial to Ethernet 轉換模組實作 ... 36

4.2.1 使用設定 Serial to Ethernet 轉換模組 WM-120 ... 36

4.2.2 ZigBee 無線電力感測系統與 WM-120 之整合 ... 38

第五章 結論及展望 ... 41

參考文獻 ... 43

(7)

圖目錄

圖 2-1 ZigBee 與 IEEE 802.15.4 架構 ... 2

圖 2-2 ZigBee Stack Architecture ... 3

圖 2-3 IEEE 802.15.4 的頻率頻寬和頻道... 4

圖 2-4 ZigBee Network Topology... 6

圖 2-5 ZigBee Development Kit ... 7

圖 2-6 IAR 與 Z-Stack 開發介面 ... 8

圖 2-7 Serial to Ethernet Module WM-120 ... 9

圖 3-1 WSN 無線電力感測系統方塊圖... 11

圖 3-2 Serial Write Timing... 13

圖 3-3 Serial Read Timing ... 13

圖 3-4 Serial Write 流程圖 ... 14

圖 3-5 Serial Write 程式碼 ... 15

圖 3-6 Serial Read 流程圖 ... 16

圖 3-7 Serial Read 程式碼 ... 17

圖 3-8 Serial Write/Read 之信號 ... 17

圖 4-1 WSN 無線電力感測系統圖... 19

圖 4-2 訊息傳送(GenericApp)操作展示圖 ... 20

(8)

圖 4-4 發送 MSG 之 function ... 22

圖 4-5 接收 MSG 之 function ... 23

圖 4-6 afincomingMSGPacket_t 資料結構... 24

圖 4-7 SPI 腳位定義... 24

圖 4-8 Register P1SEL(0xF4) Port 1 Function Select ... 25

圖 4-9 Register P1DIR(0xFE) Port 1 Direction... 25

圖 4-10 Register P1INP(0xF6) Port 1 Input Mode ... 25

圖 4-11 Current Channel Signal Path... 26

圖 4-12 FLUKE 337 Clamp Meter ... 27

圖 4-13 CT 夾 Vout 與負載電流關係... 27

圖 4-14 Voltage Channel Signal Path... 28

圖 4-15 電流偵測... 29

圖 4-16 電流偵測準確性實際驗證 ... 30

圖 4-17 電壓偵測... 31

圖 4-18 電壓偵測準確性實際驗證 ... 32

圖 4-19 設定 UART 之 function... 33

圖 4-20 超級終端機設定... 34

圖 4-21 超級終端機接收資料... 35

圖 4-22 實驗環境圖... 35

(9)

圖 4-23 成功連接 WM-120... 36

圖 4-24 Serial to Ethernet 轉換模組設定頁面 ... 37

圖 4-25 轉換模組測試架構圖... 38

圖 4-26 實際測試硬體擺設 ... 39

圖 4-27 PC 端從 Ethernet 接收到的資訊 ... 40

(10)

表目錄

表 3-1 TIMING CHARACTERISTICS... 12

(11)

第一章 序論

1.1 研究動機

傳統的電力消耗只能單從電表上讀取,通常安裝於戶外,對於大眾來 說讀取不易,且無適當數值輸出,只能以手抄方式,難以長期追蹤電力消 耗。

基於上述理由,本論文將透過德州儀器(Texas Instruments) CC243x 開發 套件,與電源管理 IC-ADE7758 作結合,並連結異質網路建構 WSN 無線電 力感測系統之韌體實現。

1.2 論文簡介

本論文宗旨為建立一個 WSN 無線電力感測系統,而為了使此系統監控 範圍更加延伸,將會與異質網路結合。

論文架構如下:

第一章 序論:講解研究動機及論文發展架構。

第二章 背景知識:闡述 ZigBee 架構、電源管理 IC-ADE7758 及使用

到的開發工具。

第三章 WSN 無線電力感測系統:說明系統發展方式及功能性。

第四章 系統測試驗證:第三章規劃之系統實踐與功能驗證。

第五章 結論與展望:統整系統之優缺點及後續發展。

(12)

第二章 背景知識 前言

IEEE 802.15.4[1] 針 對 低 速 無 線 個 人 區 域 網 路 (Low-Rate Wireless Personal Area Network,LR-WPAN)制定標準,該標準以低能量消耗、低速率 傳輸、低成本作為重點目標,為家庭範圍內不同設備之間的低速無線互連 提供統一標準,ZigBee[2] [3]便是架構於 IEEE 802.15.4 之上的一種技術。

2.1 ZigBee 介紹

ZigBee主要是由IEEE 802.15.4小組與ZigBee Alliance組織,分別制訂硬 體與軟體標準,如圖2-1所示。它是一種低傳輸速率(250kbps)、短距離 (一 般約為50-100 m)、低消耗功率、架構簡單的技術。

圖2-1 ZigBee與IEEE 802.15.4架構

(13)

ZigBee支援主從式或點對點方式運作,同時最多可有255個裝置鏈結,

具有高擴充性。主要應用的方向在於家庭裝置自動化、環境安全與控制、

以及個人醫療照護[4]等功能,逐漸成為產業共通的短距離無線通訊技術之 一。

2.1.1 ZigBee Stack

ZigBee Stack 的架構分別是由 IEEE 802.15.4 standard 以及 ZigBee 聯盟 所制定;其中 IEEE 802.15.4 standard 定義了兩層,分別為 Physical (PHY) Layer 以及 Medium Access Control (MAC) Layer;而 ZigBee 聯盟制定了 Network (NWK) Layer 及 Application (APL) Layer,如圖 2-2 所示。

圖 2-2 ZigBee Stack Architecture

PHY Layer 負責啟動和停止無線電收發器、選擇通道、能量偵測以及封

(14)

包的傳送和接收等功能。目前有三種頻段,分別是歐洲 868 MHz、美國的

915MHz 及全球性的 2.4GHz,可使用的通道數為 16 個;在 915MHz 的 ISM 頻段,可使用的通道數為 10 個;在歐洲的 868MHz 頻段,可使用的通道數 為 1 個,如圖 2-3 所示。

圖 2-3 IEEE 802.15.4 的頻率頻寬和頻道

MAC Layer 提供 MAC 資訊服務和管理服務,負責信標(beacon)管理、

通道接取、保障時槽(guaranteed time slots, GTS)管理、訊框驗證、回覆訊框 之傳輸及加盟(association) 與終止加盟(disassociation)。

Network Layer 包含加入(join)及離開(leave)網路的機制、訊框安全機制 以及把訊框傳輸到目的地。此外,網路層的任務還包括傳遞路徑的發掘與 維護。為了達到這個目的,網路層必須知道緊臨的裝置,和儲存這些直接 相連裝置的資訊。

Application Layer (APL)則屬於本論文中系統開發最重要的一層,也是 屬於一般客製化最常接觸的一環。APL 的構成主要可分為三個區塊:

a.

Application Framework (AF):主要是讓使用者寫入應用程式的工作

(15)

區塊。到目前為止,一個功能裝置可支援到 240 個應用物件。

b.

ZigBee Device Object (ZDO):功能為起始應用支援次層、網路層以 及安全服務等。ZDO 並負責建構上層應用所需的資訊、發出或回應 連結的要求,發現同一個網路上的裝置與應用服務、以及在網路上 的裝置之間建立安全的關係等。

c.

Application Support Sublayer (APS):提供網路層與應用層之間的介 面,維持物件之間的連結表(binding table),在連結的裝置之間傳遞 訊息。

2.1.2 裝置類型及拓樸類型

在 ZigBee 協定中,裝置類型制定了三種角色:協調者 (Coordinator)、

路由器 (Router)及末端裝置 (End Device)。首先介紹的是 ZC (ZigBee

Coordinator),ZC 主要負責初始、維持及控制網路。當然,一個 PAN 之中 只能有一個 ZC 的存在。再來是 ZR (ZigBee Router),在同一個網路之中若 裝置間使用多點跳躍(multihop)的溝通模式,則必然存在 ZR 作為繞送資料 的節點。最後是 ZE (ZigBee End Device),其功能性較為精簡,只負責傳輸 節點自身之資料,並且只能成為子節點。

至於 ZigBee 協定所使用的拓樸類型有三種,分別是 Star (星狀)、Tree (樹 狀)以及 Mesh (網狀),如圖 2-4 所示。

(16)

Star 的結構,主要是以 ZC 為中心點,放射狀連接 ZR、ZE 裝置。

Tree 的結構,則是以 ZC 為樹根、ZR 為枝幹、ZE 為樹葉的方式向外拓 展。

Mesh 與 Tree 最大的不同,就是在 Mesh 之中的各個 ZR 只要在傳輸距 離之內,都可以互相通訊,並搭配 ZigBee 協定的演算法來選擇最佳路徑,

可以避免因為裝置損壞而導致傳輸路徑中斷的情況,此為 Mesh 最大的好 處。

圖 2-4 ZigBee Network Topology

(17)

2.2 TI CC243x 開發套件

本 論 文 使 用 之 硬 體 為 德 州 儀 器 (Texas Instruments) 製 作 的 ZigBee Development Kit,使用的 IC 為 CC2430 或 CC2431 [5],其中包含 8051 MCU 處理 ZigBee protocol stack (Z-Stack) [6]及遵循 2.4GHz IEEE 802.15.4 的 RF 系統。開發套件包含了發展板硬體、ZigBee protocol stack (Z-Stack)及一些 輔助性質的軟體工具,接著將分類介紹這些工具的特性。

2.2.1 硬體-發展板簡介

德州儀器(Texas Instruments) ZigBee Development Kit[7]發展板硬體有 以下三種,分別為 EB (Evaluation Board)、DB (Development Boards)及 BB (Battery Board),如圖 2-5。

(a) Evaluation Board (b) Development Board (c) Battery Board 圖 2-5 ZigBee Development Kit

EB 在該開發套件中是屬於功能性最為齊全的模組,包含了 LCD 面板、

五向控制鍵、UART port 等,電源一般使用 USB 供電,亦可使用 9V 電池

(18)

試用,電源使用兩枚 AA 電池串聯,亦可用 USB 供電;BB 則是預留了幾 乎全數的 I/O,只擴充了指示用的 LED,電源方面只可使用兩枚 AA 電池串 聯。

2.2.2 韌體-IAR 與 Z-Stack 簡介

為實現 ZigBee protocol stack,TI 提供了符合 ZigBee 協定的 open source code:Z-Stack。使用 Z-Stack 做為背景,開發者可省去建立 ZigBee protocol stack 的時間,只需專注於應用層的設計即可。

搭配 Z-Stack 的編輯軟體為 IAR Embedded Workbench IDE[8] ,此一介 面提供了程式編寫、組譯、韌體燒錄及除錯之功能,相當便利。圖 2-6 為 IAR Embedded Workbench IDE 及 Z-Stack 開發介面。

圖 2-6 IAR 與 Z-Stack 開發介面

組譯 燒錄

Z-Stack

(19)

2.3 電源管理 IC-ADE7758

ADE7758[9]是一種高精確度三相電能測量IC。可用於實功率(Active energy)、虛功率(Reactive energy)、視在功率(Apparent energy)、電壓、電流 有效值的測量以及數字模式校正系統誤差(增益、相位)所必須的信號處理電 路。

電壓經過分壓後,送入ADE7758電壓輸入端(VAP)進行電壓的運算。而 電流透過AC Current Transformers將其轉換成對應的交流電壓送入電流輸入 端(IAP、IAN)進行電流的運算。程式方面則透過SPI Bus去讀取相對應的 Register,並將讀取到的數值與實際數據做比較,再透過程式矯正,使讀取 到的數值相等於實際數值,詳細將在後面章節做介紹。

2.4 異質網路結合介面

為了將 ZigBee 與 Ethernet 結合,採用巨擎科技[10]設計之 Serial to Ethernet Module WM-120,模組如圖 2-7。

圖 2-7 Serial to Ethernet Module WM-120

(20)

轉換模組使用上相當簡便,只需設定此模組之 IP 位置及網域,並將設 備橋接妥善,即可透過 Ethernet 得到該設備欲傳輸之資料或亦可對該裝置下 達指令。在第四章實測部份會有較詳細之介紹。

(21)

第三章 WSN 無線電力感測系統—韌體規劃設計

3.1 系統目標

本論文目標在於將 ZigBee 與 ADE7758 結合,實現 WSN 無線電力感 測系統,且具備兩種功能︰一為與異質網路結合,讓獲得的資料可以做長 距離的流通與掌控;二為透過 RS232 與 PC 端連結,使電腦端可以即時獲 得資訊,如圖 3-1 所示。

圖 3-1 WSN 無線電力感測系統方塊圖

3.2 WSN 無線電力感測系統流程

在整個 WSN 無線電力感測系統中,主要可分為兩個部份,分別是 Zigbee 與 ADE7758 結合達成電力感測以及 Serial to Ethernet 轉換模組。

系統的運作方式是由 ZE 利用 SPI Bus 對 ADE7758 下達讀取或是寫入 的動作,然後 ADE7758 將資料回傳至 ZE,再透過 ZigBee 網路拓樸傳送至 ZC。而 ZC 讀到的資料亦會經轉換模組將資料傳送至 Ethernet,再由 PC 終 端機讀取資料內容;或是將 ZC 讀到的資料直接由 PC 終端機讀取。

(22)

3.2.1 WSN 無線電力感測系統功能規劃

ZigBee 利用 SPI Bus 對 ADE7758 下達讀取或是寫入的動作,因此我們 必須根據 ADE7758 Datasheet 的 Serial Write/Read Timing 透過程式的撰寫來 實現,須特別注意 Timing 的部份,如表 3-1,圖 3-2、圖 3-3 所示。

表 3-1 TIMING CHARACTERISTICS

由圖 3-2、圖 3-3 可知,當 nCS 為 LOW 時,資料進行寫入的動作,此 時 SCLK 送出,DIN 先寫入一筆 8 bits 的資料,此 byte 的 MSB 為決定之後 的動作是要進行寫入或是讀取,當為 1 時表示要進行寫入,為 0 則表示要 進行讀取,而剩餘的 Bits(A6~A0),則表示要對哪個 Register 進行動作。舉 個例子來說明︰

OPMODE Address 0x13

當我們要對此 Register 進行寫入的動作時,DIN 須先寫入 0x93,之後再決 定我們要寫入的資料;而當我們要讀取此 Register 時,DIN 則寫入 0x13,

再透過 DOUT 接收回傳的數值即可。

(23)

圖 3-2 Serial Write Timing

圖 3-3 Serial Read Timing

(24)

圖 3-4 為 Serial Write 之流程圖,副程式中的引數有三個,分別為 addr、

wdata、databit。當寫入時,必須讓 addr 的 MSB 為 1,因此有 addr = addr | 0x80,讓此 addr 的 MSB 部份強迫為 1,之後再判斷資料的長度 databit,可 分為 8 bits、16 bits、24 bits 三種,再將欲寫入的資料 wdata 寫入,即完成 寫入的動作,程式碼如圖 3-5。

(25)

圖 3-5 Serial Write 程式碼

(26)

圖 3-6 為 Serial Read 之流程圖,副程式中的引數有兩個,分別為 addr、

databit。當讀取時,必須讓 addr 的 MSB 為 0,因此有 addr = addr & 0x7F,

讓此 addr 的 MSB 部份強迫為 0,之後判斷資料為 0 或為 1,再透過 Dout 腳把資料送出去,程式碼如圖 3-7。

i=0

i<8

True False

if(addr&0x80)=0

True False

Din=0 Din=1

addr = addr & 0x7F rtdata=0

nCS=0

A

A

i<databit

True False

if(Do)

True

rtdata |= 0x01 rtdata = (rtdata << 1)

False

rtdata=0

Return addr<<=1

i++

nCS=1 i++

圖 3-6 Serial Read 流程圖

(27)

圖 3-7 Serial Read 程式碼

使用上述 Serial Write/Read 副程式,透過 HP Logic Analysis System 16700A 所擷取到的信號如圖 3-8。

圖 3-8 Serial Write/Read 之信號

(28)

3.2.2 Serial to Ethernet 轉換模組

Serial to Ethernet 轉換模組此一介面屬於系統中異質網路結合的部份,

將利用 TI CC243x 的 Tx、Rx 與此轉換模組的 Rx、Tx 對接,並且共地後,

遠端的 PC 便可透過 Ethernet 提取所需的資訊。

(29)

第四章 WSN 無線電力感測系統測試與驗證

4.1 WSN 無線電力感測系統

配合 TI CC243x 套件與 ADE7758、IAR 韌體撰寫最後透過 RS232 連結 至 PC 或是與異質網路結合,WSN 無線電力感測系統得以實現︰以下將依 序闡述實作的過程。

系統實作方面選用 TI CC243x 的開發套件,在 2.2 節提到的三種規格 中,選用兩塊 EB (Evaluation Board)做為系統測試板。因為 EB 已經包含有 RS232 port 及 LCD 面板。LCD 面板可顯示從 ADE7758 讀取到的實功率 (Active energy)、虛功率(Reactive energy)、視在功率(Apparent energy)、電壓、

電流有效值等,而 RS232 port 用來連結 PC,可將資訊即時回傳至 PC 端,

如圖 4-1 所示。

(30)

編譯軟體是使用 IAR Embedded Workbench IDE,而 ZigBee Stack 的 code 則是由 TI 免費提供的 Z-Stack,版本 1.4.0。

本論文韌體程式主要是應用 Z-Stack 中的 GenericApp,其主要功能為訊 息的傳送,當兩個裝置 binding 之後,將自身寫好的訊息傳給對方並顯示在

LCD 面板上,在此專案中所會顯示的訊息是“Hello World”, 如圖 4-2 即是 實際操作的展示圖。而在此專案中我們需要撰寫更動的部份主要在圖 4-3 中“App”資料夾中的 GenericApp.c 的部份。

圖 4-2 訊息傳送(GenericApp)操作展示圖

(31)

圖 4-3 IAR Embedded Workbench IDE workspace

4.1.1 資料傳送與接收

在“App”資料夾內的 GenericApp.c 是我們主要應用的 code,其中有兩個 專職處理 MSG 收與發的 function 可供我們使用。

GenericApp_SendTheMessage 是 ZE 作為發送 MSG 的 function,參見下 頁圖 4-4:

(32)

圖 4-4 發送 MSG 之 function

本論文的系統開發,主要目標應是在於資料如何建構,並藉由 Z-Stack 所提供的 function 將其發送與接收。其中矩陣 theMessageData 即是用來存 放 欲 發 送 的 “Hello World” 字 串 資 料 , 核 心 的 部 份 則 是 if 判 別 式 中 的 AF_DataRequest,此為一個符合 ZigBee Specification 的 call function,屬於 APSDE-SAP (APS data entity SAP)中 DATA.request 的功能。

矩陣 theMessageData 原是用來存放欲發送的“Hello World”字串資料,現 在則是將 ADE7758 回傳之 Data 取代原有之字串資料。

至於接收資料所使用之 function 為 GenericApp_MessageMSGCB,如圖 4-5 所示︰

(33)

圖 4-5 接收 MSG 之 function

GenericApp_MessageMSGCB 需要一個指向 afIncomingMSGPacket_t 資 料結構的指標資料,其資料結構包含了關於接收封包的 cluster ID、Source

Address 及封包所要傳送的 Application payload 等資訊,如圖 4-6 所示。在 此處 Application payload 內含的資料就是矩陣 theMessageData 所存放的資 料。Switch 指令會依照封包內的 cluster ID 來選擇應該啟用的工作項目,在 這個專案內只有將 Application payload 內的資訊顯示在 LCD 面板一個工作 項目,並注意到 switch 內只有一個 case︰GENERICAPP_CLUSTERED,使 用 者 可 以 依 照 需 求 擴 充 工 作 項 目 。 在 選 定 將 要 執 行 的 case 之 後 , HalLcdWriteScreen 會將資料顯示到 LCD 面板上,其引數必須為字元型態;

(34)

payload,應在 LCD 面板的第一行顯示出從對方裝置所接收到的資料,第二 個引數“(char*)pkt->cmd.Data+16”則是將位於矩陣內第 16 個字元開始填入

LCD 面板第二行,因為此 LCD 面板共可寫入 32 個字元,分兩行,上下各 能存放 16 字元。

圖 4-6 afIncomingMSGPacket_t 資料結構

4.1.2 程式撰寫-電壓、電流偵測傳送接收

在透過 SPI Bus 與 ADE7758 溝通之前,還須執行一項動作,那就是對 我們 MCU CC2430 進行 I/O Initial 的動作。

如圖 4-7,分別定義 Do 為 P1_7 Input,clk 為 P1_6 Output,Din 為 P1_5 Output,nCS 為 P1_4 Output。

圖 4-7 SPI 腳位定義

而需使用到 SFR (Special Function Register)有三個,分別是 P1SEL – Port 1 Function Select、P1DIR – Port 1 Direction 以及 P1INP – Port 1 Input Mode,

(35)

如圖 4-8、4-9、4-10。

圖 4-8 Register P1SEL (0xF4) – Port 1 Function Select

圖 4-9 Register P1DIR (0xFE) – Port 1 Direction

圖 4-10 Register P1INP (0xF6) – Port 1 Input Mode

P1SEL 決 定 P1 為 GPIO (General purpose I/O) 或 是 為 Peripheral function,bit7 到 bit0 分別對應到的腳位是 P1_7 到 P1_0,在此我們是使用 GPIO,故設定值為 0x00;P1DIR 則決定對應的腳位為 Input 或為 Output,

而 P1_7 為 Input,P1_6、P1_5、P1_4 則為 Output,因此設定為 0x70;P1INP 則決定 input 為 Pull-up/Pull-down 或 Tristate,在此使用 Pull-up/Pull-down,

故設定值為 0x00。

將 MCU CC2430 的 I/O 設定完以後,便可透過 SPI Bus 對 ADE7758 進 行讀取或是寫入的動作,但取得 ADC 資料後,還需將此資料還原為實際電

(36)

流或電壓值。

圖 4-11 Current Channel Signal Path

電流部份,如圖 4-11,當 Vin 為 0.5V 時,而經過 ADC & HPF & Digital Integrator 出來的 60Hz 訊號所對應到的數值為 0x2BE893(2877587),因此得 到 Vcode*(0.5/2877587),但此演算法與實際電表量測仍有所不同,經比較 後發現,兩者是線性關係,故需將 Vcode*(0.5/2877587)在乘上一個常數。

此一常數我們透過 FLUKE 337 Clamp Meter[11],如圖 4-12,量測在不 同負載下 CT 夾 Vout 與 FLUKE 337 負載電流的關係,如圖 4-13。

(37)

圖 4-12 FLUKE 337 Clamp Meter

CT夾量測之Vout與負載電流關係

y = 49.944x R2 = 0.9998

0 2 4 6 8 10 12 14 16

0 0.1 0.2 0.3 0.4

CT夾量測之Vout

負載電流(A)

導線於CT夾中間所量得 之Vout

線性 (導線於CT夾中間所 量得之Vout)

圖 4-13 CT 夾 Vout 與負載電流關係

因此我們可以得到,電流的演算法 Vcode*(0.5/2877587) *49.944,電流偵

(38)

值乘 10000 之後再進行字元轉換的運算,故最終運算為︰

Vcode*0.08678

圖 4-14 Voltage Channel Signal Path

電壓部份,如圖 4-14,同樣地,當 Vin 為 0.5V 時,而經過 LPF1 出來 的 60Hz 訊號所對應到的數值為 0x2748 (10056),因此得到 Vcode*

(0.5/10056),但此演算法與實際電表量測仍有所不同,經比較後發現,兩者 是線性關係,故需將 Vcode*(0.5/10056)在乘上一個常數。

電壓偵測顯示到小數第一位,在程式中為了避開繁雜的浮點處理,會 將得到的數值乘 10 之後再進行字元轉換的運算,故最終運算為︰

Vcode*0.002095

(39)

4.1.3 實測驗證-電流、電壓偵測

由圖 4-15 可看到顯示在 ZigBee LCD 面板的資訊,第一行所顯示的訊 息即是目前實際偵測到電流的部份。

圖 4-15 電流偵測

圖 4-15 中可看到 LCD 第一行有顯示透過 ADE7758 回傳的負載消耗的 電流,顯示格式正確,接著要驗證 ADE7758 電流偵測是否正確。驗證方式 是以 FLUKE 337 Clamp Meter 測量在不同負載情況下所得之電流,是否與 ZigBee LCD 面板的所顯示電流量相同。

實際測量結果可參見下圖 4-16,我們可以發現在改變不同負載的情況 下,ZigBee 所顯示之數值與 FLUKE 337 Clamp Meter 相同。

(40)

(a) 實際負載電流為 1.1A,ZigBee 顯示為 1.1281A

(b) 實際負載電流為 12.2A,ZigBee 顯示為 12.2573A 圖 4-16 電流偵測準確性實際驗證

(41)

如圖 4-17,針對電壓部份,同樣也可以在 ZigBee LCD 面板上顯示,第 一行所顯示的訊息即是目前實際偵測到電壓的部份。

圖 4-17 電壓偵測

圖 4-17 中可看到 LCD 第一行有顯示透過 ADE7758 回傳目前的電壓,

顯示格式正確,同樣地,接著要驗證 ADE7758 電壓偵測是否正確。驗證方 式是以 FLUKE 77III MULTIMETER 測量,比較是否與 ZigBee LCD 面板的 所顯示電流量相同。

實際測量結果可參見下圖 4-18,我們可以發現 ZigBee 所顯示之數值與 FLUKE 77III MULTIMETER 測量之數值相同,誤差率約為 0.5%以內。

(42)

(a) 實際電壓為 119.1V,ZigBee 顯示為 119.3V

(a) 實際電壓為 118.4V,ZigBee 顯示為 118.4V 圖 4-18 電壓偵測準確性實際驗證

(43)

經過實際驗證後,ZigBee 所顯示出的電流與電壓,與 FLUKE 337 Clamp Meter 以及 FLUKE 77III MULTIMETER 所量測之數值約略相同,證明本論 文之電力感測系統準確度很高。

4.1.4 程式撰寫-利用 UART 與 PC 連結顯示

當 ADE7758 將電流、電壓透過 SPI Bus 傳回 ZE,ZE 再經由 ZigBee 網 路拓樸回傳至 ZC,ZC 讀取器會經由轉換模組將 ZE 所獲得的電流、電壓資 訊送到 Ethernet 供遠端監控台讀取,故在連接轉換模組之前,需先驗證 ZC 讀取器上的 UART port 可正常運作。

為驅動 ZC 讀取器的 UART,可使用副程式 HalUARTWrite 來執行動 作,需要的引數有欲啟動的 UART port、欲送出資料的指標及其資料長度,

其中欲送出資料的指標即為指向矩陣 lcd_buf_rcvd 的指標*pt,資料長度則 是矩陣 lcd_buf_rcvd 的大小;要驅動的 UART port 及 baud rate 則採用原始 的預設值 38400 不做變更,整個程式設定如圖 4-19:

圖 4-19 設定 UART 之 function

UART 傳送的資料來源與 LCD 相同,若設定無誤,則 PC 端透過 UART 所 示的訊息應與 LCD 一致。

(44)

4.1.5 實測驗證-利用 UART 與 PC 連結顯示

本節將實測 ZC 讀取器透過 UART 介面將訊息傳送到 PC 端,並由超級 終端機顯示其訊息。

開啟超級終端機後,連線方式選擇 PC 端用來連接 ZC 的 UART port,

此處選定為 COM7;再進入 COM7 的設定,將 Baud rate 設定為 38400,詳 細的設定如圖 4-20,完成後點選“確定”結束設定。

圖 4-20 超級終端機設定

在完成超級終端機的設定後,將 ZC 與 PC 以 UART 傳輸線橋接,再點 選超級終端機的撥號鍵連結,即可讀取到 ZE 識別證所傳遞之資料,如圖 4-21 所示:

(45)

圖 4-21 超級終端機接收資料

可以由圖 4-21 看到顯示於超級終端機的資訊,一開始的 IEEE Address 以及 Network ID 是會顯示於 LCD 面板上的資訊,緊接著將 ZE 從 ADE7758 接收的訊息傳送至 ZC,ZC 在透過 UART 端回傳至 PC 終端機上,實驗環 境圖如圖 4-22。

圖 4-22 實驗環境圖

(46)

實驗至此,已可將電流、電壓以及功率等資料順利讀取與傳送,又統 合三項資料於矩陣 lcd_buf 之中,由此提取資料顯示於 LCD 面板或由 UART 傳給 PC 端,皆驗證過可正確執行,至此已完成電力感測系統,下個階段將 開始 Serial to Ethernet 轉換模組的實作,進行異質網路的結合。

4.2 Serial to Ethernet 轉換模組實作

利用巨擎科技設計的 Serial to Ethernet 轉換模組 WM-120,可以將

ZigBee 與 Ethernet 做異質網路結合。本節會敘述如何設定 Serial to Ethernet 轉換模組並且統合電力感測系統來實測驗證。

4.2.1 使用設定 Serial to Ethernet 轉換模組 WM-120

Serial to Ethernet 轉換模組設定方式可透過 RJ45 port 來設定模組內部資 料。當成功連接 WM-120 時,會出現如圖 4-23。

圖 4-23 成功連接 WM-120

(47)

在初始化設定時,需先直接以網路線橋接 PC 與模組做 IP address、

Subnet mask、Gateway IP address 等設定,詳細的設定頁面如圖 4-24:

圖 4-24 Serial to Ethernet 轉換模組設定頁面

整個轉換模組測試的架構如圖 4-25,ZE 與 ADE7758 做結合為電力感 測端,將即時監控到的電流、電壓透過 ZigBee 網路拓樸傳送至 ZC 端,而 此 ZC 是與 WM-120 結合而成的 GateWay,再透過 RJ-45 傳送至 TCP/IP,

最後遠端的 PC 便可上網,連結至 WM-120 設定的 IP 即可獲得資料。

(48)

圖 4-25 轉換模組測試架構圖

4.2.2 ZigBee 無線電力感測系統與 WM-120 之整合

進行 ZigBee 無線電力感測系統與 Serial to Ethernet 轉換模組兩者之整 合,最主要的目標就是讓 PC 端能透過 Ethernet 擷取 ZigBee 無線電力感測 系統中最後回傳至 ZC 的電流、電壓資料。

實際測試硬體擺設如圖 4-26,ZE 與 ADE7758 結合,將所讀取到的電 壓、電流、功率等數據傳送至 ZC 端,ZC 再經由 WM-120 將所獲得之數據 傳送至 TCP/IP,遠端的 PC 便可連結至此,得到所需之資料。

(49)

圖 4-26 實際測試硬體擺設 改變不同負載時,透過 PC 所擷取之資訊,如圖 4-27。

(a) 未開啟負載,PC 端所擷取之資訊

(50)

(b) 開啟負載時,PC 端所擷取之資訊 圖 4-27 PC 端從 Ethernet 接收到的資訊 由此可驗證自 Ethernet 接收到的 ZE 資訊仍正確無誤。

(51)

第五章 結論與展望

5.1 系統優點分析

本論文所實踐之電力感測系統,結合 ZigBee 無線網路拓樸之功能,

讓使用者可以即時監測電壓、電流值。或是可以透過 UART 將資訊回傳至

PC 端,作更加有效率的管理以及控制。

最後與異質網路之結合更讓 ZigBee 的應用有彈性,不只是電力感測 系統,舉凡水力、瓦斯等抄表系統,或是生醫、環境等監測,都可藉由此 種架構做為發展依據。

5.2 結論與展望

本論文中所致力發展的 WSN 無線電力感測系統皆可順利完成電壓、電 流、功率等數據的即時監控、並與異質網路及終端機結合等功能,但是大 致上來說,主要訊息的流向都是由 ZigBee 傳至 PC 端,也就是說 PC 端 終端機目前只負責監測的工作,並不下達任何指令;關於這點,應可做更 進一步的研究,發展由 PC 端透過 Ethernet 下達命令完成控管 ZigBee 之 能力。

此外本設計原意是將 ADE7758 與 ZE 結合,最後將此合板電路塞在 普通插座後端,因此電路板的大小是我們必須注意的。而天線部份目前所

(52)

份直接取代,或是透過平面天線等,這些都是未來需要改進的地方。

(53)

參考文獻

[1] IEEE Standard for Part 15.4: Wireless Medium Access Control (MAC) and Physical Layer (PHY) specifications for Low Rate Wireless Personal Area Networks (LR-WPANs), September 2006.

[2] ZigBee Alliance, URL: http://www.zigbee.org/en/index.asp

[3] ZigBee Alliance, ZigBee Specification, Version 1.0[r13], Dec. 2006.

[4] 石家源, ZigBee 技術應用於緊急救護裝備管理之研究, 國立成功大學地 球科學系專班, 2006

[5] Texas Instruments, CC2430 PRELIMINARY Data Sheet, Rev. 2.0.1, Dec.

2006.

[6] Texas Instruments, Z-Stack User’s Guide For CC2430ZDK/CC2431ZDK, F8W Version 1.3.2, Jun. 2006.

[7] Texas Instruments, CC2430ZDK Zigbee development kit description Rev. A, Dec. 2006.

[8] Texas Instruments, IAR IDE User Manual, Rev. 1.2, Feb. 2006.

[9] AnalogDevices,URL:http://www.analog.com/en/analog-to-digital-converter s/energy-measurement/ade7758/products/product.html

[10] 巨擎科技股份有限公司, URL: http://www.infosystem.com.tw/

[11] FLUKE,URL : http://us.fluke.com/usen/products/Fluke+330.htm?catalog _name= FlukeUnitedStates

參考文獻

相關文件

港大學中文系哲學碩士、博士,現 任香港中文大學人間佛教研究中心

潘銘基, 1999 年畢業於香港中文大學中國語言 及文學系,繼而於原校進修,先後獲得哲學碩士

我們在 2013/14 及 2014/15 學年,舉辦了「塗鴉:繪出健

Keywords: RFID, Mobile Learning, Sequence knowledge, Bloom’s cognition taxonomy, Ubiquitous Context-Aware. Distance learning has impacted and transformed conventional

“IEEE P1451.2 D2.01 IEEE Draft Standard for A Smart Transducer Interface for Sensors and Actuators - Transducer to Microprocessor Communication Protocols

二個 ZigBee 的頻段是 1、第三個 ZigBee 的頻段也是 1 ,那麼 第一個 ZigBee 就和第二三個 ZigBee 無發互相傳送資料但是第 二個和第三個

我們分別以兩種不同作法來進行模擬,再將模擬結果分別以圖 3.11 與圖 3.12 來 表示,其中,圖 3.11 之模擬結果是按照 IEEE 802.11a 中正交分頻多工符碼(OFDM symbol)的安排,以

ZigBee 網路中,感測節點依功能可分為兩種[8]:Full Function Device(FFD)以及 Reduced Function Device(RFD)。Full Function Device 包含 ZigBee Coordinator(ZC) 與