一、实验目的

(1)熟悉一阶RC滤波器的电路结构和滤波性能。测量一阶RC滤波器的通带增益和转折频率。

(2)熟悉常用二阶RC有源滤波电路的基本电路结构和滤波特性参数表达式。搭建一种二阶RC有源滤波电路并测试该电路的滤波特性参数。

(3)掌握AD转换电路中模拟电压与数字量之间的对应关系。能够运用单片机内部的AD转换模块,对输入模拟电压进行AD转换,对转换结果加以利用。

二、实验原理

1.无源滤波电路

这种电路的电路图如下:

其传递函数分别为:

截止频率:

一阶无源滤波电路,其最主要的特点就是结构简单,仅仅由电阻与电容就能构成。这个电路在有用信号与被滤波的信号频率相差很大的条件下有很广泛的应用。不过一阶无源滤波电路不能对信号进行放大。

应用环境举例:当载波频率远远高于信号带宽时,解调后可以利用一阶RC低通滤波器滤除残余的高频载波,没有必要采用高成本、高性能的高阶滤波电路。

2.二阶滤波电路

(1)压控电压源型二阶滤波电路

电路结构及其传递函数如下:

传递函数:

Y1-Y5所在位置为元件的复导纳。对于电阻元件有,对于电容元件有

这种电路,在结构上引入了正反馈,如果在增益过大时,很容易产生自激振荡,不适合用作高性能的滤波电路。该电路也有优点,就是电路结构简单,对于运放的理想程度要求不高,成本低,经济型好。

由上述电路构成的低通、高通、带通和带阻滤波器及其对应的特性参数如下:

(2)无限增益多路反馈型二阶滤波电路

电路结构及其传递函数如下:

由上述电路构成的高通、低通和带通滤波器及其对应的特性参数如下:

这种无限增益多路反馈型滤波器不存在正反馈,因而表现得更加稳定。从经济角度上看,这种电路得成本也很低。但是其存在着不容易调整的弊端,这个电路中,改变一个电阻值,很可能会改变两个甚至三个特性指标。

本次实验中有源二阶滤波电路采用无限增益多路反馈低通滤波电路,介绍如下:

在复数域下进行上述推导如下:

二阶低通系统的传递函数:

滤波器bode图描述了电子元件在不同频率信号下的性能,二阶低通滤波器的频率特性曲线如下:

根据上述的bode图,可以看出衰减系数对于滤波器的性能有着很大的影响。同时通过学习得知要想避免滤波器在固有频率附近产生振荡,就要使得衰减系数尽量大;同时为了实现低通滤波器在截止频率附近以很大幅度下降,这又需要衰减系数小一些。综合考虑衰减系数选择大于1又接近于1的数值比较合适。

3.STC12C5A60S2中AD模块

在该单片机中,AD结构通过对P1口输入的模拟量进行逐次比较来进行AD转化。有关AD转换的寄存器如下:

P1ASF是P1口模拟功能控制寄存器,用于选择将P1哪一位作为AD转换使用。

ADC_CONTR是AD控制寄存器 ADC_POWER用于选择是否向AD转换模块供能;SPEED1与SPEED0用于选择转换速率。AD_FLAG是AD转换结束的标志位,当一次AD转换结束以后该位会被置1,需要由软件进行清0。ADC_START是AD转换开始控制位,将该位置1后AD转换开始,在转换结束后该位置0。最后三位 CHS2、CHS1、CHS0用于选择端口作为输入。

ADC_RES与ADC_RESL与AUXR1分别用于存储AD转换结果与设置存储的格式。

AD转换的结果表示:

在AD转换中使用中断:

使用查询方式进行AD转换时,是让程序等待AD转换的结果,再读取并处理数据。AD_FLAG是AD转换结束的标志位,AD转换结束后会置位,查询方式是让程序等待这个标志位置位的结果,也可以理解为不断查询这个标志位是否置位。而使用中断方式时,标志位置位的同时会发生中断,程序暂时挂起,并自动进入中断服务程序处理AD转换的结果,处理结束后继续进行被挂起的程序。

在使用中断进行AD转换时,要注意开启总中断EA与AD分中断EADC,在每次中断结束时,要注意将中断标志位进行清零。在AD中断与单片机中其他中断模式配合使用时,也要注意设置中断响应的优先级。

三、实验内容与现象解释

1.无源滤波电路

电路板正面

电路板反面

无源滤波电路由一个电容与电阻构成,通过改变接入信号信号源与地的位置就可以实现两种不同的滤波功能。

电路中为10kΩ电阻和0.01uF电容,截止频率为

.(1)无源低通

实验接线图

无源低通测量数据:

输入信号频率/kHz

0.5

0.8

1

1.4

1.5

1.6

1.7

输入信号Vpp

1.07

1.07

1.07

1.07

1.07

1.07

1.05

输出信号Vpp

1.01

0.94

0.90

0.80

0.78

0.76

0.74

输出信号Vpp占比

0.944

0.878

0.841

0.747

0.728

0.710

0.704

输入信号频率/kHz

1.8

1.9

2

2.5

4

6

8

输入信号Vpp

1.07

1.05

1.05

1.05

1.05

1.05

1.05

输出信号Vpp

0.7

0.68

0.65

0.56

0.39

0.273

0.209

输出信号Vpp占比

0.654

0.647

0.619

0.533

0.371

0.260

0.199

无源低通部分实测照片(全部照片见附录,自己多拍)

在示波器中,按下analyze,按下功能,选择频率响应分析,在设置中将启动频率设置为100Hz,停止频率为10KHz,设置1Vpp,点数设置为60点,按下back,按下运行分析。(后续频率响应曲线操作一致,不再赘述。)生成对应的频率特性曲线图如下:

由上图中看到,当增益下降3db时,对应的频率为截止频率,图中数值与理论数值相符合。(因为点数设置,存在略微偏差。)从表格中看到,该低通滤波器的增益随着信号频率的增大,增益逐渐减小,变化与图中曲线一致。

(2)无源高通

实验接线图

无源高通测量数据:

输入信号频率/kHz

10

8

5

2.5

2

1.9

1.8

输入信号Vpp

1.07

1.05

1.05

1.07

1.05

1.05

1.07

输出信号Vpp

1.03

1.03

0.98

0.88

0.82

0.8

0.78

输出信号Vpp占比

0.963

0.981

0.933

0.822

0.781

0.762

0.729

输入信号频率/kHz

1.7

1.6

1.5

1.4

1.3

1

0.5

输入信号Vpp

1.07

1.05

1.05

1.05

1.07

1.07

1.05

输出信号Vpp

0.76

0.74

0.72

0.70

0.66

0.58

0.34

输出信号Vpp占比

0.710

0.704

0.685

0.667

0.628

0.542

0.324

无源高通部分实测照片(全部照片见附录)

由示波器生成的频率特性曲线如下:

由上图中看到,当增益下降3db时,对应的频率为截止频率,图中数值、理论数值、低通截止频率的数值三者均一致。由表格中可看出随着信号频率升高,高通滤波电路的增益也随之增加。

从上述低通和高通的实验中可以看出,两个电路的截止频率均在1.6KHz左右,与理论值一致,从示波器生成的bode图中也可以看出在低通或高通上存在一个通带不会对信号进行衰减,其通带增益接近1。

2.二阶RC有源滤波器

无限增益多路反馈型二阶滤波电路

要想获得性能较好的滤波电路需要合理的选择电路中元件的参数。在电路板制作之前,我利用MATLAB科学计算软件辅助确定其中元件参数。

在实际电路中,R1=R2=10kΩ,R3=6.8kΩ,C2=C1=0.01uF.根据公式有增益K=-(R3/R1)=-0.68,衰减系数α=2.8619,固有频率w0=1.93KHz。由于设计的滤波电路中衰减系数α>1,所以不会在系统的固有频率附近发生振荡。当增益下降到-3db的位置会相对与固有频率前移,其对应的截止频率为(见下图):

电路设计如下图:

电路板正面

电路板反面

有源二阶低通测量数据:、

根据实验数据可以得出,当输入的正弦波频率为0.7kHz与0.8kHz时,输出的电压幅值下降至原来幅度值得0.7倍左右。与bode图中的截止频率相符合。

这个现象与MATLAB计算结果一致,即在截至频率处增益下降3db。该低通滤波电路由于衰减系数相对较大,在该系统的固有频率处(2kHz),其输出的幅度值已经下降至输入的0.257倍。除了输出电压在幅值上产生了变化,其在相位上,也可以看出相较于输入电压,输出电压随着频率增大产生了延迟。由于存在-0.68增益(输出与输入反相),在数值上频率增大时二者的相位差减小了(即最后高频时接近同相,是因为负号的存在,实际上有半个相位的延迟。),这个结论在理论bode图中也可以明显看出。

有源低通部分实测照片(全部照片见附录)

由示波器生成的频率特性曲线如下:

利用无限增益多路反馈型二阶滤波电路,对噪声进行过滤

在下图中,在低频波上添加25%的噪声,,可以看见在通过有源低通电路后,叠加的噪声波被滤掉,留下了低频大幅值的波,其对应的输出增益电压保持不变,仍为0.71左右,对应放大倍数为-0.68。

添加噪声的信号

原始信号

二阶RC有源滤波器及过滤噪声实验接线图如下:

3.AD转换实验

在P10口输入模拟电压数据,通过10位的led灯显示AD转换的结果

电路板正面

电路板反面

设置AD_CONTR=11101000(选择P10口作为AD的输入端口并开始AD转换),AUXR1为0x0f(设置ADRJ=1)使得AD转换结果以如下的形式进行存储

在显示阶段将ADC_RESL取反之后直接赋值给P0口,利用ADC_RES的值进行逻辑判断来确定P46与P45端口输出值。其中需要对P4口进行单独定义,并且通过设置寄存器P4SW来使得P4端口工作在IO口状态。

程序代码

#include<reg52.h>

#include<intrins.h>

#define uchar unsigned char

#define uint unsigned int 

sfr P1ASF=0x9d;

sfr ADC_CONTR=0xbc;

sfr ADC_RES=0xbd;

sfr ADC_RESL=0xbe;

sfr AUXR1=0xa2;

sfr P4=0xc0;

sfr P4SW=0xbb;

sbit P45=P4^5;

sbit P46=P4^6;

uchar temp;

  void delay(uchar j)//延时函数

{

uchar i;

i=125;

for(;j>0;j--)

{

while(i--)

{

;

}

}

}

  void main()

{

P4SW=0xff; //调用P4口作为IO口进行使用

  while(1)

{

AUXR1=0x0f; //对AD的工作模式进行设定

  P1ASF=0xff;

ADC_CONTR=0xe8;

delay(1);

while((ADC_CONTR&0x10==0));

  temp=ADC_RES;

if(temp==0)//通过高两位的值判断P45与P46的输出

{

P45=1;

P46=1;

}

if(temp==1)

{

P45=1;

P46=0;

}

if(temp==3)

{

P45=0;

P46=0;

}

if(temp==2)

{

P45=0;

P46=1;

}

  P0=~ADC_RESL;

}

}

程序流程图:

实验现象

在实验时,随着滑动变阻器抽头位置的变化,AD模拟输入量增大(电压增加),彩灯亮的位置逐渐向高位进位。(具体现象请看视频)

在实验中,其实在理论上灯全灭时,在实际中第几位会有点闪烁,这个现象是由于变阻器线路上分压导致的。

接线图和现象图如下:

四、实验误差

1.实验中使用的电阻值在精度上存在一些偏差,使得实际上电路的参数与设计时的参数存在偏差。

2.频率特性曲线设置点数为60,不够精细,会产生一定偏差。

3.在实验设计时,认为运放为理想运放,理想的虚断虚短。会使得设计参数与实际参数存在偏差。

五、实验总结

1.通过本次实验,我熟悉了滤波电路的基本理论以及对应的电路结构。

2.了解并熟悉了单片机的AD转换模块功能,并实现简单的应用。

六、附录,这里只展示需要拍的类别,至于数量自己定夺

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐