220V 调压采集
Posted c951
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了220V 调压采集相关的知识,希望对你有一定的参考价值。
220V 调压采集
一、功能概述
- 用于220V白炽灯调光
- 采集输出电流电压并显示
- 接入CAN总线,可用CAN控制
二、硬件原理
1、硬件参数
- 主控芯片STM32F103C8T6
- CAN芯片TJA1050
- AC电流电压采集BL0937
- 晶闸管BTA16
- AC220V转DC5V PB5N-2025
- DC5V转DC3.3V AMS1117
- 隔离DC5V转DC5V B0505S
- 整流桥DS207S
- 光耦 MOC3020 CYTLP521 PC817
2、电路原理
3、软件原理
软件程序使用FreeRTOS,硬件中断(上升沿下降沿)接收220V过零检测信号。
过零检测中断处理
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
switch(GPIO_Pin)
{
case GPIO_PIN_8:
if(control_task_run)
{
if(DevInfo.LedSta == Adjust)
{
if(DevInfo.AdjustMessage.Adjust == 0)
{
HAL_GPIO_WritePin(GPIOA, OUT_Pin, GPIO_PIN_SET);
}
else
{
if(PAin(8) == 0)
{
TIM3->ARR = DevInfo.AdjustMessage.Adjust * 100 + 2;
HAL_TIM_Base_Start_IT(&htim3);
}
else
{
HAL_GPIO_WritePin(GPIOA, OUT_Pin, GPIO_PIN_SET);
}
}
}
}
break;
default:
break;
}
}
因BL0937返回的是脉冲信号,所以开个定时器采集,部分程序如下:
void Tim2Callback(TIM_HandleTypeDef *htim)
{
TIM2Ch3Cnt++;
TIM2Ch4Cnt++;
}
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
{
static uint32_t TIM2CH3CapturedValue[2] = {0};
static uint32_t TIM2CH4CapturedValue[2] = {0};
static uint8_t TIM2CH3Sta = 0;
static uint8_t TIM2CH4Sta = 0;
if(TIM2 == htim->Instance)
{
if(htim->Channel == HAL_TIM_ACTIVE_CHANNEL_3)
{
if(TIM2CH3Sta == 0)
{
TIM2Ch3Cnt = 0;
TIM2CH3CapturedValue[0] = HAL_TIM_ReadCapturedValue(&htim2,TIM_CHANNEL_3);
TIM2CH3Sta++;
}
else
{
TIM2CH3CapturedValue[1] = HAL_TIM_ReadCapturedValue(&htim2,TIM_CHANNEL_3);
TIM2CH3Sta = 0;
CF_CNT = 0xFFFF * TIM2Ch3Cnt + TIM2CH3CapturedValue[1] - TIM2CH3CapturedValue[0];
}
}
else if(htim->Channel == HAL_TIM_ACTIVE_CHANNEL_4)
{
if(TIM2CH4Sta == 0)
{
TIM2Ch4Cnt = 0;
TIM2CH4CapturedValue[0] = HAL_TIM_ReadCapturedValue(&htim2,TIM_CHANNEL_4);
TIM2CH4Sta++;
}
else
{
TIM2CH4CapturedValue[1] = HAL_TIM_ReadCapturedValue(&htim2,TIM_CHANNEL_4);
TIM2CH4Sta = 0;
CF1_CNT = 0xFFFF * TIM2Ch4Cnt + TIM2CH4CapturedValue[1] - TIM2CH4CapturedValue[0];
}
}
}
}
三、效果图
以上是关于220V 调压采集的主要内容,如果未能解决你的问题,请参考以下文章
51单片机 用DAC0808实现数字调压+Proteus仿真
电力电子基于matlab Simulink AC-AC交换变频调压含Matlab源码 2359期
液化天然气用一级和二级燃气减压阀减压器调压阀2500m3(800方)