陳增志 朱現場
(上海海事大學商船學院 中國 上海 201306)
為利用水池實驗室執(zhí)行相關的水池實驗,通過船舶相似性原理研究船舶性能,首先需要實現船模系統(tǒng)。 本文詳細介紹了如何實現該船模系統(tǒng),利用ZigBee 無線數據透明傳輸[1-2]系統(tǒng)傳輸PC 機的控制信號及船模的狀態(tài)信息,51 單片機小系統(tǒng)[3]實現船模狀態(tài)傳感數據的采集及直接控制船模的運動狀態(tài)。
船模系統(tǒng)主要由一臺PC 機、一對ZigBeeCC2430 無線數據收發(fā)模塊、51 單片機系統(tǒng)板模塊、 電機驅動模塊及DS18B20 測溫模塊組成。系統(tǒng)總框圖如下圖1 所示。
圖1 無線智能船模系統(tǒng)框圖
ZigBee 無線透明傳輸接口可實現雙向無線數據傳輸[1-2], 符合IEEE802.15.4 標準。 可實現點對點、點對多點或者多點之間的數據傳輸。 上位機與ZigBee 模塊進行信息的交換的數據格式, 沒有指令字頭、結束符等數據包信息,只要上位機串口有數據輸出,模塊就把串口的數據以無線方式編碼發(fā)送,當接收模塊接收到發(fā)射模塊發(fā)送的無線數據信號后進行解碼, 把解碼后的數據按發(fā)送端的格式從串口輸出,也是就是說模塊對使用者來說是開放的透明的。 實際使用時,使用一對集成了處理器模塊和無線通信模塊的CC2430 為核心的ZigBee 模塊, 只要將控制信息通過串口軟件通過RS232 接口發(fā)送到ZigBee 協(xié)調器模塊, 協(xié)調器便將控制信息以無線的形式發(fā)送給路由器模塊,路由器接收到數據包后進行解析,提取出控制信息,再通過RS232 接口將這些信息發(fā)送給51 單片機系統(tǒng)板,51 單片機便通過這些控制信息控制船模的狀態(tài)。 同樣的,51 單片機所采集到到船模狀態(tài)信息如溫度以同樣的方式反向傳輸返回給PC 機, 便可以根據PC 機顯示的狀態(tài)信息控制船模的運動狀態(tài)。透傳部分的軟件主要實現協(xié)調器與路由器綁定及綁定綁定完成后查詢是否有數據發(fā)送過來,若有數據則將發(fā)送過來的數據封裝成ZigBee 數據幀,傳輸到目標節(jié)點。
船模系統(tǒng)主要由單片機系統(tǒng)模塊、ZigBee 無線數據收發(fā)模塊,螺旋槳電機驅動模塊及DS18B20 測溫模塊組成。 單片機系統(tǒng)模塊采用51+avr 最小系統(tǒng)板并與DS18B20 模塊集成, 通過RS232 接口與ZigBee 無線數據收發(fā)模塊相連,電源由電機驅動模塊輸出的5V 電源供給,51 單片機的P1.0-P1.3 口分別與電機驅動模塊的OUTA1、OUTA2、OUTB1、OUTB2 相連, 這樣就可以通過對51 單片機編程測量船模內部環(huán)境的溫度以及控制船模的狀態(tài)了。
螺旋槳電機驅動模塊模塊電路原理圖如圖2 所示。采用性能穩(wěn)定驅動電流足夠的驅動芯片L298N,可以控制兩個帶動螺旋槳的直流電機。 增加了為ZigBee 模塊供電的3.3V 電源及為51 系統(tǒng)板供電的5V電源。同時LED 可指示電機的運行情況。POWER-IN 接入12V1800mAh的蓄電池。 這樣通過51 單片機輸出的控制信號便可以控制兩個螺旋槳電機的狀態(tài)了。例如,當兩個電機都正轉時船模前進,都反轉時船模時船模后退,一正轉一反轉、一轉一停或一快一慢時船模轉彎,使用PWM 信號調節(jié)船模速度。
圖2 螺旋槳電機驅動模塊模塊電路原理圖
DSl8B20 測量精度高, 測量范圍從-55℃到125℃, 增值量為0.5℃。 只要簡單的編程,就可以分別在93.75ms 和750ms 內把溫度轉化成9 位和12 位的數字量, 測得的溫度值存儲在兩個八位的RAM中,單片機直接從中讀出數據轉換成十進制就是溫度值。 DSl8B20 共有3 個引腳:GND(接地)、DQ(數據輸入輸出)、VDD(電源),數據的讀與寫只要經過數據線DQ 連接就行。 可以直接通過單總線與51 單片機I/O 口連接。 此外每一次讀寫之前都要對DSl8B20 進行復位,復位成功后發(fā)送一條ROM 指令,最后發(fā)送RAM 指令,這樣才能對DSl8B20進行預定的操作。51 單片機對DSl 8B20 的各種操作必須按協(xié)議進行。操作協(xié)議為:初始化DSl8820(復位)——執(zhí)行ROM 功能指令——執(zhí)行存儲器操作指令——處理數據。 最后將溫度信息發(fā)送到ZigBee 無線數據收發(fā)模塊傳回PC 機顯示。
利用CC2430ZigBee 模塊及單片機系統(tǒng)等實現了無線智能船模系統(tǒng),該系統(tǒng)不僅能夠實現船模的無線控制還能夠傳輸船模的部分狀態(tài)信息,如水溫信息。 將進一步研究如何利用合適傳感器與算法測得船模的航速、航向、航跡向信息等通過該系統(tǒng)傳PC 機,以跟蹤船模的狀態(tài)。
[1]劉彥飛,王成,余成波,等.基于ZigBee 的數據透明傳輸系統(tǒng)的設計[J].計算機科學,2009,36(4A):76-77.
[2]高守偉,吳燦陽.ZigBee 技術實踐教程[M].北京航空航天大學,2009:354-369.
[3]張俊謨.單片機中級教程原理與應用[M].北京:北京航空航天大學出版社,2006.