自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一份很用心的H橋驅(qū)動(dòng)掃盲教程

商務(wù)辦公
H橋是一個(gè)比較簡(jiǎn)單的電路,通常它會(huì)包含四個(gè)獨(dú)立控制的開(kāi)關(guān)元器件(例如MOS-FET),它們通常用于驅(qū)動(dòng)電流較大的負(fù)載,比如電機(jī)。

[[360744]]

什么是H橋?

H橋是一個(gè)比較簡(jiǎn)單的電路,通常它會(huì)包含四個(gè)獨(dú)立控制的開(kāi)關(guān)元器件(例如MOS-FET),它們通常用于驅(qū)動(dòng)電流較大的負(fù)載,比如電機(jī),至于為什么要叫H橋(H-Bridge),因?yàn)殚L(zhǎng)得比較像字母H,具體如下圖所示;

這里有四個(gè)開(kāi)關(guān)元器件Q1,Q2,Q3,Q4,另外還有一個(gè)直流電機(jī)M,D1,D2,D3,D4是MOS-FET的續(xù)流二極管;

開(kāi)關(guān)狀態(tài)

下面以控制一個(gè)直流電機(jī)為例,對(duì)H橋的幾種開(kāi)關(guān)狀態(tài)進(jìn)行簡(jiǎn)單的介紹,其中正轉(zhuǎn)和反轉(zhuǎn)是人為規(guī)定的方向,實(shí)際工程中按照實(shí)際情況進(jìn)行劃分即可;

正轉(zhuǎn)

通常H橋用來(lái)驅(qū)動(dòng)感性負(fù)載,這里我們來(lái)驅(qū)動(dòng)一個(gè)直流電機(jī);

  • 打開(kāi)Q1和Q4;
  • 關(guān)閉Q2和Q3;

此時(shí)假設(shè)電機(jī)正轉(zhuǎn),這電流依次經(jīng)過(guò)Q1,M,Q4,在圖中使用黃色線段進(jìn)行標(biāo)注,具體如下圖所示;

正轉(zhuǎn)

反轉(zhuǎn)

另外一種狀態(tài)則是電機(jī)反轉(zhuǎn);此時(shí)四個(gè)開(kāi)關(guān)元器件的狀態(tài)如下;

  • 關(guān)閉Q1和Q4;
  • 打開(kāi)Q2和Q3;

此時(shí)電機(jī)反轉(zhuǎn)(與前面介紹的情況相反),這電流依次經(jīng)過(guò)Q2,M,Q3,在圖中使用黃色線段進(jìn)行標(biāo)注,具體如下圖所示;

反轉(zhuǎn)

調(diào)速

如果要對(duì)直流電機(jī)調(diào)速,其中的一種方案就是;

  • 關(guān)閉Q2,Q3;
  • 打開(kāi)Q1,Q4上給它輸入50%占空比的PWM波形,這樣就達(dá)到了降低轉(zhuǎn)速的效果,如果需要增加轉(zhuǎn)速,則將輸入PWM的占空比設(shè)置為100%;

具體如下所示;

停止?fàn)顟B(tài)

這里以電機(jī)從正轉(zhuǎn)切換到停止?fàn)顟B(tài)為例;

  • 正轉(zhuǎn)情況下;Q1和Q4是打開(kāi)狀態(tài);
  • 這時(shí)候如果關(guān)閉Q1和Q4,直流電機(jī)內(nèi)部可以等效成電感,也就是感性負(fù)載,電流不會(huì)突變,那么電流將繼續(xù)保持原來(lái)的方向進(jìn)行流動(dòng),這時(shí)候我們希望電機(jī)里的電流可以快速衰減;

這里有兩種辦法:

第一種:關(guān)閉Q1和Q4,這時(shí)候電流仍然會(huì)通過(guò)反向續(xù)流二極管進(jìn)行流動(dòng),此時(shí)短暫打開(kāi)Q1和Q3從而達(dá)到快速衰減電流的目的;

第二種:準(zhǔn)備停止的時(shí)候,關(guān)閉Q1,打開(kāi)Q2,這時(shí)候電流并不會(huì)衰減地很快,電流循環(huán)在Q2,M,Q4之間流動(dòng),通過(guò)MOS-FET的內(nèi)阻將電能消耗掉;

應(yīng)用

實(shí)際使用的時(shí)候,用分立元件制作H橋是很麻煩的,市面上已經(jīng)有很多比較常用的IC方案,比如常用的L293D、L298N、TA7257P、SN754410等。接上電源、電機(jī),通過(guò)輸入控制信號(hào)就可以驅(qū)動(dòng)電機(jī)了;

下面是某寶上的L298N模塊,比較常見(jiàn),對(duì)于新手玩家非常友好,接線也十分簡(jiǎn)單;

L298N模塊

這個(gè)模塊有一個(gè)板載5V穩(wěn)壓器,該穩(wěn)壓器可使用跳線的方式進(jìn)行使能。

如果電機(jī)電源電壓高達(dá)12V,我們可以啟用5V穩(wěn)壓器,并且5V引腳可以用作輸出,例如給Arduino板供電。

但是,如果電動(dòng)機(jī)電壓大于12V,則必須斷開(kāi)跳線,因?yàn)檫@些電壓會(huì)損壞板載5V穩(wěn)壓器。

在這種情況下,5V引腳將用作輸入,因?yàn)槲覀冃枰獙⑵溥B接到5V電源,以使IC正常工作。

我們?cè)谶@里可以注意到,該IC的電壓降約為2V。因此,如果使用12V電源,則電動(dòng)機(jī)端子上的電壓約為10V,這意味著我們將無(wú)法從12V直流電動(dòng)機(jī)中獲得最大速度。

這里使用Arduino為例,這是網(wǎng)上找的一個(gè)Demo整體的框架如下圖所示;

架構(gòu)

  1. #define enA 9 
  2. #define in1 6 
  3. #define in2 7 
  4. #define button 4 
  5.  
  6. int rotDirection = 0; 
  7. int pressed = false
  8.  
  9. void setup() { 
  10.   pinMode(enA, OUTPUT); 
  11.   pinMode(in1, OUTPUT); 
  12.   pinMode(in2, OUTPUT); 
  13.   pinMode(button, INPUT); 
  14.   // Set initial rotation direction 
  15.   digitalWrite(in1, LOW); 
  16.   digitalWrite(in2, HIGH); 
  17.  
  18. void loop() { 
  19. // Read potentiometer value 
  20.   int potValue = analogRead(A0);  
  21.   // Map the potentiometer value from 0 to 255 
  22.   int pwmOutput = map(potValue, 0, 1023, 0 , 255);  
  23.   // Send PWM signal to L298N Enable pin 
  24.   analogWrite(enA, pwmOutput);  
  25.  
  26.   // Read button - Debounce 
  27.   if (digitalRead(button) == true) { 
  28.     pressed = !pressed; 
  29.   } 
  30.   while (digitalRead(button) == true); 
  31.   delay(20); 
  32.  
  33.   // If button is pressed - change rotation direction 
  34.   if (pressed == true  & rotDirection == 0) { 
  35.     digitalWrite(in1, HIGH); 
  36.     digitalWrite(in2, LOW); 
  37.     rotDirection = 1; 
  38.     delay(20); 
  39.   } 
  40.   // If button is pressed - change rotation direction 
  41.   if (pressed == false & rotDirection == 1) { 
  42.     digitalWrite(in1, LOW); 
  43.     digitalWrite(in2, HIGH); 
  44.     rotDirection = 0; 
  45.     delay(20); 
  46.   } 

簡(jiǎn)單描述一下:首先我們需要定義程序所需的引腳和變量。

在setup()中,我們需要設(shè)置引腳模式和電機(jī)的初始旋轉(zhuǎn)方向。

在loop()中,我們先讀取電位器值,然后將從中獲得的值從0到1023變化,線性映射到PWM信號(hào)的0到255的值,將其從0到100%的占空比。

然后使用analogWrite()函數(shù)將PWM信號(hào)發(fā)送到L298N板的Enable引腳,該引腳實(shí)際上驅(qū)動(dòng)電動(dòng)機(jī)。

接下來(lái),我們檢查是否按下了按鈕,如果是的話,我們將輸入1和輸入2的狀態(tài)反置,從而改變電動(dòng)機(jī)的旋轉(zhuǎn)方向。該按鈕將用作切換按鈕,每次按下該按鈕都會(huì)改變電動(dòng)機(jī)的旋轉(zhuǎn)方向。

某寶上這種小車(chē)很多,如下圖所示;主控可以換成51單片機(jī)或者STM32,當(dāng)然Arduino也沒(méi)問(wèn)題,使用L298N就可以快速搭建一個(gè)小車(chē)了;

某寶的小車(chē)

總結(jié)

本文簡(jiǎn)單介紹了H橋的原理,并以直流電機(jī)為例簡(jiǎn)單介紹了驅(qū)動(dòng)的狀態(tài),整體比較簡(jiǎn)單,適合新手玩家,最后給出了基于Arduino和L298N的驅(qū)動(dòng)示例,僅供參考,感興趣可以去某寶逛逛,enjoy。

 

責(zé)任編輯:武曉燕 來(lái)源: 小麥大叔
相關(guān)推薦

2019-12-03 10:28:53

編程語(yǔ)言PythonJava

2021-04-13 09:09:29

DevOps流程Docker

2010-08-10 08:58:55

2022-03-25 11:44:14

Scrapy爬蟲(chóng)命令

2019-07-16 07:52:49

NumPyPython機(jī)器學(xué)習(xí)

2025-02-28 09:09:44

2022-05-13 09:04:20

Python網(wǎng)絡(luò)爬蟲(chóng)JS逆向問(wèn)題

2020-07-15 15:38:15

人臉識(shí)別照片活化手機(jī)

2024-03-20 12:44:35

AI訓(xùn)練

2019-03-24 14:14:40

代碼閱讀源代碼

2020-12-03 18:07:07

H5主題用戶

2023-09-29 22:41:26

Kubernetes云原生

2018-07-29 15:33:04

2018-05-03 07:06:21

開(kāi)發(fā)規(guī)范iOS

2024-11-07 08:50:56

用戶分析分類維度標(biāo)簽

2023-09-01 14:02:25

用戶分析攻略

2015-03-19 15:17:11

2022-04-29 08:48:25

開(kāi)源

2018-03-09 10:28:30

生態(tài)報(bào)告簽收

2020-03-06 15:38:10

編程語(yǔ)言PythonJava
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)