迪文科技论坛

 找回密码
 立即注册
搜索
查看: 25|回复: 0

【分享】 25级 刘梓良 基于超声波测距的智能测距刹车系统

[复制链接]

2

主题

0

回帖

35

积分

新手上路

Rank: 1

积分
35
发表于 4 天前 | 显示全部楼层 |阅读模式
一、作品简介本作品以迪文 T5L 智能屏为交互平台,结合 HC-SR04 超声波测距模块与 GM6020 电机,制作了一个智能测距与电机联动的演示原型。屏幕设有“开始使用”“距离预设”和“简介”页面:既可以读取传感器测得的距离,也可以手动设置距离,观察电机在不同输入下的响应。
系统将测距结果显示在屏幕上,并根据距离生成 PWM 指令,由 P2.6 引脚发送至 GM6020 电机。作品重点展示了传感器采集、迪文屏变量读写、界面交互和电机控制信号之间的完整数据流程。
二、工作原理1. 超声波测距
屏幕 OS CPU 通过 P2.1 向 HC-SR04 的 TRIG 引脚发送触发脉冲,再从 P2.0 读取 ECHO 回波。程序利用定时器测量回波高电平持续时间,将其换算为距离。为减小单次测量的波动,程序每取得五次有效结果后计算平均值,并将距离写入 DGUS 变量 0x2000。该变量占用两个 VP 字,数值单位为 0.01 cm。界面显示用的整数厘米数另写入 0x0200。
程序还以 10 cm 和 25 cm 为分界,更新近、中、远距离对应的界面状态。
2. 两种输入方式
在实时测距模式下,PWM 指令由超声波测量结果决定。在距离预设模式下,用户可通过界面设置 0~100 cm 的距离,由程序读取预设变量 0x0300,用于观察不同距离对应的电机响应。不使用系统时,程序保持电机的中位 PWM 指令。
3. PWM 输出
程序使用定时器 0 在 P2.6 连续产生周期约 20 ms、频率约 50 Hz 的 PWM 信号,并根据距离调整高电平脉宽。上电初期及测距回波超时时,输出 1500 µs 指令,避免继续使用失效的测距结果。
当前源码将 0~100 cm 线性映射为 1080~1980 µs。GM6020 须预先设置为 PWM 速度模式;在该模式下,1500 µs 附近为零速区,零速区两侧分别对应不同转向。因此当前程序展示的是“距离变化引起电机指令变化”,实际制动效果还需进一步调整映射并进行实机验证。
三、设计思路与特点设计时将系统分为距离输入、界面显示和 PWM 输出三个部分。实时测距与手动预设共用同一套距离到 PWM 的计算过程,便于对照观察;定时器中断负责持续产生 PWM,使主程序在测距和访问屏幕变量时,电机仍能收到连续信号。
针对超声波模块可能出现的无回波情况,程序设置了等待超时处理;进入空闲模式或测距失败时,PWM 回到 1500 µs。屏幕页面将实时距离、预设操作和项目说明分开呈现,方便演示各部分的作用。
下一步计划结合 GM6020 速度模式的零速区,调整近距离的 PWM 指令,并测试不同距离下的实际转速,使系统逐步实现“障碍物越近,电机越慢”的制动目标。
四、演示视频

五、附件上传


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2026-11-4 11:42 , Processed in 0.040910 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表