zoukankan      html  css  js  c++  java
  • 电赛回忆

    1: Situation

    这是我参加19年参加的一个比赛,当时我们的参加的题目是“基于电容传感器的纸张计数器”,具体能实现以下功能。

    (1)测量显示电路具有“自校准”功能;

    (2)自检报告两极板之间是否短路;

    (3)测量置于两极板之间1-30张不等的给定纸张数。我们当时差不多能测量50张纸。

    (4)有良好的人机交互界面

    难点:

    1:方案选择

    因为比赛有四天三夜的时间限制,快速的选择出正确可行的方案尤为重要。测量电容的方案有很多,比如可以通过555或者与非门组成一个多谐振荡器,用单片机输入捕获去测量方波频率,从而反应电容的大小。还可以用容抗测量的方法。由于我们队里存的有FDC2214和555,我们就搭建了两个电路,经对比,在555测试时,发现纸张数量,越来越多时,两极板之间的电容变化不是很明显,所以NE555芯片,精度不够。最终我们选择FDC2214,内部有多谐振荡器,传递的是数字量的频率,通过IIC协议与单片机通信。

    iic:串行总线,半双工协议,用于连接微控制器及其外围设备, I2C串行总线有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。

    SPI:高速的,全双工,同步的通信总线, 使用四根线来实现串行通信:两根数据线、一根时钟线(主设备输出,从设备输入,用于同步数据位)、一根控制线(主设备输出,从设备输入,用来选择哪一个从设备与主机通信。)SPI的接口时序也由两个很重要的参数决定:时钟极性与时钟相位

    2:干扰屏蔽

    干扰来源:

    • 每次拿出或放入纸张时, 线路微小变化或极板偏移可能对结果造成影响
    • 环境因素可能对结果产生影响, 如低温高温电磁干扰环境下, FDC2214 返回数据会有较大偏差。
    • 挤压力度会造成误差产生, 当纸张间空气较多, 或是挤压对纸张介电常数影响较大时, 可能对结果造成影响 

    应对措施:

    • 对机械结构做处理,由于极板位移以及导线移动都会对测量结果产生影响,所以采取双轴滑杆升降结构,这样可以最大限度减少极板的位移,导线我们采用单芯屏蔽线,并通过软连接的方式固定在装置上,确保每次测量时,导线处于同一位置。
    • 对数据进行自校准处理
    • 采用静态重物挤压

    3:软件方案

    滤波:滑动平均滤波

     

    数据处理方法:查表法

    综合测评:

    原件:LM324 74LS00

    产生:占空比可调,频率可调矩形波,19-21KHZ。同频率正弦,同频率余弦

    电路结构(比赛时):RC充放电回路+电压滞回比较器,正弦用有源低通滤波器,正弦做的波形不好,余弦就没做。。。

    电路结构(比赛后大神分享):

    要求一 方波
    我们选择了与非门搭多谐振荡电路

    震荡周期T≈1.3RC (C1=C2=C,R3=R4=R)取C=0.01uF 频率f取19kHz,则R=4k左右,用103电位器即可
    值得说的是,输出波形的下降沿有一些失真,所以我们在后面又加了一个与非门,让方波更方。

    要求二 正弦波
    这里需要一个低通滤波,我们用的是有源低通滤波,不建议用无源的。

    R2/R1用来调整增益,这个用在最后调幅值,一开始比值调个小于1/1就好,主要先看波形
    R5=R6=R C3=C4=C
    截止频率
    f0=1/(2πRC) 取f0=20khz ,C=0.01uF 求得R=795.7Ω。所以使用2K电位器
    要说的是,2.5V的基准电压应该也用电位器,用来调节输出波形的中心电压上移或下降

    要求三 窄脉宽信号


    这个,使用要求二产生的正弦波和一个基准电压做比较,即可输出窄脉宽

    电路就是这么简单,基准电压用电位器分压而得。值得说的是,输出波形在20khz之下,严重失真,需要加一个与非门做非门整形

    要求四 移相90°


    这个要求可谓各显神通,我们选择了滤波移相,我们没有试普通的滤波,也没有试拿正弦积分,大家可以试试。我们这个叫滞后型文氏滤波,是全通滤波的一种

    图片来自维基百科,需要说明的是电容C下面的基准电压取输入波形的中心值(比如正弦波有1V的直流偏离,这基准电压也设置为1V)
    这个电路在Fc=1/(2πRC)处移相90°,低频移相趋于0°,高频趋于180°
    取C=0.01uF Fc=20kHz 则R=796Ω 使用2K电位器
    关于两个Rx,前一个用1K,后一个用的5K电位器,先调1:1即可。反正后面波形不太对的话,我们会每个滑变都调一调,值或多或少都跟理论值有些差异
    ————————————————
    版权声明:本文为CSDN博主「月落三千雪」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_37662088/article/details/100069914

  • 相关阅读:
    HTTP Server
    分享:uSTL 2.0 发布,STL 标准模板库
    Boost.Asio和ACE之间关于Socket编程的比较
    使用BOOST实现简单的HTTP网页下载
    HTTP Client
    轩辕高端IT培训中心系昆山轩辕软件技术有限公司旗下的IT培训部门
    分享:链表实现的队列
    镕、喆、冇用五笔为何打不出来,在此向各位好友请教! 已回答 搜搜问问
    第一讲 Linux 编程入门与基本编程工具的使用
    C++03:使用Boost-用Asio实现简易Echo Server
  • 原文地址:https://www.cnblogs.com/franksimon/p/12774216.html
Copyright © 2011-2022 走看看