2009年8月21日 星期五

Source Code 分析筆記-7 成品測試2 感濕電路

圖一: 感濕電路圖

針對液體的導電性質不佳,利用一個電晶體路與繼電器,達到電流放大的效能,以增強感測端的靈敏度




圖二: 實際電路接線圖







圖三: 感測端子碰觸沾水衛生紙





圖四: LED燈亮起




測試成功所帶來的好處是能為我們省下很多成本,原來的sensor要花費2700左右,自做電路成本: 繼電器(20)+電晶體(5)+電阻(1)+單芯線(1)+洞洞板(10) = 37元台幣

2700 - 37 = 2663,馬上省下這麼多,好用!!!

P.S 之後電路銲完後補上實際成品圖



圖五: 實際成品圖


圖六: 實際成品圖

2009年8月20日 星期四

Source Code 分析筆記-7 成品測試

繼上次撰寫出控制Coordinator LED指令後,我們在Router添加了DIO Interrupts指令,以Expansion Connector第10、11的Pin腳取代原來的switch1、switch2

系統的設計是Router板上按下switch2會使Coordinator板上的LED亮起,再添加DIO Interrupts指令後,將濕度sensor的延伸接線一端接至pin 11(switch2),另一端接至pin 40(GND)


圖一: sensor的延伸接線接至pin腳(pin11、pin40)


圖二: Router與sensor全貌


當sensor的感測端有所反應時,其延伸接線將會從斷路狀態轉為導通狀態,pin11與pin40也將會導通,等同接地,當電流流入地形成迴路時,此動作形同按下switch2、而Coordinator的LED將會亮起


圖三: sensor有所反應,Coordinator 之 LED3將會亮起



將Coordinator接至電腦端以檢測Router傳回來的資訊


圖四: Router回傳資訊,sensor未有反應時,switch行顯示 "Switch = 0"


圖五: Router回傳資訊,sensor有反應時,switch行顯示 "Switch = 1"



為了避免不必要的資訊,如其他未接上sensor的Router回傳值、以及多餘的溫度光感值等,修掉程式碼只留下接上sensor的Router會回傳數值外,其餘的Router僅做網路功用,如此一來,接收端只會顯示重要的資訊,顯示會較為簡潔


圖六: sensor未有反應時畫面顯示 "Response = 0"


圖七: sensor有反應時畫面顯示 "Response = 1"



目前為止,最重要的sensor資訊回傳總算是有一點小成果,但整體系統架構還需做修正,如sensor一但有所反應,接收端就會一直回傳"Response = 1",sensor反應中斷後,接收端並不會回傳"Response = 0",並須將系統重啟

Router與Coordinator的程式碼修改有空再補上其思考過程以及添加的指令

P.S上述問題已於剛剛修正完成,sensor中斷反應接收端即會回傳"Response = 0",在有反應時才會回傳"Response = 1"

期許我們能越做越好,共勉之

2009年8月5日 星期三

Source Code 分析筆記-7 進度回報

上回提到添加光感顯示以及Router對Coordinator的控制指令,由於小組的程式基礎並不是很好,這部分確實帶給我們很大的瓶頸,硬著頭皮一步一步從最根本的地方研究起,翻閱原廠說明書,上圖書館搬資料,上網找線索,反覆的嘗試修改並測試,皇天不負苦心人,終於有一點成果可以回報....

此外,組員帥哥金門在另兩位組員各自奉母命回鄉兩天時一個人至實驗室孤軍奮戰,並且將程式碼測試完成,在此另兩位組員向金門獻上夥伴們的最大敬意


目前進度

1.成功傳送sensor資訊 (90%)
目前成功傳送ZigBee的內建sensor資訊,並成功添增敘述使其可顯示原未有的光感顯示,由Router控制Coordinator的LED控制指令也已成功

2.接收端可讀取並顯示sensor資訊 (90%)
接收端已可以show出sensor所傳回的資料並且可顯示光感以及LED控制指令



圖一 光感 Sensor顯示值 亮度越高數值越大


圖二 LED控制指令顯示 0為暗1為亮

未來嘗試方向

1.小組的將使測試將 sensor接至DIO pin做 switch的功能,控制Coordinator的LED

2.Coordinator接收端顯示LED資訊值,當sensor有所反應則對LED做亮或滅,顯示端也可藉由LED亮或滅的狀態來判別sensor的讀取狀況


2009年8月1日 星期六

ZigBee之概要原理-6-實體層功能說明2

此篇要說明的也是實體層的功能,也就是調變方式,無線通信利用高頻電波來進行資訊的傳輸,ZigBee/802.15.4用的是2.4GHz頻寬的電波,像這樣用來傳輸資訊的2.4GHz高頻電波就是載波。而對載波進行轉換才能傳輸資訊的這個動作就叫做調變,信號接收端接收後復原基頻信號的過程就是解調變。

調變的方式有數位振幅調變(ASK)、數位頻率調變、(FSK)、數位相位調變(PSK),三個意思分別是:

1.數位振幅調變(ASK):信號發送端依照基頻信號的10,讓載波振幅發生一定變化,在信號接收端檢測出振幅的變化,然後再復原成基頻信號。



2.數位頻率調變(FSK):信號發送端依照基頻信號,讓載波頻率在一定範圍內進行變化,在信號接收端檢測出接收信號頻率後,將其重置到基頻信號。




3.數位相位調變(PSK):信號發送端依照基頻信號,讓載波的相位發生一定的變化,在信號接收端測出接收信號的相位後,將其重置到基頻信號。




ZigBee所採用的調變方式為相位調變方式(PSK), 相位值都是在0~2π弧度的範圍內,利用載波的信號及其相位反轉後的信號分別表示0和1,這種簡單的數位相位調變叫做BPSK(Binary Phase Shift Keying),在相位平面上表示特定信號的狀態叫做信號點,BPSK的兩個信號點為0和π分別表示邏輯值0和1,也稱為2值數位調變。下圖為BPSK信號點的表示圖:



2值調變只能書1Bit的信號。在相位平面上可以過更多的信號點來傳輸更多資訊的方法叫做多值調變,具有4個信號點的是四相相位調變(QPSK),傳輸資料的速度是BPSK2倍。


增加信號點可以得到更高速的通信,但對信號的品質要求也提高了,例如在BPSK的場合,接收到的位相檢測誤差在±π/2範圍內才可進行解調,而在QPSK的場合檢測誤差在±π/4範圍內才可進行解調。通信距離越遠,接收到的電波變形越嚴重,多值調變方式以犧牲一定程度的距離來換取更高的傳輸速度。


實際的相位調變信號是由cosωt載波和sinωt正交載波合成的,和載波相同相位的信號叫做 I相信號,和載波正交的相位的信號叫做Q相信號,在QPSK的場合,根據振幅±1的 I相信號和振幅±1Q相信號,分別設置各個相位π/43π/45π/47π/4四個資訊點,分別表示邏輯值11010010下圖為QPSK的信號點表示圖:



QPSK的場合可是使I相如1100那樣同時發生變化,最大的相位變化如下圖:



由此圖可知瞬間的角度π,這種瞬間相位變化很大的情況要安裝對應的類比現形電路是很困難的,所以才提出了偏移正交相位調變(O-QPSK),O-QPSK是採用讓 I相信號和Q相信號在時間上錯開的方法,O-QPSK的最大相位變化如下圖所示:




Q相信號的位相相對於I相信號,週期往前推移了1/2,瞬間最大位相變化控制到π/2,也就是1100的變化分成110100,可對位相變化進行控制的一種調變。


O-QPSK使 I相信號和Q相信號不同時間發生變化,這種調變方式便能設置出低價的模擬積體電路。ZigBee在2.4GHz中就是採用O-QPSK的調變方式。