发作品签到
专业版

电压电流表

工程标签

84
0
0
0

简介

基于立创地文星CW32F030C8T6开发板的电压电流表

简介:基于立创地文星CW32F030C8T6开发板的电压电流表
电压电流表训练营【立创开发板&CW32】

开源协议

GPL 3.0

(未经作者授权,禁止转载)
创建时间:2024-07-20 11:21:07更新时间:2024-08-26 08:51:57

描述

CW32在本项目中的重要优势

  • 宽工作温度:-40~105℃的温度范围
  • 宽工作电压:1.65V~5.5V (STM32仅支持3.3V系统)
  • 超强抗干扰:HBM ESD 8KV 全部ESD可靠性达到国际标准最高等级(STM32 ESD2KV)
  • 本项目重点-更好的ADC:12位高速ADC 可达到±1.0LSB INL 11.3ENOB 多种Vref参考电压... ...(STM32仅支持VDD=Vref)
  • 稳定可靠的eFLASH工艺。

CW32的ADC主要特性
本项目需重点关注 4路参考电压源
内容来自《CW32x030 用户手册》

电压采样电路

本项目设计分压电阻为220K+10K,因此分压比例为22:1(ADC_IN11)

分压电阻选型

  1. 设计测量电压的最大值,出于安全考虑,本项目为30V(实际最大可显示99.9V或100V);
  2. ADC参考电压,本项目中为1.5V,该参考电压可以通过程序进行配置;
  3. 功耗,为了降低采样电路的功耗,通常根据经验值将低侧电阻(R7)选择为10K;

随后便可以通过以上参数计算出分压电阻的高侧电阻:

  1. 计算所需的分压比例:即ADC参考电压:设计输入电压,通过已知参数可以计算出1.5V/30V=0.05
  2. 计算高侧电阻:即低侧电阻/分压比例,通过已知参数可以计算出10K/0.05=200K
  3. 选择标准电阻:选择一颗略高于计算值的电阻,计算值为200K,通常我们选择E24系列电阻,因此本项目中选择大于200K且最接近的220K。

如果在实际使用中,需要测量的电压低于2/3的模块设计电压,即66V,则可以根据实际情况更换分压电阻并修改程序从而提升测量的精度,下面将进行案例说明:

  1. 假设被测电压不高于24V,其他参数不变
  2. 通过计算可以得到1.5V/24V=0.0625,10K/0.0625=160K,160K为标准E24电阻可以直接选用,或适当留出冗余量选择更高阻值的180K

如果在实际使用中,需要测量的电压若高于模块99V的设计电压,可以选择更换分压电阻或通过修改基准电压来实现更大量程的电压测量范围,下面将进行案例说明:

  1. 假设被测电压为160V,选择提升电压基准的方案扩大量程
  2. 已知选用电阻的分压比例为0.0145,通过公式反推,我们可以计算出160V*0.0145=2.32V,因此我们可以选择2.5V的电压基准来实现量程的提升(扩大量程将会降低精度)

考虑到被测电源可能存在波动,在电路设计时,在低侧分压电阻上并联了10nF的滤波电容提高测量稳定性。

换挡

在本项目中,额外增加了一组电压采样电路,因此,我们可以探讨一下换挡对于提高测量精度的意义。万用表想要测的更准确,往往设置了多个档位。通过对不同档位的调整,获得被测点位在相应量程下的最佳的测量精度。

本项目实现此功能需要实现软硬件结合。当我们首先使用前文所讲的ADC_IN11通道测量30V以内电压时。若所测得电压在0~3V以内,则使用ADC_IN9通道测量。此时,由于分压比减小,测量精度大大提高。
实现换挡的思路有很多种,开发板的设计给大家提供了更多设计的可能。

电压电流的标定

数码管显示

本项目采用了数码管作为显示单元。

数码管的驱动原理

  1. 数码管的基本构成:
    • 数码管通常由七段或八段LED(本项目为8段)组成,每个段代表数码管的一部分,可以显示数字0-9、字母A-F等字符。
    • 数码管有共阴极和共阳极两种类型,它们的区别在于LED的公共端COM(即连接所有LED的一端)是连接到电源的负极还是正极。
  2. 驱动方式:
    • 段选:通过控制数码管的各个灯段的开关状态来显示所需的数字或字符。每个灯段对应一个控制信号,当控制信号开启时,该段会显示点亮,反之则灭掉。(a、b、c、d、e、f、g、dp)
    • 位选:通过控制数码管的位线来选择需要显示的数码管。位线控制是将需要显示的数码管的位线设置为高电平,其他数码管的位线设置为低电平。通过不断地切换位线的状态,可以实现多个数码管之间的显示切换。
  3. 驱动电路:
    • 数码管驱动电路可以通过硬件电路实现,如使用数字信号处理器(DSP)、微控制器(MCU)或移位寄存器等集成电路来生成适合LED的控制信号。
    • 这些控制信号可以是脉冲宽度调制(PWM)信号、串行数据信号等形式。通过控制这些信号的频率、宽度和幅度,可以实现数码管的亮暗控制,从而显示出所需的数字或字母。
  4. 软件控制:
    • 除了硬件驱动电路,还可以通过软件控制来实现数码管的驱动。通过编程生成适合数码管的控制信号,可以实现更加灵活和复杂的显示效果,如数字的滚动显示、交替显示等。
  5. 共阴极与共阳极数码管的驱动:
    • 对于共阴极数码管,共阴极引脚连接到电源的负极,控制引脚连接到控制芯片的输出引脚。当需要显示某个数字时,控制芯片会输出相应的编码信号到控制引脚,使得对应的LED段点亮。
    • 对于共阳极数码管,工作原理与共阴极数码管相似,只是共阳极引脚连接到电源的正极,控制引脚连接到控制芯片的输出引脚。
  6. 编码显示:
    • 为了使数码管显示出相应的数字或字符,必须使段数据口输出相应的字形编码。例如,要显示数字“0”,共阳极数码管的字型编码为11000000B(即C0H),而共阴极数码管的字型编码为00111111B(即3FH),具体编码以实际数码管为准。
  7. 动态显示与静态显示:
    • 数码管可以采用静态显示或动态显示方式。静态显示时,每个数码管的8个字段分别与一个8位I/O口地址相连,I/O口只要有段码输出,相应字符即显示出来并保持不变。动态显示则是一位一位地轮流点亮各位数码管,通过快速切换实现人眼视觉上的同时显示。

总结来说,数码管的驱动原理是通过控制数码管的各个灯段的开关状态来显示数字、字母或符号,并通过段选和位选的方式实现多个数码管之间的显示切换。同时,可以通过硬件电路或软件控制来实现数码管的驱动,并根据需要选择共阴极或共阳极数码管进行驱动。

本项目实际采用动态扫描显示驱动数码管。

LED指示灯

本项目额外设计了一个电源指示灯和IO工作指示灯。

image.png

LD_PWR为电源工作指示灯

image.png

由于芯片I/O往往灌电流的能力大于拉电流的能力,所以,LED1设计为I/O低电平有效(亮)。

出于减少LED对电流的消耗的考量,放弃部分LED亮度,减少器件参数类型,将LED的限流电阻选择为10K。

7、按键电路设计

image.png

按键控制电路有多种设计方式,得益于CW32的I/O口内部可以配置上下拉电阻,在芯片外围的按键控制电路则无需配置。按键一端接入MCU的I/O上,另一端接地。按键按下,I/O被拉低。

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
实验9 带有标定功能的数字电压电流表.zip
4
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航