嘿!您似乎在 United States,您想使用我们的 English 网站吗?
Switch to English site
Skip to main content

将 Digilent Pmod MAXSonar 与 Arduino Due 结合使用

该项目演示了如何在三种不同的测量模式下将声学测距仪 Pmod MAXSonar 与 Arduino Due 结合使用。

零件清单

数量 产品 库存编号
1 Digilent Pmod MAXSONAR Maxbotix Range Finder Expansion Board 240-071 134-6439
1 Arduino, Due Development Board 769-7412

Pmod MAXSonar 是一种超声波测距仪。 它由 MaxBotix® LV-MaxSonar®-EZ1™ 提供动力,能够以每 50 毫秒 1 英寸(2.54 厘米)的精度测量 6 - 255 英寸(15 - 648 厘米)范围内的距离。

与 Pmod MAXSonar 接口

Pmod MAXSONAR 通过 UART 协议、模拟输出和 PWM 时序与 Arduino 通信。 UART协议配置波特率为9600,8位,无奇偶校验,单停止位。 模块可以采用 3.3V 或 5V 供电。 这是引出线表

Pin Signal
1 Analog Output (AN)
2 Receive Data (RX)
3 Transmit Data (TX)
4 Pulse-Width Modulation (PWM)
5 Ground (GND)
6 3.3V/5V Power Supply (Vcc)

时序说明

Pmod MAXSonar 需要 250 毫秒上电,然后如果 (RX) 引脚处于浮动或逻辑电平高电压,则将执行自校准。 校准需要 49 毫秒,再经过 100 毫秒的等待时间后,模块将能够每 49 毫秒获取一次测量读数。

每个 49 毫秒周期从 RX 为高电平或打开开始,之后 Pmod MAXSonar 发送传输突发,之后脉冲宽度引脚 (PW) 设置为高电平。 当检测到物体时,PW 引脚被拉低。 如果未检测到物体,PW 引脚将保持高电平长达 37.5 毫秒。 49 毫秒的剩余时间(少了 4.7 毫秒)用于将模拟电压调整到正确的水平。 当短距离读数后立即测量长距离时,模拟电压可能无法在一个读取周期内达到准确的电平。 在最后的 4.7 毫秒内,串行数据被发送。

pmodmaxsonar_timingdiagram1_b922dcc4a94082a4fbc16e26fe8f63d08b65b342.png

通过 TX、AN 或 PW 引脚捕获距离

当 RX 引脚悬空或保持在逻辑电平高电压时,将通过 TX 引脚发送 5 个字节,以大写 ASCII 字符“R”开头,三个 ASCII 数字表示检测到的距离,以及一个回车符( ASCII 字符 13).

还可以读取表示 Pmod MAXSONAR 前方物体的测量距离的模拟信号。 输出具有九位分辨率。 使用 3.3V 的电源,每英寸相当于 ~6.4 mV。 使用流行的 10 位 ADC 测量传入模拟信号的用户必须在计算报告距离之前将其测量值除以 2。

Pmod MAXSONAR 还通过脉冲宽度调制信号提供距离数据。 每 147 uS 引脚在逻辑电平高电压状态下被测量相当于 1 英寸远。 如果测量信号为高电平持续 2.205 毫秒,则检测到的物体距离 Pmod MAXSONAR 前方 15 英寸。 37.5 毫秒的最大测量脉冲时间表明在 Pmod 的 255 英寸范围内没有物体。

连接到 Arduino Due

  1. Pmod Vcc 至 Arduino Due 3V3
  2. Pmod GND 到 Arduino Due  GND.
  3. Pmod AN 到 Arduino Due A0 (模拟模式)
  4. Pmod PW 到 Arduino Due D2 (用于脉宽测量)
  5. Pmod RX 和 TX 引脚到 Serial3 (引脚14和15) 用于UART 通信

测量结果显示在串行监视器中

result_647a999e87619668404be30ca63f729e2c98babe.png

                                                                                            

下载

awong 还没写个人简介...