基于[CW32数字电压电流表软件教程-实验七:基本数据处理算法(均值滤波)],可以对电压电流进行同时采集显示。

电流检测电路如下:

本项目设计的采样电流为3A,选择的采样电阻为100mΩ。AIN接入CW32芯片内部的AIN11通道,PB05端口上。
电流计算方法为(A为单位):AIN电压/0.1欧。
AIN电压计算方法与电压通道分压输入计算相同,V为单位时:
VIN=ADC转换值/4096*1.5V.
核心代码参考如下:
ADC初始化如下,完成两路AD转换通道初始化,使用序列扫描模式:
void ADC_init(void)
{
ADC_InitTypeDef ADC_InitStructure; //ADC配置结构体
ADC_SerialChTypeDef ADC_SerialChStructure; //ADC序列通道结构体
GPIO_InitTypeDef GPIO_Init_Struct;
__RCC_GPIOB_CLK_ENABLE(); //打开ADC对应引脚时钟
__RCC_ADC_CLK_ENABLE(); // 打开ADC时钟
GPIO_Init_Struct.IT = GPIO_IT_NONE;
GPIO_Init_Struct.Mode = GPIO_MODE_ANALOG;//将GPIO的模式配置成模拟功能
GPIO_Init_Struct.Pins = GPIO_PIN_1; // PB01是电压采集引脚
GPIO_Init(CW_GPIOB, &GPIO_Init_Struct);
PB01_ANALOG_ENABLE(); //使能模拟引脚
PB05_ANALOG_ENABLE();
ADC_StructInit(&ADC_InitStructure); // ADC默认值初始化
ADC_InitStructure.ADC_ClkDiv = ADC_Clk_Div4; //ADC工作时钟配置 PCLK/4 = 6/4 = 1.5Mhz
/*信号电压较低时,可以降低参考电压来提高分辨率。改变参考电压后,同样二进制表示的电压值就会不一样,
最大的二进制(全1)表示的就是你的参考电压,在计算实际电压时,就需要将参考电压考虑进去。*/
ADC_InitStructure.ADC_VrefSel = ADC_Vref_BGR1p5; //参考电压设置为1.5V
ADC_InitStructure.ADC_SampleTime = ADC_SampTime10Clk; //由于电压信号为慢速信号,ADC采样时间为十个ADC采样周期以确保准确
ADC_SerialChStructure.ADC_Sqr0Chmux = ADC_SqrCh9; //配置ADC序列,PB01是ADC的第9通道
ADC_SerialChStructure.ADC_Sqr1Chmux = ADC_SqrCh11;
ADC_SerialChStructure.ADC_SqrEns = ADC_SqrEns01;
ADC_SerialChStructure.ADC_InitStruct = ADC_InitStructure; //ADC初始化
ADC_SerialChContinuousModeCfg(&ADC_SerialChStructure); //ADC序列连续转换模式配置
ADC_ClearITPendingAll(); //清除ADC所有中断状态
ADC_Enable(); // ADC使能
ADC_SoftwareStartConvCmd(ENABLE); //ADC转换软件启动命令
数据采集处理代码如下:
void Volt_Cal(void)
{
ADC_GetSqr0Result(&sampledata); ///当前采集值显示出来
V_Buffer = (sampledata * ADC_REF_VALUE > > 12) * (R2 + R1)/R1;
// 四舍五入
if(V_Buffer % 10 >= 5)
{
V_Buffer = V_Buffer / 10 + 1;
}
else
{
V_Buffer = V_Buffer / 10;
}
ADC_GetSqr1Result(&I_Buffer); ///当前采集值显示出来
I_Buffer=I_Buffer * ADC_REF_VALUE > > 12;
/**
mv =I_Buffer * ADC_REF_VALUE > > 12,
R = 100mr,
10ma = mv/R/10=mv/0.1/10 = mv
*/
}
审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
电压电流表
+关注
关注
0文章
25浏览量
2257 -
CW32
+关注
关注
1文章
281浏览量
1677
发布评论请先 登录
相关推荐
热点推荐
CW32 MCU在高频率运行下的系统稳定性的提升方案
,通过合理的电源管理和热管理策略,保持系统稳定性,包括动态电压调节(DVS)、节能模式切换、以及散热方案优化等。
通过这些稳定性提升方案,开发者能够有效应对CW32 MCU在高频运行时面临的挑战,确保系统在高性能工作的同时,保持
发表于 12-04 08:04
CW32 MCU温度监测应用
监测环境温度,并通过串口将数据发送到PC端进行显示。
硬件连接
CW32 MCU
LM35温度传感器
USB转串口模块
代码实现
#include \"cw32f030.h\"
发表于 12-03 08:03
基于芯源半导体MCU cw32芯片制作的USB电压电流表
1、项目功能介绍
基于芯源半导体MCU cw32芯片制作 USB电压电流表
基于芯源半导体MCU cw32芯片+INA199芯片制作 USB电压电
发表于 12-02 06:39
高压放大器:电压电流传感器性能测试实验的关键驱动力
实验名称: 配电网绝缘子内嵌式电压电流一体化传感器性能测试实验 研究方向: 针对中压配电网电压电流一体化测量需求,设计基于电场耦合与TMR技术的绝缘子集成传感器。通过仿真优化内嵌电极结构提升电场均匀
CW32 MCU的工作电压、工作温度是多少?
CW32通用型MCU工作电压是1.65V~5.5V,射频MCU工作电压则是1.8V/2.2V~3.6V;通用型CW32F系列MCU,比如:CW
发表于 11-12 06:49
逆变器中电压电流传感器应用
前言:逆变器作为一个组件,有很多的应用领域,也是新能源系统的一个重要单元。逆变器的性能直接影响电池利用率、设备的使用寿命。电压、电流传感器作为逆变器重要的“感知器官”,实时的监测、反馈关键参数,并由
如何保障SP系列变频功率传感器电压电流的同时采样,同步测量?
来自分析仪(或数字主机)的控制信息,采样时钟就包含在这些控制信息中,连接在同一分析仪上的所有传感器的采样时钟信息均来自分析仪内部的采样时钟控制电路,因此,即便是不同的传感器,也能实现所有电压、电流通道的
电压环路:电池 → 升压电路 → 降压电路 → 电池
12v,这时降压输出端与电池正极连接在一起。连接点车电池正极点间电阻极少,微弱的压差将导致连接点与电池正极点间产生电流,此电流将流向何处?
在你描述的电路中,存在一个电压环路:电池 → 升压电
发表于 06-13 09:16
常规的电压电流测量方式有哪些?
常规的电压电流测量通常采用均值检波法、峰值检波法、真有效值法三种方式,本文对比每种方式适应场合以及优势。 一均值检波法 采用均值检波法将交流正弦波电量变换为与其绝对均值成正比的直流电量,测量电路简单
高压电阻箱如何进行负载测试?
的测试设备,包括高压电源、负载电阻、电压表、电流表等。确保所有设备都经过校准,并且符合相关的安全标准。
连接测试设备:将高压电源连接到高压电
发表于 01-16 12:34

CW32数字电压电流表软件进阶教程-1.电压电流同时显示
评论