久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 單片機可控硅調光的源程序原理圖與視頻(帶光耦過零檢測) [打印本頁]

作者: jkangk123    時間: 2018-8-17 16:48
標題: 單片機可控硅調光的源程序原理圖與視頻(帶光耦過零檢測)
我是參考咱們51hei論文DIY區里面大神的資料做出來的 希望大家多多提建議  多多鼓勵

我用的是自己買的開發板上的52單片機,  晶振采用11.0592M,  光耦用了MOC3023 和P521-1兩個  可控硅用的是BTA41   跟一塊整流橋  電容用的是CBB 0.06μF  電阻那些由于我沒有那么多 所以就找了相近值的 然后自己加了一個電源指示燈 和工作指示燈  按鍵我就直接修改成開發板上的獨立按鍵
通電調節過后那幾個電阻發燙都挺嚴重的。   但過零檢測那部分還是不大明白  之前我做了個點焊機根本沒有過零檢測  但是加了有脈沖寬度調節和電流調節。特別提醒各位愛好者在做的過程中千萬要注意安全  檢測檢測再檢測確認對了之后再通電  我也是新手 初次做  希望能夠得到大家的鼓勵讓我更加有信心去做下一個作品 提高自己  也希望能夠跟同基礎的小伙伴共同成長

視頻演示:https://v.youku.com/v_show/id_XMzc4NTI4NTg2NA==.html


實物圖與實驗效果圖:




電路原理圖如下:


可控硅調光的單片機源程序如下:
  1. #include "reg52.h"

  2. sbit lamp_pwm=P0^0;//可控硅位
  3. sbit key0=P3^4;//降低亮度按鍵位
  4. sbit key1=P3^5;//增加亮度按鍵位

  5. unsigned int inc;

  6. void INT0s()interrupt 0        using 0//INT0外部中斷,過零檢測觸發
  7. {
  8.         TR0=0;
  9.         if(!key0)//降低亮度
  10.         {
  11.                 inc+=50;
  12.                 if(inc>=8000)inc=8000;
  13.         }
  14.         if(!key1)//增加亮度
  15.         {
  16.                 inc-=50;
  17.                 if(inc<=800)inc=800;
  18.         }
  19.         TH0=(65536-inc)/256;
  20.         TL0=(65536-inc)%256;
  21.         TR0=1;
  22. }


  23. void timer1()interrupt 1 using 0//可控硅觸發中斷
  24. {
  25.         unsigned char i;
  26.         lamp_pwm=0;//燈亮
  27.         for(i=0;i<2;i++);//延時2us
  28.         lamp_pwm=1;//燈滅
  29. }

  30. /************STC不斷電下載用******************/
  31. sfr ISP_DOWNS=0xe7;//ISP軟復位地址
  32. sbit ISP_SW=P3^0;//串口數據接收
  33. void DebugDownISP()//軟復位
  34. {
  35. ……………………

  36. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
原理圖和程序制作部分.zip (469.79 KB, 下載次數: 617)



作者: jkangk123    時間: 2018-8-18 18:52
上面那個工作指示燈  工作的時候只有微弱的閃     修改了下把工作指示燈單獨接了個IO口 控制了  當按鍵加或者減按下的時候工作指示燈就會閃一下 這樣也達到了工作指示燈的效果
  
以下是原理圖:




程序:

  1. #include "reg52.h"

復制代碼





作者: jkangk123    時間: 2018-8-20 09:38
請問各路前輩們  有沒有不用硬件的過零檢測  直接用軟件做過零檢測      
作者: 這一生只為你    時間: 2019-3-14 20:38
請問一下,Q1的型號是什么呢?看不清楚。。。我也想做一個玩玩~~
作者: SJ-123    時間: 2019-3-22 12:38
樓上的朋友,Q1是BTA-41雙向可控硅,其實在本電路只無須用那么大的可控硅,一般的BTA-6就可以勝任了
作者: 盉飛沙    時間: 2019-3-22 14:47
moc3021等一些光耦是自帶過零檢測的。但要像可控硅電路那樣調光不實際。原因1,模擬調光是不穩定的,不能保證同樣的開啟角度有同樣的亮度。原因2,在較低亮度時燈光會閃爍。
比較可行的方案1是四二極管整流,改成100hz變化,這樣閃爍影響會小些。方案2,既然已整流,不如穩壓濾波用mos管控制。這樣也就不必檢測過零什么的。如果只是燈泡這種幾十瓦的調制,器件還是挺多的。
如果是幾百上千的功率,如果考慮成本還是可控硅的比較實惠。
作者: SJ-123    時間: 2019-5-2 18:10
按照這個電路圖和程序實際搭了個電路根本不能讓燈亮呀

作者: jkangk123    時間: 2019-5-3 15:48
SJ-123 發表于 2019-5-2 18:10
按照這個電路圖和程序實際搭了個電路根本不能讓燈亮呀

電路圖和程序肯定是沒問題的,實物都做出來了。 你的不亮可能還有很多原因,多找找問題出在哪
作者: BLE_    時間: 2019-5-29 11:10
交流電負半周導通時候你的可控硅如何導通
作者: BLE_    時間: 2019-5-29 11:14
SJ-123 發表于 2019-3-22 12:38
樓上的朋友,Q1是BTA-41雙向可控硅,其實在本電路只無須用那么大的可控硅,一般的BTA-6就可以勝任了

交流電反向導通的時候,你的可控硅還會導通嗎
作者: 南水一洲    時間: 2019-6-24 14:10
這個電路帶感性負載有點不合適
作者: SJ-123    時間: 2019-6-30 21:53
jkangk123 發表于 2019-5-3 15:48
電路圖和程序肯定是沒問題的,實物都做出來了。 你的不亮可能還有很多原因,多找找問題出在哪

我完全按照你給的原理圖搭建的電路,而且還反復仔細分析過你的實物電路,也是和原理圖一致的,但是燒錄程序后始終沒有任何的反應,燈根本不亮,我用LED燈代替光藕,程序燒錄好上電調節上下鍵LED燈也是沒有任何反應的,
作者: maijinzhi    時間: 2019-7-1 16:41
謝謝分享程序與原理圖
作者: dj3365191    時間: 2019-8-20 10:46
我完全按照你給的原理圖搭建的電路,而且還反復仔細分析過你的實物電路,也是和原理圖一致的,但是燒錄程序后始終沒有任何的反應,燈根本不亮,見下圖。并且測得P1.0口電壓5V,調節亮暗鍵該電壓無任何變化。

無標題.jpg (147.36 KB, 下載次數: 200)

無標題.jpg

作者: wsh62    時間: 2019-10-29 11:28
我也按這個電路做一個,剛開始光耦我用的是PC-17T1,沒有成功,最后把光耦換成MOC3020,成功,效果很好。
作者: gupingdn    時間: 2019-10-30 10:35
jkangk123 發表于 2018-8-20 09:38
請問各路前輩們  有沒有不用硬件的過零檢測  直接用軟件做過零檢測

既然是過零檢測就是要過零的時候才能觸發硬件。你沒有硬件應該沒法檢測吧。
作者: 51heiaidianzi    時間: 2019-10-31 20:42
盉飛沙 發表于 2019-3-22 14:47
moc3021等一些光耦是自帶過零檢測的。但要像可控硅電路那樣調光不實際。原因1,模擬調光是不穩定的,不能保 ...

我的想法是如果檢測兩個過零信號之間的時間,然后把這個時間分成50或者100段,1段導通的時候可控硅導通時間最長,燈泡最亮,100段導通的時候,可控硅導通時間最短,燈泡最暗。這種導通方式只適合電阻負載,不適合容性和感性負載,因為不是過零后導通。過零導通不是控制可控硅的導通角度,而是控制減少可控硅的導通周期。所以控制燈泡的時候會閃爍。僅供參考。
作者: wsh62    時間: 2019-11-14 11:21
能否把上面的程序改為一個按鍵,從暗到明4檔,又從明到暗4檔,多謝大師們指點。
作者: ziyueboy    時間: 2019-11-16 18:06
wsh62 發表于 2019-11-14 11:21
能否把上面的程序改為一個按鍵,從暗到明4檔,又從明到暗4檔,多謝大師們指點。

樓主這個圖調光有很多弊端,1:過零檢測電路檢測的過零時間和實際過零時間會有差異,解決方法可以,程序做 延時補償,能達到調光效果!  2:過零檢測使用運放來做,時間偏差會小很多! 3: 我做過此類調光,做了很多措施,最終還是在低亮度有所頻閃!想了很多手段都沒找到原因! 4:這個電路調光用作電動機類和熱慣性大的應用是沒問題的!白熾燈調光的頻閃,真心無法忍受!


作者: ymxfx520    時間: 2019-11-17 19:38
感謝樓主分享,學習下
作者: pcbboy    時間: 2019-11-22 14:42
終于淘汰了可控硅調光產品,不用再勞神費心了。
作者: wsh62    時間: 2019-12-3 11:59
改為一個按鍵,從暗到明4檔,又從明到暗4檔,已搞定。
作者: TZTtt    時間: 2019-12-9 16:15
wsh62 發表于 2019-12-3 11:59
改為一個按鍵,從暗到明4檔,又從明到暗4檔,已搞定。

可以把你的原理圖和程序發來看看嘛,非常感謝
作者: wsh62    時間: 2019-12-14 07:33
void timer_init()
{
        inc=0;
        TMOD|=0x01;
        TH0=(65536-inc)/256;
        TL0=(65536-inc)%256;
        IT0=1;                   //INT0下降沿觸發
        EX0=1;                   //外部中斷允許
        ET0=1;
        EA=1;                    //開總中斷   
}
void INT0s()interrupt 0 using 0//INT0外部中斷,過零檢測觸發
{       
        TH0=(65536-inc)/256;
        TL0=(65536-inc)%256;
        TR0=1;
        if(!SW4)               //降低亮度
        {
                delay_ms(20);
                if(!SW4)
                {                       
                        while(!SW4)
                        switch(m)
                        {
                                case 0:inc=6000; m++;break;
                                case 1:inc=4000; m++;break;
                                case 2:inc=2000; m++;break;
                                case 3:inc=5; m++;break;
                                case 4:m=0; break;
                                default: break;
                        }
                }                       
         }
}

void timer1()interrupt 1 using 0//可控硅觸發中斷
{
        unsigned char i;
        P44=0;                 //燈亮
        for(i=0;i<2;i++);      //延時2us
        P44=1;                 //燈滅
}
我用100W的燈泡測試過,效果還可以;原理圖就是樓上的圖。
作者: 51黑電子會員    時間: 2020-4-10 21:28
樓主  你那兩個光耦用啥型號的  可控硅又是啥型號
作者: csgtli    時間: 2020-4-12 14:03
盉飛沙 發表于 2019-3-22 14:47
moc3021等一些光耦是自帶過零檢測的。但要像可控硅電路那樣調光不實際。原因1,模擬調光是不穩定的,不能保 ...

現在有很多可控硅調光的LED燈,一般分為前沿觸發或后沿觸發,發須要單獨的過零檢測電路,不然LED的閃得很嚴重或電源異響
作者: carlhongyao    時間: 2021-1-20 17:07

以下這些是不過零的:




總結:型號倒數第1個數字代表啟動電流大小,1是15ma,2是10ma,3是5ma,CT301X系列的除外;
倒數第2個數字代表峰值電壓,1是250V,2是400V,5是600V;倒數第2個數字為1,2,5的系列為不過零;



以下這些都事過零的:




總結:型號倒數第1個數字代表啟動電流大小,1是15ma,2是10ma,3是5ma;
倒數第2個數字代表峰值電壓,3是250V,4是400V,6是600V,8是800V;倒數第2個數字為3,4,6,8的系列為過零;



作者: zhangleixbyl    時間: 2021-3-10 10:52
dj3365191 發表于 2019-8-20 10:46
我完全按照你給的原理圖搭建的電路,而且還反復仔細分析過你的實物電路,也是和原理圖一致的,但是燒錄程序 ...

我的也是和你一樣的現象燈不亮
作者: lzl12399    時間: 2021-6-3 16:59
首先感謝樓主分享。
1.這個不帶有過零檢測,會有抖動
2.制作成本太高了,可以考慮精簡下
作者: dianziren12    時間: 2023-6-15 10:57
圖中C1電容是什么作用,請大神指教
作者: 電子輝    時間: 2023-7-13 15:40
dianziren12 發表于 2023-6-15 10:57
圖中C1電容是什么作用,請大神指教

保持可控硅驅動電壓,避免過零或者電壓低時可控硅無法導通,如果電路采用rc降壓熱地還可以省掉兩個光耦,
作者: 派大星254    時間: 2024-11-26 19:45
現在看依舊很有說法
作者: plsfx3037    時間: 2025-4-17 08:29
很不錯,非常好的東西啊
作者: 七年修路    時間: 2025-5-26 09:42
我也仿制成功了,代碼做了一些修改,我用的是STC15W402AS單片機

#include "STC15.h"

sbit lamp_pwm=P3^4;//可控硅位
sbit key1=P1^2;//降低亮度按鍵位
sbit key2=P1^3;//增加亮度按鍵位

unsigned int inc;
unsigned char trg1=0, trg2=0,cont1=0,cont2=0;//一定是全局變量



key1scan()
{
        unsigned char a=!key1;//網上是異或運算a=key1^0x01,對于一位按鍵可以直接寫成取反
        trg1= a&(a^cont1);
        cont1=a;
        if(trg1&!key1) //網上是(trg1&key1)實際測試不能使用!!因為任何時候都不可能為真。只有改成(trg1&!key1)才可以完美執行!!!
       
        {
                        inc+=1000;
                        if(inc>=8000)inc=8000;//此處可以是自己需要執行的程序。(去掉前面的返回)
        }

}

key2scan()
{
        unsigned char a=!key2;//網上是異或運算a=key2^0x01,對于一位按鍵可以直接寫成取反
        trg2= a&(a^cont2);
        cont2=a;
        if(trg2&!key2)  
       
        {
             inc-=1000;
             if(inc<=1000)inc=1000;//此處可以是自己需要執行的程序。(去掉前面的返回)
        }

}



void timer_init()
{
        inc=7000;
        TMOD|=0x01;
        TH0=(65536-inc)/256;
        TL0=(65536-inc)%256;
        IT0=1;                   //INT0下降沿觸發
        EX0=1;                   //外部中斷允許
        ET0=1;
        EA=1;                                          //開總中斷  
                AUXR &=~0X40;                  
}



void main()
{
                unsigned int i;
                timer_init();

        while(1)
        {
                key1scan();
                        key2scan();      

                for(i=0;i<60000;i++);      //延時2us         

        }
}

void INT0s()interrupt 0        using 0//INT0外部中斷,過零檢測觸發
{
        TR0=0;

        TH0=(65536-inc)/256;
        TL0=(65536-inc)%256;
        TR0=1;
}


void timer1()interrupt 1 using 0//可控硅觸發中斷
{
        unsigned char i;
        lamp_pwm=0;//燈亮
        for(i=0;i<20;i++);//延時2us
        lamp_pwm=1;//燈滅
}
作者: 七年修路    時間: 2025-5-26 09:50
我也仿制成功了,

51hei圖片_20250526093938.jpg (685.12 KB, 下載次數: 0)

51hei圖片_20250526093938.jpg

51hei圖片_20250526093929.jpg (692.51 KB, 下載次數: 0)

51hei圖片_20250526093929.jpg

51hei圖片_20250526093837.jpg (909.99 KB, 下載次數: 0)

51hei圖片_20250526093837.jpg

作者: 劉佑紅    時間: 2025-5-28 09:54
標題: 分享一個過零信號獲取電路
本帖最后由 劉佑紅 于 2025-5-30 11:33 編輯

      看到有朋友對過零信號還不太清楚,特發一個剛畫的過零信號獲得電路,雖沒有實際測試,但應該沒有問題。采用電容限流,可以避免電阻限流發熱的問題。

  如想簡化電路,可以使用內部是雙發光二極管的光耦LTV354T等型號的,可以省去的D1-D4四個二極管。采用LTV354T光耦正脈沖過零信號,上升沿觸發中斷,可以簡化外圍電路,簡化代碼。如電路采用低壓交流供電,則過零信號的取得就更簡單了,如下圖所示,我已應用在了交流點焊機控制板上。
作者: yangkang0712    時間: 2025-5-28 21:27
jkangk123 發表于 2018-8-20 09:38
請問各路前輩們  有沒有不用硬件的過零檢測  直接用軟件做過零檢測

直接用帶過零檢測的光耦即可,例如:MOC3061
作者: 太陽雨ZW    時間: 2025-7-11 17:28
劉佑紅 發表于 2025-5-28 09:54
看到有朋友對過零信號還不太清楚,特發一個剛畫的過零信號獲得電路,雖沒有實際測試,但應該沒有問題 ...

橋式整流的交流輸入與直流輸出弄反了吧!能輸出過零信號嗎
作者: 老愚童63    時間: 2025-7-12 20:32
50Hz市電使用可控硅過零觸發調光?會不會出現閃爍?
作者: 老愚童63    時間: 2025-7-13 07:56
劉佑紅 發表于 2025-5-28 09:54
看到有朋友對過零信號還不太清楚,特發一個剛畫的過零信號獲得電路,雖沒有實際測試,但應該沒有問題 ...

電容限流獲取過零信號?相位能夠保證?電容的電流超前電壓90°不會影響?
作者: 劉佑紅    時間: 2025-7-14 11:17
太陽雨ZW 發表于 2025-7-11 17:28
橋式整流的交流輸入與直流輸出弄反了吧!能輸出過零信號嗎

你說對,反了!




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 伊人精品在线 | 国产一级片视频 | 免费看黄色一级片 | 91亚洲精品乱码久久久久久蜜桃 | 亚洲一区在线免费观看 | 国产在线毛片 | 五月天丁香 | 婷婷综合视频 | 欧美又粗又长 | 色综合一区 | 中文字幕在线观看第一页 | 在线视频亚洲 | 亚州一区二区 | 视频在线观看一区 | 免费av在线 | 怡红院亚洲 | 日韩天天操 | 国产精品一二三四 | 中文字幕中文字幕 | 久久99热这里只频精品6学生 | 一区二区国产精品 | 亚洲国产精品久久久久 | 欧美黄色网 | 亚洲欧美日韩成人 | 黄色片免费在线观看 | 国产精品日韩欧美 | 中文字幕一区二区在线播放 | 97视频在线免费观看 | 国产精品久久久一区二区三区 | 亚洲精品久久久 | 午夜精品福利视频 | 国产精品永久久久久久久久久 | 丰满少妇高潮无套内谢 | 欧美性猛交xxxx黑人猛交 | 亚洲视频色 | 亚洲国产精品va在线看黑人 | 成人免费毛片嘿嘿连载视频 | 国产aⅴ爽av久久久久成人 | 久久九九免费视频 | 精品一区av | 福利视频二区 |