
【电子设计竞赛征集令】2019年H题纸张计数显示装置(省钱版)
简介
【电子设计竞赛征集令】2019年H题纸张计数显示装置,独特的使用了高精度的阻抗测量芯片AD5933。
简介:【电子设计竞赛征集令】2019年H题纸张计数显示装置,独特的使用了高精度的阻抗测量芯片AD5933。开源协议
:描述
前言
本文编撰并没有使用标准电赛格式,所以相对来说,排版会洒脱一点。目前,网络上普遍使用的是FDC2214模块作为电容采集传感器,确实其对精度的测量较为准确,但是本文更多是对于本题的一定探索,寻求另外一种思路去解决该题,所以本设计使用了,高精度的阻抗测量芯片AD5933。
AD5933
AD5933是一款高精度的阻抗测量芯片,内部集成了带有12位,采样率高达1MSPS的AD转换器的频率发生器。这个频率发生器可以产生特定的频率来激励外部电阻,电阻上得到的响应信号被ADC采样,并通过片上的DSP进行离散的傅立叶变换。本文设计了一个用单片机控制AD5933实现阻抗测量的系统。单片机选择的ADI公司的ADμC848。单片机和AD5933通过串口实现通讯,单片机控制对AD5933的工作模式设置,控制测量过程,读取测量结果,并通过串口传输到PC机。
来源:http://www.elecfans.com/dianlutu/app/20141217360937.html
根据目前测得的数据来说,AD5933的测量值还是相对准确的,但是由于我们的机械结构没有使用较为复杂的,而是使用了简单的夹子,所以在提高部分数据测量,存在一定的问题。
根据网上的资料:
AD5933 可以广泛的应用在电化学分析、生物电极阻抗测量、阻抗谱分析、复杂阻抗测量、腐蚀监视和仪器保护、生物医学和自动控制传感器、无创检测、原材料性能分析以及燃料和电池状态监测等众多领域.为阻抗的测量提供了很大的方便,单片集成技术大大的减小了仪器的体积,使得仪器使用更加方便.简单的I2C通讯方式,方便用户操作,减小了用户编程的困难.由于它给出的直接是变换后阻抗的实部和虚部数据,大大的简化了用户编程过程,节省了开发时间.
来源:https://www.dzsc.com/data/2011-8-29/95341_3.html
你不得不承认,AD5933的功能性以及适配性远超FDC2214(并没有说它不好的意思)。例如同为2019年的信号题也可以使用该芯片。但是为什么这么好用的芯片开源平台上面没有呢?
阻抗
在具有电阻、电感和电容的电路里,对交流电所起的阻碍作用叫做阻抗.阻抗常用Z表示,是一个复数,实部称为电阻,虚部称为电抗,其中电容在电路中对交流电所起的阻碍作用称为容抗 ,电感在电路中对交流电所起的阻碍作用称为感抗,电容和电感在电路中对交流电引起的阻碍作用总称为电抗. 阻抗的单位是欧。
在阻抗的计算中,因为AD5933 片上带有一个27位的DDS来提供输出特定频率激励信号。如果想要多次测量同一个频率点的值,以使得测量结果更加,只需在测量完成之后在控制寄存器中写入重复当前频率命令字即可。
下面是一个我认为写的比较好的对于AD5933测量的分析,有兴趣可以看一下,没兴趣可以直接看附件中的程序,
给出一个计算增益系数的例子.当输出电压范围为2V,标定电阻为200kΩ,可编程放大器设置为1,电流电压转换放大器增益电阻为200 kΩ,激励频率为30kHz,在这个频率点上得到的实部和虚部值分别为F064、227E,转换为十进制分别为-3996、8830,则傅立叶变换后的模值=,则增益系数为标定电阻的倒数除以计算得到的模值,即(1/200kΩ)/9692.106=515.819E-12.
下面再给出一个已知增益系数、被测电阻的实部和虚部值计算被测电阻阻值的例子.假设被测电阻为510kΩ,激励频率为30kHz,测量得到的实部和虚部值分别为-1473和3507,则计算得到的模值为3802.863.电阻值=1/(增益系数×模值)=1/(515.819E-12×3802.863) =509.791kΩ.
对于不同的测量频率点增益系数是不同的,所以在不同的频率点上要分别计算增益系数.
在测量过程中可以通过限制电阻的测量范围来优化测量性能.表4给出6个不同的阻抗范围作为参考,它们所选择的输出电压范围均为2V,可编程增益放大器设置为1.
压力式结构的选择
相信大家对于这个图都应该比较熟悉的,绝大多数题目都是使用的这样的结构,虽然有的研究报告指出“重物压力式结构。如图1-1所示,利用重物,尽可能消除铜板和纸张间以及纸张之间的缝隙,并保证纸张厚度的统一,但该结构稳定性较差,对重物的摆放位置和模板的平衡性要求较高。”但,其确实是在比赛过程中,最“实用的”,故而我们在这里把他罗列出来,供大家一起讨论。
对于这幅图来说,还有一个土豪版本,
很明显这个价位就与我们的题目没有关系。。。
所以,在本次省钱版本中,我们使用了好多同学想用,但是不敢用的大夹子。
不好意思,放错了,这个是小夹子。
噔噔噔噔
就是这种大夹子。
方便、简单、实用。
因为考虑到,其会因为重力倾斜,所以,我们用最常用的胶枪,来将他固定在一个硕大的板子上面,用重力,保持夹子本身不会变化。
请看附件1:VID_20210413_212350.mp4
数据测量
不得不承认的是,2019这个题目使用了合适的模块那么一切问题迎刃而解。算法还是非常简单的暴力函数拟合。更为暴力的是,在本次的测试中,采用人工手点...3个频率下的不同张数的串口读取值,并做了一些简单分析。
与其他的常见材料一样,
> 1-30张很容易就可以达到,主要是30张以后随着纸张数增加相邻数目的电容差值非常的小, 所以这个时候对读数的稳定性要求非常高,校准的时候跟测量的时候相同基准点的数值不可以差超过0.3%。
但是因为不要花钱,所以结构的简单,我们没有办法通过,
极片使用重物压实将极片内纸间空气尽量挤出去,以减小影响。
故而,我们脑洞了一下,因为纸张的厚度有变化,极片被迫翘起来,我们只要设定某些范围进行单独的测量,那么我得到的数据是不是就已经是最为真实有效的。
所以,又是一串暴力求解...(工作表:?,MATLAB:?,spss:?)
仔细研究了一下,题目的发挥部分要求,钻了一个小漏洞,我们在程序中,加入一个判断,只要我的测量值,在某一个区间内,我们就切换上文我们说的,“翘起来的样子”对应的频率即可。
测量精度
在整体的测算过程中,因为机械结构的问题,在发挥部分表现的只能说平平无奇,在不同的频率测算中,我在40页纸张的测算时候会出现部分问题,在50张左右精度将会起飞,识别率50%左右上下浮动。乐观估计,如果更换了相关机械结构,效果会更好。
程序分析
校准
校准
说的实在是比较委婉,本质上就是一个单纯的数据采集。因为不同的纸张在测量的时候会因为“褶皱”不同,进而导致串口数据采集的数据1有所不同,只要将数据采集的归类,选择不同的对应频率,即可。
纸张计数
校准后,数据采集放入纸张,按下按键,单片机查找当前串口值下的对应下的纸张数量,通过串口屏进行显示,同时进行语音播报。
短路报警
当两块极板直接接触时,AD5933读取的数据为0,单片机会触发蜂鸣器进行警报。同时,也因为其测的是容抗,不需要考虑传统设计中短路会损坏电路的情况。
语音播报
语音播报实际是为了完成,发挥部分“其他”。本设计中,使用了TTSMR628串口文字转语音模块。因为价钱比较便宜,所以说,音质很一般。
准确度
对于这道题目,最重要的就是准确度的检测。
对于平行板电容器来说,电容的其影响因素无外乎就是面积、间距、介质、温度等。
最好说的就是介质,最轻最直接的影响是纸张的新旧程度。新纸比较平滑,外表面积小;旧纸比较粗糙,外表面积比新纸大。
其次就是温度,
> 有的参赛队伍为了抑制温漂,还做了温度检测电路,可以看出人家的用心良苦、环境对测量结果的残酷影响。
当然,我们暂时忽略了这个影响因素,因为在实际的数据测量中,我们的在不同频率的测量值下,测得的效果受温度影响较小。
然后就是间距,
> 你会发现有些小组在上层的极板上放置了一些重物,这就是为了确保间距的稳定。因为纸张是微弹性的物质,压扁与不压是有一定差距的,而这个差距会造成电容值的跳变,反馈到电路中就是频率的跳变。
因为本次设计使用的是,大多数人只敢想一想的夹子,所以,在设计的过程中,这个夹子的选择,选了好久,这个夹子在测试30张以内的时候,基本上“夹力”的大小不会有太多的影响,因为我们使用的是完全崭新的,从包装中拿出来的新纸,这方面的影响也被我们尽量的忽略掉了。
最后就是这个面积,这个也是本次设计的高光点之一,我们充分的利用了,夹子会在夹多东西的情况下,“翘起来”的现象,多次重复尝试,选择了不同频率下,不同纸张最适合的频率表。
滤波
这个位置没有太多的创新点,所以,直接引用大佬的说明了。
> 如果你懂得卡尔曼滤波,应该采用更为高级的滤波算法。我这里采用加权平均,核心思想也是借鉴于卡尔曼滤波算法。因为卡尔曼滤波的权重可以是人为规定的,这里正是如此。
> 根据观察可以发现,下一秒的频率值永远比上一秒的频率值更准确(在仅考虑间距的状态下),因此可以分配给下一秒的频率权重值更大,而上一秒的权重更小。在算法中,我一共在一秒内采集5个数据(200ms定时采集一次),那么这5个数据一定有着不同的权重值。我人为设定为第一秒权重为0.1;第二秒权重为0.1;第三秒权重为0.2;第四秒权重为0.3;第五秒权重为0.3,权重总和为1。那么这个新数据肯定是这五个数据的加权平均值。将新数据作为最终当前纸张的频率值。
> 这种算法的好处在于,不会盲目地取五个数据总和求平均。而是根据该数据在当前的时间段来判断是否应该充分地信任它。反应到现实中的理解就是:下一秒被压的纸张状态肯定比上一秒被压的状态更真实,数据更可信,状态更牢固。
2021年4月22日更新
目前测量精度已经能够完整实现63张的检测。
因为AT24C02的存储容量为256,一个float占4个字节,63x4=252。
根据理论,原则上,可以继续扩存,其测量的数值可以是该夹子能够夹的最大纸张数,预计估值为80+。
如果有时间会对其进行更新。
关于附件
附件1:测量过程侧视图
附件2:25kHz情况下,AD5933测量的串口值
附件3:AD5933程序
附件4:基础部分测试
附件5:发挥部分测试1
附件6:精度失真情况
附件7:判断电路短路情况
附件8:程序完全代码
附件9:4月22日更新
设计图
BOM
ID | Name | Designator | Footprint | Quantity |
---|---|---|---|---|
1 | 10uF | C1,C10 | C0603 | 2 |
2 | 100nF | C2,C7,C8,C9,C11 | C0603 | 5 |
3 | 470pF | C3,C6 | C0603 | 2 |
4 | 2.2uF | C4,C5 | C0603 | 2 |
5 | 22pF | C12,C13 | C0603 | 2 |

评论