【电子设计竞赛征集令】2019年H题纸张计数显示装置(省钱版)

4个月前

简介:【电子设计竞赛征集令】2019年H题纸张计数显示装置,独特的使用了高精度的阻抗测量芯片AD5933。

开源协议:

  • 966
  • 3
  • 2

描述

前言

本文编撰并没有使用标准电赛格式,所以相对来说,排版会洒脱一点。目前,网络上普遍使用的是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.

屏幕截图 2021-04-19 115317.png

压力式结构的选择

相信大家对于这个图都应该比较熟悉的,绝大多数题目都是使用的这样的结构,虽然有的研究报告指出“重物压力式结构。如图1-1所示,利用重物,尽可能消除铜板和纸张间以及纸张之间的缝隙,并保证纸张厚度的统一,但该结构稳定性较差,对重物的摆放位置和模板的平衡性要求较高。”但,其确实是在比赛过程中,最“实用的”,故而我们在这里把他罗列出来,供大家一起讨论。

1.png

对于这幅图来说,还有一个土豪版本,

2.png

很明显这个价位就与我们的题目没有关系。。。

所以,在本次省钱版本中,我们使用了好多同学想用,但是不敢用的大夹子。

3.jpg

不好意思,放错了,这个是小夹子。

噔~噔~噔~噔~

src=http___www.t-jiaju.com_tujjJDAxJDIyLzEwOTM1MTc2NjcvVEIyTm12U1g2ZnlRZUJqeTBGcFhYY1hDRlhhXyEhMTA5MzUxNzY2NyQ5.jpg&refer=http___www.t-jiaju.jpg

就是这种大夹子。

方便、简单、实用。

因为考虑到,其会因为重力倾斜,所以,我们用最常用的胶枪,来将他固定在一个硕大的板子上面,用重力,保持夹子本身不会变化。

请看附件1:VID_20210413_212350.mp4


数据测量

不得不承认的是,2019这个题目使用了合适的模块那么一切问题迎刃而解。算法还是非常简单的暴力函数拟合。更为暴力的是,在本次的测试中,采用人工手点...3个频率下的不同张数的串口读取值,并做了一些简单分析。

屏幕截图 2021-04-13 214742.png

与其他的常见材料一样,


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 Designator Footprint Quantity
1 3.3V,5V,GND1 HDR2X3 3
2 BOOT1 HEAD2*3 1
3 BUZZER1 BEEP-TH_BD9.1-P5.00-D0.6-L-FD 1
4 C1,C10 C0603 2
5 C4,C5 C0603 2
6 C3,C6 C0603 2
7 C2,C7,C8,C9,C11 C0603 5
8 C12,C13 C0603 2
9 C25,C26,C27,C28,R14 0805 5
10 C30,C31,C32,C33,C34,C42,C43,C45,C48,C51,C52,C57,C64 0805 13
11 C47 CC2012-0805 1
12 C53,C54,C55,C56 CC2012-0805 4
13 C29,C49,C50,C65 0805 4
14 CR1 CR1005-0402 1
15 H2,H3,H4 HDR-F-2.54_1X4 3
16 J1,J2 HDR-M-2.54_1X2 2
17 J3 HDR-M-2.54_2X2 1
18 J5 HDR-M-2.54_2X3 1
19 J4,J6,J7 HDR-M-2.54_1X4 3
20 LCD1 DB2*17-4.3 1
21 LED1 LED0603_RED 1
22 LED1,LED8,LED9,LED10,LED11 CLED2012-0805 5
23 OLED1 HDR1X7 1
24 P1,P2 HEAD2*27 2
25 P9 HDR2X2 1
26 PE1,PE2,PE3,PE4 KEY 4
27 Q1 SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BR 1
28 R1 R0805 1
29 R2,R4,R5,R7,R8,R9 R0805 6
30 R3 R0805 1
31 R6 R0805 1
32 R10,R11 R0805 2
33 R12,R13 R0805 2
34 R15 0805 1
35 R16,R17 0805 2
36 R18,R19 0805 2
37 R20 R0805 1
38 R26 0805 1
39 R21,R22,R23,R24,R25,R27,R28,R29,R30,R31 0805 10
40 R32 R0805 1
41 R38,R39,R40,R41 0805 4
42 RESET1 KEY_M 1
43 S1,S2,S3 SS34 3
44 SDCARD1 SD卡 1
45 SW1 SW 1
46 SWDUSB2,USBFUNCTION1 MICROUSB 2
47 U1 SSOP-16_L6.2-W5.3-P0.65-LS7.8-BL 1
48 U2 MSOP-10_L3.0-W3.0-P0.50-LS5.0-BL 1
49 U3 LQFP-48_L7.0-W7.0-P0.50-LS9.0-BL 1
50 U4,U5 SOT-23-5_L3.0-W1.7-P0.95-LS2.8-BL 2
51 U6 LQFP144 1
52 U6 MSOP-8_L3.0-W3.0-P0.65-LS4.9-BL 1
53 U7 SOP-8 1
54 U8 SOP-16_L10.0-W3.9-P1.27-LS6.0-BL 1
55 U9 SOIC-8 1
56 U10 AMS1117 1
57 USB1 MICRO-USB-SMD_U254-051T-4BH83-F1S 1
58 X2 OSC-TH_L10.0-W4.5-P5.00 1
59 Y1 XTAL-1 1
60 Y2 XTAL_US 1

展开

服务时间

周一至周五 9:00~18:00
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 立创EDA微信号

    easyeda

  • QQ交流群

    664186054

  • 立创EDA公众号

    lceda-cn