一、项目背景与应用场景
本项目以工业自动化装配生产线为目标场景,针对生产线中“机械臂 -工件”“工件 -人员” 的安全距离监测需求,依托 RA6M4MCU 构建综合监测系统。该场景下,需实时完成三项核心任务:一是通过光敏传感器采集生产线环境光强(适配ADC功能),保障照明条件符合操作规范;二是驱动超声波模块(HC-SR04/JSN-SR04T)监测机械臂与工件的距离(适配定时器、ADC综合应用),避免碰撞;三是将距离数据、光强数据通过串口上传至上位机(适配UART/SCI),同时通过DAC输出波形控制警示灯亮度,最终为生产线安全检测功能提供硬件与软件验证基础。
二、项目组成
项目核心围绕
RA6M4 MCU的五大功能模块展开,各模块职责与测评目标对应如下:
ADC信号采集模块:连接光敏传感器,完成 12位单通道采样,输出光强数据至串口 /LCD,目标精度≥11位、速率≥100KSPS;
DAC 波形输出模块 :生成正弦 /三角波,控制警示灯亮度,通过示波器验证失真率,目标频率≥10kHz、THD<1%;
多路串口通信模块 :移植Modbus 协议,实现MCU与上位机的双向通信,目标波特率≥1Mbps、误码率<10⁻⁶;
高精度定时器模块 :通过GPT 生成PWM驱动机械臂辅助电机,通过 AGT实现超声波回波的输入捕获,目标分辨率≤1μs、误差<0.1%;
超声波测距综合模块 :整合定时器(触发捕获)与ADC(数据辅助校准),实现10~1000cm测距,经滑动滤波后精度达 ±1cm、刷新率≥10Hz。
三、开发环境准备
软件工具链 :IDE采用 e²studio(版本 V2024.04)搭配RenesasFSP(V4.5.0),支持MCU外设可视化配置;调试器使用板载J-Link,实现代码烧录与实时调试;
核心库与协议 :基于FSP HAL 库开发ADC/DAC/UART/TIM驱动,移植 nanoMODBUS库实现串口协议解析,借助 GitCode搭建代码仓库管理工程;
可视化工具 :采用串口虚拟示波器(https://github.com/CieNTi/serial_port_plotter),实时显示ADC采样数据与超声波测距结果,辅助性能分析。
四、软硬件准备
| 设备名称 |
用途 |
适配模块 |
|---|
| RA6M4 开发板 |
核心控制单元 |
全模块 |
| 光敏传感器(BH1750) |
ADC 模拟信号输入 |
ADC 采集模块 |
| 示波器(Tektronix TBS1052) |
验证DAC 波形失真与ADC 精度 |
ADC/DAC 测试 |
| HC-SR04 超声波模块 |
距离检测 |
综合测距模块 |
| 上位机PC(Windows 10) |
串口数据接收与显示 |
串口通信模块 |
| 直流电机(12V) |
验证定时器PWM 驱动 |
定时器模块 |
| LCD 显示屏(240×280) |
本地显示ADC / 测距数据 |
ADC / 综合模块 |
| 杜邦线、12V 电源适配器 |
硬件连接与供电 |
全模块 |
1.LCD


参考Arduino 进行连接,找到开发板原理图标记相应引脚

2.光敏传感器

3.HC-SR04超声传感器

最终的电路连接如下

(二)软件准备
基础工程:通过FSP 配置ADC(单通道、12位分辨率)、DAC(波形生成模式)、UART(波特率1Mbps)、GPT/AGT定时器(分辨率 1μs);
功能代码:ADC采样中断服务函数、DAC波形数据生成函数、Modbus协议帧解析 /封装函数、定时器 PWM生成与输入捕获函数、滑动滤波算法(5点滑动平均);
测试脚本:上位机串口大数据量传输测试脚本(发送10万帧数据统计误码)、超声波测距精度对比脚本(记录10~1000cm各距离误差)。
五、测试环境
模块测试环境 :ADC测试(光敏传感器 +LCD,暗箱 /强光环境模拟光强变化)、DAC测试(示波器直接连接 DAC输出引脚,观测 THD与频率)、串口测试(PC通过 USB转串口连接 MCU,用Modbus工具发送大数据包)、定时器测试(示波器测PWM输出占空比误差,信号发生器输入标准脉冲测捕获精度);
综合测试环境 :模拟生产线场景,将RA6M4开发板、超声波模块(安装于机械臂旁)、上位机串联,机械臂带动工件在10~1000cm范围内移动,记录测距精度、刷新率及串口数据稳定性。
六、系统框图与程序流程图
(一)系统框架

(二)超声波测距程序流程图

|