
#第九届立创电赛#高精度电压测量实验装置
简介
本电压实验装置能提供四单端或两个差分输入,可用于物理实验、嵌入式开发、电压监测等领域。同时,结合其他测量模块,如DS18B20,还可以开展如温度测量等实验。
简介:本电压实验装置能提供四单端或两个差分输入,可用于物理实验、嵌入式开发、电压监测等领域。同时,结合其他测量模块,如DS18B20,还可以开展如温度测量等实验。开源协议
:GPL 3.0
描述
注:* 为必填项
请在报名阶段填写 ↓
* 1、项目功能介绍
作为一名检测工程师,为了进行精确的电压测试,我设计了一套高精度的电压实验装置。
本项目基于ESP32C3开发板、ADS1115IDGSR、LCD屏幕等元件,成本不到50元(详见BOM表)。ADS1115是一款具有16位分辨率的高精度模数转换器(ADC),测量的电压理论上能精确到0.00009375V。
本电压实验装置能提供四单端或两个差分输入,可用于物理实验、嵌入式开发、电压监测等领域。同时,结合其他测量模块,如DS18B20,还可以开展如温度测量等实验。
*2、项目属性
本项目首次公开,为原创项目。
* 3、开源协议
使用GPL3.0开源协议。100%开源,便于中小学生学习和二次开发。
请在竞赛阶段填写 ↓
*4、硬件部分
1)PCB板
电压实验装置各个模块均使用2.54排针连接,不使用任何贴片元件,方便焊接,以及元件的重复利用。因此,PCB板设计相对比较简单。
原理图:

PCB图:

焊接图:

2)主控芯片
采用ESP32-C3开发板,支持UART、GPIO、SPI、I2C、ADC、PWM等接口。

3)LCD屏幕
0.96寸LCD屏幕,基于SPI协议,用于显示测量结果。
4)ADS1115模块
ADS1115模块是基于ADS1115的4通道高分辨率的模拟到数字转换器。它的分辨率为16位,能提供四单端或两个差分输入。使用I2C协议,根据应用不同,可选择不同的I2C地址。
这是我另一个开源工程设计的ADS1115模块。这个ADS1115模块与某宝上出售的ADS1115模块一样,不同之处是调整了引脚的位置,尺寸更小,只有18mm*18mm。

工程地址:https://oshwhub.com/cnas2023/ads1115-module
5)测试线
为了应对不同的测试需求,我们设计了3种测试线:杜邦线、磁吸线、鳄鱼夹线。
杜邦线:

磁吸线:

鳄鱼夹线:

6)成果图


*5、软件部分
1)实验装置程序(基于Micropython)
ESP32C3驱动ADS1115,将模拟信号转换为数字信号,并将电压值显示在LCD屏幕上。
测试代码如下:
import time
from machine import I2C, SPI, Pin
import st7735_spi
from lib.easydisplay import EasyDisplay
from lib.ads1x15 import ADS1115
# 初始化SPI
spi = SPI(1, baudrate=20000000, polarity=0, phase=0, sck=Pin(2), mosi=Pin(3), miso=Pin(10))
# 初始化ST7735显示屏,设置参数如宽度、高度、SPI接口、cs、dc等
dp = st7735_spi.ST7735(width=80, height=160, spi=spi, cs=7, dc=6, res=10, rotate=1, bl=8,
invert=False, rgb=True)
# 使用EasyDisplay简化显示操作,设置显示参数如颜色格式、字体文件、是否立即显示等
ed = EasyDisplay(dp, "RGB565", font="/font/text_lite_16px_2312.v3.bmf", show=True, color=0xFFFF,
clear=False , auto_wrap=True, size=20)
# 初始化ADS1115模块
i2c=I2C(0, sda=Pin(4), scl=Pin(5))
adc = ADS1115(i2c, address=72, gain=0)
while True:
value = adc.read(rate=0, channel1=0, channel2=None )
vol = adc.raw_to_v(value)
# 在LCD屏上显示电压
print('电压为:%.3fV' %vol, value)
ed.text('电压:%.3fV' %vol, 0, 0)
time.sleep(1)
相关驱动详见附件。测试效果:
测试ESP32C3的3.3V引脚(3.0V-3.6V):

测试ESP32C3的5V引脚:

测试3.7V锂电池的电压(3.7V-4.2V):

2)准确性验证
我们将电压实验装置与万用表进行比对,以验证电压实验装置的准确性:
测试7号电池的电压(1.0V-1.7V):

测试5号电池的电压(1.0V-1.7V):

测试3.7V锂电池的电压(3.7V-4.2V):

比对数据如下:

经过比对,电压实验装置的测量结果平均比万用表高0.018V,电压实验装置的稳定性和准确性还是能符合实际需求。
3)Phyphox手机物理工坊APP
Phyphox 是一款基于手机的物理实验平台应用程序,它可以将手机的传感器,如加速度计、陀螺仪、磁力计等,转化为进行科学实验所需的数据采集器。

Phyphox 支持蓝牙数据传输,可以连接ESP32等芯片,将传感器上的数据传输到phyphox。
Phyphox官方提供了基于ESP32和micropython的BEL库,下载地址:https://gitee.com/py2012/phyphox.git
本实验装置的测量结果除了通过PC终端显示、LCD屏幕显示,还可以通过Phyphox显示在手机上,并形成可视化的图形,便于进行数据分析。
使用Phphox编辑器(https://phyphox.org/editor/)进行图形化的phyphox项目设计,界面如下:

请使用phyphox APP扫描以下二维码,加载电压测量项目:

我们将电压测量实验装置的主代码进行修改如下:
from phyphoxBLE import PhyphoxBLE
import time
from machine import I2C, SPI, Pin
import st7735_spi
from lib.easydisplay import EasyDisplay
from lib.ads1x15 import ADS1115
# 初始化SPI
spi = SPI(1, baudrate=20000000, polarity=0, phase=0, sck=Pin(2), mosi=Pin(3), miso=Pin(10))
# 初始化ST7735显示屏,设置参数如宽度、高度、SPI接口、cs、dc等
dp = st7735_spi.ST7735(width=80, height=160, spi=spi, cs=7, dc=6, res=10, rotate=1, bl=8,
invert=False, rgb=True)
# 使用EasyDisplay简化显示操作,设置显示参数如颜色格式、字体文件、是否立即显示等
ed = EasyDisplay(dp, "RGB565", font="/font/text_lite_16px_2312.v3.bmf", show=True, color=0xFFFF,
clear=False , auto_wrap=True, size=20)
# 初始化ADS1115模块
i2c=I2C(0, sda=Pin(4), scl=Pin(5))
adc = ADS1115(i2c, address=72, gain=0)
def main():
p = PhyphoxBLE()
p.start("EPS32C3") #启动蓝牙
while True:
value = adc.read(rate=0, channel1=0, channel2=None )
vol = adc.raw_to_v(value)
# 在LCD屏上显示电压
print('电压为:%.3fV' %vol, value)
ed.text('电压:%.3fV' %vol, 0, 0)
p.write(vol) #将电压数据发送到phyphox
time.sleep(1)
if __name__ == "__main__":
main()
相关驱动详见附件。测试结果如下:

*6、BOM清单


*7、大赛LOGO验证


* 8、演示您的项目并录制成视频上传
1)电容充放电实验
电容充放电实验是物理学中一个基本的实验。刚好我们有一套电子积木,直接拼一个测试电路出来:

将电压实验装置的正负极分别接在电容的正负极上,将软件部分的代码中value = adc.read(rate=0, channel1=0, channel2=None ),改为value = adc.read(rate=0, channel1=0, channel2=1 ),测量通道0和1之间的电压。
通电测试,先对电容进行充电:

当电压稳定时,电容充满,切换开关,进行放电实验。phyphox生成的电压曲线图如下:

实验情况详见视频。
2)超级电容充放电实验
电子积木中的电容最大为220uF,充放电较快。我们使用一个1F的法拉电容(又称为超级电容)进行测试:


由于电容值太大,我们将电阻改为100欧后,充放电仍非常慢。1F的法拉电容充放电实在是慢,我们没有完整充满电再放电。phyphox生成的电压曲线图如下:

设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程

评论