1. 项目概述与需求分析:电梯语音播报系统功能定义、应用场景分析、技术选型
各位同学,咱们今天正式开干。
做嵌入式项目,最怕什么?最怕一上来就画板子、写代码。我见过太多人,焊完板子才发现功能定义不清楚,最后推倒重来。所以,咱们第一步,先把需求聊透。
1.1 功能定义:这个系统到底要干什么?
说白了,电梯语音播报系统,就是让电梯学会“说话”。
它要完成三件核心事:
- 楼层播报:电梯到达某层,清晰报出“一楼到了”、“五楼到了”。
- 方向提示:电梯关门启动时,播报“电梯上行”或“电梯下行”。
- 状态提醒:比如超载时,播报“电梯超载,请后下”。
嗯,这里要注意。功能定义不能只写“播报楼层”。你得细化到:
- 播报时机:是开门瞬间播,还是门完全打开后播?
- 播报优先级:超载报警和楼层播报同时触发,谁先谁后?
- 音量控制:白天和晚上音量是否需要自动调节?
我在项目中遇到过,客户验收时才发现,电梯在负一层时播报“负一楼到了”,但语音库里没有“负”这个字。你看,这就是需求没定义清楚的结果。
1.2 应用场景分析:你的电梯装在哪里?
你想想看,不同场景对系统的要求完全不一样。
| 场景 | 特点 | 对系统的影响 |
|---|---|---|
| 住宅楼 | 楼层少(6-18层),使用频率中等 | 语音播报内容简单,成本敏感 |
| 写字楼 | 楼层多(20-40层),早晚高峰密集 | 需要快速响应,不能有播报延迟 |
| 商场 | 环境嘈杂,可能有背景音乐 | 语音音量要足够大,最好支持外接功放 |
| 医院 | 需要安静,但又要清晰 | 音量自动调节,夜间模式 |
我个人习惯,在项目启动前,先问客户一句:“电梯装在什么环境里?” 这能帮你省掉至少一半的后期麻烦。
1.3 技术选型:主控芯片、语音模块、传感器
好,需求清楚了,场景也定了。接下来就是选型。我建议你按这个顺序来:先定传感器,再定语音模块,最后定主控芯片。为什么?因为传感器和语音模块往往决定了主控的接口需求。
1.3.1 主控芯片
咱们这个项目,不需要跑Linux,也不需要复杂的图形界面。一颗性价比高的MCU就够了。
- STM32F103C8T6:我用的最多的方案。72MHz主频,20KB RAM,64KB Flash。价格便宜,资料多,适合教学和量产。
- GD32F103:国产替代方案,性能与STM32相当,价格更低。如果你做产品,可以考虑。
- ESP32:如果你需要Wi-Fi或蓝牙功能(比如远程更新语音),选它。但功耗和成本会高一些。
我个人建议,初学者先用STM32F103。为什么?因为遇到问题,网上随便一搜就有答案。我曾经用GD32踩过一个坑——它的ADC采样时序和STM32不完全一样,折腾了两天才搞定。
1.3.2 语音模块
语音播报,核心就是语音模块。市面上主流的有两种方案:
- SYN6288:中文语音合成芯片。你只需要通过串口发送文本,它就能合成语音。优点是灵活,缺点是音质一般,有点“机器人味”。
- WT588D:语音播放芯片。你需要提前把语音文件(MP3或WAV)烧录进去。优点是音质好,缺点是修改内容需要重新烧录。
我建议咱们这个项目用 SYN6288。为什么?因为电梯播报内容可能会变(比如临时增加“欢迎光临”),用文本合成的方式,改起来方便。你只需要改一行代码,不用重新烧语音文件。
重要提示:SYN6288的串口波特率默认是9600。如果你用STM32的HAL库,记得初始化USART时匹配这个波特率。我见过有人设成115200,结果语音模块完全不响应。
1.3.3 传感器
电梯怎么知道到哪一层了?靠传感器。
- 霍尔传感器:安装在电梯井道里,每层一个磁铁。电梯经过时,霍尔传感器输出脉冲。主控通过计数脉冲,就知道到了第几层。
- 光电传感器:类似原理,用光栅代替磁铁。优点是精度高,缺点是怕灰尘。
- 电梯控制器通信:直接读取电梯主控板的楼层信号(通常是并行IO或CAN总线)。这是最可靠的方式,但需要电梯厂商开放协议。
咱们这个项目,我建议用 霍尔传感器 + 脉冲计数 方案。成本低,实现简单,而且不依赖电梯厂商的协议。你想想看,如果客户说“我家的电梯是XX品牌的,你们能不能接?” 你总不能说“不行,得看人家心情”。
避坑指南:我曾经在项目里用光电传感器,结果电梯井道里灰尘太大,一个月后传感器就失灵了。后来换成霍尔传感器,再也没出过问题。所以,工业环境,优先考虑霍尔。
1.4 系统框图
来,咱们把整个系统的架构理一遍:
+-------------------+ +-------------------+
| | | |
| 霍尔传感器 1 | ----> | |
| (楼层检测) | | |
| | | 主控芯片 |
| 霍尔传感器 2 | ----> | (STM32F103) |
| (方向检测) | | |
| | | |
| 电梯门状态信号 | ----> | |
| (开门/关门) | | |
+-------------------+ +--------+----------+
|
| UART
|
+------v----------+
| |
| 语音模块 |
| (SYN6288) |
| |
+--------+---------+
|
| 音频线
|
+------v------+
| |
| 功放+喇叭 |
| |
+-------------+
这个框图,说白了就是:传感器采集信号 → 主控判断逻辑 → 主控发指令给语音模块 → 语音模块播报。
嗯,这里要注意。霍尔传感器的安装位置很关键。如果装偏了,电梯可能还没到楼层就播报了。我建议你在电梯井道里,每层装两个霍尔传感器,一个用于确认到达,一个用于防抖。
1.5 本章小结
好,咱们把第一章的内容捋一捋:
- 功能定义:播报楼层、方向、状态提醒,优先级要明确。
- 应用场景:住宅、写字楼、商场、医院,对音量、响应速度要求不同。
- 技术选型:主控用STM32F103,语音用SYN6288,传感器用霍尔。
下一章,咱们就开始画原理图了。到时候我会详细讲,主控芯片的每个引脚怎么接,电源怎么设计,怎么避免干扰。你想想看,如果原理图画错了,后面焊板子全是白费功夫。所以,这一章的基础一定要打牢。
有什么问题,随时在群里问我。咱们下章见。