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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 25996|回復: 36
收起左側

單片機可控硅調光的源程序原理圖與視頻(帶光耦過零檢測)

  [復制鏈接]
ID:338171 發表于 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


實物圖與實驗效果圖:

0.png
66.jpg 77.jpg

電路原理圖如下:
0.png

可控硅調光的單片機源程序如下:
  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)


評分

參與人數 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:338171 發表于 2018-8-18 18:52 | 顯示全部樓層
上面那個工作指示燈  工作的時候只有微弱的閃     修改了下把工作指示燈單獨接了個IO口 控制了  當按鍵加或者減按下的時候工作指示燈就會閃一下 這樣也達到了工作指示燈的效果
  
以下是原理圖:
77.png



程序:

  1. #include "reg52.h"

復制代碼




回復

使用道具 舉報

ID:338171 發表于 2018-8-20 09:38 | 顯示全部樓層
請問各路前輩們  有沒有不用硬件的過零檢測  直接用軟件做過零檢測      
回復

使用道具 舉報

ID:403593 發表于 2019-3-14 20:38 | 顯示全部樓層
請問一下,Q1的型號是什么呢?看不清楚。。。我也想做一個玩玩~~
回復

使用道具 舉報

ID:495990 發表于 2019-3-22 12:38 | 顯示全部樓層
樓上的朋友,Q1是BTA-41雙向可控硅,其實在本電路只無須用那么大的可控硅,一般的BTA-6就可以勝任了
回復

使用道具 舉報

ID:323994 發表于 2019-3-22 14:47 | 顯示全部樓層
moc3021等一些光耦是自帶過零檢測的。但要像可控硅電路那樣調光不實際。原因1,模擬調光是不穩定的,不能保證同樣的開啟角度有同樣的亮度。原因2,在較低亮度時燈光會閃爍。
比較可行的方案1是四二極管整流,改成100hz變化,這樣閃爍影響會小些。方案2,既然已整流,不如穩壓濾波用mos管控制。這樣也就不必檢測過零什么的。如果只是燈泡這種幾十瓦的調制,器件還是挺多的。
如果是幾百上千的功率,如果考慮成本還是可控硅的比較實惠。

評分

參與人數 1黑幣 +60 收起 理由
admin + 60

查看全部評分

回復

使用道具 舉報

ID:495990 發表于 2019-5-2 18:10 | 顯示全部樓層
按照這個電路圖和程序實際搭了個電路根本不能讓燈亮呀
回復

使用道具 舉報

ID:338171 發表于 2019-5-3 15:48 | 顯示全部樓層
SJ-123 發表于 2019-5-2 18:10
按照這個電路圖和程序實際搭了個電路根本不能讓燈亮呀

電路圖和程序肯定是沒問題的,實物都做出來了。 你的不亮可能還有很多原因,多找找問題出在哪
回復

使用道具 舉報

ID:550010 發表于 2019-5-29 11:10 | 顯示全部樓層
交流電負半周導通時候你的可控硅如何導通
回復

使用道具 舉報

ID:550010 發表于 2019-5-29 11:14 | 顯示全部樓層
SJ-123 發表于 2019-3-22 12:38
樓上的朋友,Q1是BTA-41雙向可控硅,其實在本電路只無須用那么大的可控硅,一般的BTA-6就可以勝任了

交流電反向導通的時候,你的可控硅還會導通嗎
回復

使用道具 舉報

ID:455170 發表于 2019-6-24 14:10 | 顯示全部樓層
這個電路帶感性負載有點不合適
回復

使用道具 舉報

ID:495990 發表于 2019-6-30 21:53 | 顯示全部樓層
jkangk123 發表于 2019-5-3 15:48
電路圖和程序肯定是沒問題的,實物都做出來了。 你的不亮可能還有很多原因,多找找問題出在哪

我完全按照你給的原理圖搭建的電路,而且還反復仔細分析過你的實物電路,也是和原理圖一致的,但是燒錄程序后始終沒有任何的反應,燈根本不亮,我用LED燈代替光藕,程序燒錄好上電調節上下鍵LED燈也是沒有任何反應的,
回復

使用道具 舉報

ID:398094 發表于 2019-7-1 16:41 | 顯示全部樓層
謝謝分享程序與原理圖
回復

使用道具 舉報

ID:143767 發表于 2019-8-20 10:46 | 顯示全部樓層
我完全按照你給的原理圖搭建的電路,而且還反復仔細分析過你的實物電路,也是和原理圖一致的,但是燒錄程序后始終沒有任何的反應,燈根本不亮,見下圖。并且測得P1.0口電壓5V,調節亮暗鍵該電壓無任何變化。
無標題.jpg

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:60021 發表于 2019-10-29 11:28 | 顯示全部樓層
我也按這個電路做一個,剛開始光耦我用的是PC-17T1,沒有成功,最后把光耦換成MOC3020,成功,效果很好。
回復

使用道具 舉報

ID:233733 發表于 2019-10-30 10:35 | 顯示全部樓層
jkangk123 發表于 2018-8-20 09:38
請問各路前輩們  有沒有不用硬件的過零檢測  直接用軟件做過零檢測

既然是過零檢測就是要過零的時候才能觸發硬件。你沒有硬件應該沒法檢測吧。
回復

使用道具 舉報

ID:410749 發表于 2019-10-31 20:42 | 顯示全部樓層
盉飛沙 發表于 2019-3-22 14:47
moc3021等一些光耦是自帶過零檢測的。但要像可控硅電路那樣調光不實際。原因1,模擬調光是不穩定的,不能保 ...

我的想法是如果檢測兩個過零信號之間的時間,然后把這個時間分成50或者100段,1段導通的時候可控硅導通時間最長,燈泡最亮,100段導通的時候,可控硅導通時間最短,燈泡最暗。這種導通方式只適合電阻負載,不適合容性和感性負載,因為不是過零后導通。過零導通不是控制可控硅的導通角度,而是控制減少可控硅的導通周期。所以控制燈泡的時候會閃爍。僅供參考。
回復

使用道具 舉報

ID:60021 發表于 2019-11-14 11:21 | 顯示全部樓層
能否把上面的程序改為一個按鍵,從暗到明4檔,又從明到暗4檔,多謝大師們指點。
回復

使用道具 舉報

ID:292876 發表于 2019-11-16 18:06 | 顯示全部樓層
wsh62 發表于 2019-11-14 11:21
能否把上面的程序改為一個按鍵,從暗到明4檔,又從明到暗4檔,多謝大師們指點。

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

回復

使用道具 舉報

ID:643836 發表于 2019-11-17 19:38 | 顯示全部樓層
感謝樓主分享,學習下
回復

使用道具 舉報

ID:25310 發表于 2019-11-22 14:42 | 顯示全部樓層
終于淘汰了可控硅調光產品,不用再勞神費心了。
回復

使用道具 舉報

ID:60021 發表于 2019-12-3 11:59 | 顯示全部樓層
改為一個按鍵,從暗到明4檔,又從明到暗4檔,已搞定。
回復

使用道具 舉報

ID:659385 發表于 2019-12-9 16:15 來自觸屏版 | 顯示全部樓層
wsh62 發表于 2019-12-3 11:59
改為一個按鍵,從暗到明4檔,又從明到暗4檔,已搞定。

可以把你的原理圖和程序發來看看嘛,非常感謝
回復

使用道具 舉報

ID:60021 發表于 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的燈泡測試過,效果還可以;原理圖就是樓上的圖。
回復

使用道具 舉報

ID:171036 發表于 2020-4-10 21:28 | 顯示全部樓層
樓主  你那兩個光耦用啥型號的  可控硅又是啥型號
回復

使用道具 舉報

ID:87631 發表于 2020-4-12 14:03 | 顯示全部樓層
盉飛沙 發表于 2019-3-22 14:47
moc3021等一些光耦是自帶過零檢測的。但要像可控硅電路那樣調光不實際。原因1,模擬調光是不穩定的,不能保 ...

現在有很多可控硅調光的LED燈,一般分為前沿觸發或后沿觸發,發須要單獨的過零檢測電路,不然LED的閃得很嚴重或電源異響
回復

使用道具 舉報

ID:877242 發表于 2021-1-20 17:07 | 顯示全部樓層
不過零.JPG
以下這些是不過零的:
CT301X_2X.JPG

CT305X.JPG

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

過零.JPG

以下這些都事過零的:
CT303X_4X.JPG

CT306X_8X.JPG

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


回復

使用道具 舉報

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

我的也是和你一樣的現象燈不亮
回復

使用道具 舉報

ID:97350 發表于 2021-6-3 16:59 | 顯示全部樓層
首先感謝樓主分享。
1.這個不帶有過零檢測,會有抖動
2.制作成本太高了,可以考慮精簡下
回復

使用道具 舉報

ID:283361 發表于 2023-6-15 10:57 來自觸屏版 | 顯示全部樓層
圖中C1電容是什么作用,請大神指教
回復

使用道具 舉報

ID:561623 發表于 2023-7-13 15:40 | 顯示全部樓層
dianziren12 發表于 2023-6-15 10:57
圖中C1電容是什么作用,請大神指教

保持可控硅驅動電壓,避免過零或者電壓低時可控硅無法導通,如果電路采用rc降壓熱地還可以省掉兩個光耦,
回復

使用道具 舉報

ID:1137729 發表于 2024-11-26 19:45 | 顯示全部樓層
現在看依舊很有說法
回復

使用道具 舉報

ID:1146316 發表于 2025-4-17 08:29 | 顯示全部樓層
很不錯,非常好的東西啊
回復

使用道具 舉報

ID:30656 發表于 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;//燈滅
}
回復

使用道具 舉報

ID:30656 發表于 2025-5-26 09:50 | 顯示全部樓層
我也仿制成功了,
51hei圖片_20250526093938.jpg
51hei圖片_20250526093929.jpg
51hei圖片_20250526093837.jpg

評分

參與人數 1黑幣 +40 收起 理由
admin + 40 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:427868 發表于 2025-5-28 09:54 | 顯示全部樓層

分享一個過零信號獲取電路

本帖最后由 劉佑紅 于 2025-5-30 11:33 編輯

      看到有朋友對過零信號還不太清楚,特發一個剛畫的過零信號獲得電路,雖沒有實際測試,但應該沒有問題。采用電容限流,可以避免電阻限流發熱的問題。
過零信號.jpg
  如想簡化電路,可以使用內部是雙發光二極管的光耦LTV354T等型號的,可以省去的D1-D4四個二極管。采用LTV354T光耦正脈沖過零信號,上升沿觸發中斷,可以簡化外圍電路,簡化代碼。如電路采用低壓交流供電,則過零信號的取得就更簡單了,如下圖所示,我已應用在了交流點焊機控制板上。 過零.jpg
回復

使用道具 舉報

ID:388550 發表于 2025-5-28 21:27 | 顯示全部樓層
jkangk123 發表于 2018-8-20 09:38
請問各路前輩們  有沒有不用硬件的過零檢測  直接用軟件做過零檢測

直接用帶過零檢測的光耦即可,例如:MOC3061
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美成人激情 | 国产欧美日韩精品一区 | 亚洲+变态+欧美+另类+精品 | 夜夜爽99久久国产综合精品女不卡 | 久久综合一区 | 国产成人精品一区二区三区 | 日韩中文字幕2019 | 欧美综合国产精品久久丁香 | 一区二区三区四区在线视频 | 国外成人在线视频 | 91精品国产91 | 亚洲成人一区二区 | 五月激情久久 | 99久久久99久久国产片鸭王 | 日韩欧美在线精品 | 国产精品久久久久久吹潮 | 精品国产亚洲一区二区三区大结局 | 日韩亚洲一区二区 | 麻豆一区二区三区精品视频 | 欧美在线视频网站 | 亚洲婷婷一区 | 久久精品久久久 | 自拍偷拍视频网 | 91美女视频 | 日韩高清国产一区在线 | 成人黄色av网站 | 亚洲成年在线 | 成人美女免费网站视频 | 欧美美女一区二区 | 91香蕉嫩草 | 国产视频h | 久热爱 | 精品视频999 | 精品一区二区久久久久久久网精 | 国产精品a久久久久 | 浴室洗澡偷拍一区二区 | av黄色在线观看 | 婷婷中文字幕 | 国产免费va | 欧美福利一区 | 嫩呦国产一区二区三区av |