发作品签到
专业版

电压电流表

工程标签

54
0
0
0

简介

基于CW32的数字电压电流表

简介:基于CW32的数字电压电流表
电压电流表训练营【立创开发板&CW32】

开源协议

GPL 3.0

创建时间:2024-07-17 13:37:44更新时间:2024-08-22 06:18:17

描述

项目简介

基于CW32的数字电压电流表

项目功能

数字电压电流表结合了ADC的技术与电路测量原理,能够精确地将模拟的电压电流信号转换为数字显示,便于电子工程师直观读取和分析

项目参数

  • 本项目使用立创·地文星CW32F030C8T6开发板(核心板)作为主控
  • 使用数码管显示电压电流值

原理解析(硬件说明)

此处可填写项目的设计原理,将设计的原理拆分解析,示例:

本项目由以下部分组成,电源部分、数码管显示部分、主控部分、电压电流采样部分,本项目主要是通过adc对电压电流进行采样,利用数码管显示。

电源供电电路:
image.png

数码管显示电路
image.png

......

软件代码

数码管显示代码,控制gpio的低8位让8段数码管显示:

void Seg_Display(uint8_t Pos,uint8_t Num)
{
	int i;
	uint8_t Dis_Value = Seg_Table[Num];
	
	GPIO_LowByte_Write(CW_GPIOA,Dis_Value);
	

	switch(Pos)
	{
	  case 0:
      GPIO_WritePin(CW_GPIOA,GPIO_PIN_8,GPIO_Pin_RESET);  //PA8,COM1
      break;
    case 1:
		  GPIO_WritePin(CW_GPIOA,GPIO_PIN_11,GPIO_Pin_RESET);  //PA9,COM2
      break;
    case 2:
		  GPIO_WritePin(CW_GPIOA,GPIO_PIN_12,GPIO_Pin_RESET);  //PA10,COM3
      break;
		case 3:
		  GPIO_WritePin(CW_GPIOA,GPIO_PIN_15,GPIO_Pin_RESET);  //PA11,COM4
      break;
    case 4:
		  GPIO_WritePin(CW_GPIOB,GPIO_PIN_3,GPIO_Pin_RESET);  //PA12,COM5
      break;
    case 5:
		  GPIO_WritePin(CW_GPIOB,GPIO_PIN_4,GPIO_Pin_RESET);  //PA15,COM6
      break;
		default:
      break;
	}
}

电压电流采集:

void Volt_Cal(void)
{
    float t,KT1;
    V_Buffer = Mean_Value_Filter(Volt_Buffer,ADC_SAMPLE_SIZE);//使用均值滤波
    I_Buffer = Mean_Value_Filter(Curr_Buffer,ADC_SAMPLE_SIZE); //使用均值滤波
    V_Buffer = (V_Buffer * 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
     */
}

设计图

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

BOM

暂无BOM

附件

序号文件名称下载次数
1
电压电流表.mp4
0
2
电压电流采集显示.zip
1
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

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

底部导航