新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 51LPC系列單片機用于控制交流電機

        51LPC系列單片機用于控制交流電機

        作者: 時間:2012-03-07 來源:網絡 收藏

        3 完整的LPC+Triac+Motor(AC)電路實現

        在P87LPC761 和Triac的應用中,整個系統對電源消耗很低并具有高抗干擾性能,故可以通過阻容降壓和單相半波整流由市電直接供電,而不需要昂貴且體積大的變壓器,外部零件極少。此方案成本低。圖5所示是一個感性負載的通用電路,同時適合阻性負載。Triac可使用BTA216 600E。像圖4那樣,通過查詢P87LPC761的比較器來檢測負載電流過零,并重新觸發Triac。也可用中斷驅動。啟動時用電壓過零測量并觸發 Triac的門級脈沖,以減少電磁干擾,并可從主循環的開始進行和重定義在啟負載之間軟件等待整個半周期。本例在復位后通過用戶按鍵開啟負載,通過按鍵可進行相角以控制的不同轉速。如圖5所示,LED發光管閃爍的快慢能體現轉速,LED閃爍越快電機轉動越快,反之則越慢;電機停轉,LED 熄滅。此電路稍經修改就可以其它許多類似的場合。

        25.jpg

        源程序清單:
        該軟件在Keil C51 V6.02上編譯通過,在目標板上運動正常。如果用其它編譯器必須稍加修改。
        #includereg761.h>
        #define uchar unsigned char
        #define uint unsigned int
        uchar s,x,y=0;
        void timer0(void)interrupt 1 using 1 {/*T0中斷服務程序*/
        x=x+1;
        if(x/10>s){
        if(y= =0){P1=P10xfb; /*LED點亮*/
        x=0;y=1;}
        else {P1=P1|0x04; /*LED熄滅*/
        y=0;x=0;}}
        TF0=0;TH0=-(28/256);
        TL0=-(28%256);
        }
        void speed(s){ /*電機轉換控制子程序*/
        uchar pulsecount, pulseduration=0;
        uint i=0;
        uint j=0;
        if (((CMP10x02))!(CMP20x02)/*查詢比較器*/
        {for (i=0;is;i++)
        {for(j=0;j210;j++) ;} /*延時觸發*/
        CMP1=CMP10xfc;
        CMP2=CMP20xfc;
        pulsecount=1;
        {P1=P10xfe;
        pulseduration=12; /*觸發脈沖寬度*/
        while(pulseduration){pulseduration- -;}
        P1=P1|0x01;
        pulsecount- -;
        }
        }
        }



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 水富县| 镇巴县| 闽清县| 开化县| 安国市| 广丰县| 尉犁县| 格尔木市| 宁国市| 于都县| 荣昌县| 延川县| 托克逊县| 香港| 青岛市| 新竹市| 水富县| 凉城县| 杂多县| 雅江县| 柘荣县| 万全县| 自贡市| 唐海县| 电白县| 阿坝| 大田县| 昌吉市| 石台县| 改则县| 南涧| 西平县| 读书| 彭州市| 山东| 崇礼县| 运城市| 奉化市| 临海市| 垦利县| 宝山区|