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,传感器用霍尔。

下一章,咱们就开始画原理图了。到时候我会详细讲,主控芯片的每个引脚怎么接,电源怎么设计,怎么避免干扰。你想想看,如果原理图画错了,后面焊板子全是白费功夫。所以,这一章的基础一定要打牢。

有什么问题,随时在群里问我。咱们下章见。