本项目所设计的Arduino 万用表应具备以下功能:·具备3个量程的电压表:0-10V,0-30V,0-100V ·具备1个量程的电流表:0-500mA ·具备2个量程的欧姆表:0-1KΩ,0-250KΩ ·二极管,LED的连接性检测 ·LED功能性测试 ·NPN双极结型晶体管的BETA值测量
警告:高压危险!
首先我必须放出这个警告,因为我们的一些操作电压高于安全电压值,应当时刻将安全放在心中。另外,还要提醒一点,当将该万用表和电脑相连时,应当让电脑和该设备共地。
电路设计,这是总体电路图。因为总电路图看起来有点复杂,我会将其分成子模块进行讲解。
电压表的简化图。三个量程可以通过Arduino板上的按钮进行选择。在进行电压测量时,只有一个开关是闭合的。
电流表的简化图。被测量电流流过1Ω电阻到地,其输出经放大后连接到Arduino的A1接口,放大器的增益为10.为了进行过流保护,我配置了一个500mA的复位PTC。
欧姆表的简化图。由齐纳二极管相对于正电压源产生基准电压,该电压被施加到由PMOS晶体管和运算放大器组成的电流转换器上,待测电阻连接到晶体管的源极。此时齐纳二极管上的电压和电阻上的电压相等。Arduino板控制,两个开关都闭合,两个电阻都有电流流过。因此电流有两个可能值:10uA和2.5mA。这些电流可以进行精确的调制。然后生成的电流流过待测设备(电阻、二极管、LED……),然后电压降会在Arduino的A2口被检测到。
如果电阻的范围时100Ω。此时,参考电流2.5mA流过电阻,并将生成的电压施加到Atmega芯片的ADC输入上。我们想测量的在0-1000Ω之间变动。而测量电压也在0-2.5V之间变动。Vce(Vds)的电压范围为0.5V-3V,这两个电压会直接影响到集电极-发射极/源极-漏极的电流,最终导致精度下降。这种现象可以通过此图很好的理解:NPN双极结型晶体管的传输特性。该影响可以通过软件进行一定的校正,但如果是非线性的,校正会非常困难。
怎么测量beta值:前面提到的产生的电流可以流过不同的设备:电阻、二极管、LED、肖特基二极管……,产生的电压降和相应的设备有关。这个电压值可以提供相应设备的信息,比如设备的电压降和设备的对应:二极管-0.4V-0.8V;肖特基二极管-0.1V-0.5V,LED(颜色不同并不一样)-1.1V-3.5V。这时使用的电流是10uA。而如果使用2.5mA,那么LED就开始发光,就能测量LED的功能性。测量beta值也是使用的10uA,测量值可在屏幕上读出。
PCB文件做好之后将给代工厂加工,我等了两周就拿到了成品。
对Arduino进行配置,需要对模式选择和万用表软件两者进行配置,相关的配置文件可在http://www.instructables.com/id/Digital-multimeter-shield-for-Arduino/ 找到。
然后还需要进行校准。找一个标准的万用表相对校准即可。
校准欧姆表。
(免责声明:整理本文出于传播相关技术知识,版权归原作者所有。)