设计项目实例97-基于STM32的万用表(交流直流电压电流监测、电阻电容测量)

设计项目实例97-基于STM32的万用表(交流直流电压电流监测、电阻电容测量)

前提说明

电子开发合作请私信联系,商业/非商业项目均可洽谈,价格友好,负责可靠。
目前已开发项目三百余单,不限时售后,直到项目完结。
在这里插入图片描述

需知

对此项目有需求请私信联系我,备注对应项目名称号(非免费,伸手党勿扰,价格公道,售后负责)
所有项目均有个人验证无误后发出,保证不坑害任何一位朋友,个人有接单渠道,不缺钱,随缘分享案例+和有需求的朋友合作。

项目设计要求

本设计基于STM32单片机对采集到的数据进行智能化处理。通过使能STM32单片机的外部按钮切换不同参数的显示界面。对于电阻电容的测量,通过自锁开关切换不同的通道测量,根据外部测量的需求,可对电阻或者电容进行参数测量。设计了一路直流电压检测和一路直流电流检测通道,交流电压电流通过电能测量模块获取。设计了蜂鸣器报警电路,并设置了通断档,可通过改变软件内部的代码从而改变通断对应的不同电阻阈值,目前本文设定50欧姆以下的电阻视为通路,50欧姆以上的电阻视为开路。
本次基于STM32单片机的万用表设计指标如下,总共设置了其中不同类型的检测指标,分别为:
(1)直流电压测量范围0-30V
(2)直流电流测量范围0-6A
(3)交流电压测量范围1-300V
(4)交流电流测量范围10mA-16A
(5)电阻测量范围10Ω-1MΩ
(6)电容测量范围1pF-100nF
(7)线路通断检测
其中许多指标基于本设计现有测试环境而言,由于是通过同相放大电路对电压电流进行参数转换,因此可通过改变其中的电阻从而改变缩小的倍数。软件内部可以实时针对不同电路的不同测量条件进行修正,可以修改蜂鸣器报警鸣叫的触发范围。

项目提供资料

1、原理图源文件(嘉立创标准版,可导为专业版)

2、PCB源文件(嘉立创标准版,可导为专业版)

3、代码(有注释,规范设计,详情可看我其他单模块设计实例,keil5 MDK)

4、售后(分单资料售卖或售后指导设计两种,不同的价格,优质的服务提供给想设计出来这款作品的朋友们)

main.c代码

int main(void)
 {	
  u8 key=0;	 
	delay_init();	    	                             //延时函数初始化	  
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);	 //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
	uart_init(115200);	                             //串口初始化为115200
  uart2_init(4800);	 	                             //串口初始化为115200
	USART3_Init(9600); 	
	EXTIX_Init();
	LED_Init();
	Init_adc();
	KEY_Init();
	 
	TIM3_Int_Init(999,71); 		                       //1ms定时
  OLED_Init();			   //初始化OLED  
	OLED_Clear(); 
  while(1)
	{
		key=KEY_Scan(0);
		if(key==KEY0_PRES)
		{
			delay_ms(20);         //消抖
			if(key==KEY0_PRES)
			{
			  mode+=1;          //模式+1
				OLED_Clear();
        if(mode==7)mode=0;				
			}
		}
		if(key==KEY1_PRES)        //开启播报
		{
			delay_ms(20);
			if(key==KEY1_PRES)
			{
			  mode-=1;          //模式+1
				OLED_Clear();
        if(mode>7)mode=6;	
			}
		}
		if(mode==0)
		{
			DC_view();
			OLED_ShowNum(40,4,(u32)(ADC_ConvertedValueLocal),2,16);
			OLED_ShowNum(64,4,(u32)(ADC_ConvertedValueLocal*100)%100,2,16);
		}
		else if(mode==1)
		{
			DI_view();
			OLED_ShowNum(40,4,(u32)(ADC_ConvertedValueLoca2),2,16);
			OLED_ShowNum(64,4,(u32)(ADC_ConvertedValueLoca2*100)%100,2,16);
		}
		else if(mode==2)
		{
			AC_view();
			OLED_ShowNum(40,4,(u32)(ACVotage),3,16);
			OLED_ShowNum(72,4,(u32)(ACVotage*10)%10,1,16);
		}
		else if(mode==3)
		{
			AI_view();
			OLED_ShowNum(40,4,(u32)(ACCurrent),2,16);
			OLED_ShowNum(64,4,(u32)(ACCurrent*100)%100,2,16);
		}
    else if(mode==4)
		{
			R_view();
			OLED_ShowNum(28,4,RX2/1000000,1,16);
			OLED_ShowNum(28+8,4,RX2%1000000/100000,1,16);
			OLED_ShowNum(28+16,4,RX2%100000/10000,1,16);
			OLED_ShowNum(28+24,4,RX2%10000/1000,1,16);
			OLED_ShowNum(28+32,4,RX2%1000/100,1,16);
			OLED_ShowNum(28+40,4,RX2%100/10,1,16);
			OLED_ShowNum(28+48,4,RX2%10,1,16);
			OLED_ShowCHinese(28+56,4,12);
		}
    else if(mode==5)
		{
			C_view();
			OLED_ShowNum(28,4,(unsigned long)CZ/1000000,1,16);
			OLED_ShowNum(28+8,4,(unsigned long)CZ%1000000/100000,1,16);
			OLED_ShowNum(28+16,4,(unsigned long)CZ%100000/10000,1,16);
			OLED_ShowNum(28+24,4,(unsigned long)CZ%10000/1000,1,16);
			OLED_ShowNum(28+32,4,(unsigned long)CZ%1000/100,1,16);
			OLED_ShowNum(28+40,4,(unsigned long)CZ%100/10,1,16);
			OLED_ShowNum(28+48,4,(unsigned long)CZ%10,1,16);
		}			
		else if(mode==6)
		{
		  TONG_view();
			if(ADC_ConvertedValueLoca3<=1.65f)BEEP=1,OLED_ShowCHinese(48,4,10),OLED_ShowCHinese(64,4,5);
			else BEEP=0,OLED_ShowCHinese(48,4,6),OLED_ShowCHinese(64,4,11);
		}
		//检测到的交流电压和交流电流
		ACVotage=(Voltage_Parameter_Reg*1.88/Voltage_Reg)*1.0026;//交流电压有效值
		if(ACVotage<=2)ACVotage=0;
		ACCurrent=Current_Parameter_Reg*1.0/Current_Reg*0.4761;//交流电流有效值
		if(ACCurrent<0.1)ACCurrent=0;
    printf ("电压有效值:%f\r\n",ACVotage);
		printf ("电流有效值:%f\r\n",ACCurrent);
		delay_ms(100);
	}
 }

项目3D图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值