为了使微处理器能够读取读出电路的输出电压,模拟
需要数字转换器或ADC。系统中使用的ESP32是在Adafruit上实现的
HUZZAH32羽毛板,将16个可用ADC端口[17]中的12个连接到输入引脚[18]。
当描述ESP32的ADC特性时,发现输出非常不稳定,如图3.8所示
ADC的一个通道的输出和它的输入电压的曲线图,每个ADC通道都显示了这种行为。
从图3.8b中可以看出,输入电压相当稳定,而ADC的输出则具有数值
其差值高达约700,使用最小输入值为12位ADC
0 V和最大值3.3 V对应于大约0.56 V的波动。见图3.6
这相当于大约1500克的重量差异。
0 1000 2000 3000 4000 5000 6000 7000
时间[ms]
3200
3300
3400
3500
3600
3700
3800
3900
4000
4100
adc值
(a) (二)
图3.8:(a)ESP32上ADC通道之一的输出,(b)ADC的输入电压
由于1500克的波动是不可接受的,所以使用外部ADC代替可用的ADC
在ESP32上。本系统采用MCP3208。
选择MCP3208[16]是因为它是一个相当便宜的ADC,至少有5个通道。这个
MCP3208是为数不多的有足够频道的价格合理的adc之一,也是为数不多的使用的平价adc之一
易于使用的原型技术。MCP3208的分辨率与ADC相同
在ESP32上,即12位。从图3.6可以看出,有效重量范围为0到15.23
kg使用2.946~0.41Æ2.536V的电压范围,因为ADC将4096个值除以整个输入范围
3.3伏,1伏约4096伏
3.3
Æ1241值,这意味着有效力范围为0到15.23
kg由大约1241¢2.536Æ3147值表示,因此分辨率为15230
3147
Æ4.8克,即
根据S.1d的要求,足够了。
MCP3208的采样率为每秒50000个样本,电源电压为2.7V和100000
使用5V电源电压时每秒采样数[16]。因为该系统中的MCP3208使用3.3伏电压
供应,可以假设ADC的采样率至少为每秒50000个样本,这很好
在要求G.6的规范范围内。
16 3。力传感器
0 1000 2000 3000 4000 5000 6000 7000 8000
时间[ms]
3460
3465
3470
3475
3480
3485
3490
3495
adc值
(a) (二)
图3.9:(a)MCP3208其中一个通道的输出,(b)MCP3208的输入电压
要求S.1h要求ADC产生适合作为ESP32微处理器输入的输出。
MCP3208使用串行外围接口(SPI)协议。ESP32也有
通过SPI进行通信的选项[17]。此系统中的SPI设置使用“主”设备,在本例中为
ESP32微处理器,通过两条数据线和一条时钟线连接到“从”设备
每个“从”设备都有芯片选择线。时钟线会损坏时钟信号,而芯片选择线通常是正常的
高。一条数据线用于将数据从ESP32微处理器发送到“从”设备和
其他数据线用于将数据从“从”设备发送到ESP32。时钟线用来确保
数据传输是同步的。“从属”设备仅允许在其芯片选择时发送或接收数据
为什么这个SD卡也可以连接到SD卡上,而这个SD卡也是用低电平的
数据线和时钟线。ESP32用于读取ADC的代码如附录A.1所示。
图3.9显示了外部ADC及其输入信号的输出图。值的区别是
大约30,相当于大约30的波动
4096
·3.3Æ24毫伏。可见
从图3.9b可以看出,这主要是由于电源电压波动造成的。
从图3.6可以看出,24mV的波动导致大约150的波动
克。这不符合S.1e的要求。但是,如图3.9所示,这主要是由于
电源有噪音。最终系统中使用的电源电压可能更稳定
还有待确定。
4
G力和方向
重力是相对于重力的加速度。运动员对重力感兴趣,
因为他想知道重力是否会影响他的转向行为。为了测量重力
全方位,需要一个三轴加速度计。
Bob Skeleton steering经验模型的评估[2]描述了一个与测量值相关的模型
运动员按一定方向施加的力。因为这两个量都是在我们的情况下测量的
为了说明找到底座的方向
通过测量辊,通过测量纵倾来确定坡度。这两个数量都可以通过
用陀螺仪。图4.1说明了这些运动的方向。
图4.1:横摇、横摆和俯仰。在这种情况下,底座前部正x方向。
4.1。加速度计和陀螺仪的选择
可使用分离式三轴加速度计和一个分离陀螺仪来测量上述加速度计
然而,一种称为惯性测量单元(IMU)的装置将这些传感器组合在一起,
还有磁强计。系统中使用的IMU是MPU-9250分接电路,由
斯巴克芬电子公司。该电路包含IMU本身,以及正确的必要组件
17
18 4。G力和方向
从测量值中读取[19]。
MPU-9250允许通过I2C或SPI导出测量数据。在该系统中,I2C用于
ESP32与IMU之间的通信。与SPI类似,如第3.4节所述,I2C允许
多个“从”设备与单个总线的连接。I2C不使用4条数据线,而是只使用2条数据线,
时钟线和双向数据线。从事实看多个“从”装置的区别
每个设备都有自己的地址。使用I2C协议满足S.2d要求。
MPU-9250的实现主要由B组完成,因为他们的系统使用它来实现
为了提高定位精度,卡尔曼滤波器。更多关于这个的信息可以从他们的
论文[9]。所有读取ESP32测量值所需的代码也由B组提供
在他们的论文中可以找到[9]。
MPU-9250的选择是由于设备上有大量的文档,例如
作为连接指南[20],它还提到了一个可由ESP32使用的预构建arduino库。这个
MPU-9250的实施几乎不需要任何注意,这意味着,主要的重点是
该子系统可用于测量雪橇上的物体力。其他原因
选择MPU-9250的价格是实惠的,其规格符合要求
第S.2节中提到。MPU-9250的测量值高达16 g[21],即要求
S、 2c和这也满足G.3的要求。
5
讨论
在系统设计过程中,进行了大量的测试。本章将列出测试设置和结果
最重要和最相关的测试。
5.1。压敏膜的电阻和电导
对FSR 406和柔性力A502传感器进行了多次测量,以确定其特征
这两个传感器。对于这两个方面,包括如下测量设置。传感器平放在一个平面上
表面。除此之外,一块空白PCB的面积比传感器的面积小一些
放好的,然后是一个玻璃板。空白印刷电路板和玻璃板的重量合计为201克。这个
包括PCB和玻璃板的原因是均匀地将力分配到传感器上,创建
平台可加载更多权重并在传感器上创建预加载。两个传感器完全
未压缩的电阻为数百兆欧姆。传感器本身连接到
Fluke 177万用表,设置为电阻测量模式。安装程序加载了权重,
将重量增加250克,以测量相应的电阻
每一个质量。现在已知这个质量,力也可以用牛顿第一定律F,m,a来计算。
在这种情况下,重力常数g,因为力被指向地球。
测量FSR 406的电阻时,发现传感器显然需要时间来固定到a
最终电阻值。这使得测量和重复测量变得困难。具有柔性力A502
这种影响几乎不存在。对于较低的质量,它显示出一些沉降行为,但很快
随着质量的增加而消失。FSR 406和Flexiforce A502的测量都进行了两次
为了显示重复性。这两组测量值在FSR 406的最大偏差为5%
然而,该传感器也有沉降特性,因此很难确定这些不准确之处
从。A502的屈伸重复性好,最大偏差在1%左右。这个
电阻和电导测量结果如图3.4a所示。随后,在另外两个附加结果中
Tekcan Flexforce A502传感器的特性。如图所示??两者有区别
传感器。影响反馈电阻器的选择。但是,选择了同样的选择
所有读出电路的反馈电阻器,并为每个传感器提供 |