APP下载

基于STC15单片机和SYN6288的机床语音报警系统设计*

2015-02-26常国权彭云峰

电子器件 2015年3期
关键词:扇区串口蓝牙

常国权,彭云峰

(安阳工学院计算机科学与信息工程学院,河南安阳455000)



基于STC15单片机和SYN6288的机床语音报警系统设计*

常国权*,彭云峰

(安阳工学院计算机科学与信息工程学院,河南安阳455000)

摘要:为了提高机床的易操作性,降低机床的损坏率,基于STC15F2K24S2高速单片机和SYN6288语音合成芯片设计出了一种具有较高性价比的机床语音报警系统,给出了该系统的硬件和软件设计的具体方案,并论述了硬件和软件设计中的要点。该系统可以实时地向操作人员报告机床当前的状态信息或错误信息,系统的人机交互界面友好,操作方便灵活,可以有效地提高工作效率。

关键词:STC15F2K24S2; SYN6288;机床;语音报警系统; Android;蓝牙串口模块

项目来源:工信部科技重大专项[2012-036]

机床作为金属加工最基础的设备之一,已广泛应用于工农业生产的各个方面[1]。目前,数控机床的各种状态及错误信息都是以代码的形式显示在数字显示屏上,需要操作人员实时地去观察,非常不方便;而且操作人员需要牢记各种数控状态及错误代码,需要花费大量的经费和时间对操作人员进行培训,常常由于人为地判断错误,致使机床的使用寿命缩短[2]。基于这种现状,该设计采用STC15F2K24S2单片机和SYN6288语音合成芯片设计出了一种机床语音报警系统。该系统采用6路光电隔离器对机床输出的63种数字信号进行采集、处理,单片机根据不同信号的类型从存储器中读取相应的语音文本信息,发送给SYN6288语音合成芯片进行语音合成,放大后驱动喇叭发出不同的语音提示及报警信息,实时向操作人员报告当前数控机床的状态信息或错误信息,以提高机床的易操作性。系统还扩展了蓝牙串口模块,可以通过蓝牙模块和Android智能手机客户端进行数据或命令的传输,大大提高了该系统使用的方便性、灵活性。

1 系统总体设计

数控机床使用6根信号线就可以向外部提供63种数字信号(具体信号的多少可以根据实际需要来定),如:油压压力下降、换刀时间过长、轨道油油量不足、夹头在夹住状态量刀臂不能放下、必须将门先关上才能启动主轴等,因为这些信号的电平一般是24 V,所以要把这些信号通过光电隔离器隔离以后再传给STC单片机,单片机对数字信号分析,根据数字信号的类型从单片机EEPROM中读取相应的语音文本信息,通过单片机的串口2发给SYN6288语音合成芯片进行语音合成,并通过音频功率放大器PAM8403进行功率放大,最后推动喇叭发出报警提示信息。该语言报警系统所需的电源是由数控机床提供,并通过电源转换器转换为5 V电压,提供给单片机系统。语音信息以及报警系统的系统参数信息等是以文本的方式存储在单片机EEPROM中的,这些文本信息是通过串口传给单片机的,考虑到智能手机应用地越来越广泛,可以通过智能手机的蓝牙模块和报警系统进行信息传输,因此,通过STC单片机的串口1扩展了蓝牙模块,并设计了基于Android系统的手机客户端软件,使得该报警系统设置更加方便、灵活。系统的总体设计框图如图1所示。

图1 系统总体设计框图

2 语音报警系统硬件设计

2.1主控芯片选择

从成本和性能综合考虑,主控芯片选用的是宏晶科技公司设计生产的STC15F2K24S2,它是单机器周期(1T)的单片机,它具有高速、高可靠、超低功耗、超级抗干扰等优点,指令代码完全兼容传统8051。内部集成高可靠复位电路,可用在高速通信、智能控制、强干扰等场合[3]。该单片机并具有双串口,内部具有2K的RAM、24K的Flash以及37K的EEPROM,利用该单片机内部的EEPROM足够存储系统设置参数和语音文本信息,无需再外扩存储器,参数信息可以实现用户的个性化配置,如音量、语速、静音等功能。它也支持串口ISP下载调试功能,具有使用方便、设计成本低等优点。

2.2信号采集电路设计

由于机床的提供的数字电平信号一般是24 V,因此,单片机在处理机床信号前必须要进行光电隔离,信号采集电路共使用6路光耦进行隔离,输入信号通过共地形成回路[4]。平时,当IN1~IN6没有输入信号时,单片机的P2.2~P2.7各通过一个10 kΩ的下拉电阻接到电源地,因此,查询P2.2~P2.7为低电平,表示没有报警信号;当IN1~IN6输入信号为高电平时,光电二极管发光工作,P2.2~P2.7被拉高到高电平,此时,表示有报警信号到来,根据P2.2~P2.7接口输入的高低电平组合,查找内部EEPROM存储的语音文本信息进行语音合成报警。系统信号采集电路设计原理图如图2所示。

图2 信号采集电路设计原理图

2.3SYN6288语音合成电路设计

SYN6288中文语音合成芯片是北京宇音天下科技有限公司推出的一款性价比更高,效果更自然的一款中高端语音合成芯片。SYN6288通过异步串口(UART)通讯方式,接收待合成的文本数据,实现文本到语音的转换。SYN6288支持GB2312、GBK等内码格式的文本,支持16级音量调整、6级词语语速调整等多种功能[5]。

由于STC15F2K24S2单片机具有2个独立串口,因此,在设计中使用单片机的串口2和SYN6288通信,SYN6288双声道音频信号分别从BP0和BN0输出,并送入到音频功率放大器PAM8403进行功率放大[6],放大后的音频报警信息分别从喇叭S1和 S2输出。SYN6288芯片的引脚4(Busy)和单片机的P1.2相连接,单片机通过查询的方式来确定SYN6288是否处于忙状态。当SYN6288的引脚4为低电平表示可接收上位机发送的命令和数据,高电平表示正在进行语音合成并播音。SYN6288的引脚19为芯片复位,低电平触发有效[7]。SYN6288电路设计原理图如图3所示。

图3 SYN6288电路设计原理图

2.4蓝牙通讯电路设计

为了方便对报警系统设置和更新EEPROM里面存储的语音文本信息,系统在单片机的串口1扩展了蓝牙串口模块FBT-06,FBT-06是小尺寸蓝牙模块,专为智能无线数据传输而打造,采用英国CSR公司BlueCore4-Ext芯片,支持Bluetooth2.1协议,内置PCB天线,具有成本低、体积小、收发灵敏度高等优点,只需配备少许的外围元件就能实现其强大功能[8]。

蓝牙模块的EN使能端和单片机的P1.3相连接,高电平有效; VCC范围为3.3 V~6.0 V,此处5 V供电即可;使用单片机的串口1和蓝牙模块通信,通过单片机的串口1把AT指令发给蓝牙模块,实现蓝牙串行数据无线透传;蓝牙模块的STATE端口和单片机的P3.2相连接,若STATE端口不停跳变,表示蓝牙未连接,STATE端口拉高表示已连接,若拉低,则表示蓝牙模块处于紧急救援模式或关机,单片机通过检测该端口可以了解蓝牙模块的工作状态,只有STATE端口处于高电平时蓝牙模块才可以收发数据。蓝牙模块通讯电路设计原理图如图4所示。

图4 蓝牙模块通讯电路设计原理图

3 语音报警系统软件设计

语音报警系统的下位机软件是采用基于Keil C集成开发环境的C语言进行设计的,基于Android系统的手机客户端软件是采用Java编写的,软件设计采用模块化的思想,软件设计主要分为系统下位机软件设计和基于Java的Android系统的客户端软件设计。

3.1系统下位机软件设计

STC15F2K24S2的EEPROM共有74个扇区,每个扇区512 byte,第0扇区作为存储系统的参数信息,如语音播报的音量、语速等功能。63种语音文本信息分别存储在1~63扇区,根据给定机床输入信号在相应的扇区存入语音文本信息,一个扇区512 byte最多可以存储256个汉字,数字、字母与汉字可以混合存储,之所以按扇区存储语音文本信息,是因为STC15F2K24S2的EEPROM擦除操作是按扇区进行的,需要更新的语音信息按照一定的协议从串口发送给单片机,单片机按照协议从数据流中解析出语音文本的地址和数据,按地址先对扇区擦除操作,然后把语音文本数据依次写入EEPROM对应的扇区,完成语音文本信息的写入操作。

为了保证数据通过串口传输过程中的可靠性,需要按照一定的协议发送和接收数据,默认采用异步串行通信方式,RS232电平,波特率9 600 bit/s、无校验位、8位数据位、1位停止位、无数据流控制。数据的接收是在中断方式下进行的,串口1接收中断服务子程序边接收数据边进行数据校验,并同时解析出地址码和数据,校验码正确,则证明接收到了一帧合法的数据,把合法数据标志位CMDflag置1,在主函数中进行数据处理。通信数据帧格式如下所示。

字段识别码长度(N+3)地址码数据段(可选)校验码字节2 1 1 N 1

识别码用于识别帧头,如果收到的数据中出现0xAB和0xBA,则认为这是一个新的数据帧。长度字段指明数据帧长度,包括地址码、数据段和校验码字段。地址码代表EEPROM对应的扇区。校验码用来确保数据传输的正确性,接收到数据后,首先判断校验是否正确,正确则处理这一帧数据,不正确则丢弃。校验码是地址码和所有数据的异或值。

考虑到STC15F2K24S2单片机有足够的处理速度,这里的机床信号采集是采用的软件查询的方法进行的,由图2可知,当机床的IN1~IN6输入端有输入信号时,单片机的P2.2~P2.7端口会跟着做相应的变化,因此,程序只需要查询P2.2~P2.7的值Val,当其为非零时即表明机床有报警信号输入。若有信号输入则以Val×512作为首地址读取语音文本信息,并发送给SYN6288语音合成输出即可。程序流程图如图5所示。

图5 程序流程图

3.2基于Android系统客户端软件设计

系统语音信息的更新既可以采用串口进行也可以采用基于Android手机客户端进行。基于Android系统客户端软件设计主要是采用Android系统提供的蓝牙API实现的。Android系统提供的蓝牙API可以实现蓝牙设备之间的通信,两个蓝牙设备的通信主要包括了4个步骤:设置蓝牙设备、寻找局域网内可能或者匹配的设备、连接设备和设备之间的数据传输[9]。

根据实际需要,这里只允许Android手机客户端连接一个固定的蓝牙设备,而蓝牙设备的唯一标识就是蓝牙设备的MAC地址,Android手机客户端首先给FBT-06蓝牙串口模块发送AT+laddr指令,获取到蓝牙模块的MAC地址,在程序中给该地址定义为:

private String blueAddress="81: F2: 6E: F9: C4: 1D"; / /FBT-06蓝牙串口模块的MAC地址

此外连接蓝牙设备还需要一个UUID标识,这个标识是个128位的随机数,可以用个Java里的UUID类的fromString函数得到: private static final UUID MY _ UUID _ SECURE = UUID.fromString (" 00001101-0000-1000-8000-00805F9B34FB") ;[10]

这两个变量就相当于Socket编程中的IP地址和端口号,得到这两个数据后,只要获取蓝牙的默认数据适配器就可以开始连接两个蓝牙了[11]。

private BluetoothAdapter btadapter = BluetoothA-dapter.getDefaultAdapter() ;

在客户端输入语音文本信息时,程序必须按照前面设计的通信协议进行打包和封装,然后通过蓝牙模块一对一的方式进行数据传输,FBT-06蓝牙串口模块接收到数据之后直接从串口输出,传给STC15F2K24S2进行校验和数据解析,最后完成数据或参数的写入。

4 结论

该设计叙述了机床语音报警系统的基本原理和设计方法,并分析了硬件和软件设计的具体方案。系统可以对机床数字信号进行采集、处理,并给出语音报警信息,语音文本信息的更新既可以采用串口通信也可以采用基于Android手机客户端进行,操作灵活、使用方便。经过在安阳鑫盛机床厂实践证明,该系统稳定、可靠,取得了较好效果,推广使用将会获得较好的经济效益。

参考文献:

[1]吴军.数控机床PMC语音报警功能的开发[J].金属加工(冷加工),2012(4) : 75-77.

[2]施锋,吴峻,朱欣华.基于ARM7的数控机床人机界面的设计[J].电子器件,2008,31(2) : 680-682.

[3]宏晶科技公司.STC15F2K24S2系列单片机器件手册[S].2014.

[4]孙艳成,王亚非,周鹰,等.一种声光语音联动报警系统的设计[J].电子器件,2011,34(5) : 596-599.

[5]北京宇音天下科技有限公司.SYN6288中文语音合成芯片数据手册[S].2012.

[6]Power Analog Microelectronics Inc.PAM8403 Filterless 3W Class-D Stereo Audio Amplifier[S].2009.

[7]郭克友,陈雪洁,纪彬.基于SYN6288的车速语音播报系统设计[J].实验技术与管理,2014(1) : 87-90.

[8]蓝牙串口模块FBT-06使用手册[S].上海移摩通讯技术有限公司.2013.

[9]毋建军,徐振东,林瀚.Android应用开发案例教程[M].北京:清华大学出版社,2013: 35-43.

[10]刘乃琦,苏畅.Java应用开发与实践[M].北京:人民邮电出版社,2012: 83-89.

[11]张硕.基于Android的蓝牙多点文件传输系统[D].内蒙古:内蒙古大学,2013.

常国权(1973-),男,汉族,河南省清丰县人,安阳工学院计算机科学与信息工程学院讲师,毕业于东北电力大学信息工程学院,硕士研究生,研究方向为嵌入式系统技术应用与开发,changguoquan@ 126.com。

Design of a Heated Twin Temperature Sensor Used in Meteorology Observation*

HAN Xiaodan2,3,LIU Qingquan1,2,3*,YANG Jie4,5
(1.Jiangsu Collaborative Innovation Center on Atmospheric Environment and Equipment Technology,Nanjing 210044,China; 2.School of Electronic and Information Engineering,Nanjing University of Information Science and Technology,Nanjing 210044,China; 3.Jiangsu Key Laboratory of Meteorological Observation and Signal Processing,Nanjing 210044,China; 4.Key Laboratory for Aerosol-Cloud-Precipitation of China Meteorological Administration,Nanjing 210044,China; 5.School of Atmospheric Physics,Nanjing University of Information Science and Technology,Nanjing 210044,China)

Abstract:In order to compromise the measurement error caused by the deposition of water on the temperature sensors in high-altitude meteorological observation,a heated twin temperature sensor is proposed.The changes of the measurement error and time constant under different wind velocities and precipitation intensities are measured by alternately heating the two temperature sensing devices.By fitting the corresponding function,the error correction and precipitation intensity measurement are achieved.The test results show that under certain wind velocities and precipitation intensities,this design can reduce the error caused by water evaporation from±0.3℃to below±0.1℃.The precipitation intensity measurement error is±0.2 mm/min.Compared with traditional radiosonde temperature sensors,the heated twin temperature sensor features high precision and has the capability of error elimination.The measurement of precipitation intensity is also realized in this design.

Key words:temperature sensor; precipitation intensities; L-M algorithm; time constant

中图分类号:TP368.2

文献标识码:A

文章编号:1005-9490(2015) 03-0616-05

收稿日期:2014-07-31修改日期: 2014-08-20

doi:EEACC: 7230; 7320R10.3969/j.issn.1005-9490.2015.03.029

猜你喜欢

扇区串口蓝牙
蓝牙音箱的直线之美
分阶段调整增加扇区通行能力策略
浅谈AB PLC串口跟RFID传感器的通讯应用
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
管制扇区复杂网络特性与抗毁性分析
U盘故障排除经验谈
紧急:蓝牙指尖陀螺自燃!安全隐患频出
基于贝叶斯估计的短时空域扇区交通流量预测
数字电源内部数据传输的串口通信方法实现