HOME 首頁
SERVICE 服務產(chǎn)品
XINMEITI 新媒體代運營
CASE 服務案例
NEWS 熱點資訊
ABOUT 關于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    spwm波形設計vi子程序(spwm波形的實現(xiàn)方法)

    發(fā)布時間:2023-05-26 15:58:37     稿源: 創(chuàng)意嶺    閱讀: 114        

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關于spwm波形設計vi子程序的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。23N創(chuàng)意嶺 - 安心托付、值得信賴的品牌設計、營銷策劃公司

    開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等,官網(wǎng):https://ai.de1919.com23N創(chuàng)意嶺 - 安心托付、值得信賴的品牌設計、營銷策劃公司

    創(chuàng)意嶺專注品牌設計、策劃,為各大上市企業(yè)、個人提供一站式設計、策劃服務,服務客戶遍布全國,咨詢相關業(yè)務請撥打電話:175-8598-2043,或添加微信:145472200823N創(chuàng)意嶺 - 安心托付、值得信賴的品牌設計、營銷策劃公司

    本文目錄:23N創(chuàng)意嶺 - 安心托付、值得信賴的品牌設計、營銷策劃公司

    spwm波形設計vi子程序(spwm波形的實現(xiàn)方法)23N創(chuàng)意嶺 - 安心托付、值得信賴的品牌設計、營銷策劃公司

    單極性SPWM的波形的產(chǎn)生電路設計23N創(chuàng)意嶺 - 安心托付、值得信賴的品牌設計、營銷策劃公司

    三角波作為載波,在信號波正弦波的正半周期或負半周期里只有單一的極性,所得的SPWM波形在半個周期中也只在單極性范圍內(nèi)變化,稱為單極性SPWM控制方式。 若三角波始終是有正有負為雙極性的,所得的SPWM波形在半個周期中有正、有負,則稱之為雙極性SPWM控制方式。

    如何實現(xiàn)spwm23N創(chuàng)意嶺 - 安心托付、值得信賴的品牌設計、營銷策劃公司

    實現(xiàn)spwm的方法:23N創(chuàng)意嶺 - 安心托付、值得信賴的品牌設計、營銷策劃公司

    1)利用分立元件,采用模擬、數(shù)字混和電路生成SPWM波。此方法電路復雜,實現(xiàn)困難且不易改進;23N創(chuàng)意嶺 - 安心托付、值得信賴的品牌設計、營銷策劃公司

    2)由SPWM專用芯片SA828系列與微處理器直接連接生成SPWM波,SA828是由規(guī)則采樣法產(chǎn)生SPWM波的,相對諧波較大且無法實現(xiàn)閉環(huán)控制;23N創(chuàng)意嶺 - 安心托付、值得信賴的品牌設計、營銷策劃公司

    3)利用CPLD(復雜可編程邏輯器件)設計,實現(xiàn)數(shù)字式SPWM發(fā)生器;23N創(chuàng)意嶺 - 安心托付、值得信賴的品牌設計、營銷策劃公司

    4)基于單片機實現(xiàn)SPWM,此方法控制電路簡單可靠,利用軟件產(chǎn)生SPWM波,減輕了對硬件的要求,且成本低,受外界干擾小。23N創(chuàng)意嶺 - 安心托付、值得信賴的品牌設計、營銷策劃公司

    23N創(chuàng)意嶺 - 安心托付、值得信賴的品牌設計、營銷策劃公司

    擴展資料:23N創(chuàng)意嶺 - 安心托付、值得信賴的品牌設計、營銷策劃公司

    SPWM(Sinusoidal PWM)法是一種比較成熟的、使用較廣泛的PWM法。沖量相等而形狀不同的窄脈沖加在具有慣性的環(huán)節(jié)上時,其效果基本相同。SPWM法就是以該結論為理論基礎,用脈沖寬度按正弦規(guī)律變化而和正弦波等效的PWM波形即SPWM波形控制逆變電路中開關器件的通斷,使其輸出的脈沖電壓的面積與所希望輸出的正弦波在相應區(qū)間內(nèi)的面積相等,通過改變調(diào)制波的頻率和幅值則可調(diào)節(jié)逆變電路輸出電壓的頻率和幅值。23N創(chuàng)意嶺 - 安心托付、值得信賴的品牌設計、營銷策劃公司

    PWM的全稱是Pulse Width Modulation(脈沖寬度調(diào)制),它是通過改變輸出方波的占空比來改變等效的輸出電壓。廣泛地用于電動機調(diào)速和閥門控制,比如電動車電機調(diào)速就是使用這種方式。23N創(chuàng)意嶺 - 安心托付、值得信賴的品牌設計、營銷策劃公司

    參考資料:百度百科-SPWM23N創(chuàng)意嶺 - 安心托付、值得信賴的品牌設計、營銷策劃公司

    基于at89c51系列單片機的兩路互補SPWM波形實現(xiàn),程序如何編寫?要求頻率50hz23N創(chuàng)意嶺 - 安心托付、值得信賴的品牌設計、營銷策劃公司

    用定時器定時10ms,中斷程序里將兩個IO管腳狀態(tài)取反即可。但兩個管腳的原始狀態(tài)是相反的。
    大致 程序如下:
    主程序里
    TMOD=0X01;
    TH0=.......
    TL0=......
    EA=1;
    ET0=1;
    PWM1=0;//一個管腳置低
    PWM2=1;//另一個管腳置高
    TR0=1;
    中斷程序中:
    TH0=.......
    TL0=......
    PWM1=!PWM1;
    PWM2=!PWM2;

    spwm波形設計vi子程序(spwm波形的實現(xiàn)方法)23N創(chuàng)意嶺 - 安心托付、值得信賴的品牌設計、營銷策劃公司

    求教51單片機生成spwm波形的程序23N創(chuàng)意嶺 - 安心托付、值得信賴的品牌設計、營銷策劃公司

    1、用普通I/O口采用軟件定時器中斷可以模擬SPWM輸出。"/**/"里面的內(nèi)用是對程序的標注,解析。
    2、/*采用6MHz晶振,在P1.0腳上輸出周期為2.5s,占空比為20%的脈沖信號*/
    /*定時100ms,周期2.5s需25次中斷,高電平0.5s需5次中斷*/
    #include <reg51.h>
    typedef unsigned char uchar;
    sbit P1_0=P1^0;
    uchar time=0;
    uchar period=25;
    uchar high=5;
    void timer0() interrupt 1 using 1
    {
    TH0=0x3c; /*定時器初值重裝載*/
    TL0=0xb0;
    time++;
    if(time==high) /*高電平持續(xù)時間結束,變低*/
    { P1_0=0;}
    else if(time==period) /*周期時間到,變高*/
    { time=0;
    P1_0=1;
    }
    }
    void main()
    {
    TMOD=0x01; /*定時器0方式1*/
    TH0=0x3c; /*定時器裝載初值*/
    TL0=0xb0;
    EA=1; /*開CPU中斷*/
    ET0=1; /*開定時器0中斷*/
    TR0=1;/*啟動定時器0*/
    while(1) /*等待中斷*/
    {}
    }
    3、說明:本程序主要采用了51單片機(具體型號STC89C52RC)的定時器,工作在方式3,來產(chǎn)生規(guī)定時間內(nèi)的方波,制造SPWM.

    基于STC51系列單片機的SPWM波形實現(xiàn),程序如何編寫?急急急急23N創(chuàng)意嶺 - 安心托付、值得信賴的品牌設計、營銷策劃公司

    /*********************************************************
    // 載波比選為N=24,調(diào)制比M=Uc/Ur=1,晶振頻率12M
    // 正弦波頻率50Hz
    // 高電平的寬度Tpw = Tt/2*(1+Msimwt)
    // 低電平的寬度Tpw = Tt/2*(1-Msimwt)
    // Tt周期
    // T2是產(chǎn)生SPWM波形,并從P1^1輸出,用導線連接到P3.4作為測試頻率使用。
    // T1工作在定時方式1,定時1s
    // T0工作在計數(shù)方式,對輸入的脈沖進行計數(shù),溢出產(chǎn)生中斷。
    // 16位計數(shù)器最大值是65536,1s內(nèi)可能會產(chǎn)生多次溢出,所以在中斷處理程序?qū)χ袛嗟拇螖?shù)進行
    // 計數(shù)。1s到后,將中斷的計數(shù)器里的計數(shù)值取出進行綜合處理,處理后的數(shù)據(jù)送顯示。
    //信號頻率的計算方法:
    // T0工作在計數(shù)方式,假設1s內(nèi)溢出C1次,最后未溢出的計數(shù)值是C2,則頻率公式為:
    // F=C1*2^16+C2 = C1*65536+TH0*256+TL0)
    //使用12MHz時鐘,測量的最大范圍是不大于500KHz。
    *********************************************************/
    #include "reg52.h"
    #define uchar unsigned char
    #define uint unsigned int
    uchar disp[8]={0,0,0,0,0,0,0,0};
    uchar FreStr[]="Friquency is:";
    uchar T0count,T1count;
    uchar code x[]={66,38,26,89,15,97,7,102,2,103,1,102,2,
    97,7,89,15,78,26,66,38,38,66,26,78,15,
    89,7,97,2,102,1,103,1,103,2,102,7,97,15,
    89,26,78,38,66};
    uchar ky,kc,count=255;
    sbit L1=P1^1;
    void delayms(uchar ms)
    {
    uchar i ;
    while(ms--)
    {
    for(i = 0 ; i < 120 ; i++) ;
    }
    }
    //LCD定義開始
    //以下三個是定義LCD的引腳
    sbit lcden=P0^5;
    sbit lcdwrite=P0^6;
    sbit lcdrs=P0^7;
    //延時程序
    void delay(uint z)
    {
    uint x,y;
    for(x=z;x>0;x--)
    for(y=110;y>0;y--);
    }
    //lcd的寫指令
    void write_com(uchar com)
    {
    lcdrs=0;
    lcden=0;
    P2=com;
    delay(5);
    lcden=1;
    delay(5);
    lcden=0;
    }
    //lcd的寫數(shù)據(jù)
    void write_data(uchar da)
    {
    lcdrs=1;
    lcden=0;
    P2=da;
    delay(5);
    lcden=1;
    delay(5);
    lcden=0;
    }
    //初始化
    void Lcd_init()
    {
    lcdwrite=0;
    lcden=0;
    write_com(0x38); //16*2顯示,5*7點陣,8位數(shù)據(jù)
    write_com(0x0c);//顯示開,關光標
    write_com(0x06); //移動光標
    write_com(0x01);//清除LCD的顯示內(nèi)容
    }
    //LCD定義結束
    //計算頻率值
    void calc()
    {
    uchar i;
    long frequency;
    frequency=(T0count*256+TH0)*256+TL0;
    for(i=7;i>0;i--)
    {
    disp[i]=frequency%10;
    frequency=frequency/10;
    }
    disp[0]=frequency;
    }
    void init()
    {
    T0count=0;
    T1count=0;
    TH0=0;
    TL0=0;
    }
    void main()
    {
    uchar dis;
    init();
    Lcd_init();
    TMOD=0x15;
    TH1=(65536-5*110592/12)/256;
    TL1=(65536-5*110592/12)/256%10;
    ET1=1;
    ET0=1;
    EA=1;
    TR1=1;
    TR0=1;
    //以下四句的作用是在P1.1引腳上形成1000Hz的脈沖,用導線連接到P3.4作為測試用。將其中
    //高8位和低8位的初始值更改后可輸出不同頻率的脈沖。
    T2MOD = 0x02;
    TH2=255-x[ky];
    TL2=255-x[ky];
    ET2=1;
    EX0=1;
    TR2=1;
    L1=1;
    write_com(0x80);
    for(dis=0;dis<12;dis++)
    write_data(FreStr[dis]);
    while(1)
    {
    write_com(0xC0);
    for(dis=0;dis<8;dis++)
    write_data(disp[dis]+0x30); //顯示頻率
    }
    }
    //計算輸入脈沖的次數(shù)
    void time0() interrupt 1
    {
    T0count++;
    }
    //計算1s時間
    void time1() interrupt 3
    {
    TH1=(65536-5*110592/12)/256;
    TL1=(65536-5*110592/12)/256%10;
    if(T1count==20)
    {
    calc();
    init();
    }
    else T1count++;
    }
    //這是產(chǎn)生SPWM波形、
    void M() interrupt 5
    {
    TH2=255-x[ky];
    TL2=255-x[ky];
    kc++;
    if(kc==count)
    {
    kc=0;
    L1=~L1;
    ky++;
    if(ky==49) ky=0;
    }
    }
    //這是使用外部中斷0可以調(diào)整輸出波形的頻率
    void MM() interrupt 0
    {
    delayms(300);
    if(INT0==0)
    {
    count=count-5;
    if(count==0) count=255;
    }
    }

    以上就是關于spwm波形設計vi子程序相關問題的回答。希望能幫到你,如有更多相關問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。23N創(chuàng)意嶺 - 安心托付、值得信賴的品牌設計、營銷策劃公司


    推薦閱讀:

    Spa一條龍

    spf十大排名(spf 最高)

    spacex十大排名(spacex實力)

    視頻號中五角星與愛心的區(qū)別(視頻號里五角星是干什么用的)

    云浮天臺花園景觀設計公司(云浮天臺花園景觀設計公司地址)