王建勋, 周青云
(郑州职业技术学院, 河南 郑州 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