锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

测试光流传感器速度特性

时间:2022-08-23 07:30:00 跳动的传感器6磁电速度传感器转速表速度传感器415转速传感器脉冲磁传感器p11转速传感器

简 介:

关键词 光流传感器输出范围

光流传感器
目 录
Contents
背景介绍
测量方法
测量相对运动
总结
测量程序和数据

 

§01 流传感器


一、背景介绍

  在光流传感器初步测试:GL9306中对于光流传感器进行了初步测试。有一个问题: 传感器输出与相对速度之间是否是线性? 最大的测量速度是否有上限?

  | 二、测量方法

1、测试方法

  为了测试光流传感器上述特性, 使用一个直流电机带动一个转盘转动。 放在光流传感器上面产生相对运动。

  | | 2、直流电机

  直流电机接口, 具有磁编码器输出。 这里给出了6PIN接口功能定义。

  
  给电机施加不同直流电压, 电机就会以不同的转速 运行。 这是点击后面的磁编码器的输出波形。 速度脉冲的频率可以通过万用表测量得到。

  | | | 三、测量相对运动

  将光流传感器放置在旋转红色隔热棉前面, 距离大约 5 个厘米。 应用 MicroPython 实验板读取光流传感器的输出。 编程显示光流传感器输出的x,y方向的移动速度。 由于转盘是圆周运动, 可以看到x,y两个方向上面的运动分量。

  | |

结 ※

一、测量程序和数据

  通过实验检查光流传感器输出数值特性。 可以看到它的输出有最大值显示, 不超过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_fit

vdim, fdim = tspload('measure', 'vdim', 'fdim')

def linefun(x, a, b):
return a*x + b

param = (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 time

uart = UART(1, baudrate=19200)
print(uart)

inbuf = bytes([0]*7)
recebuf = b''
mx = 0
my = 0
squal = 0

printcount = 0

while True:
if uart.any() > 0:
inb = uart.read(uart.any())
recebuf = recebuf + inb

buflen = 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
break

id += 1

if delflag > 0: recebuf = b''

time.sleep_ms(10)

printcount += 1
if printcount >= 10:
printcount = 0
print(mx, my, squal)


■ 相关文献链接:

  • 光流传感器初步测试:GL9306
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章