云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于单片机的过零检测控制系统的设计

基于单片机的过零检测控制系统的设计

  • 62 次阅读
  • 3 次下载
  • 2025/6/1 6:05:42

基于单片机的过零检测控制系统的设计

如下图所示为按上述思想设计的电压正向过零检测电路。220V的交流电首先经过电阻分压,然后进行光电耦合,假设输入的是A相电压,则在A相电压由负半周向正半周转换时,图中三极管导通并工作在饱和状态,会产生一个下降沿脉冲送入ADμC812的INT0引脚使系统进入中断程序。微机系统进入中断程序后,发出采样命令并从采样保持器读取无功电流值Iqm,这个无功电流即为A相的无功电流,经过1/4个周期电压达到最大值,此时对电压进行采样,得到UM,由UM=1.414U可以得到电压有效值U。

过零检测及单片机调压

首先用PWM(脉宽调制)方法用于可控硅控制是有条件的,即调制频率不能大于市电频率(50Hz),也就是周期

不能小于20mS,否则就不能达到调制作用,调制频率超过市电频率时,可控硅即处于连续导通状态而不能达到调压目的。只有调制频率低于市电频率才能起到调压目的,即限制市电的周波通过可控硅的数量而起到调压的目的。因此用该种方法调制的电压周波数一定是小于50HZ,超过了人眼视觉暂留效应,此就是用于调光产生闪烁的原因。该调压方法用在调功或对脉动电压不敏感的用途上尚可。如果采用可控硅调压用在调光上,须采用移相的调制方法,可使光连续可调。采用移相方法就需过零检测作为移相基点。过零检测其实并不难,如果要求调压比不是很高采用简单的方法即可奏效;用一只三极管即可。用单片机进行移相调压控制可以做得很精。 /********************************************************************************/ #i nclude

__CONFIG (CPD&PROTECT&BOREN&MCLRDIS&PWRTEN&WDTEN&INTIO);

/********************************************************************************/ //

void init (void);

/********************************************************************************/ //

bit fg_pw,fg_vs,fg_zq; volatile unsigned char fg_count; volatile unsigned int time1_temp,buff;

/********************************************************************************/ #define powon GPIO|=0B00110000 #define powoff GPIO&=0B00001111 #define vpp GPIO2 #define feedback GPIO0

/********************************************************************************/ void init (void) { CLRWDT();

TRISIO=0B11001111; WPU=1;

IOCB=4; //使能过零信号中断 VRCON=0;

PIE1=1; OPTION=0; INTCON&=7;

INTCON|=0B10001000; CMCON=7; T1CON&=1; T1CON|=0x10; }

/*********************************************************************************/ void interrupt isr_power (void) { GPIO=GPIO;

if (TMR1IF&&TMR1ON) { TMR1IF=0;

if (fg_pw) { if (!fg_vs)

{powon;fg_vs=1;TMR1L=112;TMR1H=0xfe;} //触发宽度400US(256+144) else {fg_vs=0;

powoff; //关闭 TMR1ON=0; } }

else {powoff;fg_count=0;} }

if (GPIF) { GPIF=0; if (fg_pw) {fg_zq=1;

TMR1H=(time1_temp>>8);

TMR1L=(time1_temp&0xff);

//if (vpp==0) TMR1H-=3; //上下沿检测,下沿时间补偿(3*256)US TMR1ON=1; } else

{ if (vpp) {TMR1ON=1;TMR1L=TMR1H=0;} //l-->h else

{time1_temp=(TMR1H<<8|TMR1L); //h-->l TMR1ON=0; TMR1L=TMR1H=0;

time1_temp=~time1_temp; //同步信号周期检测(时间) time1_temp+=1000; //一个半周时间中缩短1MS开始触发 buff=time1_temp;

if (++fg_count>=4) fg_pw=1;//连续周期检测4次 } } } }

/************************************************************************************/ void main (void) { unsigned int i; TMR0=0; init(); while (1)

{ if (fg_pw&&fg_zq) { fg_zq=0;

if (feedback) {if(time1_temp<0xffff-1000) time1_temp+=20;}//功率(电压)上限 else

{if (time1_temp>buff)time1_temp-=20;} //功率(电压)下限

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

基于单片机的过零检测控制系统的设计 如下图所示为按上述思想设计的电压正向过零检测电路。220V的交流电首先经过电阻分压,然后进行光电耦合,假设输入的是A相电压,则在A相电压由负半周向正半周转换时,图中三极管导通并工作在饱和状态,会产生一个下降沿脉冲送入ADμC812的INT0引脚使系统进入中断程序。微机系统进入中断程序后,发出采样命令并从采样保持器读取无功电流值Iqm,这个无功电流即为A相的无功电流,经过1/4个周期电压达到最大值,此时对电压进行采样,得到UM,由UM=1.414U可以得到电压有效值U。 过零检测及单片机调压 首先用PWM(脉宽调制)方法用于可控硅控制是有条件的,即调制频率不能大于市电频率(50Hz),也就是周期不能小于20mS,否

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com