王建勛, 周青云
(鄭州職業技術學院, 河南 鄭州 450121)
?
基于虛擬儀器和藍牙技術的控制系統設計
王建勛, 周青云
(鄭州職業技術學院, 河南 鄭州 450121)

以LabVIEW為開發平臺,以PIC16F877A單片機為核心,設計一種基于虛擬儀器和藍牙技術的電磁繼電器控制系統。闡述了系統的軟硬件設計方法并給出了系統原理圖、單片機部分源程序和LabVIEW程序。實驗證明,該系統具有體積小、成本低、可靠性高的特點,在電磁閥、電機、可控照明燈等控制中具有很高的實用價值。
LabVIEW; PIC16F877A; 電磁繼電器; 控制系統
虛擬儀器是以通用計算機為核心,根據用戶對儀器的設計定義,用軟件實現虛擬控制面板和測試功能的一種計算機儀器系統。LabVIEW是由美國國家儀器(NI)公司研制開發的一種虛擬儀器開發環境,使用圖形化編輯語言編寫程序[1]。LabVIEW具有功能強大、有良好的人機界面、擴展性強等特點,在測量、計量、測控方面應用廣泛[2]。
藍牙是一種支持設備短距離(一般10 m內)通信的無線電技術,能在包括移動電話、PDA、無線耳機、筆記本電腦、相關外設等眾多設備之間進行無線信息交換。利用藍牙技術,能夠有效地簡化移動通信終端設備之間的通信,從而使數據傳輸變得更加迅速高效,具有安全性高和受干擾性小的特點[3]。
電磁繼電器是一種電控制器件,通常應用于自動化的控制電路中,它實際上是用小電流去控制大電流運作的一種“自動開關”。在電路中起著自動調節、安全保護、轉換電路等作用[4]。
采用基于LabVIEW、單片機和藍牙技術組成的控制系統實現對電磁繼電器進行控制,可滿足多種領域的需要。
1.1 系統總體構成和工作原理
系統總體上由上位機和下位機組成。上位機(PC)由LabVIEW程序控制,由藍牙模塊發出十六位制控制信號;下位機(控制板)從HC-06藍牙串口模塊端接收控制信號,然后送給PIC16F877A,PIC16F877A根據源程序再發送對應數字邏輯信號送給ULN2003A,以驅動并控制電磁繼電器組[5-6]。
1.2 系統硬件設計
下位機由PIC16F877A單片機、HC-06藍牙串口模塊、ULN2003A驅動芯片、L7805CV三端正電源穩壓電路和JQ1P-24V-F電磁繼電器組等組成。PIC16F877A 單片機作為主控芯片,其RD 口RD0~RD6的七位口線作為連接ULN2003A的數據線;RC 口中的RC6、RC7 用作HC-06藍牙串口模塊的TX、RX接口。時鐘電路選用12 MHz 晶體振蕩器[7]。
1.2.1 PIC16F877A單片機
PIC16F877A具有高性能RISC CPU,僅用35條單字指令,帶有8 K×14 位FLASH 程序存儲器,368×8個數據存儲器(RAM)字節,256×8個EEPROM字節,中斷能力強(達到14個中斷源),支持在線串行編程(ISCP),運行電壓范圍2.0~5.5 V。具有抗干擾能力強、低功耗、帶負載能力大、且外圍電路簡單、可靠性高等優點[8-9]。
1.2.2 HC-06藍牙串口模塊
HC-06是主從一體化藍牙串口模塊,本系統采用從機模塊。該模塊集成藍牙芯片BC41713、Flash存儲芯片M29W800及藍牙天線等。模塊引出接口包括VCC、GND、TXD、RXD,預留LED狀態輸出腳,單片機可通過該腳狀態判斷藍牙是否已經連接,LED指示閃爍表示沒有藍牙連接,常亮表示藍牙已連接并打開了端口。5 V單片機可與其直接連接。支持8位數據位、1位停止位、無奇偶校驗的通信格式[10]。
1.2.3 ULN2003A驅動芯片
ULN2003A 由7 組達林頓晶體管陣列和相應的電阻網絡以及鉗位二極管網絡構成,具有同時驅動7 組負載的能力,為單片雙極型大功率高速集成電路。ULN 2003A 電路具有電流增益高、帶負載能力強、溫度范圍寬、工作電壓高等特點,主要用于繼電器、伺服電機、步進電機、電磁閥和可控照明燈驅動電路中[11]。
1.3 系統軟件設計
1.3.1 LabVIEW程序設計
本系統LabVIEW程序包括端口參數設定、通信測試和電磁繼電器控制三部分。
VISA(Virtual Instrument Software Architecture)是一種用來與各種儀器總線進行通信的高級應用編程接口(Application Program Interface, API)。NI-VISA是NI公司隨LabVIEW提供的一套VISA函數,包括VISA配置串口、VISA讀取、VISA 寫入和VISA 結束等[12-13]。程序采用“VISA Configure Serial Port”(VISA配置串口函數)完成串口參數的初始化設置。本系統中,波特率為9 600,8 位數據位,無奇偶校驗,1位停止位,無流控制[14]。然后程序要判斷硬件連接是否正確,并給出相應的提示信息。
在通信測試環節,通過VISA寫入函數寫入十六進制信號“D1”,然后由VISA讀取函數讀出數值,并和十六進制信號“02”作比較,若相等,則通信正常,并給出相應提示信息。
在繼電器的控制中,通過VISA寫入函數寫入繼電器合、開所對應的十六進制信號。繼電器K1~K7的合、開所對應十六進制控制信號如表1所示。LabVIEW程序的程序框圖如圖1所示。

表1 繼電器K1~K7的合、開所對應十六進制控制信號
1.3.2 單片機程序設計
單片機程序采用C 語言設計,采用MAPLAB IDE 編譯源程序。子程序包括端口初始化子程序、延時子程序、串行通信接口子程序、繼電器端口子程序、通信測試子程序和中斷子程序[15-16]。程序設計充分利用中斷功能,通信測試和繼電器的合、開控制均使用中斷模式,給出標志位,在主程序中執行相應程序。主程序如下:
void main(void)
{
uint8 i;
PORTINI( );
DelayMS(500);
SCI_Init();
TXIE = 1;
RCIE = 1;
PEIE = 1;
GIE = 1;
TXEN = 1;
CREN = 1;
while (1)
{
}
}
繼電器端口子程序如下:
void Relay_Out()
{
if (temp2 == 0x9A) {Relay1 = 0;}
if (temp2 == 0x9B) {Relay1 = 1;}
if (temp2 == 0x9C) {Relay2 = 0;}
if (temp2 == 0x9D) {Relay2 = 1;}
if (temp2 == 0x9E) {Relay3 = 0;}
if (temp2 == 0x9F) {Relay3 = 1;}
if (temp2 == 0xA0) {Relay4= 0;}
if (temp2 == 0xA1) {Relay4 = 1;}
if (temp2 == 0xA2) {Relay5 = 0;}
if (temp2 == 0xA3) {Relay5 = 1;}
if (temp2 == 0xA4) {Relay6 = 0;}
if (temp2 == 0xA5) {Relay6 = 1;}
if (temp2 == 0xA6) {Relay7 = 0;}
if (temp2 == 0xA7) {Relay7 = 1;}
}
中斷子程序如下:
void interrupt PIC_Int(void)
{
if(RCIF == 1)
{
temp = RCREG;
temp2=temp;
flag=1;
}
if (temp>0x99)
{
temp2=temp;
}
if (temp<=0x99)
{
temp3=temp;
}
if (temp2 <= 0xA7 && temp2 >= 0x9A) {Relay_Out();}
if (temp2 == 0xD1) {Test();}
}
將控制板接好+24 V電源。電腦在My Bluetooth下搜索設備,當搜索到HC-06時,輸入PIN代碼安全配對,再安裝串行端口,然后在我的電腦—屬性—硬件—設備管理器—端口下有“Bluetooth Serial Port (COM3)”產生。
運行LabVIEW程序,首先有進行硬件連接提示,如圖2所示。提示連接成功后,HC-06指示燈常亮。然后進行通信測試,通信成功后也有提示,如圖3所示。

圖2 硬件連接提示

圖3 提示通信成功
在LabVIEW程序前面板開啟K2,K4,K5三個垂直搖桿開關,如圖4所示。繼電器K2、K4、K5指示燈亮起,同時有觸點閉合的聲音,實驗結果如圖5所示。

圖4 開啟K2、K4、K5

圖5 K2、K4、K5指示燈亮

圖6 K2、K4、K5指示燈熄滅
關閉K2,K4開關,繼電器K2、K4指示燈熄滅,同時有觸點閉合的聲音;K5指示燈保持亮起,實驗結果如圖6所示。
實驗結果表明:各個繼電器的觸點合、開符合上位機的控制要求,系統有效、工作正常。
基于虛擬儀器和藍牙設備的電磁繼電器控制系統,結構簡單、體積小巧,而且可以根據要求,實現繼電器的任意組合控制功能,能夠滿足產品自動化測試、工業現場控制、科研與教學等多種領域的需要。
[1] 張 桐,陳國順,王正林.精通LabVIEW程序設計[M].北京:電子工業出版社,2008.
[2] 劉 勝,張蘭勇,章佳榮,等.LabVIEW 2009程序設計[M].北京:電子工業出版社,2010.
[3] 張 群,楊 絮,張正言,等.藍牙模塊串口通信的設計與實現[J].實驗室研究與探索,2012,31(3):79-82.
[4] 高志峰,石永生,董明杰.基于CPLD 的串口控制繼電器實驗裝置設計[J].實驗科學與技術,2013,11(4):186-189.
[5] 張飛云. 蔬菜大棚卷簾門和換氣扇步進電機智能控制器的設計[J].湖北農業科學,2013,52(15):3681-3684.
[6] 王麗麗,王啟增,胡小安,等.基于PIC18F6527 的電磁繼電器控制系統[J].電子設計工程,2011,19(12):178-180.
[7] 高建民,黃桂珍,尹文楚,等.桁架式超聲霧化栽培器的霧滴沉降和根際溫濕度變化規律[J].農業工程學報,2013,29(6):185-192.
[8] 王通生,賈存良,張逢雪,等.基于PIC16F877A 的遠程煤礦瓦斯監測系統[J].煤礦機械,2011,32(5):209-211.
[9] 陳桂順,包曄峰,單明東,等.基于PIC 單片機的步進電機運動控制器[J].電焊機,2011,41(4):53-56.
[10] 余威明.手機藍牙控制的智能車系統設計[J].電子技術,2013,(4):52-54.
[11] 萬天才.高壓大電流達林頓晶體管陣列系列產品及其應用[J].國外電子元器件,2001(2):19-21.
[12] 陳錫輝,張銀鴻.精通LabVIEW8.2程序設計從入門到精通[M].北京:清華大學出版社,2007.
[13] 王建勛,周青云.基于DS18B20和LabVIEW溫度監測系統[J].實驗室研究與探索,2012,31(3):47-50.
[14] 李 震,洪添勝,黎嘉銘.基于AVR單片機和LabVIEW的水溫控制系統[J].計算機工程與設計,2007,28(3):615-617.
[15] 鄭紅梅,余宏濤,慶振華,等.基于LabVIEW和單片機的切削溫度數據采集系統[J].機床與液壓,2008,36(7):220-222,234.
[16] 高 姬.繼電器虛擬儀器測試系統[J].工業控制計算機,2010,23(2):19-20.
Design of Control System Based on Virtual Instrument and Bluetooth Technology
WANGJian-xun,ZHOUQing-yun
(Zhengzhou Technical College, Zhengzhou 450121, China)
A control system of electromagnetic relay was designed based on virtual instrument and bluetooth technology. It used PIC16F877A MCU as the hardware core, and LabVIEW as the design platform. The method of designing on software and hardware was illustrated, and the system schematics, some source code of MCU and LabVIEW program were given. Experiments showed that the system had the characteristics of simple size, low cost, high reliability. It will be with a high practical value in solenoid valves, motors, controlled lighting and other control.
LabVIEW; PIC16F877A; electromagnetic relay; control system
2014-08-11
河南省高等教育教學改革研究項目(2014SJGLX466)
王建勛(1972-),男,河南鄭州人,碩士,副教授,研究方向:嵌入式系統與自動控制。
Tel.:15038310735; E-mail:zzzywjx@163.com
TP 274.2
A
1006-7167(2015)03-0086-04