测试光流传感器速度特性
简 介:
关键词
: 光流传感器,输出范围
Contents
§01 光流传感器
一、背景介绍
在光流传感器初步测试:GL9306中对于光流传感器进行了初步测试。有一个问题: 传感器输出与相对速度之间是否是线性? 最大的测量速度是否有上限?
二、测量方法
1、测试方法
为了测试光流传感器上述特性, 使用一个直流电机带动一个转盘转动。 放在光流传感器上面产生相对运动。
2、直流电机
直流电机接口, 具有磁编码器输出。 这里给出了6PIN接口功能定义。
给电机施加不同直流电压, 电机就会以不同的转速 运行。 这是点击后面的磁编码器的输出波形。 速度脉冲的频率可以通过万用表测量得到。
下面首先测量一下电机电压与磁编码器之间的关系。 这是测量结果, 可以看到电压与速度之间基本上是线性关系。 经过线性拟合,这个线性关系为:f=200*v-74.3
三、测量相对运动
将光流传感器放置在旋转红色隔热棉前面, 距离大约 5 个厘米。 应用 MicroPython 实验板读取光流传感器的输出。 编程显示光流传感器输出的x,y方向的移动速度。 由于转盘是圆周运动, 可以看到x,y两个方向上面的运动分量。
调整光流传感器与旋转盘的距离,可以看到光流传感器输出数值的变化。 虽然转盘转速没有变,但距离的变化使得相对运动速度发生了改变。
增加电机供电电压,提高转盘旋转速度,可以看到,光流传感器输出的最大值不超过28。特别是速度很高的时候,光流传感器输出的数值明显出现跳动。
※ 总结 ※
一、测量程序和数据
通过实验检查光流传感器输出数值特性。 可以看到它的输出有最大值显示, 不超过25, 由于直流电机转速在 低速下无法精确控制, 所以输出线性关系就没有进一步验证了。
1、测量电机转速与脉冲频率
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST1.PY -- by Dr. ZhuoQing 2022-07-15
#
# Note:
#============================================================from headm import *
from tsmodule.tsvisa import *
from tsmodule.tsstm32 import *vdim = linspace(2, 7, 50)
fdim = []for v in vdim:
dh1766volt(v)
time.sleep(2)
meter = meterval()fdim.append(meter[0])
printff(v, meter)tspsave('measure', vdim=vdim, fdim=fdim)dh1766volt(0)plt.plot(vdim, fdim)plt.xlabel("Voltage(V)")
plt.ylabel("Frequency(Hz)")
plt.grid(True)
plt.tight_layout()
plt.show()#------------------------------------------------------------
# END OF FILE : TEST1.PY
#============================================================
2、拟合电机与频率线性关系
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# DRAW1.PY -- by Dr. ZhuoQing 2022-07-15
#
# Note:
#============================================================from headm import *
from scipy.optimize import curve_fitvdim, fdim = tspload('measure', 'vdim', 'fdim')def linefun(x, a, b):
return a*x + bparam = (1, 0)
param, conv = curve_fit(linefun, vdim, fdim, p0=param)
printf(param)plt.plot(vdim, fdim)plt.xlabel("Voltage(V)")
plt.ylabel("Frequency(Hz)")
plt.grid(True)
plt.tight_layout()
plt.show()#------------------------------------------------------------
# END OF FILE : DRAW1.PY
#============================================================
3、电机电压与频率测量数据
4、Python 程序
from machine import Pin,UART
import timeuart = UART(1, baudrate=19200)
print(uart)inbuf = bytes([0]*7)
recebuf = b''
mx = 0
my = 0
squal = 0printcount = 0while True:
if uart.any() > 0:
inb = uart.read(uart.any())
recebuf = recebuf + inbbuflen = len(recebuf)
delflag = 1
if buflen > 0:
id = 0
for b in recebuf:
if b == 0xfe:
if buflen >= id+9:
mx = recebuf[id+3]
mx = mx*256 + recebuf[id+2]
my = recebuf[id+5]
my = my*256 + recebuf[id+4]
squal = recebuf[id+7]else:
recebuf = recebuf[id:]
delflag = 0
breakid += 1if delflag > 0: recebuf = b''time.sleep_ms(10)printcount += 1
if printcount >= 10:
printcount = 0
print(mx, my, squal)
■ 相关文献链接:
- 光流传感器初步测试:GL9306
测试光流传感器速度特性相关推荐
- PIXHAWK上安装PX4Flow光流传感器及调试过程
摘自:https://blog.csdn.net/wlrh253250/article/details/90146561 PIXHAWK上安装PX4Flow光流传感器及调试过程 置顶 wang-rh ...
- 在ArduPilot旋翼机上安装PX4Flow光流传感器
在ArduPilot旋翼机上安装PX4Flow光流传感器 本作品采用知识共享署名-相同方式共享 3.0 未本地化版本许可协议进行许可. 预先要求 在安装和调试光流传感器之前,请先保证: 旋翼机已经安装 ...
- 光流传感器进行累积测试
光流传感器位移累加结果 §01 光流传感器 在前面对于光流传感器进行了初步的测试, 通过MicroPython硬件平台 获得了光流传感器的输出数据. 这些数据反映了光流传感器移动距离. 下面检测一下光 ...
- [13]ESP32+光流传感器PMW3901移植与调试
文章目录 一.PMW3901传感器介绍 1. 主要特性 2. 主要参数 3. 封装和引脚图 4. Power States & Sequence 二.ATK-PMW3901模块说明 1. 主要 ...
- 光流传感器 定位精度_光流传感器其它方面的应用
光流传感器可以通过在一定的时间内拍摄两张不同的照片.进而计算出物体运动的速度.光流是一种简单实用的图像运动表达方式.通常定义为一个图像序列中的图像亮度模式的表观运动. 光流法检测运动物体的基本原理是: ...
- 光流传感器 定位精度_【论文精选】基于光流定位的自动路径规划清扫机器人...
目前市场上扫地机器人的路径规划都是由超声波.红外等传感器测量得到当前的位置再结合算法规划出理想路径.由于传感器精度等问题,无法定位出精确的位置,导致机器人出现运动轨迹混乱等问题. 基于光流传感器的机器 ...
- 四旋翼飞行器6——光流传感器简介
最近看到实验室学长有在无人机上用光流传感器,于是了解了一下. 一.光流传感器是做什么的? 通俗的讲: 光流利用的是图像的变化处理,用于检测地面的状态,从而监测飞机的移动:主要用于保持飞机的水平位置,以 ...
- 光流传感器 定位精度_光流传感器
学号:16020188037 姓名:崔岸婧 转载自:https://blog.csdn.net/mao_hui_fei/article/details/85342528 [嵌牛导读]:对光流 ...
- 基于光流传感器定位和导航的自主飞行无人机
基于光流传感器定位和导航的自主飞行无人机 An Autonomous UAV with an Optical Flow Sensor for Positioning and Navigation 注: ...
最新文章
- oracle创建DBA角色命令,oracle常用DBA命令
- trunk、svi和以太通道
- arima模型 p q d 确定_时间序列分析第07讲(ARIMA模型,季节时间序列模型,均值的估计)...
- 201904快速阅读术
- Cacti迁移RRA数据迁移脚本
- 第六章节 多态 (密封类)
- 严版快速排序Partion方法
- 凸优化第九章无约束优化 9.2 下降方法
- Seven Kinds of Testers - 七种类型的测试
- fullgc多久一次正常_多久排便一次算正常?提醒:出现3种情况,可能是胃肠“生病”了...
- Java API 中文版 谷歌翻译 拿走不谢 jdk api 1.8_google
- Filter -- 过滤敏感词汇
- java springboot房地产信息管理系统
- 自动驾驶相关的期刊和会议
- L. Simone and graph coloring
- mac抹掉磁盘重装系统未能与服务器取得联系_如何用U盘自制Mac笔记本系统重装盘...
- ubuntu18.04下nvidia-settings无法保存设置
- 复制链接到safari浏览器打开_苹果手机把链接复制到浏览器打不开也下载不了这怎么回事...
- 哈师大大二有计算机课,哈师大附中晨风计算机社团
- Linux 系统支持blacklist的kernel版本加载上海域格 CLM920 NC2 mdg 模块的驱动示例