使用Arduino构建电阻色码计算器和欧姆表
对于这个项目,我使用ATmega328微控制器和1.8英寸彩色液晶显示器构建了一个手持电阻色码计算器和欧姆表。
本文引用地址:https://www.eepw.com.cn/article/202410/463553.htm对于我们的项目,我们将创建一个基于Arduino的欧姆计,它也可以作为一个电阻颜色代码计算器,在视觉上模仿All About Circuits流行的在线电阻颜色代码计算机。以下是我们已完成项目的运行视频:
项目概况
该系统的大脑是一个ATmega328微控制器(Arduino UNO)。我们还将使用:
一个小型TFT液晶显示器。
用于与简单GUI交互的六个按钮,
CD4051多路复用器/多路分用器
八个不同的电阻器,用于在测量范围之间切换。
与我之前的几个项目类似,我为这个设备创建了一个专用的All About Circuits品牌PCB;但是,您也可以使用面包板或perfboard复制此项目。
这个项目旨在既有趣又有教育意义。有更准确和可靠的方法来测试您的组件,因为即使是最便宜的万用表也可能会给您更好的结果。典型的电阻器的容差为5%,ATmega328的模数转换器(ADC)的分辨率仅为10位。所以,我们的精度将低于一个好的欧姆表。
电阻器颜色代码
电阻器色标系统最初由无线电制造商协会在20世纪20年代开发,用于提供电阻器值和额定值的视觉指示(图1)。
电阻色带编码系统
图1。电阻色码表。图片由EEPower提供
我们将在这个项目中构建的颜色代码计算器只涵盖四个带电阻。对于这些类型的组件,前两个带表示电阻值的两个最高有效数字,第三个带表示十进制乘数,第四个带表示以百分比表示的值公差。
什么是欧姆表?
欧姆表是每个EE实验室的重要工具,它是一种测量电阻的仪器,既可以作为专用单元,也可以作为万用表的一部分。它需要一个内部电压源来产生必要的工作电流,以及适当的测距电阻器来有效测量被测设备。
虽然有各种不同类型的欧姆表,但这个项目使用了一个简单的分压器。分压器是一种电路,其中串联连接的两个电阻器两端的输入电压与两个电阻器的比率成比例地减小。
我们将在串联连接到被测电阻器(未知值)的多个测距电阻器(已知值)之间进行切换,并使用欧姆定律根据测量的输出电压和已知的输入电压计算其值。
电路设计
图2的示意图向我们展示了如何将此项目的面包板或PCB版本的所有组件连接在一起。如果您使用的是开发板,请确保您的组件与代码中的引脚配置相匹配。
电阻色码计算器和欧姆表示意图
图2:电阻色码计算器和欧姆表示意图。
由于我没有使用电压调节器,因此最好使用插入稳压5V电源的设备。我的PCB使用一个专用的USB B端口,可以插入电脑、手机充电器或移动电源,这也使它变得便携。
图形显示和用户界面
我们的系统使用一系列七个嵌套屏幕(专用功能),能够出现在128x160 TFT LCD上,作为其基本的图形用户界面(GUI)。这些屏幕的插图是通过使用Adafruit的GFX和ST7735库在显示器上直接绘制字母数字和基本形状而生成的。ST7735是嵌入到本项目使用的1.8英寸TFT LCD模块中的显示驱动芯片。
注意:将形状组合为图形是因为使用转换为Arduino代码的大位图会损害系统性能。
控制
我们GUI的每个屏幕功能最多可以响应六个触觉按钮。在专用PCB上,外两个标有“选择”和“返回”,而内四个标有左、右、上、下箭头符号。这些按钮构成了用于浏览菜单、选择菜单项和返回上一屏幕的控件。
主菜单
初始化屏幕作为其主菜单。GUI的这一部分提示用户在两个主要功能之一之间进行选择——欧姆表或颜色代码计算器(图3)。对于这个菜单,我决定在两个菜单项上方放置一个All About Circuits徽标,使用几个相互连接的圆形矩形重新创建。
欧姆表和电阻器色码计算器功能的主菜单
选择
图3.欧姆表和电阻器色码计算器功能选择的主菜单
导航和选择
我们系统的每个屏幕都包含多个可选择的菜单项,显示为圆角矩形。要浏览这些项目,每个菜单都有一个额外的轮廓矩形,可以使用四个导航按钮向上或向下移动。
通过单击菜单中的“选择”按钮,我们的代码通过检查轮廓矩形的当前位置以及相应的轮廓项目来确定用户从该菜单中选择了什么项目。
菜单之间的切换是使用一个标志变量在内部实现的,该变量根据用户的选择跟踪LCD上需要显示的内容。也就是说,在Arduino代码循环的下一次迭代中,需要调用七个屏幕函数中的哪一个。
欧姆表应用程序
我们系统中的第二个屏幕是自包含的欧姆表应用程序,如图4所示。此屏幕的顶部显示被测电阻器的值以及所选的测量范围。屏幕底部显示八个可选范围,对应于连接到CD4051芯片输出的每个测距电阻器的值。
<em>欧姆表主屏幕</em>
图4.欧姆表主屏幕
在我们的项目中,我们使用CD4051作为解复用器,并使用ATmega328的三个引脚对其进行寻址。这样做将使我们能够从八个CD4051输出通道中数字选择一个,将测距电阻器物理连接到其输入端的未知电阻器,从而完成我们的分压器电路。
一旦从GUI中选择了一个范围,微控制器将寻址多路分解器,并在其模拟引脚之一上测量分压器的输出电压。从这里开始,它根据前面讨论的公式计算未知电阻,并在系统的LCD上显示其测量值。
为了了解如何正确选择或校准测量范围,您应该查看AAC的Intro Lab-如何使用欧姆表测量电阻文章。
电阻器颜色代码计算器应用程序
我们系统中的第三个屏幕是电阻器颜色代码计算器应用程序(图5)。此屏幕分为三个部分,可以将用户带到四个附加的嵌套菜单。
<em>电阻色码计算器主屏幕</em>
图5.电阻色码计算器主屏幕
此屏幕的顶部显示了一个以All About Circuits的电阻器颜色代码计算器为蓝本的四带电阻器,该计算器是使用一系列不同大小和颜色的矩形重新创建的。在这张图上,代表电阻器色带的四个矩形能够根据用户输入动态切换颜色。
右下角部分包含四个菜单项,一个用于设置将用户带到附加菜单屏幕的每个色带,而左下角部分则包含应用程序标题以及所选色带序列的计算结果(电阻值和公差)。
为了设置色带,用户必须首先进入四个附加菜单屏幕中的一个。这些屏幕由一个适当的标题以及一系列颜色或菜单项组成(如图6所示)。每次用户从这些菜单中选择一种颜色时,系统都会将其保存到该特定波段,返回上一屏幕,更改电阻器图示上该波段的颜色,并将其值输入颜色代码计算器公式。
电阻色码计算器第一位色带选择屏幕
图6.电阻色码计算器第一位数字色带选择屏幕
这样,所示电阻器上当前描绘的频带序列的电阻和公差就会被计算出来,并显示在我们的电阻器颜色代码计算器屏幕的左下角。
上传代码
一旦你连接好所有东西,你需要将代码上传到你的微控制器。如果你使用的是普通的Arduino或类似的开发板,这个过程很简单,只需插入USB连接器,选择你的板和相应的com端口,然后单击上传按钮。你可以从Github下载Arduino代码。
另一方面,如果你想使用我的PCB设计将这个项目重新创建为一个独立的系统,你需要一个额外的USB到串行模块,以便按照面包板文章中Arduino的从Arduino到微控制器对ATmega328 IC进行编程。
物料清单和PCB文件
表1包含物料清单(BOM)。您可以下载PCB板文件。
表1.物料清单电阻器色码计算器和欧姆表
让我知道进展如何
如果你试图重新创建这个项目或用它来开发其他东西,请在下面的评论中留言。All About Circuits团队和我都很想知道这件事。
评论