你的位置:首頁 > 電源管理 > 正文

                                        深入淺出H橋驅動電路

                                        發布時間:2021-01-03 來源:菜刀和小麥 責任編輯:wenwei

                                        【導讀】H橋是一個比較簡單的電路,通常它會包含四個獨立控制的開關元器件(例如MOS-FET),它們通常用于驅動電流較大的負載,比如電機,至于為什么要叫H橋(H-Bridge),因為長得比較像字母H,具體如下圖所示;
                                         
                                        什么是H橋?
                                         
                                        H橋是一個比較簡單的電路,通常它會包含四個獨立控制的開關元器件(例如MOS-FET),它們通常用于驅動電流較大的負載,比如電機,至于為什么要叫H橋(H-Bridge),因為長得比較像字母H,具體如下圖所示;
                                         
                                        深入淺出H橋驅動電路
                                         
                                        這里有四個開關元器件Q1,Q2,Q3,Q4,另外還有一個直流電機M,D1,D2,D3,D4是MOS-FET的續流二極管;
                                         
                                        開關狀態
                                         
                                        下面以控制一個直流電機為例,對H橋的幾種開關狀態進行簡單的介紹,其中正轉和反轉是人為規定的方向,實際工程中按照實際情況進行劃分即可;
                                         
                                        正轉
                                         
                                        通常H橋用來驅動感性負載,這里我們來驅動一個直流電機;
                                         
                                        ●     打開Q1和Q4;
                                        ●     關閉Q2和Q3;
                                         
                                        此時假設電機正轉,這電流依次經過Q1,M,Q4,在圖中使用黃色線段進行標注,具體如下圖所示;
                                         
                                        深入淺出H橋驅動電路
                                        正轉
                                         
                                        反轉
                                         
                                        另外一種狀態則是電機反轉;此時四個開關元器件的狀態如下;
                                         
                                        ●     關閉Q1和Q4;
                                        ●     打開Q2和Q3;
                                         
                                        此時電機反轉(與前面介紹的情況相反),這電流依次經過Q2,M,Q3,在圖中使用黃色線段進行標注,具體如下圖所示;
                                         
                                        深入淺出H橋驅動電路
                                        反轉
                                         
                                        調速
                                         
                                        如果要對直流電機調速,其中的一種方案就是;
                                         
                                        ●     關閉Q2,Q3;
                                        ●     打開Q1,Q4上給它輸入50%占空比的PWM波形,這樣就達到了降低轉速的效果,如果需要增加轉速,則將輸入PWM的占空比設置為100%;
                                         
                                        具體如下所示;
                                         
                                        深入淺出H橋驅動電路
                                         
                                        停止狀態
                                         
                                        這里以電機從正轉切換到停止狀態為例;
                                         
                                        ●     正轉情況下;Q1和Q4是打開狀態;
                                        ●     這時候如果關閉Q1和Q4,直流電機內部可以等效成電感,也就是感性負載,電流不會突變,那么電流將繼續保持原來的方向進行流動,這時候我們希望電機里的電流可以快速衰減;
                                         
                                        這里有兩種辦法:
                                         
                                        第一種:關閉Q1和Q4,這時候電流仍然會通過反向續流二極管進行流動,此時短暫打開Q1和Q3從而達到快速衰減電流的目的;
                                         
                                        深入淺出H橋驅動電路
                                         
                                        第二種:準備停止的時候,關閉Q1,打開Q2,這時候電流并不會衰減地很快,電流循環在Q2,M,Q4之間流動,通過MOS-FET的內阻將電能消耗掉;
                                         
                                        深入淺出H橋驅動電路
                                         
                                        應用
                                         
                                        實際使用的時候,用分立元件制作H橋是很麻煩的,市面上已經有很多比較常用的IC方案,比如常用的L293D、L298N、TA7257P、SN754410等。接上電源、電機,通過輸入控制信號就可以驅動電機了;
                                         
                                        下面是某寶上的L298N模塊,比較常見,對于新手玩家非常友好,接線也十分簡單;
                                         
                                        深入淺出H橋驅動電路
                                        L298N模塊
                                         
                                        這個模塊有一個板載5V穩壓器,該穩壓器可使用跳線的方式進行使能。
                                         
                                        如果電機電源電壓高達12V,我們可以啟用5V穩壓器,并且5V引腳可以用作輸出,例如給Arduino板供電。
                                         
                                        但是,如果電動機電壓大于12V,則必須斷開跳線,因為這些電壓會損壞板載5V穩壓器。
                                         
                                        在這種情況下,5V引腳將用作輸入,因為我們需要將其連接到5V電源,以使IC正常工作。
                                         
                                        我們在這里可以注意到,該IC的電壓降約為2V。因此,如果使用12V電源,則電動機端子上的電壓約為10V,這意味著我們將無法從12V直流電動機中獲得最大速度。
                                         
                                        這里使用Arduino為例,這是網上找的一個Demo整體的框架如下圖所示;
                                         
                                         
                                        深入淺出H橋驅動電路
                                        架構
                                         
                                        #define enA 9
                                        #define in1 6
                                        #define in2 7
                                        #define button 4
                                         
                                        int rotDirection = 0;
                                        int pressed = false;
                                         
                                        void setup() {
                                          pinMode(enA, OUTPUT);
                                          pinMode(in1, OUTPUT);
                                          pinMode(in2, OUTPUT);
                                          pinMode(button, INPUT);
                                          // Set initial rotation direction
                                          digitalWrite(in1, LOW);
                                          digitalWrite(in2, HIGH);
                                        }
                                         
                                        void loop() {
                                        // Read potentiometer value
                                          int potValue = analogRead(A0); 
                                          // Map the potentiometer value from 0 to 255
                                          int pwmOutput = map(potValue, 0, 1023, 0 , 255); 
                                          // Send PWM signal to L298N Enable pin
                                          analogWrite(enA, pwmOutput); 
                                         
                                          // Read button - Debounce
                                          if (digitalRead(button) == true) {
                                            pressed = !pressed;
                                          }
                                          while (digitalRead(button) == true);
                                          delay(20);
                                         
                                          // If button is pressed - change rotation direction
                                          if (pressed == true  & rotDirection == 0) {
                                            digitalWrite(in1, HIGH);
                                            digitalWrite(in2, LOW);
                                            rotDirection = 1;
                                            delay(20);
                                          }
                                          // If button is pressed - change rotation direction
                                          if (pressed == false & rotDirection == 1) {
                                            digitalWrite(in1, LOW);
                                            digitalWrite(in2, HIGH);
                                            rotDirection = 0;
                                            delay(20);
                                          }
                                        }
                                         
                                        簡單描述一下:首先我們需要定義程序所需的引腳和變量。
                                         
                                        在setup()中,我們需要設置引腳模式和電機的初始旋轉方向。
                                         
                                        在loop()中,我們先讀取電位器值,然后將從中獲得的值從0到1023變化,線性映射到PWM信號的0到255的值,將其從0到100%的占空比。
                                         
                                        然后使用analogWrite()函數將PWM信號發送到L298N板的Enable引腳,該引腳實際上驅動電動機。
                                         
                                        接下來,我們檢查是否按下了按鈕,如果是的話,我們將輸入1和輸入2的狀態反置,從而改變電動機的旋轉方向。該按鈕將用作切換按鈕,每次按下該按鈕都會改變電動機的旋轉方向。
                                         
                                        某寶上這種小車很多,如下圖所示;主控可以換成51單片機或者STM32,當然Arduino也沒問題,使用L298N就可以快速搭建一個小車了;
                                         
                                        深入淺出H橋驅動電路
                                        某寶的小車
                                         
                                        總結
                                         
                                        本文簡單介紹了H橋的原理,并以直流電機為例簡單介紹了驅動的狀態,整體比較簡單,適合新手玩家,最后給出了基于Arduino和L298N的驅動示例,僅供參考。
                                         
                                        以下文章來源于小麥大叔 ,作者菜刀和小麥
                                         
                                         
                                        免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯系小編進行處理。
                                         
                                        推薦閱讀:
                                         
                                        常見LED功能和LED驅動器設計注意事項
                                        用負載開關減少涌入電流
                                        一個簡單6通道電源軌排序解決方案
                                        在使用負載開關時,時序決定一切!
                                        更小巧、更高效的充電寶正向你走來!
                                        要采購開關么,點這里了解一下價格!
                                        特別推薦
                                        技術文章更多>>
                                        技術白皮書下載更多>>
                                        熱門搜索
                                        ?

                                        關閉

                                        ?

                                        關閉

                                        国产精品亚洲АV无码播放|久久青青|老熟妇仑乱视频一区二区|国产精品经典三级一区|亚洲 校园 春色 另类 激情