设计思路:
用555定时器输出一定频率的方波来驱动红外发光二极管;红外接传感器接收到不同距离的红外光后会返回不同的电压值Vo,将Vo信号经运放放大后用比较器与不同基准电压比较,数模转换后设计组合逻辑电路驱动数码管实现接收不同距离的红外线后显示不同的数字。
一、555定时器组成多谐振荡电路的原理
555定时器可以很方便地接成施密特触发电路,然后把施密特触发电路的反向输出端经RC积分电路接回到它的输入端,就构成了多谐震荡电路。
555定时器的关键在于比较器C1反向端与C2同相端电压的大小。当C1反相端电压大于2/3Vcc时,C1输出0,相当于RS触发器清零,输出0;当C2同相端电压小于1/3Vcc时,C2输出0,相当于RS触发器置位,输出1;
而多谐震荡电路的电路如上,通过电容进行充放电进而改变C1反向端与C2同相端的电压大小。一个充放电周期有以下几个状态:一、电容未充电,C2同相端电压小于1/3Vcc,因此触发器输出1,高电平。二,Vcc对电容进行充电,直至C2同相端电压大于1/3Vcc,C1反向端嗲与小于2/3Vcc,RS触发器处于保持状态,保持高电平。三、C1反向端电压大于2/3Vcc,RS触发器清零,输出低电平,且在Q’的作用下三极管导通,开始放电。四、变成三的状态,S与R都为无效信号,保持低电平。五、变成一的状态,S高电平,触发器输出高电平。循环往复,形成了不断震荡的方波。
电路的震荡周期计算:T=T1+T2=(R1+2R2)CLn2
电路的占空比计算:duty=T1/T=(R1+R2)/(R1+2R2)
555定时器在proteus里面的设计如下(Vcc接5V供电):
当将示波器接入到输出端Q时,可以看见输出方波曲线如图:
因为红外线的载波频率最好在36khz,因此改变上面R1,R2与C的值,使得输出频率在36khz为最好;
二、放大电路的设计
这里用的红外传感器是GP2D12,在接收到不同距离反射回来的红外线时会返回不同的电压值。返回来的模拟信号电压区间是0.4v~2.4v,对应80cm~10cm距离,模拟信号电压大小与距离成反比关系。因为整个模块的供电电压是5v,因此设计将此模拟信号电压放大成原来的2倍,便于后面用比较器与电阻分压而成的基准电压比较。
放大电路如图:
这里用到了一个电压跟随器与一个同相放大器。跟随器用来阻抗匹配,即增大输入阻抗,再经过放大倍数为1的同相放大器将传感器的输出信号Vo放大到原来的两倍。
将放大器的输出端直接接至反向输入端,构成电压跟随器,电压跟随器的输出电压等于输入电压。但是由于输入信号直接连至放大器的同相输入端,理论状态下阻抗为无穷大,因此传感器输出的模拟电压信号几乎全部流至下一级同相放大器上,起到了阻抗匹配的作用。
将放大器的输出端通过一个电阻返回到反向输入端,再接一个限流电阻至GND,便构成了同相比例运算电路,即同相放大器。运用叠加定理,得同相放大器的放大倍数为
Vo=(1+Rf/Rg)Vi
上图中,Rf=Rg=20k;
因此Vo=(1+1)Vi=2Vi,将电压信号放大为原来得两倍;
上图两个电阻的作用都为去耦,减小输入失调电压对于放大信号的影响。
三、比较器进行数模转换
比较器的负极接的都是运放放大两倍后的电压,当传感器返回的电压不断改变时,各比较器的电压也随之不断改变。正极是用四个电阻电阻分压后的基准电压,经过比较器数模转换后输出高低电平。
但是实际仿真过程中存在着问题,即各比较器同相端的分压并不是严格按照5V电源经电阻分压计算后的电压运行。
如图,5的电压应为5V*(1000/1800)=2.78V,但实际上却是2.15V。经过考虑后,应该是在设计当中把比较器当成了理想运放进行计算,但实际上流进运放的还有电流,对电路进行了影响。所以后续应该对着实际电压不断调试,再最终确定四个分压电阻合适的阻值。
四、数码管的驱动
这里为数电的内容,首先根据自己的要求列出真值表,并且考虑无关项。
A | B | C | Q1 | Q2 | 数码管显示数字 |
0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 | 1 | 1 |
0 | 1 | 0 | X | X | |
0 | 1 | 1 | 1 | 0 | 2 |
1 | 0 | 0 | X | X | |
1 | 0 | 1 | X | X | |
1 | 1 | 0 | X | X | |
1 | 1 | 1 | 1 | 1 | 3 |
经过卡诺图化简后得出相应的逻辑表达式:
Q1=B',Q2=AB'+C;
用门电路连接至七段共阴数码管如图。
便可使得数码管随着不同放大信号电压的变化而变化。代表着接收不同距离的红外线后数码管随之改变。
完整电路随后上传。