“不要像我一样作死用模电去实现。“—— Todd Zhou
背景
一直都想写一篇技术向的博文,不过苦于在许多方面了解得不够透彻,写出来的东西也太过浅显,难以给他人提供足够的帮助,所以也就一直没写(更不用说我假期还说要每周写一篇结果鸽了……)。但现在我第一次有机会,用自己学过的知识设计从电源、传感器测量、放大、比较、到输出与显示的每一部分,凭此构建出一个完整的电路。在这期间,我也从最开始的毫无头绪,到初步设计,再到电路的搭建、改进与调试,每一步都是那周在实验室搭电路查资料一点一点地完成。
初见杀
我看到课表的第一周基本没课,以为这是学校的一个疏忽,丝毫没注意到其他班是照常行课,开开心心地回到了学校后,打算先把作息调整过来先。可刚回学校就接到了模电实验老师的通知:“这周安排的是模电课程设计,请同学们准时来上课。”然后就看到了老师发给我们的预习资料:设计题目是在周四晚上前设计并搭建一个电子秤,后附有详细要求和可用元件列表。
当时我有些懵:虽说上学期确实是学完了模电和数电,但是现在过了一个寒假,鬼知道我两个月过去了还记得些什么。也没有在寒假提前通知,给点时间让我们调整温习,直接开幕雷击。
讲真,就算我对学的东西还像刚考完试那样熟悉,那也只是知道放大器电路、滤波电路和比较电路这种小的部分,仅仅是把上述的那些小电路选两个组合起来我都做不到,而大型的电路别说设计,我连见都没见过。现在突然就布置一个课程设计,那对我而言,难度也是蛮大的。
所以我就想要取巧:因为单纯从一个放大器开始搭建模拟电路确实比较难,因为是分立元件,各个电气元件的性质有差异,在搭建一个比较大的电路时需要进行分别调整,比较麻烦。而如果能够使用后来科技进步的成果,比如单片机或者其他的专用芯片,用集成电路来搭建会容易得多。
我便发消息问老师,结果老师回复我说:
“模电课设是基础实验,不需要单片机。”
那就只能头铁去用模电实现了……
帮助
之前我也提过,软件与硬件各有优劣,但在发展方面,我是更看好软件的:因为从事软件的人更熟悉网络,因为软件的开源,但最为重要的是,因为社群。有了社群,人们就可以更容易的入门,可以少做很多重复的工作,可以有更好的范例进行参考。
这次正是社群帮助了我。无论什么事情,从零到一都是很难的,如果当你对这种事情并不热衷,那更是受罪。而Todd Zhou师兄的设计,让我对这个课程设计有了思路,从而我能以此为参考,做出我自己的电路。
所以我非常感谢师兄,他的参考给了我极大的帮助,让我少走了许多的弯路,帮我节省了很多的时间。而这也是我想要写这篇博文的原因,我也希望能在未来,也能给到其他人这样的帮助,那样我就非常满足了。
好了,下面来看看我的设计吧:
设计
虽说模电课设是有好几个题目的,也许是我的运气不错,我分到的题目和师兄的题目不能说是完全相同,只能说是一模一样:
设计题目与要求
设计一个简易电子秤电路,称重范围分为两档:0 ~ 1.999kg,0 ~ 19.99kg。要求:
- 基本功能
- (1)当秤盘上有物体时,用数码管显示其重量;(A/D 转换使用 ICL7107 专用集成电路,由实验室提供)
- (2)当物体从秤盘上拿走时,物体重量显示 3 秒后自动切断电源;
- (3)超称重范围或减称重范围时,两个档位可自动切换量程,(用发光二极管指示量程),且数码管小数点的位置也跟随切换;
- (4)设计电路所需的电源。(实际搭建时仍使用稳压直流电源)
- 拓展功能(+1 ~ 10 分)
- (5)两次秤重有累加功能。
- (6)称重范围对应的档位编号分别是 1 和 2,用一个数码管显示其档位;
- (7)去皮功能(设置 0 参考)
- (8)其他功能的添加。
(因为我比较愚钝,所以在那周要结束的时候才堪堪调试好基本功能,虽说拓展功能原则上只需设计就好,但我也不想再设计了=.=)
设计思路
由题目说明中的第四点可知,重量传感器使用的是差动电桥或与其类似的电路,因此此题与电阻式传感及其处理电路的应用有关。通过查阅资料可知,市面上常见的桥式称重传感器的原理即惠斯通电桥,我们可以以此设计电桥电路。
根据题目说明的第(4)点,可知电桥电路的输出小于10mV,所以我们需要放大电路将电桥输出的信号进行放大,于是在电桥后面应当加上运算放大电路。
而因为需要两种量程,所以我们需要设计一个可以进行电压比较的电路,然后将比较的结果输出到下一个电路:数据选择电路。数据选择器根据电压比较器输出到结果,将放大电路输出的电压结果选择性地输出到以ICL7107为主的显示电路里面。
另一方面,题目要求在显示三秒后切断电源,由于所用的是直流稳压电源,这个对我们现在所学的知识而言,很难在有限的时间里去实现,不过题目说明里只要求我们控制一个发光二极管熄灭即可。所以我以为,应该将运算放大电路的输出结果经过一个比较器和零相比之后,通过一个继电器和一个由555定时器构成的单稳态触发器控制发光二极管的延时和熄灭。
原理方框图
方案A
该电路中,传感器接收信号,将接收的小信号输入放大电路。正如同设计思路中描述的那样,使用多个运算放大器组成的放大电路将电桥输出的信号进行放大。然后一方面通过比较电路、延时电路和继电器电路控制显示的延时及电源的关闭;另一方面,通过带有基准电压电路的第二个比较电路、量程自动切换电路和A/D转换电路等一系列电路,显示电子秤所测得的物体重量。
方案B
本来设计一个方案就让我头痛不已了,还需要至少要有两个方案比较……于是参考师兄“模数转换”的思路,胡诌了另一个方案凑数……这个方案的思路是先进行模数转换,然后再进行运算。
在这个电路里面,与上一个电路相同,传感器为差动电桥电路,其中的中间两点引出电压差,再通过放大器和滤波电路滤除高频,得到放大电压。放大器输出的信号一方面进入比较器1,控制电源的开关;另一方面进入A/D转换芯片,转换后输入比较器2,再进行量程切换与显示。
不过由于复杂度和成本上,模数转换都不如数模转换,所以我们采用方案A。
具体模块分析
重量传感器
由于我们是三流学校的三流专业,所以老师表示不会给大家配备重量传感器,测量信号用与传感器电路相似的电桥产生即可。由查阅资料可知,压阻压力传感器的原理是惠斯通电桥:
当受到外界压力时,电桥中的电阻阻值发生变化,使电桥失去平衡。外加电压后,电桥失去平衡时将输出一个与压力对应的微小电压信号,从而实现将压力信号转换为电信号。
具体的计算公式可以参见Todd Zhou师兄的博文,这里就不再详述(其实是我懒得写Latex 233)。
电桥选用直流电桥,其特点是信号不会受各元件和导线的分布电感及电容的影响,抗干扰能力强,但机械应变输出信号小,需要高增益和高稳定性的放大器进行放大,这就是为什么我的电路中下一个部分便是放大电路。
信号放大电路
传感器输出的电压至多不超过10mV,因此我们需要在输出的信号进入比较电路之前,先将传感器输出的小信号转换成比较电路能接受的大信号。
为了保证电路信号的稳定与不失真,尽可能的避免一个运算放大器电路的放大倍数过大的情况。所以,在这个电路中,我使用的是由四运放模拟芯片LM324N中的两个运算放大器分别组成同向比例放大电路,设计的放大倍数理论上约为900倍,足以满足后面比较电路的需求(没有设计更高级的放大电路,因为又不是不能用.jpg)。
基准电压电路
由图,根据分压原理,我设计了这个简单的基准电压电路:
基准电压为500mV,其中Vcc连接电源的+5V,Vout连接比较电路的负端,作为Ref存在。
比较电路II
放大电路II会将信号与上述的基准电压电路中所构建的基准电压进行比较:若放大电路输入的信号比基准电压大,则向后面连接的四选一选择器输出高电平;若放大电路输入的信号小于基准电压,则输出低电平。
量程自动切换与小数点电路
量程自动切换电路会根据比较电路II的输出,从放大电路输入的两种信号中选择一种进行输出。自动切换量程电路受比较器输出信号控制。当被测系统量程由0~1.999kg切换到0~19.99kg值时,要考虑量程和小数点的自动切换。我选择的是数字芯片CD4052,设计的电路图如下:
在比较电路II输出低电平,也就是放大电路的输出电压小于基准电压时,选择端A1A0的状态为00,此时CD4052选择输出原信号;当放大电路输出的电压较大时,比较电路II向量程自动切换电路输出高电平,选择端A1A0的状态为01,此时CD4052会选择输出经过降压处理后的电压信号。
选择的具体过程可以查该芯片的选择状态与条件,这里就简单说下即可。
比较电路I
比较电路I的思路大致上都与比较电路II相仿,只不过这次所设置的参考基准电压为0V,所以在比较器的负端直接连接一个阻值合适的电阻接地即可。而比较器的正端端输入来自放大电路的输出,为了保护电路,在比较器与放大电路连接处放置一保护电阻。最后在比较器的输出端口7接一上拉电阻到+5V电源,其余照旧接正负电源、接地即可。
选择器控制电路
如同量程切换电路的思路一样,采用数字芯片CD4052双四选一模拟开关,连接图如下:
其中,正负电源、接地端均如图所示,A0接比较器I的输出,A1接地。由于我们只需要向后面的延时电路输入一个低电平脉冲,所以将Y接地。当选择符合条件时,选择器控制电路将向延时电路输入一个低电平脉冲,使得后面的555单稳态触发器跳到暂稳态,二极管发光。
延时与电源电路
由上面的说明可知,延时电路受比较器输出信号控制。当被测系统重量等于0值时,延时电路通过继电器断开供电电源,即发光二极管熄灭。
在这里我选用数字芯片NE555定时器,通过设计单稳态触发器的思路,制作延时电路;其中通过调整R20与C2的值,实现以555定时器为基础的单稳态触发器能够使发光二极管闪亮并延后固定时间熄灭的效果。电路图如下:
A/D转换与显示电路
在这里使用ICL7107专用集成电路,其电路图如下:
它包含3 1/2位数字A/D转换器,集A/D转换和译码器于一体,可直接驱动共阳极LED数码管。 ICL7107内部设有参考电压、独立模拟开关、逻辑控制、显示驱动、自动调零等功能。其后与四个数码管相接,显示数字。
由于这是老师给的现成板子,所以就不再过多介绍,这里比师兄自己设计和仿真容易多了。
电源电路
这个没什么特殊之处,书上基本也能找到现成的双电源设计,直接出图:
不过这里相比于书上,多出了两个冗余小电容C10、C11,因为按器件说明书的要求,78/79系列的输入、输出端都应该接个小电容,推荐0.1uF,目的是防自激。按电源滤波的要求,78/79的输入、输出端都应该接大电容,一般是百uF级别。然而,为了提高电源的品质,小电容还是不省为好。输入端的小电容,可以吸收进来的高频脉冲,对提高系统的抗扰能力有所帮助。输出端的小电容,可以作为电源退耦,类似于IC电源上并联0.1uF电容。
电源退耦电容往往是安得很多的,这实际是设计冗余——必要的可靠性措施。那么,电源上即使“冗余”了2个小电容,还是有益的。
整机电路图:
问题与改进
继电器会造成分压,故我们正负5V提供的电源无法满足其启动电压,为了不让电路产生较大的改动,在后面设计的时候,我使用数字芯片CD4052双四选一模拟开关替代了继电器,使电路能正常的进行选择。
电桥出现问题,平衡时却依旧输出电压,我认为是电阻损坏,经挨个替换电阻,最终排除了损坏电阻。
555定时器构建的单稳态触发器存在问题,其延时的时间不稳定,经排查,发现是电路中存在元器件引脚误触到情况,在误触到地方粘上绝缘胶布即恢复正常。
元件清单
直插式模拟IC
芯片名称 | 功能 | 个数 |
---|---|---|
LM324N | 四运放 | 1 |
LM311 | 比较器 | 2 |
直插式数字IC
芯片名称 | 功能 | 个数 |
---|---|---|
CD4052 | 双四选一模拟开关 | 2 |
NE555 | 定时器 | 1 |
ICL7107 | 双积分型A/D转换器 | 1 |
电阻
规格型号 | 个数 | 位号 |
---|---|---|
1k | 5 | R26、R27、R28、R29、R30 |
3k | 6 | R5、R6、R8、R9、R14、R19 |
10k | 3 | R13、R16、R18 |
24k | 1 | R21 |
30k | 1 | R20 |
91k | 4 | R7、R10、R12、R15 |
100k | 5 | R1、R2、R3、R4、R22 |
200k | 2 | R11、R17 |
470k | 1 | R24 |
1M | 1 | R25 |
电容
规格型号 | 个数 | 位号 |
---|---|---|
100pF | 1 | C3 |
0.01uF | 1 | C1 |
0.047uF | 1 | C5 |
0.1uF | 1 | C4 |
0.22uF | 1 | C6 |
10uF | 1 | C2 |
104 | 1 | C7 |
其他电子元件
规格型号 | 个数 | 位号 |
---|---|---|
数码管 | 4 | \ |
发光二极管 | 1 | D |
10k电位器 | 1 | R23 |
5V稳压器7805 | 2 | \ |
整流管IN4001 | 4 | D2、D3、D4、D5 |
性能指标的测量
电路调试完毕,结果正常。
测试使用的仪器
数字万用表,直流稳压电源,示波器,波形发生器。
IC测试数据
位号 | LM324N(1) | LM324N(2) | ||
---|---|---|---|---|
管脚号 | 4 | 11 | 4 | 11 |
理论值 | +5V | -5V | +5V | -5V |
实际值 | +4.94V | -4.98V | +4.89V | -4.90V |
位号 | LM311(1) | LM311(12) | ||
管脚号 | 8 | 4 | 8 | 4 |
理论值 | +5V | -5V | +5V | -5V |
实际值 | +4.97V | -4.96V | +4.92V | -4.93V |
放大电路测试数据
V电桥输出 | Vout | V电桥输出 | Vout | V电桥输出 | Vout |
---|---|---|---|---|---|
0.4 mV | 199.98 mV | 0.8 mV | 399.67 mV | 1.5 mV | 749.14 mV |
0.5 mV | 249.90 mV | 0.9 mV | 499.59 mV | 2.0 mV | 998.75 mV |
0.6 mV | 299.82 mV | 1.0 mV | 512.54 mV | 2.5 mV | 1.248 V |
0.7 mV | 349.75 mV | 1.1 mV | 639.29 mV | 3 mV | 1.498 V |
电子秤切换量程点
电桥输出/mV | 放大电路输出/V | ICL7107显示 |
---|---|---|
1.3 | 0.8 | 1.398 |
总结与后记
按照惯例,每一篇文章的最后,作者都会发出感慨,说自己籍由此事又悟出了什么道理云云,升华主题。我想了想,还是也效仿他们,也在此篇的最后讲一点大道理——虽然不是我悟出的,不过在经历这件事以后,对它的感触更深了。
在现实中哪里会有机会等到自己万事俱备才开始做,大家都是边做边学的,世界一直在变化,你也没有时间等到全部学完了以后再做。
其实现在再看当时的设计题目,发现除了一些芯片和元件需要上网查相关资料以外,其实这些完全能用已经学过的知识完成,虽然已经忘得差不多了。
说到底,我们在上面做的一切,都是在努力地将课本的理论与课设的实践相联系。扎实的理论基础可以使我们在设计中才能设计出更简单泛用电路,而动手设计、搭建与调试亦可加深印象与理解,反哺自身的理论知识。所以,考试得到高分与实践优秀也并不冲突。
最后,感谢各位理论老师、感谢两位实验老师的悉心教导!
参考资料:
(这个课设是3月初开学时候做的,鸽了很久到现在才写完,当时查到资料好些已经找不到了,就象征性地摆几个,师兄的博文中有更详尽的资料参考,可以去那里看看)
[1] 电子秤电路
[2] 说说稳压电源和集成稳压器件
[3] 差动半桥差动全桥
[5] 什么叫电位器?什么叫电阻器?