倍加福超声波传感器UB4000-F42-U-V15参数:

  • General specifications
  1. Sensing range        200 ... 4000 mm
  2. Adjustment range    240 ... 4000 mm
  3. Dead band        0 ... 200 mm
  4. Standard target plate    100 mm x 100 mm
  • Indicators/operating means
  1. LED green    solid green: Power on
  2. LED yellow    solid: object in evaluation range
  3. LED red    normal operation: "fault"
  • Electrical specifications
  1. Operating voltage    17 ... 30 V DC , ripple 10 %SS
  2. No-load supply current    ≤ 60 mA
  • Output
  1. Output type    1 analog output 4 ... 20 mA
  2. Default setting    evaluation limit A1: 240 mm , evaluation limit A2: 4000 mm , wide sound lobe
  3. Resolution    0.7 mm

由上述参数可知,首先选用的是24的输入电压给传感器供电,而传感器的输出是0~10V的模拟量,由于beaglebone的ADC模块允许最大输入电压为1.8V,且返回的是一个12位数字量,即0~4095(2的12次方),所以为该超声波传感器设计一个降压电路.将该信号调节器的输出连接到8.2 KΩ和1 KΩ的分压电路。为了防止反向电流,我们可以在分压器和板子ADC接口之间提供一个二极管来保护电路。还可以使用电容并联减少噪声.

考虑到实验室电阻的类型和数据的方便运算将R1变成10KΩ,这样输入的电压范围就在0~1V之间,而不是之前的0~1.8V了。

根据实验获得超声波感知障碍物的距离和beaglebone控制器的ADC输出模拟量数值的关系为:


   其中: Uadc为模拟量ADC的值,Udis为障碍物的距离(mm)

对于传感器的接线方式如下:

  • 棕色+U---->电源正极(17-30V)
  • 蓝色-U---->电源负极(GND)
  • 白色Teach in----->N/C
  • 灰色Sync----->N/C
  • 黑色Analog Output

注意:

  1. 板子的GND是ADC的GND,对应引脚为P9-34
  2. ADC引脚用的是AIN0,对应引脚为P9-39
  3. Output经过10KΩ电阻最后还要接回电源负极形成回路

总体接线如图:

最后编写程序读取ADC值和转换的障碍物距离:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <pthread.h>//在time.h文件中,还定义了一个常量CLOCKS_PER_SEC,它用来表示一秒钟会有多少个时钟计时单元
#include <time.h>
// 加载设备树
#define SLOTS "/sys/devices/bone_capemgr.9/slots"
#define Ultrasonic "/sys/bus/iio/devices/iio:device0/in_voltage0_raw"// Ultrasonic variable
char ult_value[10];
int limit;
FILE *stream = NULL;// clock()是C/C++中的计时函数,而与其相关的数据类型是clock_t,头文件在linux下应该是time.h,而不是ctime
clock_t begin ,end;int main(int argc, char **argv)
{   int fd;int i = 0;// 打开文件,只写模式fd = open(SLOTS,O_WRONLY);if(fd < 0){printf("failed to open slots\n");}write(fd,"BB-ADC",6);close(fd);begin = clock();// 100000次采样输出所用的时间while (i<100000){stream = fopen(Ultrasonic,"r+");// 从一个流中执行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结束。这与fgets有区别,fgets遇到空格不结束。fscanf(stream,"%s",ult_value);fclose(stream);// atoi是把字符串转换成整型数的一个函数limit = atoi(ult_value);// 实验测得的障碍物距离和ADC值的关系double Udis = (limit + 446.2) / 2.22 ;printf("ult_value= %d ",limit);printf("Udis_value= %f ",Udis);i++;}end = clock();unsigned Time = (end - begin)*1.0/CLOCKS_PER_SEC * 1000;printf("time = %d,i = %d\n",Time,i);return 0;
}

Beaglebone上使用倍加福超声波传感器相关推荐

  1. 倍加福超声波传感器 UB2000-F42-E5-V15

    倍加福超声波传感器 UB2000-F42-E5-V15 开关输出 极小的不可用区域 示教 干扰抑制(在近距离内声锥的发散可调) 温度补偿 同步选项 常开/常闭可选 产品阐述 单头系统 通用规格 感应范 ...

  2. 倍加福超声波传感器UCC1000-30GM-IUR2-V15

    倍加福超声波传感器UCC1000-30GM-IUR2-V15 超声波传感器 UCC1000-30GM-IUR2-V15 通过带 PTFE 涂层的传感器表面提供较高的耐化学性 参数化接口,用于通过服务程 ...

  3. 距离传感器控制灯泡代码_如何使用颜色传感器和超声波传感器检测障碍物和避障...

    上一期的内容中,我给大家介绍了如何使用触碰传感器检测障碍物和避障,今天我们再来说说如何使用颜色传感器和超声波传感器检测障碍物和避障. 使用颜色传感器 在大多数情况下,EV3颜色传感器并不适合用于障碍物 ...

  4. hc sr04流程图_超声波传感器HC-SR04完整应用以及程序讲解

    带有Arduino的超声波传感器HC-SR04完整应用指南 本文是有关流行的超声波传感器HC – SR04的应用指南.我们将解释其工作原理,向您展示其某些功能,并分享一个您可以遵循的Arduino项目 ...

  5. 全面了解超声波传感器

    为了研究和利用超声波,人们已经设计和制成了许多超声波发生器.总体上讲,超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波. 电气方式包括压电型.磁致伸缩型和电动型等:机 ...

  6. mbot机器人自动超声波模式程序_利用mBot智能机器人使用超声波传感器解决问题...

    一.观察图片,分析原理 教师引导学生分析(如图1):汽车在倒车过程中是如何判断出后方有障碍物的?这是根据什么原理实现的? 师生分析得出结论:汽车的尾部安装了倒车雷达,可以判断汽车与障碍物的距离,而倒车 ...

  7. 倍加福UB300-18GM40-U-V1超声波传感器

    倍加福UB300-18GM40-U-V1超声波传感器 超声波传感器 UB300-18GM40-U-V1 短款设计,40 mm 功能指示器从所有方向均可见 模拟量输出 0 - 10 V 测量窗口可调 程 ...

  8. 机器人上使用超声波传感器的原理

    超声波传感器的原理? 超声波传感器是用来测量物体的距离.首先,超声波传感器会发射一组高频声波,一般为40-45KHz,当声波遇到物体后,就会被反弹回,并被接受到.通过计算声波从发射到返回的时间,再乘以 ...

  9. 倍加福UC6000-30GM-IUR2-V15超声波传感器

    倍加福UC6000-30GM-IUR2-V15超声波传感器 参数化接口,用于通过服务程序 ULTRA 3000 根据具体应用调整传感器设置 模拟电流和电压输出 同步选项 可调声功率和灵敏度 温度补偿 ...

最新文章

  1. Java断点续传(基于socket与RandomAccessFile的实现)
  2. 简单两步使用node发送qq邮件
  3. CVPR 2020 | 元学习人脸识别框架详解
  4. dojo Quick Start/dojo入门手册--开始使用dojo.js
  5. 浏览器窗口尺寸clientHeight / scrollHeight / offsetHeight / innerHeight
  6. java多线程图片压缩包_年轻人不讲武德,竟然还搞不懂JVM?求你们来看阿里Java开发岗的招聘要求吧!...
  7. c访问mysql数据库_C语言访问MySQL数据库的方法
  8. PAT 1051-1060 题解
  9. 关于UIAlertAction如何修改sheet上的字体颜色
  10. 全网首发:无线网桥的延迟太大,有时达到10秒以上
  11. 基于虚拟打印的PDF文档归档探索
  12. 七种常见的电子邮件安全协议简析
  13. 怎么样用香港主机搭建游戏网站
  14. 【图像超分辨率重建】——HAN论文阅读笔记
  15. java测试smtp连接失败_java – MailConnectException:无法连接到主机,端口:smtp.sendgrid.net...
  16. 信息系统项目管理师----成本类计算
  17. C语言-大端存储和小端存储
  18. 信息系统项目管理师(2022年)—— 重点内容:项目合同管理(13)
  19. k8s-集群管理系统-KubeSphere2.1.0搭建与测试
  20. i春秋“网络内生安全试验场”CTF答题夺旗赛(第四季)部分题目WP

热门文章

  1. 虾皮跨境店和本土店区别是什么—扬帆牧哲
  2. 【复习笔记】集成运放
  3. 黑白线循迹小车利用STM32F407与三个红外对管实现
  4. 目标检测算法SSD结构详解
  5. 接口【四】继承父类并实现多个接口
  6. 什么软件能转换qlv格式视频无需工具转换方法
  7. iOS10.1-10.2越狱方案
  8. X86 X64 区别
  9. 移动机器人调度监控软件全面升级(一)
  10. 【AndroidQ】how to enable dynamic partition on msm8953