19年参加的电子设计大赛,简单总结一下。电赛题目是“纸张计数显示装置”。
一、简述电容器传感器
首先先了解一下电容式传感器的原理
电容式传感器是讲非电量的变化转换为电容量的变化来实现对物理量的测量。具有结构简单、体积小、分辨率高、动态响应好、温度稳定性好、电容量小、负载能力差、易受外界干扰产生不稳定现象等特点。(书上是这么解释的)
电容式传感器顾名思义就需要用到我们高中所学的电容公式:

当被测参数变化引起A,d,介电常数变化,电容量C也随之变化。
按我们平时所用的电容其值都是非常小的,那么变化的电容值也是很微小的,所以我们还需要记过测量电路处理。
经调频电路,讲电容值转化成震荡频率,也就是电工所说的LC震荡。


如下图所示

紧接着,当振荡器的频率发送变化会出现输出量非线性的情况,校正困难,此时加入鉴频器,随后进行信号的放大,并读取。就不细讲了,具体也不是很懂。
那么电容式传感器就介绍到这里,相信大家对电容式的工作过程有了一定的了解。
二、FDC2214简述
下面开始介绍FDC2214。
这次使用的传感器是FDC2214多通道测量的模块。首先日常操作就是介绍一波芯片。
FDC2214传感器
激励频率10kHz-10MHz,
通道数为4,
分辨率高达28位,
电源电压:2.7V-3.6V,
接口:I²C
该原理是,FDC电容数字转换器,测量LC谐振器的振荡频率。设备输出与频率成比例的数字值,该频率测量转换为等效电容。(手册具体计算过程,有点懵,所以没法具体解释了)

三、数据处理思路
在移植模块方面我就不说,主要是太长了,程序就不附上了。
那就介绍下我们队的思路过程吧。在刚出题目的时候,刚好我们以前有省赛的芯片,当天就直接拿来用,且移植好程序。后面我们就开始对数据进行查看,一直用用纸测量,看数据变化过程,刚开始的时候数据非常抖且不稳定,最终总结下来有几个方面的问题,
(1)是导线的问题,每当碰一下导线,显示数据都是抽搐一般,跳个不停;
(2)铜板的放置问题,每次放的不固定就会多出一些额外的误差;

最终我们是,简单的搭了个好固定的结构并加上重锤(由于设备有限…有想法但没办法做),把单导线换成了屏蔽线(最终交作品测评的时候,不让用屏蔽线= -|、当场换线,差点就裂开)。但这些改变依旧存在着数据抖不稳定的现象。
本来两个导线,一根接测量通道,一根接GND的。
后面,队友将原来一面接GND,一面接通道0的导线换成的是,GND那一根线接到通道3,原来接在通道0的不变,结果果然好起来。

其原理是这样:

当通道0和通道3所形成的误差(系统所形成的误差),达到抵消的效果,

通过处理后,测量到的数据就比之前稳定好多,而且不同的纸张数分明了。
接着就是如何数据处理情况了。
首先进行对30张的数据进行测量,通过Matlab将图形输出,并于电容公式输出的图形进行比较,其测量数据近乎相近的(但还是有些略有不同,那就继续处理,处理至相同)。


由于电容公式的参数过多且复杂,用简单的抛物线公式代替它也:y = A/X + B
其所图经Matlab显示相同。
故此,首次处理采用

其中A,B为系数,先不解释A,B怎么来的,先把整体思路讲清楚吧。经一次处理后等到相对平滑的曲线如下图。

我们最终得到的数据目标就只有一个,就是是它线性化,方便我们更好的处理。图中所示的曲线前端我们发现是比较陡的,而后端是比较平滑的,也就是前面的数据差值相对较大,越到后边数值差值就越来越小。所以我们处理成线性图的话,就是把前端的数据平缓化,后端的数据加大陡度。
故此,我们采用了下面公式进行二次处理:

其曲线图如下,

最后得到的数据就比较差距不相近,但依旧不是很好的。
其中左图是经二次处理后的数据,右图是讲其分成多段所形成的公式(也就是把30张分段成:[(1,2),(2,5),(5,10),(10,15)…]进行计算得到的公式,其中我们测量的时候是进行1,2,5,10,15… 这样进行校准,也就是数据读取),由图可知其仍然有差别所以,在前期为了先完成所要求部分,没有继续对模型深究,分别把他们的分段处理,使误差之间等到减小。

四、单片机上的处理
So,整体思路基本基本就是这样了,那么就开始进行对程序代码段的学习。
A,B就是通过 相邻两分段的 (X:纸张数和Y:测量数据)(比如:分段为(10,15),就是通过去校准过程中的10张纸的数据和15张纸的数据进行解方程)
求解y = A/x + B;
直接上代码把:

其中Place的数组存储的是纸张数,Data的数据存储的是对应纸张数的测量数据。
计算出来的 A为Eo, B为Er.(就是简单的解方程)
那么就开始进入第一次数据处理了。
我们在前部分测量到(短路状态、1张纸的初始值、2张纸的初始值、5张纸的初始值、10张纸的初始值、15张纸的初始值、20张纸的初始值、30张纸的初始值)
然后这样分([1,2],[2,5],[5,10],[10,15],[15,20],[20,30])六组分段函数。
(由于题目没有规定校准标准,所以有点“肆无忌惮”)

下面还需要进行二次处理进行线性化,我们将一次处理的数据代入二次公式:

最终得到了我们所能处理的数据,接就是得到全部的计算的数据值全部存在Ploy_exp(也就是把计算的数据存在FLASH)。那么我们所需要的其他没测量出的数据也就出来了。
当我们测量数据的时候

其中res0和temp0为通道0和通道3的数据,其测量放置到单片机的按键中断中。
得到的thiry_o就是我们所需要进行遍历寻找的的值。
在寻找对应值中,采用了二分法的方法,二分法half初始取中间值等于15。

而后得到half。
然而我们在测量是时候存在的误差在正确纸张数的1张徘徊(这里意思就是比如我测10张的时候,实际显示的是11,当测15张时显示的是14张),为了减少这个问题。我们进行了分界的方法,因为所拟合出来的数据不是完全线性的所以我们这样取值,去两相邻值的进行平分的方法,进行平分。
简易的解释下这张图吧。举个例子:比如我用算法计算处的1张纸的数据是20,2张纸的数据是25,3张纸的数据是30。那么第二张纸的范围就是((20+25)/2,(25+30)/2)。

最后,就是环境的考验了,优秀的作品经得起环境的变换。我们分别在露天、空调下、正常温度下进行测量,其基本都是正确。

在这里还要感谢我的两个队友。在前期的准备工作,和一起熬夜通宵都付出了很多。
下面就放上完整版图。

FDC2214-纸张计数显示装置相关推荐

  1. 2019.9-电赛国赛-基于FDC2214的纸张计数显示装置

    2019年全国大学生电子设计竞赛国家一等奖,F题-纸张计数显示装置 编辑by linwei_Cui 崔林威 团队成员:万宇,陈晴晴 学校:南京邮电大学 指导老师:陈小惠,孙斌 摘要 作品是基于TM4C ...

  2. 【嵌入式系统课程设计——纸张计数显示装置设计】

    一.简介 本项目分享的是一个嵌入式系统的课程设计,老师给了多个题目供我们选择.我们组选择的题目是纸张计数显示装置设计,也是2019年全国大学生电子设计竞赛的F题. 有关这个题目的经验分享,网上已经出现 ...

  3. 【电赛】2019电子设计竞赛 纸张计数显示装置(F题)

    [点击]Github项目地址.设计下载 内含: 电赛论文 程序设计 机械结构设计 硬件电路设计 综合测评相关设计 交互显示设计 设计详细说明 2019年全国大学生电子设计竞赛 纸张计数显示装置(F题) ...

  4. 【2019电赛】F题 纸张计数显示装置

    Github项目地址:https://github.com/Hyf338/2019-Electronic-Design-Competition 2019年全国大学生电子设计竞赛 纸张计数显示装置(F题 ...

  5. 方案解析:纸张计数精准测量出200张纸?!第1名妥妥的

    以下是F题的另外一组分享:复测此组别的第一名! 我们来自湖南师范大学(专业:应用电子技术)的参赛队伍,在2019年电赛中获得F题国一,复测测到135张,很高兴受达尔闻邀请来给大家分享. 视频是实验室无 ...

  6. 2021/1/12 2019全国大学生电子设计大赛 - F题纸张计数 (纯模电设计方案 全国一等奖)

    写在开头 研究生考试结束了,也算是闲下来了,打算把以前没有写.没有整理的一些东西重新整理一下,恰好翻到了这个资料,重温一下旧梦. F题纸张计数 (测电容) 1.1 题目 具体的题目文件我会发在附录里面 ...

  7. 基于STM32的纸张计数

    一.纸张计数所用芯片 我使用的是FDC2214,做完手势识别来做的纸张计数 FDC2214使用代码如下 #include "iic.h" #include "delay. ...

  8. C语言——二分法得出测量电容值对应的纸张数(电赛19年纸张计数装置)

    本人在备战2021年全国大学生电子设计竞赛的训练中,练习了19年的纸张计数装置的题目.在最终由单片机MCU学习计算拟合出的电容曲线,以及对应纸张数相应的电容值利用二分法得到最终测量的纸张数.以下介绍我 ...

  9. 单片机STM8S测量电压电路_纸张计数测量显示装置+【2019年电赛F题国一获奖作品】...

    一 题目要求: 二 设计方案 1.硬件部分 硬件部分的制作,当初我们组内讨论了三套方案 用FCD2214芯片去采,两极板之间的电容,通过FCD2214转化为AD值,经过测试,发现FCD2214的值,受 ...

最新文章

  1. 创建 VXLAN - 每天5分钟玩转 OpenStack(111)
  2. 【译】An Opinionated Introduction to AutoML and Neural Architecture Search
  3. 首次开源!一行代码轻松搞定中英文语音识别、合成、翻译核心功能!
  4. 移植根文件系统到linux内核 s3c2440,u-boot-2011.06在基于s3c2440开发板的移植之引导内核与加载根文件系统...
  5. 【渝粤教育】国家开放大学2018年春季 0064-22T20世纪欧美文学 参考试题
  6. Kubernetes 日志查询分析实践
  7. m1芯片Mac安装pandas库(Rosetta2转译版)
  8. 和 Apple “较上劲”了?Google 解决 Cookie 隐私问题上拒绝“一刀切”
  9. 通过HttpModule实现IP地址屏蔽功能
  10. ev3pid巡线_据说这是最简单的乐高EV3巡线方法
  11. PID算法与PID自整定算法
  12. 基于vue+element的时间、农历、和日历的选择
  13. SQLServer触发器的使用
  14. 【Pandas 数据分析 2】数据结构
  15. mac电脑循环次数多少算新_mac电池循环次数怎么计算?新版mac怎么查看剩余电量?...
  16. 开源一个健身学习相关的APP,类似Keep
  17. iPhone5 iOS6.1系统完美越狱教程
  18. Algebra:Chapter 0 - 引言
  19. VMware:Mac开机出现“电脑因出现问题而重新启动,请按一下按键,或等几秒钟以继续启动”
  20. CatchCat攻防世界 MISC

热门文章

  1. python100到200的素数_python 100~200的素数和
  2. 关于java 权限关键字protect 的总结
  3. 微信支付-----统一下单接口对接
  4. 相亲与恋爱套路不一样:相亲有哪些需要注意的?
  5. TaxThemis: Interactive Mining and Exploration of Suspicious Tax Evasion Groups
  6. 分享给有缘人——给明年依旧年轻的我们:欲望、外界、标签、天才、时间、人生目标、现实、懊悔、和经历...
  7. cv.resize()详解
  8. 登录逻辑漏洞整理集合
  9. python自动化之excel文件操作
  10. 怎么把android的状态栏改成蓝色,教程分享:如何实现Android沉浸式状态栏——教你让你的状态栏变个色!...