你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【NUCLEO-L476RG开发】+传感器系列第一帖——红外!多图慎入 精华  

[复制链接]
星辰一方 提问时间:2015-11-4 15:47 /
本帖最后由 星辰一方 于 2015-11-20 19:56 编辑

【NUCLEO-L476RG开发】+比较器COMP1试用
【NUCLEO-L476RG开发】+传感器系列第二贴——MPU6050
【NUCLEO-L476RG开发】+传感器系列第三贴——玩转超声波测距



这是我的L476试用贴第一帖。传感器:【红外对管】,首先,红外包括用于夜视照明、通讯、检测等多种领域各种各样,本帖中提到的红外只红外对管,就是最简单的那种红外反射和接收二极管。
实验目的:1、使用cubemx和HAL库函数,学习与熟悉PWM输出、AD转换、DMA传输、串口输出、I/O外部中断等的操作步骤;
2、探究红外对管发射接收过程,讨论红外对管用于距离测量(10cm近距离)的可行方案。

实验内容:1、使用HAL库配置TIM2的CH1为PWM输出,通过三极管驱动红外发射管,控制红外发射强度;


2、打开ADC1中10个AD通道,并使用DMA方式连续转换200组数据,经串口打印输出,按键每按下一次,进行一次200组数据的转换并打印输出;
3、进行printf重定向;
4、对红外测量数据进行对比分析,评估红外测距的可行性,和大家讨论红外测距方案设计。

下面是详细过程:
1】电路原理图和实验板连接:
IMG_2910.JPG IMG_2911.JPG 电路很简单,不详述过程了,看不明白的可以跟帖讨论,下同。
2】cubemx工程创建:
配置ADC1,打开图中10个通道,配置为单端输入。(实验中只用到一个通道,此处只是为了练习多通道ADC配置过程和数据在Scan模式下的传输及数据组织形式)
001.png
打开定时器2的CH1,使能定时器时钟
005.png
打开USART2为异步,如下图
010.jpg

时钟配置,使用默认即可,无需特殊配置,如下:
015.jpg

打开TIM2配置页面,配置预分频、计数周期、占空比三个参数,如下图:
020.jpg

打开TIM2全局中断
025.jpg

配置ADC1,这一步非常关键,而且需要配置的参数也很多,一定一定要严格按照下图所示配置,未显示部分按照rank1配置,注意通道要依次往下选,不要选重复了,如下图:
030.jpg

打开ADC1中断
035.jpg

增加ADC1的DMA通道,注意配置信息,如下图:
040.jpg

打开USART2配置页面,修改图中字长配置为8位,如图:
045.jpg

打开USART2的中断
050.jpg

打开GPIO配置页面,配置PC13外部中断上升沿触发,如下图:
055.jpg

打开NVIC配置,选中图中外部中断10——15线的开关,
060.jpg

配置全部完成,生成工程前记得选中下图中选项,生成对应.c和.h文件,否则代码会比较乱。
065.jpg
代码我就不详细讲了,见附件。
3】实验过程:
因为进行的是测距实验,首先系统上电,使用一个物体挡住红外对管,这里使用了一个充电宝,充电宝下方有一直尺,用于测量距离,如图:
IMG_2915.JPG

下面是使用50%占空比PWM波经三极管驱动红外发光管下测量的数据曲线图,图中标有2cm……10cm的界限,每个距离200个点,可以看出上界限不够明显,但是下界限比较明显,由此波形可以得出:原理上,经过滤波处理,完全可以实现一定精度的红外测距。
070.jpg

100.jpg
下面是90%占空比下的波形图,这个区分度明显要好得多。
110.jpg

有人可能会说,测距、避障干嘛不用超声波?
首先,这里是探究红外发射与接收的基本原理,从这个实验可以直观地了解到红外对管的工作原理,而红外对管是最简单的红外传感器,其他红外接收头等均基于此。
其次,超声波模块成本高,指向性不如红外强,另外就是红外对颜色敏感,可以用于循迹,而超声波模块不能。
最后,还有一点就是,曾经有个搞控制的朋友说过,用足够精度的硬件去搞开发,大家都能搞,用低端低精度的硬件做搞定项目,这才叫控制,我不是搞控制的,但是我还是比较喜欢这句话。这个红外用的好的话,完全可以用作码盘编码传感器,光电码盘一般都是对射安装,而如果使用此方案中的红外,就可以变成反射,只需单测安装,非常便利,这个后续我会尝试下。




AD_Sample.rar

下载

28.77 KB, 下载次数: 47, 下载积分: ST金币 -1

收藏 9 评论67 发布时间:2015-11-4 15:47

举报

67个回答
zhangbing 回答时间:2015-11-12 21:09:02
zhoupxa 发表于 2015-11-9 08:50
嗯,不懂红外通讯原理,楼主可否给讲解一下:有障碍物和无障碍物情况下红外接收管都能接收到反射信号时如何 ...

接受管收到的光强不同 输出的电压也不同,楼主就是机智的采集了电压信号来得到接收光强的大小,也就是反射面越远,反射回来的光越少。
楼主真机智也!确实是外接光对这个影响很大
一般循迹的时候,要摸提前确定好电压阀值;要摸就是像LZ样采集电压比较大小来循迹
星辰一方 回答时间:2015-11-6 10:54:08
zhoupxa 发表于 2015-11-5 16:10
意思是说收发管之间应隔开才好,否则没发射光也检测到信号就不对了,呵呵 ...

间隔开不好啊,距离远了对反射光接收不利啊,红外发射管就是一个发光二极管呀,发射光是一直发射的,信号也会一直接收,但是障碍物距离不等信号波形是差异性是很大的,见上面曲线图,间隔开之后波形就没有区分度了,这个可以试验,用数据比较直观,这个就是红外避障和循迹工作的基本原理,
星辰一方 回答时间:2015-11-7 10:06:08
zhoupxa 发表于 2015-11-6 11:04
这样的话岂不无障碍物反射时也会接收到反射光?岂不得到错误监测结果?呵呵 ...

无障碍也有反射光!这多正常啊!没有发射管一样有反射光,这多正常的事儿啊,你见到电视遥控有问题吗?你见到循迹模块有问题吗?要不我上面画曲线图说各段区分度干嘛?有反射光就会错误吗?但遥控、循迹不是都好好的?你能说你遥控器没按的时候房间没有红外反射光?
星辰一方 回答时间:2015-11-4 15:50:55
这个网速下这些图片把我累得,反复保存了4次才搞定,我得歇会……
zhoupxa 回答时间:2015-11-4 16:02:54
红外对管这样并排放置能有效接收吗
Paderboy 回答时间:2015-11-4 16:30:21
多谢分享,不错。。。。
huaiqiao 回答时间:2015-11-4 16:40:10
不错不错,还带了串口打印。
请问楼主这个软件是什么软件,麻烦告知下。 1.png
orima 回答时间:2015-11-4 16:49:17
多谢分享...
安臣 回答时间:2015-11-4 17:01:37
厉害。。
风子 回答时间:2015-11-4 17:06:53
厉害厉害,给楼主点赞
loyi 回答时间:2015-11-4 18:02:50
多谢分享
peter001 回答时间:2015-11-4 19:12:21
嗯,用红外测距
戏如人生 回答时间:2015-11-4 19:33:12
COOL加精华!!!
wujianwei3980-5 回答时间:2015-11-4 20:50:40
楼主厉害
好好学习
watershade 回答时间:2015-11-4 21:33:12
请问你的波形图是怎么得到的
烟花绽放 回答时间:2015-11-4 21:52:19
先收藏哦
disheng4688 回答时间:2015-11-4 22:14:57

多谢分享
12345下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版