generated from hulk/gd32e23x_template
31 lines
1.6 KiB
Markdown
31 lines
1.6 KiB
Markdown
# XLSW-3DP-Sensor-UltraSonic&IR
|
||
|
||
| **版本号** | **修改内容** | **日期** | **修改人** |
|
||
|:-------:|:--------:|:----------:|:-------:|
|
||
| v0.0.1 | 非稳定版本 | 2025-01-20 | Hulk |
|
||
| v0.2.0 | 硬件修改RS485接口芯片为SP3485(非自动换向) | 2025-06-03 | Hulk |
|
||
|
||
## US&IR传感器模块通信协议
|
||
|
||
通信协议:[US&IR通信协议](CommunicationProtocol.md)
|
||
|
||
---
|
||
|
||
## 300K超声换能头工作流程
|
||
### **1. 超声波发送**
|
||
通过TIMER13定时器,配置为输出300KHz的PWM信号,驱动超声换能头发射超声波。TIMER13的输出模式为PWM1模式,同时用TIMER13的更新中断触发次数进行计数。
|
||
最终使驱动引脚发送300KHz 50%占空比 5个周期的PWM信号。同时开启计时。
|
||
|
||
### **2. 超声波计时**
|
||
通过TIMER15定时器,配置为us计时器,并传入预先测得的超声消隐延时值(例如:230us)。该定时器用于在发送超声波后延时一段时间,确保接收通道不会受到发射信号的干扰。但是暂不开启该定时器。
|
||
同时在TIMER15的更新中断中断服务函数中,开启外部输入中断,用以检测超声回波,并开启TIMER16定时器。
|
||
TIMER16定时器输入捕获,用于计算超声回波的时间。
|
||
通过前面的消隐时间与回波时间的和值,计算出实际的距离值。
|
||
|
||
### **3. 距离值输出**
|
||
|
||
\[
|
||
\frac{\frac{(\verb|TIME_CORRECTION_US| + \verb|us_value|)\times 340\,\text{m/s}}{10^{3} \ast 10^{3}} }{2}
|
||
\]
|
||
|
||
其中,`TIME_CORRECTION_US`为超声消隐延时定时器的初始值,`us_value`为外部输入中断计数值。 |