当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]本项目的目标是制作一个非常简单的电压表,至少具备良好的精度,并理解模数转换器(ADC)的工作原理。该项目使用了RT-Thread公司生产的RT-Spark(Spark-1)开发板。

本项目的目标是制作一个非常简单的电压表,至少具备良好的精度,并理解模数转换器(ADC)的工作原理。该项目使用了RT-Thread公司生产的RT-Spark(Spark-1)开发板。

模数转换器(ADC)

ADC是一种外设设备,即一种具有特定功能的模块或子系统,通常与更大系统连接或集成,其目的是将模拟信号转换为数字信号,因此得名ADC。

在此场景中,ADC 是 RT-Spark(Spark-1)开发板的集成外设设备,采用 STM32F407ZGT6 微控制器。

设置ADC

首先,了解RT-Spark(Spark-1)配备了4个专用转换器是有利的:其中3个技术上相同但通道不同,还有一个为数字到模拟转换器(DAC)。在此场景下,为了简化操作,将使用第一个ADC。该ADC的数字值范围为0-4095,你需要通过代码将这些数值映射为电压。

首先,创建一个新的STM32项目,选择STM32F407ZGT6微控制器,并让默认设置自动生效。

然后,将引脚PA2设置为使用ADC模块1的通道2,并生成CubeMX代码。请注意,无需更改PA2引脚的GPIO配置,只需保持其默认设置即可。

输入电路图

在本节中,将使用分压器的概念,原因有以下几点:一是防止电压和电流超过RT-Spark引脚的最大或允许值,否则会导致电路因输入信号被减半而损坏或烧毁;二是通过降低通过的电流来减少检测电压时对电池的功耗。

完成后,更新代码,然后编译并运行。之后,改为进入调试模式,而不是直接运行代码,来检查 rawValue 变量的值。

增强型电压读取精度(可选)

为了进一步提高电压读数,只需使用可测量1MΩ电阻的万用表,测量R1和R2的实际电阻,并采用以下公式

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭