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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于STC15单片机和SYN6288的机床语音报警系统设计∗常国权;彭云峰
【摘要】为了提高机床的易操作性,降低机床的损坏率,基于STC15F2K24S2高速单片机和SYN6288语音合成芯片设计出了一种具有较高性价比的机床语音报警系统,给出了该系统的硬件和软件设计的具体方案,并论述了硬件和软件设计中的要点。

该系统可以实时地向操作人员报告机床当前的状态信息或错误信息,系统的人机交互界面友好,操作方便灵活,可以有效地提高工作效率。

%In order to improve the operability of machine tool to reduce the damage rate of machine tool,a kind of ma-chine tool voice alarm system with high cost-effective based on high-speed STC15F2K24S2 MCU and SYN6288 speech synthesis chip is designed,not only the specific scheme of the hardware and software design is given,but also the key points of the hardware and software design are discussed. The system can timely report the machine tool’s current state or error message to the operators. It has friendly interface,convenient and flexible operation,and high work efficiency.
【期刊名称】《电子器件》
【年(卷),期】2015(000)003
【总页数】5页(P616-620)
【关键词】STC15F2K24S2;SYN6288;机床;语音报警系统;Android;蓝牙串口模块【作者】常国权;彭云峰
【作者单位】安阳工学院计算机科学与信息工程学院,河南安阳455000;安阳工
学院计算机科学与信息工程学院,河南安阳455000
【正文语种】中文
【中图分类】TP368.2
项目来源:工信部科技重大专项[2012-036]
机床作为金属加工最基础的设备之一,已广泛应用于工农业生产的各个方面[1]。

目前,数控机床的各种状态及错误信息都是以代码的形式显示在数字显示屏上,需要操作人员实时地去观察,非常不方便;而且操作人员需要牢记各种数控状态及错
误代码,需要花费大量的经费和时间对操作人员进行培训,常常由于人为地判断错误,致使机床的使用寿命缩短[2]。

基于这种现状,该设计采用STC15F2K24S2单片机和SYN6288语音合成芯片设计出了一种机床语音报警系统。

该系统采用6路光电隔离器对机床输出的63种数字信号进行采集、处理,单片机根据不同信号的类型从存储器中读取相应的语音文本信息,发送给SYN6288语音合成芯片进行语音合成,放大后驱动喇叭发出不同的语音提示及报警信息,实时向操作人员报告当前数控机床的状态信息或错误信息,以提高机床的易操作性。

系统还扩展了蓝牙串口模块,可以通过蓝牙模块和Android智能手机客户端进行数据或命令的传输,大大提高了该系统使用的方便性、灵活性。

数控机床使用6根信号线就可以向外部提供63种数字信号(具体信号的多少可以
根据实际需要来定),如:油压压力下降、换刀时间过长、轨道油油量不足、夹头在夹住状态量刀臂不能放下、必须将门先关上才能启动主轴等,因为这些信号的电平一般是24 V,所以要把这些信号通过光电隔离器隔离以后再传给STC单片机,单片机对数字信号分析,根据数字信号的类型从单片机EEPROM中读取相应的语音文本信息,通过单片机的串口2发给SYN6288语音合成芯片进行语音合成,并通
过音频功率放大器PAM8403进行功率放大,最后推动喇叭发出报警提示信息。

该语言报警系统所需的电源是由数控机床提供,并通过电源转换器转换为5 V电压,提供给单片机系统。

语音信息以及报警系统的系统参数信息等是以文本的方式存储在单片机EEPROM中的,这些文本信息是通过串口传给单片机的,考虑到智能手机应用地越来越广泛,可以通过智能手机的蓝牙模块和报警系统进行信息传输,因此,通过STC单片机的串口1扩展了蓝牙模块,并设计了基于Android系统的手机客户端软件,使得该报警系统设置更加方便、灵活。

系统的总体设计框图如图1所示。

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.3 SYN6288语音合成电路设计
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所示。

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所示。

语音报警系统的下位机软件是采用基于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,在主函数中进行数据处理。

通信数据帧格式如下所示。

识别码用于识别帧头,如果收到的数据中出现0xAB和0xBA,则认为这是一个新的数据帧。

长度字段指明数据帧长度,包括地址码、数据段和校验码字段。

地址码代表EEPROM对应的扇区。

校验码用来确保数据传输的正确性,接收到数据后,首先判断校验是否正确,正确则处理这一帧数据,不正确则丢弃。

校验码是地址码和所有数据的异或值。

考虑到STC15F2K24S2单片机有足够的处理速度,这里的机床信号采集是采用的软件查询的方法进行的,由图2可知,当机床的IN1~IN6输入端有输入信号时,单片机的P2.2~P2.7端口会跟着做相应的变化,因此,程序只需要查询P2.2~
P2.7的值Val,当其为非零时即表明机床有报警信号输入。

若有信号输入则以
Val×512作为首地址读取语音文本信息,并发送给SYN6288语音合成输出即可。

程序流程图如图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进行校验和数据解析,最后完成数据或参数的写入。

该设计叙述了机床语音报警系统的基本原理和设计方法,并分析了硬件和软件设计的具体方案。

系统可以对机床数字信号进行采集、处理,并给出语音报警信息,语音文本信息的更新既可以采用串口通信也可以采用基于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.。

相关文档
最新文档