硬件系统组成:主控单元、支付模块、货道驱动、制冷系统、显示触控屏

好,咱们这一章来聊聊售货机的五脏六腑。说白了,一台轨道交通售货机能不能扛得住每天几千次交易,关键就看这几个核心模块配合得怎么样。我这些年调试过的机器少说也有上千台,每次拆开外壳,第一眼扫过去,心里基本就有数了——哪个模块容易出幺蛾子,哪个接线方式看着就不靠谱,一眼就能看出来。

主控单元:整台机器的大脑

主控单元,我习惯叫它MCU板或者工控板。这是整台售货机的决策中心。你想想看,乘客扫码支付了,谁去判断钱到没到?货道电机谁去驱动?制冷压缩机什么时候启动?全都是这块板子在管。

目前主流方案有两种:

  • 工业级ARM Cortex-M4/M7方案:适合中低端机型,成本低,功耗小。我在广州地铁项目里用过STM32F407,跑FreeRTOS,稳得很。
  • 嵌入式Linux工控板方案:适合带复杂UI、远程运维、广告播放的高端机型。比如全志A40i、瑞芯微RK3288。深圳机场的机器基本都是这个方案。

核心选型参数:

  • 工作温度范围:-20℃ ~ +70℃(轨道交通环境,夏天站台能到60℃)
  • IO口数量:至少预留8路以上扩展
  • 通信接口:RS485、CAN、以太网缺一不可
  • 看门狗:硬件独立看门狗,必须要有

嗯,这里要注意一点。主控板的电源输入一定要做防反接和浪涌保护。我曾经在成都地铁调试时,一台机器莫名其妙反复重启,查了两天才发现是电源模块的TVS管焊错了型号。你说冤不冤?

支付模块:钱的事儿,一点不能含糊

支付模块现在基本是扫码支付的天下了,但硬币器和纸币器依然要保留。为什么?轨道交通站内网络信号有时候不稳定,现金是最后的保底方案。

我建议的支付模块配置方案:

模块类型 接口协议 推荐品牌/型号 备注
4G/WiFi通信模组 TCP/MQTT 移远EC20、广和通L610 双卡双待,主备切换
扫码支付盒 USB/RS232 商米、新大陆 支持微信、支付宝、数字人民币
硬币器 MDB/RS232 CoinCo、NRI 识别率要99.5%以上
纸币器 MDB/USB MEI、ICT 支持1元、5元、10元、20元

支付模块的调试,我个人有个习惯——先做离线模拟测试。用串口调试助手模拟支付成功指令,看主控能不能正确响应。别一上来就真金白银地测,万一程序有bug,一天亏几百块不是开玩笑的。

避坑指南:我曾经在南京地铁项目里,发现扫码支付后货道不动作。查了半天,原来是支付模块返回的“成功”指令里多了一个换行符,主控的字符串解析没处理好。从那以后,我要求所有支付模块的通信协议必须做容错处理,哪怕多一个空格都不能崩。

货道驱动:电机转不转,就看这里

货道驱动说白了就是控制电机转动的电路。常见的货道类型有螺旋弹簧货道、履带货道、格子柜货道。每种货道的驱动方式不太一样。

我列一下典型的驱动电路参数:

  • 螺旋弹簧货道:直流12V/24V电机,额定电流0.5A~1.5A,需要正反转控制
  • 履带货道:步进电机,需要细分驱动,电流1A~3A
  • 格子柜货道:电磁锁,12V脉冲驱动,瞬间电流可达2A

驱动电路的核心是MOS管或者继电器。我个人更倾向于用MOS管,因为继电器有机械寿命,轨道交通环境震动大,继电器触点容易抖动。你想想看,乘客买瓶水,结果货道因为继电器抖动多转了一圈,掉下来两瓶——那可就亏了。

// 货道驱动控制示例代码(伪代码)
void vending_motor_control(uint8_t channel, uint8_t direction) {
    // 使能对应通道的MOS管
    HAL_GPIO_WritePin(MOTOR_EN_GPIO_Port, MOTOR_EN_Pin, GPIO_PIN_SET);
    // 设置方向
    HAL_GPIO_WritePin(MOTOR_DIR_GPIO_Port, MOTOR_DIR_Pin, direction);
    // 延时500ms(根据货道类型调整)
    HAL_Delay(500);
    // 关闭MOS管
    HAL_GPIO_WritePin(MOTOR_EN_GPIO_Port, MOTOR_EN_Pin, GPIO_PIN_RESET);
}

重要提醒:货道驱动一定要做电流检测和堵转保护。如果电机卡住了,驱动电路还在持续供电,轻则烧MOS管,重则引起火灾。轨道交通站台人员密集,安全是第一位的。我设计的电路里,每路驱动都串联了一个自恢复保险丝,外加电流采样电阻,一旦电流超过阈值,主控立即切断电源。

制冷系统:饮料不冰,谁买啊?

制冷系统是售货机里最耗电的部分,也是故障率最高的部分。轨道交通站台的售货机,一天开关门无数次,冷气跑得快,压缩机启动频繁。

制冷系统的主要部件:

  • 压缩机:通常用R134a或R600a制冷剂,功率80W~200W
  • 冷凝器:风冷式,需要定期清理灰尘
  • 蒸发器:藏在机器内部,负责吸热
  • 温控传感器:NTC热敏电阻,精度±0.5℃

温控逻辑其实不复杂:设定温度比如4℃,当传感器检测到温度高于6℃时启动压缩机,低于3℃时停止。但这里有个坑——传感器安装位置。我见过有人把传感器贴在蒸发器翅片上,结果压缩机刚启动几分钟就停了,因为蒸发器表面温度降得快,但箱体内饮料还是温的。

我的经验:传感器应该悬空安装在回风区域,不要贴着任何金属表面。另外,压缩机启动间隔至少要3分钟,频繁启停会烧压缩机。我在程序里加了一个计时器,压缩机停止后3分钟内不允许再次启动,不管温度多高都不行。

显示触控屏:乘客的第一印象

触控屏是乘客和机器交互的窗口。轨道交通环境光线复杂,有强光直射,也有昏暗的角落。屏幕选型要注意几点:

  • 亮度:至少500cd/m²,最好能自动感光调节
  • 视角:IPS面板,全视角,178°以上
  • 触摸:电容屏,支持手套操作(冬天乘客戴手套)
  • 防护:表面硬度≥7H,防刮擦

尺寸方面,15.6英寸和21.5英寸是主流。我个人偏爱21.5英寸,显示内容多,广告位也大,运营方喜欢。

触控屏的通信接口通常是LVDS或eDP,通过主控板的显示接口连接。调试时最容易出问题的是触摸校准。我建议在出厂前做一次完整的四点校准,并且把校准参数保存在EEPROM里,不要每次开机都校准,浪费时间。

显示触控屏调试清单:

  1. 检查背光亮度是否均匀,有没有暗区
  2. 触摸响应延迟是否在100ms以内
  3. 强光下是否反光严重(需要贴AG膜)
  4. 屏幕和外壳之间有没有缝隙(防水防尘)

好了,这五个核心模块咱们都过了一遍。你可能会问,这些模块之间怎么通信?嗯,下一章我会专门讲系统集成中的通信协议和总线架构。到时候咱们再细聊RS485和CAN总线的那些事儿。