蓝牙充电桩通讯流程

      最后更新:2022-02-10 09:09:02 手机定位技术交流文章

      1. 通讯流程

      自动回充分为机器端和充电桩端。机器端通过蓝牙与充电桩进行交互通讯。
      机器端电池达到一定电量时,开始与充电桩建立蓝牙连接,并完成一系列的握手通讯指令后开始充电。从建立蓝牙连接到开启充电的交互过程中,主要分以下几个步骤:

        1. 机器电量降至10%(暂定)后,开启蓝牙搜索附近充电桩,并与适配的、空闲的充电桩进行蓝牙连接。
        2. 蓝牙连接成功后,充电桩向机器端(蓝牙板)发送获取机器型号、设置充电电压、设置充电电流等信息,同时机器开始进行对桩。
        3. 机器端(蓝牙板)反馈机器型号、设置充电电压、设置充电电流信息给充电桩。
        4. 充电桩向机器端(蓝牙板)反馈是否匹配。如果匹配,继续进行下面步骤;如果不匹配,暂停对桩,断开蓝牙连接。
        5. 充电桩等待机器对桩成功且触发行程开关后,向机器端(蓝牙板)发送对桩成功信息。
        6. 机器端(蓝牙板)收到充电桩发送的对桩成功信息后,通知下位机刹车。并向充电桩发送可以开始充电信息。
        7. 充电桩向机器端(蓝牙板)反馈收到可以开始充电信息,开启充电。
        8. 充电过程中,充电桩通过蓝牙间隔500ms告知机器端(蓝牙板)输出电压、输出电流、电极片温度、行程开关状态、充电器故障状态等信息。
        9. 充满电后,机器上位机告知机器端(蓝牙板)停止充电,蓝牙板向充电桩发送停止充电信息。
        10. 充电桩接收到机器端(蓝牙板)发送的停止充电信息后,停止充电。

      通讯过程时序图如下,使用的是plantUML画的时序图。

      在这里插入图片描述

      2. 通信协议

      2.1 蓝牙串口透传通信的协议帧

      参考usb转can模块的协议如下:
      在这里插入图片描述

      初定充电桩与机器端(蓝牙板)进行蓝牙串口透传通信协议帧如下:

      帧头(2Bytes) can_id(2Bytes) 数据(8Bytes) size(1Byte) 帧尾(2Bytes)
      0x57,0x58 发送该数据的can设备id 数据 待发送数据长度 0xA8,0xA7
      • 备注:初步考虑充电桩和机器端蓝牙板分别使用不同的板卡can_id。

      2.2 蓝牙串口透传通信数据帧

      2.2.1 充电桩获取机器型号、设置电压、电流等信息

      CMD) 传输方向 单位 参考频率 Byte0 Byte1 Byte2 Byte3 Byte4 Byte5 Byte6 Byte7
      0xCA 充电桩->机器 0xCA 0 0 0 0 0 0 校验码

      备注:
      Byte1表示蓝牙连接状态:

      • 0x00–默认值;
      • 0x01–充电桩通知蓝牙板蓝牙连接成功;
      • 0x02–蓝牙未连接。

      Byte2表示匹配状态:

      • 0x00–默认值;
      • 0x01–充电桩通知蓝牙板匹配成功;
      • 0x02–匹配失败。

      Byte3表示对接状态:

      • 0x00–默认值;
      • 0x01–充电桩通知蓝牙板对桩成功;
      • 0x02–对桩失败;
      • 0x03–蓝牙板向充电桩反馈收到对桩成功信息。

      Byte5表示充电状态:

      • 0x00–默认值;
      • 0x01–充电桩通知蓝牙板开始充电;
      • 0x02–蓝牙板向充电桩反馈收到开始充电信息,充电桩收到后开始充电。

      Byte6表示停止充电状态:

      • 0x00–默认值;
      • 0x01–蓝牙板通知充电桩停止充电;
      • 0x02–充电桩向蓝牙板反馈收到停止充电信息,并停止充电。

      2.2.2 机器端反馈机器型号、设置电压、设置电流等信息

      CMD) 传输方向 单位 参考频率 Byte0 Byte1 Byte2 Byte3 Byte4 Byte5 Byte6 Byte7
      0xCB 机器->充电桩 0xCB 设置充电电压H 设置充电电压L 设置充电电流H 设置充电电流L 机器型号 机器型号 校验码

      备注:
      电压单位mV,电流单位mA。
      机器型号采用获取machineinfo中机型类型(byte01,bit015)来代替。

      2.2.3 充电桩反馈机器是否匹配

      CMD) 传输方向 单位 参考频率 Byte0 Byte1 Byte2 Byte3 Byte4 Byte5 Byte6 Byte7
      0xCA 充电桩->机器 0xCA 0 1:匹配,2:不匹配 0 0 0 0 校验码

      2.2.4 充电桩发送对桩成功信息

      CMD) 传输方向 单位 参考频率 Byte0 Byte1 Byte2 Byte3 Byte4 Byte5 Byte6 Byte7
      0xCA 充电桩->机器 0xCA 0 0 0x01:充电桩通知蓝牙板对桩成功;0x02:对桩失败,重新对桩。 0 0 0 校验码

      2.2.5 机器端反馈收到对桩成功信息

      CMD) 传输方向 单位 参考频率 Byte0 Byte1 Byte2 Byte3 Byte4 Byte5 Byte6 Byte7
      0xCA 机器->充电桩 0xCA 0 0 0x03:蓝牙板向充电桩反馈收到对桩成功信息 0 0 0 校验码

      备注:

      1. 充电桩在接收到该信息后,停止发送对桩成功信息;如果机器端未在10ms内反馈此消息, 充电桩将持续发送3次对接成功信息。
      2. 机器端需要增加一个判断条件:当自身与充电桩的距离满足开启充电要求时,再发送该条指令。
      3. 机器端(蓝牙板)收到此指令后需要通知下位机刹车。

      2.2.6 充电桩发送开始充电信息

      CMD) 传输方向 单位 参考频率 Byte0 Byte1 Byte2 Byte3 Byte4 Byte5 Byte6 Byte7
      0xCA 充电桩->机器 0xCA 0 0 0 0 0x00–默认值;0x01–充电桩通知蓝牙板开始充电; 0 校验码

      2.2.7 机器端反馈收到开始充电信息

      CMD) 传输方向 单位 参考频率 Byte0 Byte1 Byte2 Byte3 Byte4 Byte5 Byte6 Byte7
      0xCA 机器->充电桩 0xCA 0 0 0 0 0x02–蓝牙板向充电桩反馈收到开始充电信息,充电桩收到后开始充电。 0 校验码

      2.2.8 充电桩持续发送充电状态信息,间隔500ms

      CMD) 传输方向 单位 参考频率 Byte0 Byte1 Byte2 Byte3 Byte4 Byte5 Byte6 Byte7
      0xCC 充电桩->机器 0xCC 输出电压 输出电压 输出电流 输出电流 电极片温度 电极片温度 校验码

      备注:电压单位mV,电流单位mA,温度单位摄氏度。

      2.2.9 机器端发送停止充电信息

      CMD) 传输方向 单位 参考频率 Byte0 Byte1 Byte2 Byte3 Byte4 Byte5 Byte6 Byte7
      0xCA 机器->充电桩 0xCA 0 0 0 0 0 0x00–默认值;0x01–蓝牙板通知充电桩停止充电;0x02–充电桩向蓝牙板反馈收到停止充电信息,并停止充电。 校验码

      2.2.10 充电故障信息上报

      CMD) 传输方向 单位 参考频率 Byte0 Byte1 Byte2 Byte3 Byte4 Byte5 Byte6 Byte7
      0xCD 充电桩->机器 0xCD 状态位 0 0 0 0 0 校验码

      其中,状态位有以下几种:
      00:正常充电中;01:过热;02:过压;03:过流;04:短路;06:通讯超时。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/18106.html

          热门文章

          文章分类