备战电赛小技能 - 如何用单片机的ADC测量电压、电流、电阻和电容?

2021-04-15 10:49:29 54


电赛中很多题目都是与电气参数测量有关的,比如电阻、电容、电压和电流,这些都是最基本的概念,看似测量起来也很简单,但还是有很多技巧,尤其是用尽可能简单的电路、稳定可靠地进行测量。



说“多用表”,其实就是主要的4个参数的测量 - 电压、电流、电阻和电容。说是“表“,其实也就是模拟前端的电路而已,数据的处理和显示都在其它板子上,用的是MCU内部的ADC,当然如果你用的MCU实在穷得连个ADC都没有,那这个板子还提供了一个串行的ADC芯片。


原文是英文的,喜欢原汁原味阅读技术资料的同学们可以到我列出来的链接里自己去消化,在这里我简单介绍一下:


这个板子的尺寸不大,能够测量4个功能,但使用的器件不多,板子的尺寸跟一个U盘差不多,看板子上的器件的封装,完全可以自己参考这个设计画一块板子(记得用KiCad哦),接在自己熟悉的单片机平台上,自己编程玩玩。

板子上用到的器件有很多替代品,原装的不好买的话,可以用国产的替代,比如圣邦微、3Peaks的器件都是价廉物美,完美替代的。


借此机会你也可以了解一下国产器件的发展现状。


告诉你一个秘密 - 圣邦微、3Peaks都可以申请样片,苏老师前后用过很多这两家公司的器件,都是拿到的样片,而且到货很快,每款可以申请到20片,不信你试试。


可以用你熟悉的单片机系统做一个比较炫酷的界面,甚至你也可以做成一个小小的“产品”。。。。


电压的测量 - 要注意的就是输入阻抗要足够高,不要影响到被测电路,在这部分使用了两个跟随器进行缓冲、一个差分电路。跟随器前面的是分压器,可以将被测的电压幅度按照50:3的比例降压,差分电路使用了虚拟地VGND - 这个VGND的电压为ADC参考基准电压(比如2.048V)的一半,这样在差分电路输出端送到ADC输入端的电压的中点即为VGND(1.024V),这样就可以通过ADC的输入端0-2.048V的变化范围来测量正、负电压,输入端电压的范围是多少,大家可以算一下。

电压的测量


电流的测量 - 用一个差分放大电路将0.1欧姆上的压差进行10x 放大,根据欧姆定律,就可以算出流过0.1欧姆上的电流,可以测量到1A的电流。这个并联在被测电路上的电阻选为0.1欧姆,就是为了不对被测的电路造成影响。

电阻的测量 - 采用的是分压的原理,将被测的未知阻值的电阻跟已知阻值的电阻构成分压电路,测量分压的电压值,就可以推算出被测电阻的阻值。

由于电阻值的跨度比较大,不可能通过一个已知阻值的电阻来测量跨度很大的未知电阻,因此加了一个开关控制网络,通过数字控制的方式切换不同的阻值,从而达到更精确的测量。在下面的电路中用了6个MOSFET作为开关来切换使用不同阻值的参考电阻。


电容的测量 - 在这里使用了一个555精确定时器 + 频率/电压转换器。555定时器被设计为振荡频率为585Hz,50%占空比的非稳态多谐振荡器。被测的电容接在555的阈值输入端,进而影响到LM2907这颗频率/电压变换器的输入直流电压值,通过测量电压值就可以反推接入的电容的值,当然在其输出端还加了一级差分放大器。


由于测量中会用到负电压,在这个设计中还用到了电荷泵从+5V产生-5V的供电电压,以及一个基准电压源MAX6106产生2.048的参考电压,并通过电阻分压 + 缓冲得到一个1.024V的虚地电压,提供给运算放大器,将输入的+/-变化的电压偏移到以1.024V这个中间点为电压中点。


下面表格列出来了本电路能够测量到的精度。


免责声明:本文转载自“电子森林”,支持保护知识产权,转载请注明原出处及作者,如有侵权请联系我们删除。