• <tbody id="w8jhq"><dfn id="w8jhq"><pre id="w8jhq"></pre></dfn></tbody>
  • <fieldset id="w8jhq"><pre id="w8jhq"></pre></fieldset>

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频|成人a站免费|日本黄色片|久久久久无码AV

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频|成人a站免费|日本黄色片|久久久久无码AV

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频|成人a站免费|日本黄色片|久久久久无码AV

    技術(shù)熱線: 4007-888-234
    設(shè)計開發(fā)

    專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

    開發(fā)工具

    提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享

    技術(shù)支持

    從全面的產(chǎn)品導(dǎo)入到強大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!

    新品推廣

    提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力

    新聞中心

    提供最新的單片機資訊,行業(yè)消息以及公司新聞動態(tài)

    直流電機調(diào)速的PWM實現(xiàn)方法

    更新時間: 2019-01-05
    閱讀量:1639

    PWM在控制中使用非常廣泛,可以以數(shù)字量對模擬電路進行控制。這里對PWM的原理進行講述,并舉例說明PWM的重要應(yīng)用。

    1、PWM簡介

    采樣控制理論中有一個重要結(jié)論:沖量相等而形狀不同的窄脈沖加在具有慣性的環(huán)節(jié)上時,其效果基本相同。PWM控制技術(shù)就是以該結(jié)論為理論基礎(chǔ),對半導(dǎo)體開關(guān)器件的導(dǎo)通和關(guān)斷進行控制,使輸出端得到一系列幅值相等而寬度不相等的脈沖,用這些脈沖來代替正弦波或其他所需要的波形。按一定的規(guī)則對各脈沖的寬度進行調(diào)制,既可改變逆變電路輸出電壓的大小,也可改變輸出頻率。

    PWM控制的基本原理很早就已經(jīng)提出,但是受電力電子器件發(fā)展水平的制約,在上世紀(jì)80年代以前一直未能實現(xiàn)。直到進入上世紀(jì)80年代,隨著全控型電力電子器件的出現(xiàn)和迅速發(fā)展,PWM控制技術(shù)才真正得到應(yīng)用。隨著電力電子技術(shù)、微電子技術(shù)和自動控制技術(shù)的發(fā)展以及各種新的理論方法,如現(xiàn)代控制理論、非線性系統(tǒng)控制思想的應(yīng)用,PWM控制技術(shù)獲得了空前的發(fā)展。通俗的說PWM是采用數(shù)字量對模擬量進行合成的方法。

    數(shù)字量是怎么樣對模擬量進行合成的呢?請看下例:

    用PWM波代替正弦沖半波:

    上圖中用一系列等幅不等寬的脈沖來代替一個正弦半波,正弦半波N等分,看成N個相連的脈沖序列,寬度相等,但幅值不等;用矩形脈沖代替,等幅,不等寬,中點重合,面積(沖量)相等,寬度按正弦規(guī)律變化。這兩種波作用于電路時,所產(chǎn)生的效果基本相同。

    2、PWM的應(yīng)用

    基于面積相等的原理實際上可以對任意波形進行合成,再如下圖:

    圖中a波形作用于LED上,表現(xiàn)為光強的遞增變化,b波形采用PWM對a進行合成。在某一段時間內(nèi)兩種波形的面積是相同的,因此b作用于LED上時,效果與a是相同的。b波以一定頻率的等幅不等寬的脈沖序列出現(xiàn),脈沖寬度遞增。

    PWM的單片機實現(xiàn)如下:

    #include
    
     #define uchar unsigned char
    

    /*—————————————————————————————-

    以程序用于說明PWM的實現(xiàn)

    ——————————————————————————————-*/

    /**

    程序思路說明:

    關(guān)于頻率和占空比的確定,對于12M晶振,

    假定PWM輸出頻率為1KHZ,這樣定時中斷次數(shù) *

    設(shè)定為C=10,即0.01MS中斷一次,則TH0=FF,TL0=F6;

    由于設(shè)定中斷時間為0.01ms,這樣*

    可以設(shè)定占空比可從1-100變化。即0.01ms*100=1ms

    */

    /**

    TH0和TL0是計數(shù)器0的高8位和低8位計數(shù)器,

    計算辦法:TL0=(65536-C)%256;

    TH0=(65536-C)/256,其中C為所要計數(shù)的次數(shù)即多長時間產(chǎn)生一次中斷;

    TMOD是計數(shù)器*

    工作模式選擇,0X01表示選用模式1,它有16位計數(shù)器,

    最大計數(shù)脈沖為65536,最長時 間

    為1ms*65536=65.536ms

    **/

    #define V_TH0  0XFF                  
    
    #define V_TL0  0XF6                  
    
    #define V_TMOD 0X01                  
    

    void init_sys(void); /系統(tǒng)初始化函數(shù)/

    void Delay5Ms(void);

    unsigned char ZKB1,ZKB2;

    void delay(unsigned int time)

    {

    while(time—);

    }

    void main (void)

    {

    init_sys();

    ZKB1=40; /占空比初始值設(shè)定/

    ZKB2=60; /占空比初始值設(shè)定/

    while(1)

    {

    if (!P1_1) //如果P1.1為低電平,增加占空比

    {

    delay(50000);
    
    if(!P1_1)
    
     {
    
      ZKB1++;
    
      ZKB2=100-ZKB1;
    
     }
    

    }

    if(!P1_2) //如果P1.2為低電平,減少占空比

    {

    delay(50000);
    
    if (!P1_2)
    
    {
    
     ZKB1--;
    
     ZKB2=100-ZKB1;
    
    }
    

    }

    /對占空比值限定范圍/

    if (ZKB1>99) ZKB1=1;

    if (ZKB1<1) ZKB1=99;

    }

    }

    /系統(tǒng)初始化函數(shù)/

    void init_sys(void)

    {

    /定時器初始化/

    TMOD=V_TMOD;

    TH0=V_TH0;

    TL0=V_TL0;

    TR0=1;

    ET0=1;

    EA=1;

    }

    /中斷函數(shù)/

    void timer0(void) interrupt 1 using 2

    {

    static uchar click=0; /中斷次數(shù)計數(shù)器變量/

    TH0=V_TH0; /恢復(fù)定時器初始值/

    TL0=V_TL0;

    ++click;

    if (click>=100) click=0;

    if (click<=ZKB1)

    /當(dāng)小于占空比值時輸出低電平,高于時是高電平,從而實現(xiàn)占空比的調(diào)整/

    P1_3=0;

    else

    P1_3=1;

    if (click<=ZKB2)

    P1_4=0;

    else

    P1_4=1;

    }

    以上是PWM的簡單應(yīng)用,用得更多的是采用它進行直流電機調(diào)速,其實就是把波形作用于電機驅(qū)動電路的使用端,有必要對電機驅(qū)動電路進行介紹。

    1)H橋式電機驅(qū)動電路:

      上圖所示為一個典型的直流電機控制電路。電路得名于“H橋式驅(qū)動電路”是因為它的形狀酷似字母H。4個三極管組成H的4條垂直腿,而電機就是H中的橫杠(上圖及隨后的兩個圖都只是示意圖,而不是完整的電路圖,其中三極管的驅(qū)動電路沒有畫出來)。電路中,H橋式電機驅(qū)動電路包括4個三極管和一個電機。要使電機運轉(zhuǎn),必須導(dǎo)通對角線上的一對三極管。根據(jù)不同三極管對的導(dǎo)通情況,電流可能會從左至右或從右至左流過電機,從而控制電機的轉(zhuǎn)向。
    

    要使電機運轉(zhuǎn),必須使對角線上的一對三極管導(dǎo)通。例如,如上圖所示,當(dāng)Q1管和Q4管導(dǎo)通時,電流就從電源正極經(jīng)Q1從左至右穿過電機,然后再經(jīng)Q4回到電源負(fù)極。按圖中電流箭頭所示,該流向的電流將驅(qū)動電機順時針轉(zhuǎn)動。當(dāng)三極管Q1和Q4導(dǎo)通時,電流將從左至右流過電機,從而驅(qū)動電機按特定方向轉(zhuǎn)動(電機周圍的箭頭指示為順時針方向)。

    上圖所示為另一對三極管Q2和Q3導(dǎo)通的情況,電流將從右至左流過電機。 當(dāng)三極管Q2和Q3導(dǎo)通時,電流將從右至左流過電機,從而驅(qū)動電機沿另一方向轉(zhuǎn)動(電機周圍的箭頭表示為逆時針方向)。

    2)使能控制與方向邏輯

    驅(qū)動電機時,保證H橋上兩個同側(cè)的三極管不會同時導(dǎo)通非常重要。如果三極管Q1和Q2同時導(dǎo)通,那么電流就會從正極穿過兩個三極管直接回到負(fù)極。此時,電路中除了三極管外沒有其他任何負(fù)載,因此電路上的電流就可能達到最大值(該電流僅受電源性能限制),甚至燒壞三極管。基于上述原因,在實際驅(qū)動電路中通常要用硬件電路方便地控制三極管的開關(guān)。上圖所示就是基于這種考慮的改進電路,它在基本H橋電路的基礎(chǔ)上增加了4個與門和2個非門。4個與門同一個“使能”導(dǎo)通信號相接,這樣,用這一個信號就能控制整個電路的開關(guān)。而2個非門通過提供一種方向輸人,可以保證任何時候在H橋的同側(cè)腿上都只

    有一個三極管能導(dǎo)通。(與前面的示意圖一樣,上圖所示也不是一個完整的電路圖,特別是圖中與門和三極管直接連接是不能正常工作的。)

    具有使能控制和方向邏輯的H橋電路采用以上方法,電機的運轉(zhuǎn)就只需要用三個信號控制:兩個方向信號和一個使能信號。如果DIR-L信號為0,DIR-R信號為1,并且使能信號是1,那么三極管Q1和Q4導(dǎo)通,電流從左至右流經(jīng)電機(如上圖所示);如果DIR-L信號變?yōu)?,而DIR-R信號變?yōu)?,那么Q2和Q3將導(dǎo)通,電流則反向流過電機。

    實際使用的時候,用分立件制作H橋式是很麻煩的,好在現(xiàn)在市面上有很多封裝好的H橋集成電路,接上電源、電機和控制信號就可以使用了,在額定的電壓和電流內(nèi)使用非常方便可靠。比如常用的L293D、L298N、TA7257P、SN754410等。

    3)L298電機驅(qū)動芯片介紹
    L298是一種高電壓,高電流電機驅(qū)動集成電路,內(nèi)置雙路全橋驅(qū)動,可以同時驅(qū)動兩個直流電機,通過外部控制信號與PWM,可以實現(xiàn)電機的調(diào)向與調(diào)速,也可以驅(qū)動一個步進電機。

    1. 芯片封裝

    2. 引腳定義

    編號

    名稱

    功能描述

    1,15

    Sense A Sense B

    在此引腳與地之間接采樣電阻,用來調(diào)節(jié)負(fù)載電流

    2,3

    Out1 Out2

    橋式電路A的的輸出端,接電機

    4

    Vs

    輸出端電源供給

    5,7

    Input 1 Input2

    橋式電路A的控制端

    6,11

    Enable A Enable B

    橋式電路A與B的使能端

    8

    GND

    9

    VSS

    邏輯控制地

    10,12

    Input 3 Input4

    橋式電路B的控制端

    13,14

    Out3 Out4

    橋式電路B的的輸出端,接電機

    NC

    不接

    將上面的PWM例程產(chǎn)生的波形作用于電機的使能端上,就可以實現(xiàn)電機的調(diào)速。至于方向的控制,只需兩個IO接于控制端即可。

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频
  • <tbody id="w8jhq"><dfn id="w8jhq"><pre id="w8jhq"></pre></dfn></tbody>
  • <fieldset id="w8jhq"><pre id="w8jhq"></pre></fieldset>