基于STM32F030的功率计设计

设计时间:

#2021年上半年

					谨以此文纪念2021年

主控芯片:

						STM32F030R8T6

功能介绍:

实现对待测交流用电器两端实时电压、消耗电流、频率、功率等基本参量的测量,通过OLED将这些数据显示。支持过压过流检测,可通过按键设置检测阈值,范围分别是:0~50A(最大),0~380V(最大),当检测到过压或者过流时将用电器断电,蜂鸣器报警提升,直到检测值在设定范围内自动供电。电路中有一个程序运行状态指示灯,程序正常运行时指示灯每隔500毫秒亮灭变化。

相关程序:

主程序

#include "main.h"

int main()
{
	System_All_Init();
	while(1)
		{
			if(Time100ms==3)//3*100ms发送读取数据命令
				{
					Read_En=1;//将读取模块数据标志位置1,准备向模块发送读取数据命令
					Read_Data();
				} 
			if(Time100ms==4)//4*100ms
				{
					Time100ms=0;
					Analysis_Data();//准备将串口接收的数据解析显示
				}
				Warning_Dis();//显示报警电流阈值
			}
}

按键处理程序

void TIM3_IRQHandler(void)
{
	if(TIM_GetITStatus(TIM3,TIM_IT_Update))//判断是否发生定时中断
		{
			if(GPIO_ReadInputDataBit(KEY_Port,K_Minus)==1)//报警电流阈值减按键 
				{    					
					if(Stay++==8&&GPIO_ReadInputDataBit(KEY_Port,K_Minus)==1)//报警电流阈值减按键 
						{  
							Stay=0;
							if(Warning_Val==0) 
							Warning_Val=100;//注意下一行会被减一,故数值为零时重新赋值100
							Warning_Val=(Warning_Val-1);
						}
				}
			if(GPIO_ReadInputDataBit(KEY_Port,K_Add)==1)//报警电流阈值加按键 
				{      
					if(Stay++==8&&GPIO_ReadInputDataBit(KEY_Port,K_Add)==1)//报警电流阈值加按键 
						{
							Stay=0;
							if(Warning_Val==99) 
							Warning_Val=0;//注意下一行会被减一,故数值为零时重新赋值100
							Warning_Val=(Warning_Val+1);
						}
				}
		}
	TIM_ClearITPendingBit(TIM3,TIM_IT_Update);//清除中断标志位 
}

程序灯及蜂鸣器程序

void TIM14_IRQHandler(void)
{
	if(TIM_GetITStatus(TIM14,TIM_IT_Update))//判断是否发生定时中断
		{
			Time100ms++;
			if(++Flag100ms==5)//如果100ms标志位值为5表明定时500ms到,此时将程序灯状态翻转  
				{
					Flag100ms=0; 
					System_LED=!System_LED;//每500ms程序灯状态翻转
				 }
			if(High_Curr==1)
				Beep=!Beep;
		}
	TIM_ClearITPendingBit(TIM14,TIM_IT_Update);//清除中断标志位 
}

成品照片:


功能演示

功率计成品演示202105


欢迎一起交流学习
转载请注明出处!

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值