标题: 单片机驱动可控硅无级调光电路及程序 [打印本页]

作者: dzdiy    时间: 2015-4-11 22:19
标题: 单片机驱动可控硅无级调光电路及程序
      下面分享一个单片机无级调光电路给大家。这个电路是在网上看到的,感觉简单适用,只是爱好者在制作过程中,一定注意安全。这个单片机调光电路单片机采用的是STC12C2052AD,晶振采用11.0592M。程序附后,有需要的自己下载。单片机部分除了使用STC12C2052AD,也可以使用AT89系列单片机。程序适合单路可控硅控制,因为程序是利用外部中断来控制定时器参数来完成过零延迟触发可控硅的方式来调功的,如果是一片单片机控制多路可控硅,就必须改一种方式,定时器必须常开而且参数定为10MS(一个过零周期),外部中断用来给定时器做同步调整(外部中断时给定时器置入溢出值),各路可控硅调功参数可以通过预设值和查表方式获得相应的延迟触发时间点。
        下载: 单片机可控硅无级调光程序.zip (86.43 KB, 下载次数: 2054)


视频:
http://player.youku.com/player.php/sid/XNDM5NzkwNDg4/v.swf


源程序:
  1. /*
  2.         单片机白炽灯调光程序 (晶振:11.0592MHz)
  3. */
  4. #include "reg52.h"

  5. sbit lamp_pwm=P1^0;//可控硅位
  6. sbit key0=P1^1;//降低亮度按键位
  7. sbit key1=P1^2;//增加亮度按键位

  8. unsigned int inc;

  9. void INT0s()interrupt 0        using 0//INT0外部中断,过零检测触发
  10. {
  11.         TR0=0;
  12.         if(!key0)//降低亮度
  13.         {
  14.                 inc+=50;
  15.                 if(inc>=8000)inc=8000;
  16.         }
  17.         if(!key1)//增加亮度
  18.         {
  19.                 inc-=50;
  20.                 if(inc<=800)inc=800;
  21.         }
  22.         TH0=(65536-inc)/256;
  23.         TL0=(65536-inc)%256;
  24.         TR0=1;
  25. }

  26. void timer1()interrupt 1 using 0//可控硅触发中断
  27. {
  28.         unsigned char i;
  29.         lamp_pwm=0;//灯亮
  30.         for(i=0;i<2;i++);//延时2us
  31.         lamp_pwm=1;//灯灭
  32. }

  33. /************STC不断电下载用******************/
  34. sfr ISP_DOWNS=0xe7;//ISP软复位地址
  35. sbit ISP_SW=P3^0;//串口数据接收
  36. void DebugDownISP()//软复位
  37. {
  38.         if(!ISP_SW)ISP_DOWNS=0x60;       
  39. }
  40. /********************************************/

  41. void main()
  42. {
  43.         TMOD|=0x01;
  44.         IT0=1;//INT0下降沿触发
  45.         EX0=1;//外部中断允许
  46.         ET0=1;
  47.         EA=1;//开总中断
  48.         inc=8000;
  49.         while(1)
  50.         {
  51.                 DebugDownISP();
  52.         }
  53. }
复制代码




作者: wzy1994413    时间: 2015-4-12 16:23
厉害 把可控硅换成继电器可以么
作者: admin    时间: 2015-4-12 17:29
wzy1994413 发表于 2015-4-12 16:23
厉害 把可控硅换成继电器可以么

这个不能换 继电器的动作和可控硅 不是一个级别的 慢n倍
作者: weiqiang19885    时间: 2015-4-12 19:06
学习学习 ,感谢分享
作者: honour50    时间: 2015-4-16 16:33
谢谢分享,菜鸟围观!
作者: fywx    时间: 2015-5-5 22:09
这个不错,学习了
作者: taoyi1991    时间: 2015-5-17 20:03
牛逼  把开关换成旋钮的就更赞
作者: liushiming82    时间: 2015-8-7 13:31
楼主,下面这句话怎么理解
如果是一片单片机控制多路可控硅,就必须改一种方式,定时器必须常开而且参数定为10MS(一个过零周期),外部中断用来给定时器做同步调整(外部中断时给定时器置入溢出值),各路可控硅调功参数可以通过预设值和查表方式获得相应的延迟触发时间点。
作者: 海鸟    时间: 2015-8-31 19:26
楼主方便加个qq吗?
287367319
作者: 嘿嘿嘿    时间: 2015-9-13 09:38
学习!  我想改成红外的 不知道可行否

作者: menwawork    时间: 2015-9-23 19:16
写得很详细,学习了.
作者: 18200877897    时间: 2015-12-23 18:09
好东西,正想要的资料
作者: wxftdy    时间: 2016-3-27 09:40
weiqiang19885 发表于 2015-4-12 19:06
学习学习 ,感谢分享

房主能详细的程序给我吗,我正在弄个三相的研究下
作者: wxftdy    时间: 2016-3-27 10:31
房主能详细的程序给我吗,我正在弄个三相的研究下
作者: 12v16v6    时间: 2016-4-13 00:55
太厉害了,改一下程序可以做个软起动吗?
作者: hejin2016    时间: 2016-4-16 19:39
想下来看看,51黑有你更精彩
作者: konglingjie123    时间: 2016-4-26 08:56
楼主能详细聊一下吗?qq1289220424
作者: wsk666    时间: 2016-4-26 14:17
想下来看看
作者: wsk666    时间: 2016-4-26 14:26
这个不错,学习了
作者: wsk666    时间: 2016-4-26 14:43
太厉害了
作者: Aileen    时间: 2016-5-12 09:02
这个正是我需要的,太好了,谢谢!
作者: wsk666    时间: 2016-5-31 20:14
我用你的程序在proteus怎么仿真不了?请楼主发个仿真的
作者: wsk666    时间: 2016-6-2 15:42
用proteus仿真不了,是什么原因?
作者: gaoguoliang    时间: 2016-6-16 16:54
太谢谢了,刚好有用
作者: gaoguoliang    时间: 2016-6-16 16:58
真的很有用,下来看看!
作者: yyg123321a    时间: 2016-6-27 19:55
可简化设计,不必过零检测,用调脉宽即可控制双向可控硅的功率。
作者: brightsm    时间: 2016-7-21 10:29
220V的电同上,楼主不怕被电到呀。
作者: 黑夜彩虹    时间: 2016-8-4 21:24
整流桥出来后被光藕的二极管短路,不太相信这个电路能正常运行
作者: fengxqjack    时间: 2016-8-15 15:47
非常有用的资料,谢谢啦!
作者: chjchj8116    时间: 2016-8-25 13:47
我想下载下来看看
作者: 12大风    时间: 2016-8-26 06:48
学习学习
作者: wxs732    时间: 2016-10-14 09:24
正在学习,谢谢楼主的帖子,
作者: wxs732    时间: 2016-10-14 15:52
通过实验,无法到到要求,楼主希望看到后持续更新下,补全资料,写清楚,要不后面小兄弟通过实验不通过。
作者: aling    时间: 2016-11-29 13:37
这程序绝对有问题......
作者: diydz    时间: 2016-11-29 14:20
和楼主一模一样的电路,实验是不行的,灯根本不亮,请楼主指点,谢谢

作者: ltaalent588    时间: 2016-11-29 18:20
最近正找可控硅的驱动呢,
作者: 猫某人    时间: 2016-12-19 17:17
学习学习 ,感谢分享
作者: 好男人就是我    时间: 2016-12-19 17:21

谢谢分享,菜鸟围观!
作者: qq894308196    时间: 2016-12-25 11:54
调光为何要放到外部中断里呢
作者: zhhengnui    时间: 2016-12-29 11:44
谢谢楼主,学习下
作者: WADZB2    时间: 2017-1-25 14:26
非常好的资料,学习了
作者: zhangli019    时间: 2017-2-8 12:10
感谢,有图有真相,加个PID,做保温箱不错
作者: 逍遥若仙    时间: 2017-3-4 11:38
楼主的这个资料不错,刚好是我需要用的,初学这个东西
作者: 未来的技术女    时间: 2017-3-14 13:48
proteus仿真为什么没有moc3020这个
作者: 未来的技术女    时间: 2017-3-14 14:12
楼主,程序是怎么实现控制灯变亮变暗的?刚刚看了程序怎么没看懂
作者: lyf898    时间: 2017-4-3 12:09
admin 发表于 2015-4-12 17:29
这个不能换 继电器的动作和可控硅 不是一个级别的 慢n倍

远不止N倍,应该是N*N*N.....倍!
作者: lyf898    时间: 2017-4-3 12:16
黑夜彩虹 发表于 2016-8-4 21:24
**** 作者被禁止或删除 内容自动屏蔽 ****

那不叫短路,220v整流前加了限流电阻,发光管只需要电流达到要求即可
作者: lyf898    时间: 2017-4-3 13:38
该程序和电路应该可运行,这是我在网上看到的最简洁的单片机调光灯电路和程序。
作者: lyf898    时间: 2017-4-3 13:39
yyg123321a 发表于 2016-6-27 19:55
可简化设计,不必过零检测,用调脉宽即可控制双向可控硅的功率。

不过零检测会闪烁的,这不能缺。
作者: lyf898    时间: 2017-4-4 16:33
经实验,程序可以运行,只是有可能是我的电阻没找到2x30K,用一个200K电阻代替,最大亮度时加不到完全亮度。找到合适电阻时再试
作者: 两袖清风    时间: 2017-4-5 16:32
厉害厉害~学习下
作者: lyf898    时间: 2017-4-9 09:18
lyf898 发表于 2017-4-4 16:33
经实验,程序可以运行,只是有可能是我的电阻没找到2x30K,用一个200K电阻代替,最大亮度时加不到完全亮度 ...

经调测,最大亮度200k电阻完全可以替代,将 inc 数值调到10即可,加上18b20测温电路和代码,已经成功将其改造成温控电风扇系统,夏天来了可以应用了。
作者: lyf898    时间: 2017-4-9 09:27
diydz 发表于 2016-11-29 14:20
和楼主一模一样的电路,实验是不行的,灯根本不亮,请楼主指点,谢谢

该电路中没有晶振电路,当然不能正常运行!
作者: YBZYBZ    时间: 2017-4-10 21:13
楼主能不能把·HEX烧写文件发上来分享一下
作者: lyf898    时间: 2017-4-12 08:50
YBZYBZ 发表于 2017-4-10 21:13
楼主能不能把·HEX烧写文件发上来分享一下

楼主很久没回复,其实自己用KILL编译就是了啊,我这有原始的hex文件(运行正常):

tgd.rar

777 Bytes, 下载次数: 155, 下载积分: 黑币 -5


作者: lyf898    时间: 2017-4-12 18:01
lyf898 发表于 2017-4-9 09:27
该电路中没有晶振电路,当然不能正常运行!

我晕,原来stc12内部有时钟啊。
作者: wjhg1026    时间: 2017-4-15 06:53
能调光,但有点闪,就是抖动
作者: wjhg1026    时间: 2017-4-15 06:54
可以调光,但是有点闪,怎么解决?
作者: lyf898    时间: 2017-5-1 11:03
wjhg1026 发表于 2017-4-15 06:54
可以调光,但是有点闪,怎么解决?

如果闪烁,可能是过零检测电路有问题。过零检测就是防止闪烁的。
作者: nihengxianma    时间: 2017-5-6 09:45
进来学习一下。。。。
作者: 周鹏    时间: 2017-5-12 14:18
学习了  最近正在玩这个
作者: hcwlight    时间: 2017-5-17 15:01
楼主 用220V的LED球泡灯试过吗? 可以吗?
作者: 649985415    时间: 2017-5-22 12:26
真心不错 我也在相关的历程
作者: hongxing19di    时间: 2017-5-26 21:49
不错,谢谢分享
作者: tianmaduxing    时间: 2017-6-1 15:15
lyf898 发表于 2017-4-3 13:39
不过零检测会闪烁的,这不能缺。

具体能说说为什么吗? 我查了好多资料 也没搞明白这个电路为什么要加过零保护
作者: zaza21    时间: 2017-6-10 17:52
不错,很有学习的价值
作者: wsjwxj    时间: 2017-6-11 19:01
到处要币下载啊看看啊呵呵
作者: linjinqun    时间: 2017-6-18 11:10

谢谢分享我找了好久
作者: linjinqun    时间: 2017-6-19 03:37
改成双向光藕 会亮一倍

541114231645097.jpg (44.15 KB, 下载次数: 1213)

541114231645097.jpg

作者: jhczy    时间: 2017-6-24 23:11
下来学习,谢谢分享
作者: 山水2000    时间: 2017-6-25 09:16
黑夜彩虹 发表于 2016-8-4 21:24
整流桥出来后被光藕的二极管短路,不太相信这个电路能正常运行

没看到整流桥前面有两个30K的电阻限流吗,而且都有视频了怎么就说这个电路不能正常运行呢,你是不相信这电路跟实物一样?
作者: 山水2000    时间: 2017-6-25 09:22
lyf898 发表于 2017-4-9 09:27
该电路中没有晶振电路,当然不能正常运行!

你不知道STC12C2052AD内部有扫荡器啊,可以不用外接晶体用内部扫荡器的。
作者: zxy2266    时间: 2017-6-25 11:26
简单实用,很好的设计
作者: zxy2266    时间: 2017-6-25 11:33
linjinqun 发表于 2017-6-19 03:37
改成双向光藕会亮一倍

你的电路实验了吗?没见过这样子
作者: 早餐吃什么。    时间: 2017-7-22 23:33
太棒了
作者: 早餐吃什么。    时间: 2017-7-22 23:34
学习学习 ,感谢分享。。。
作者: lyf898    时间: 2017-8-13 08:43
tianmaduxing 发表于 2017-6-1 15:15
具体能说说为什么吗? 我查了好多资料 也没搞明白这个电路为什么要加过零保护

不加过零检测不能保证每个周期的触发时间一致,就会闪烁
作者: lyf898    时间: 2017-8-13 08:45
hcwlight 发表于 2017-5-17 15:01
楼主 用220V的LED球泡灯试过吗? 可以吗?

led不适合,因为LED的亮度与电压不是线性关系
作者: lyf898    时间: 2017-8-13 08:47
linjinqun 发表于 2017-6-19 03:37
改成双向光藕会亮一倍

全波过零检测不需要改动,因为正负都会过零触发
作者: 贰月玖    时间: 2017-8-17 11:30
谢谢...........
作者: 华南摩尔    时间: 2017-9-2 15:10
学习一下
作者: 辛燕静    时间: 2017-9-19 11:48
大神,我如果用STC89C52来写的话,外接晶振一定要11.0592才能工作吗

作者: 辛燕静    时间: 2017-9-19 14:28
lyf898 发表于 2017-4-4 16:33
经实验,程序可以运行,只是有可能是我的电阻没找到2x30K,用一个200K电阻代替,最大亮度时加不到完全亮度 ...

楼上大神,请指导下,我按楼主搭的电路无法正常工作,我使用AT89C52搭的电路,请大神帮忙指导下是什么问题,可以加的你的qq吗。我的qq是742682814
作者: yyhyyhyyh    时间: 2017-9-22 11:36
下载下来看看

作者: wujialong    时间: 2017-10-11 08:24
请问楼主,可控硅电路中330R、2k电阻和0.06uF的电容在这个电路中分别起什么作用,谢谢。
作者: wujialong    时间: 2017-10-11 08:27
请问楼主,可控硅电路中330r、2k的电阻和0.06uF的电容分别起什么作用,谢谢。
作者: xjyprc    时间: 2017-11-5 15:45
我也 测试一下 这个电路
作者: renshiguang    时间: 2017-11-14 17:05


本人新手.
可以解释一下630v 0.06uf电容作用吗?还有另外几个电阻的作用?
先谢谢你了
作者: GUOXUAN    时间: 2017-11-24 11:22
老师写得不错,有视频,有照片,有原理图,还有原代码!文字说明也清晰.
作者: mfwz001    时间: 2018-1-8 13:24
谢谢分享
作者: 高志文    时间: 2018-1-10 13:20
这个LED灯不能调吗?
作者: 高志文    时间: 2018-1-10 13:20
可以给我回复一下吗。936386102这是我QQ
作者: cxj332    时间: 2018-1-10 20:03
楼主求protues仿真文件,我自己弄了一个灯不会亮,而且老是出错

作者: Kay41319    时间: 2018-1-12 16:53
不错,学习了。
作者: tieq1952    时间: 2018-1-13 08:30
学习了。谢谢。
作者: liuhl_2005    时间: 2018-1-13 19:41
很好,测试成功
作者: bbsbbc    时间: 2018-1-17 16:33
流弊啊
作者: wyuano    时间: 2018-3-17 14:26
很好,赞一个
作者: babyounima1    时间: 2018-4-21 11:01
最近在学习这个 学习了
作者: babyounima1    时间: 2018-4-21 11:02

很好,赞一个




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1