EDABOSS电子论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1078|回复: 0

[转帖] 斩波调压电路+程序

[复制链接]

35

主题

0

回帖

110

E币

技术员

Rank: 2

积分
70
发表于 2017-4-20 14:23:34 | 显示全部楼层 |阅读模式
一直以来一直想做斩波调压,可是种种原因没有机会,有人已经实现,而且比较骄横,我真不明白你做个这个骄傲个屁啊!今天哥也做了,做了才有发言权 。还有谁谁以后少比比!烦你 。

众所周知我们用的电是交流220V50HZ正玄波的那么也就是说20毫秒一个周期,20毫秒对于人来说基本不能看到,但是对于CPU来说小菜菜,调压实际上就是让正玄波残缺,于是乎就出来了切相波,一根相线对零线的电压是个正玄波,正半轴和负半轴
561217382356104.jpg
在正半轴和负半轴相交的点上就是过零点,过零点就是0V电压,因此需要取出来这个信号作为同步,同步信号输入后,开启定时器即可调整切相宽度只是是有时间限制在0-10ms即可
C语言代码如下:
  Byte Interrupt_Extern;//同步信号
  Byte Adj_Power_Time;  //调整变量(t)
  Byte Adj;//当前亮度等级(T)
if( Tick_Time>=SYSTICK) //Tick of System
{   Tick_Time=0;//
//调度时间片管理
  Key_Time++;
  Printf_time++;
  Adc_Convert_Time++;
  Adj_Power_Time++;
}
  
   if(Interrupt_Extern==1)
{
if( Adj_Power_Time==Adj)
   {
   
   Trigger_Bta16_Task();
   
   Interrupt_Extern=0;


   }
  

}

代码仅仅几行而已,仅仅就是挂起一个标志位,然后数数,别的不会数数还是会的。我的系统时基是1MS也就也就是说我可以从1数到10,就行了如果在精确一些就改成100us一个TICK或者更小,那么实时性更高。调光也更平滑。
561217382358921.jpg
就是这种波形

然后就是硬件原理:从市电中分离出过零点信号,送进CPU中,输入一个尖刺控制晶闸管就行啦!
561217382379148.jpg
分离出同步信号之后是驱动电路

561217382368335.jpg

触发电路

561217382367405.jpg

触发信号使用10-50微妙的尖刺脉冲串。
然后呢.......就变成了一个耍物!



561217382338744.jpg

561217392387686.jpg

561217402318821.jpg

561217412357825.jpg

积分规则
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|EDABOSS电子论坛

GMT+8, 2024-4-20 17:13 , Processed in 0.043500 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表