欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機控制繼電器通斷電設計 [打印本頁]

作者: Vanessa    時間: 2017-3-24 21:39
標題: 單片機控制繼電器通斷電設計
題目是通過單片機來控制繼電器從而達到通斷電的效果,通過DC12V電壓或者DC5V電壓來控制AC220V的通斷。然后達到的效果是類似5s5s斷,之后每1s累加一次,即下一次6s5s斷,再下一次7s通,5s...... 直至40s通,5s斷,持續循環這樣的
附有我畫的一部分原理圖,因為剛接觸,想知道一個繼電器能實現嗎?然后就是通過c語言編程實現功能呢還是需要怎么搞原理圖

作者: yzwzfyz    時間: 2017-3-25 01:12
基本正確,可以實現。
但復按鈕,接法不當,復位一次后,C3上的電放不掉。就不能再復位了。要等電容自放電結束,這需要很長時間。
作者: zl2168    時間: 2017-3-25 09:05
2003驅動電路7路用了一路,真可惜。沒有性價比更好的方案嗎?
作者: imxuheng    時間: 2017-3-26 11:13
用三極管驅動繼電器就行了,給繼電器線圈并聯一個二極管來保護繼電器線圈。如果你要做調光建議用光耦+可控硅硬件電路,PWM控制方式
作者: 199419zzq    時間: 2017-3-26 14:31
原理圖正確,就看你編程能不能實現了
作者: wysh_2004    時間: 2017-3-26 14:42
三極管驅動繼電器會省點,繼電器觸點處應并上一個消火花電容
作者: Vanessa    時間: 2017-3-26 18:00
zl2168 發表于 2017-3-25 09:05
2003驅動電路7路用了一路,真可惜。沒有性價比更好的方案嗎?

三極管接法查的比較容易壞,正在考慮要不要用2003驅動數碼管
作者: Vanessa    時間: 2017-3-26 18:01
imxuheng 發表于 2017-3-26 11:13
用三極管驅動繼電器就行了,給繼電器線圈并聯一個二極管來保護繼電器線圈。如果你要做調光建議用光耦+可控 ...

調光是什么呢
作者: Vanessa    時間: 2017-3-26 18:01
199419zzq 發表于 2017-3-26 14:31
原理圖正確,就看你編程能不能實現了

正在往出憋程序
作者: Vanessa    時間: 2017-3-26 18:02
yzwzfyz 發表于 2017-3-25 01:12
基本正確,可以實現。
但復按鈕,接法不當,復位一次后,C3上的電放不掉。就不能再復位了。要等電容自放電 ...

能給個建議改正嗎,有點不太懂,謝謝
作者: Vanessa    時間: 2017-3-26 19:13
yzwzfyz 發表于 2017-3-25 01:12
基本正確,可以實現。
但復按鈕,接法不當,復位一次后,C3上的電放不掉。就不能再復位了。要等電容自放電 ...

那應該怎么改呢?
作者: gcb2012    時間: 2017-3-26 19:14
用個8050驅動繼電器
作者: 越快樂越墮落    時間: 2017-3-26 21:09
直接用三極管驅動繼電器,加一個保護繼電器的二極管就好了,用ULN2003太浪費了
作者: Vanessa    時間: 2017-3-26 22:14
越快樂越墮落 發表于 2017-3-26 21:09
直接用三極管驅動繼電器,加一個保護繼電器的二極管就好了,用ULN2003太浪費了

已經改成三極管的了
作者: zl2168    時間: 2017-3-26 22:15
Vanessa 發表于 2017-3-26 18:00
三極管接法查的比較容易壞,正在考慮要不要用2003驅動數碼管

只要在繼電器驅動線圈兩端并聯二極管就可。
作者: imxuheng    時間: 2017-3-27 08:31
Vanessa 發表于 2017-3-26 18:01
調光是什么呢

不是用來做調光啊,看來我猜錯了。調光把燈的亮度進行調節
作者: Chandler1983    時間: 2017-3-29 16:42
用三極管驅動,繼電器。也可以用可控硅控制。
作者: wxc19960311    時間: 2017-4-11 23:09
原理圖基本沒錯誤,程序中如果能達到設計的那樣,完全可以實現。加油
作者: dzbj    時間: 2017-4-11 23:41
我寫了一個 不知道對不對 一起學習吧

bit flag_one=0;                //第一次工作標記
uchar num1s=0;                //1s計數器
uchar n=5;                        //總秒數計數器

void mast()        //主控
{
        if(flag_one==0)                //如果 第一次工作標記為0 這里是你要求的第一次5s開5s關
        {
                jk=1;                                //繼電器吸合
                num1s=0;                        //延時5s
                while(num1s<n);
                jk=0;                                //繼電器關閉
                num1s=0;                        //延時5s
                while(num1s<n);
                flag_one=1;                        //第一次工作標記置1 不再運行5s間隔的狀態
                n++;                                //總秒數計數器自加
        }

        jk=1;                                //繼電器吸合
        num1s=0;                        //延時5+n秒 每次+1S
        while(num1s<n);
        n++;                                //總秒計數器自加
        jk=0;                                //繼電器關閉
        num1s=0;                        //延時5s 你要求開時間每次+1S 關時間不變
        while(n<5);
}

void Server_Time0() interrupt 1        //定時器服務程序
{
        TH0 = xx;                        //重裝定時初值 1s
        TL0 = xx;                        //重裝定時初值 1s
       
        num1s++;                        //1s計數器自加       
}

void main()
{
        Init_Time();        //定時器初始化 沒給你寫 基礎程序了

        while(1)
        {
                mast();                        //調用 主控程序
        }
}
作者: dzbj    時間: 2017-4-11 23:47
Vanessa 發表于 2017-3-26 18:00
三極管接法查的比較容易壞,正在考慮要不要用2003驅動數碼管

三極管沒有很容易壞 現在有很多集成片子 有UN2008 當年沒這些片子的時候 還不都是三極管干 也沒見幾個壞的

我喜歡用N-MOS 比三極管好用 不需要電流 51的準雙向端口直接就能驅動了
作者: dzbj    時間: 2017-4-11 23:52
剛才少看最后一句了 補上

bit flag_one=0;                //第一次工作標記
uchar num1s=0;                //1s計數器
uchar n=5;                        //總秒數計數器

void mast()        //主控
{
        if(flag_one==0)                //如果 第一次工作標記為0 這里是你要求的第一次5s開5s關
        {
                jk=1;                                //繼電器吸合
                num1s=0;                        //延時5s
                while(num1s<n);
                jk=0;                                //繼電器關閉
                num1s=0;                        //延時5s
                while(num1s<n);
                flag_one=1;                        //第一次工作標記置1 不再運行5s間隔的狀態
                n++;                                //總秒數計數器自加
        }

        jk=1;                                //繼電器吸合
        num1s=0;                        //延時5+n秒 每次+1S
        while(num1s<n);
        n++;                                //總秒計數器自加
        jk=0;                                //繼電器關閉
        num1s=0;                        //延時5s 你要求開時間每次+1S 關時間不變
        while(n<5);
//剛才沒看見你最后一句話沒寫這段
        if(n==40)                        //判斷總次數 如果總次數是40
        {
                flag_one=0;                        //第一次工作標記清零                       
                n=5;                                //總秒數計數器置5
        }
}

void Server_Time0() interrupt 1        //定時器服務程序
{
        TH0 = xx;                        //重裝定時初值 1s
        TL0 = xx;                        //重裝定時初值 1s
       
        num1s++;                        //1s計數器自加       
}

void main()
{
        Init_Time();        //定時器初始化 沒給你寫 基礎程序了

        while(1)
        {
                mast();                        //調用 主控程序
        }
}
作者: nonr_spur    時間: 2017-4-12 16:22
三極管驅動繼電器
作者: liuchunlong    時間: 2017-5-5 10:01
dzbj 發表于 2017-4-11 23:52
剛才少看最后一句了 補上

bit flag_one=0;                //第一次工作標記

請問,用單片機控制固態繼電器,再控制高頻電磁閥每秒鐘開關50次,請問這個程序應該怎么寫
作者: Vanessa    時間: 2017-5-10 20:24
dzbj 發表于 2017-4-11 23:52
剛才少看最后一句了 補上

bit flag_one=0;                //第一次工作標記

謝謝,我已經編出來了
作者: 明天美好    時間: 2017-5-10 21:32
原理圖正確,帶上計時器按時間輸出基本就行了
作者: 電子黑火藥    時間: 2018-10-20 14:21
想要樓主的程序




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1