没有看上一篇的朋友,建议先看上一篇,了解一下内容。
4.典型实验数据采集
由于这几个实验数据量比较小,拟采用手机来处理。在手机端采用MathStudio来处理。
Mathstudio软件介绍:是安卓上最强大的科学计算/符号运算软件,而且安装包很小,只有1M,具有 Maple 和 MATLAB 等符号运算和科学计算软件的基本功能。该软件有以下几种优点:
1.科学计算:包含 200 多个函数的全功能科学计算器。
2.代数系统:基于 MobileCAS 的代数系统,强大高效,并可将结果排版成赏心悦目的形式。
3.微积分:计算极限、微分、积分等。
4.2D 绘图:简单快速地绘制图形,支持普通函数、参数方程、极坐标方程、隐式表达式、等值线、向量场、分形和图像等。
5.3D 绘图:可随意缩放和旋转 3D 图形,支持参数方程、球坐标、柱坐标、向量场等。时变绘图:可以用时间作为变量,绘制随时间变化的动态图像。
6.统计:对一系列数据绘制散点图、直方图、概率图等,并提供高级的回归分析包,可以使用预先提供的回归函数,也可以自己给定回归函数。
7.脚本功能:可以用自带的编程语言编写脚本,支持变量、循环,甚至递归。
4.1 实时采集,测量RC电路暂态过程
电容充电时间计算公式:Vt=V0+(Vu-V0)* [1-exp(-t/RC)]。
其中:V0 为电容上的初始电压值;Vu 为电容充满终止电压值;Vt 为任意时刻t电容上的电压值。
电容放电时间计算公式:Vt= Vu *exp(-t/RC)。其中:Vu 为电容充满开始电压值;Vt 为任意时刻t电容上的电压值。
本实验的电路连接图如下图:
测量RC电路暂态过程的电路连接图
电路图介绍:电容放电电路中,R1为放电电阻,阻值一般在几十KΩ,C1为放电电容,容值为几十μF,三极管用作开关可用普通开关代替,当开始采集时,关闭,电容放电,停止采集时,打开,电容立即充满电开关为放电时使用。电容充电电路中,电阻R3为稳定电阻。阻值一般为几百欧,由于电流比较大,排除在电容充电时,三极管的压降变化,影响到电容;R4为充电电阻,阻值一般在几十KΩ,C1为充电电容,容值为几十μF,三极管作用同放电电路,在开始采集时打开,在停止采集时关闭。
实物图
在测量电容充电时取V0=0,选择实时采集模式,采集速率为5个/秒,电容充电方程为;Vt=Vu* [1-exp(-t/RC)]。
通过mathstudio进行数据处理如图:
mathstudio处理电容充电结果图
拟合的点如下图:
本实验所用的电阻实际值为99.1KΩ,电容实际值为53.2uF。时间常数实际为τ=R*C=5.277,误差δ=(5.267-5.277)/5.277*100%=0.19%误差比较小。实际测量的充电电压为:4.116V 误差δ=(4.09-4.116)/4.116*100%=1.7%。方程拟合度r=0.99997,已经相当准确。
测量电容放电方法同上,就不介绍了.
4.2 定时采集,测量RL电路暂态过程
RL电路稳定过程非常快,采用比较大的电感的时间常数为100us量级,远超人的反应速度,必须通过设备来采集。为此选用2SD882来做开关,2SD882为中功率NPN型三极管,IC==3A,ft=100MHZ足以满足本设计的要求。
为检测到如此快的过程,必须让单片机的工作速度达到最快,在采集时采用定时采集模式,选择通道1,选择采集时间2ms。在2ms内单片机可以采集95个数据,足以捕捉到如此快过程。以下是实验电路图:
电路图介绍:电感释放电路中,由于本设计只能采集0-5V的电压,不能采集负电压,采用双电源供电(不共地),由于电流比较大,不能长时间工作。R5为上拉电阻,使三极管饱和导通。R6为放电电阻,阻值一般在几十Ω,比电感内阻大,L1为理想电感,标称为10mH,R7为电感内阻,阻值为25.5Ω,三极管用作开关使用,不可用普通机械开关代替,当开始采集数据时,开关关闭,电感释放电流,停止采集时,开关打开,电感存储完成。电感存储电路中,L2为理想电感,R9为电感内阻,电阻R10为存储电阻,阻值为几十欧,将电流信号转换为电压信号;R11为电压稳定电阻,减小三极管对电路的影响;三极管作为开关,在开始采集时打开,在停止采集时关闭。
电感没有充放电过程,但是自感线圈中可以储存能量,储存过程中: I= I0+If*(1-e^(-t*(R/L))),释放过程中:I= If*e^(-t*(R/L)),其中If是回路中最大电流,Io是最初电流L是自感系数R是电阻阻值,L/R为时间常数τ。
在电感释放电路中,外部电阻R6=66.5Ω,内阻r=25.2Ω。所以R=91.7Ω。由于本设计只能测0-5V的电压,使用双电源供电。采集到的数据是电压信号,要转变为电流信号。
mathstudio处理电感放电处理结果及拟合图
由于电感与理想电感相差太远,光电感的内阻就25.5Ω,这个必须计算进去,导致数据偏差太大,一般的万用表不具备测量电感的能力,该电感的实际值按标称值计算L=10mH。拟合的时间常数τ=0.000112s,可以看出其放电速度非常快,实际的τ=1/ (R/L) =0.000109s,误差=|0.000109-0.000112|/0.000112*100%= 2.68%误差比较大,但也在情理中。拟合系数r=0.99958,从图中可以看出在释放完之前,实际与理论出现了偏差。
4.3 随机采集,测量单摆的周期
摆是一钟常见的中学物理实验,摆可以用来计时,其运动周期与摆锤的质量无关,只与摆长有关,当摆角相当小的时候,可以看做一简谐运动。
周期T=2π*(l/g)^1/2,其中l为摆长,g为当地的重力加速度。
测量单摆周期的实物图
由于摆的周期预先不知道,因此要打开随机采集模式,在随机采集模式下,每两个数据为一组数据,数据的第一个数为测量值大小,第二个数为测量时间,单位ms,在单摆实验中只使用第二个数。由于光电门不在正中间,计算式应去除第一个数据,以后每两个数据为一个周期然后取平均就得到单摆的周期了。
50个单摆周期的散点图
经计算这50个周期平均为T测=1761.40ms,方差0.3375。实际测量的摆长为0.775m,摆角小于5。,青岛地区的重力加速度g=9.798m/S2,由公式计算的理论T=1767.10ms,误差为δ=0.32%。从测量值来看,周期分布很均匀,上下波动只有1ms,为什么与理论值相差这么大呢?
误差分析:1.单片机计时是有误差的。我采用的是每111个晶振周期作为10us,并记一次数,每秒钟计10万次,单片机计时1s时,实际时间为t=111*1/11.0592M*105= 1003.69ms,因此每秒钟单片机慢3.69ms。因此实际测量时间T测=1761.40*1003.69/1000=1767.90ms,此时的误差δ=0.045%,达到了设计要求。2.由于摆线采用铜丝,测量工具采用米尺,测量精度为1mm,其他的原因影响可以忽略不计。
5.结论
本课题围绕如何将智能手机应用到数据采集上来展开设计。由于实验条件所限,设计不够完美,但是也达到了一定的实验效果。首先在Android上进行了上位机的软件开发,然后用STC12C5A60S2单片机进行了下位机的设计及软件开发,最后通过几个小实验验证了本设计的可行性。
本设计存在许多不足,后续还会完善:1.单片机AD转换增加参考电源,具体做法为,在单片机8的AD转换通道取1个作为参考电压,使用TL431稳压模块足以。2.安卓端添加更多采集模式,内置一些基本数据处理模块,如平均值,方差,最大值,最小值等,更多的选项控制。3.使用更高级的单片机,如stm8,stm32。
智能手机自出现以来,就迅速普及,相信以后物联网也会迅速发展,我们每时每刻都会跟智能硬件打交道,数据采集也会有一个全新的方式展现出来。
最后感谢大家的支持与关注!