普通有刷直流電機 H橋驅動

2021-09-27 02:38:20 字數 1729 閱讀 5738

最近用到了低壓大功率有刷直流電機, 需要調速控制, 時間緊急,來不及加速度反饋, 直接使用pwm開環控制了。  根據功率估算了電流大概在10a左右,沒時間畫電路板,於是** 找了下整合驅動模組, 發現也就bts7960 板橋晶元的模組合適,於是買了3個, 模組每個有2個 bts7960, 組成乙個h橋, 驅動一路電機, 需要2路。 由於之前沒有實際驅動過h橋, 看來下幾種驅動方式, 決定使用單橋臂 pwm調製 方法, 另一橋臂作為方向使用, 這種情況下只有一路橋臂需要pwm引腳,實際分配引腳方便些, 但是有個問題,控制方向的橋臂驅動高電平時,  pwm 橋臂側最小時 輸出低電平的話,其實是最大輸出,  想到2種辦法,一是更改輸出極性, 二是 使用最大pwm值減去計算的pwm值作為 pwm輸出, 不想再初始化定時器,於是採用 減pwm的方法寫的。

考慮 方向橋臂有可能使用   繼電器 或 接觸器代替, 切換方向時 關閉使能了一段時間,避免驅動電機過程中切換方向,引起電弧,產生浪湧電壓,損壞器件。 另外需要注意 大功率電機 需要新增加減速控制邏輯, 加速過程會避免大電流衝擊, 減速過程能再生制動。     **如下:

typedef enum dir_enum    // 方向列舉

direnum;

/  定義了個 最小pwm: base_pwm_val,  pwm 對映到 百分比:   base_pwm_perc ~ 100

//  0 不要對映, 做 停止pwm用

u16  percconv(u32 pwm)

//  pcout(6)

// run_motr_en     paout(8)

// 最少10ms 呼叫一次, 換向時 30ms內 無pwm輸出

void setlrpwm(u16 reapwml, u16 reapwmr, direnum dirl, direnum dirr)

if(lastdirr != dirr)

dir_l = dirl;

dir_r = dirr;

if(reinl < 4)        

run_motl_en = 0;

else

else

tim_setcompare3(tim4, full_pwm_val - reapwml);

if(0 == reapwml)    run_motl_en = 0;

else                            run_motl_en = 1;

}if(reinr < 3)        

run_motr_en = 0;

else

else            

tim_setcompare4(tim4, full_pwm_val - reapwmr);

if(0 == reapwmr)    run_motr_en = 0;

else                            run_motr_en = 1;

}                                        //    lastpwml = reapwml;    lastpwmr = reapwmr;

reinl++;                    reinr++;

if(reinl > 200)        reinl = 200;

if(reinr > 200)        reinr = 200;

}

直流電機H橋驅動電路

一 h橋驅動電路 圖4.12中所示為乙個典型的直流電機控制電路。電路得名於 h橋驅動電路 是因為它的形狀酷似字母h。4個三極體組成h的4條垂直腿,而電機就是h中的橫槓 注意 圖4.12及隨後的兩個圖都只是示意圖,而不是完整的電路圖,其中三極體的驅動電路沒有畫出來 如圖所示,h橋式電機驅動電路包括4個...

直流電機pwm 直流電機的調速方法

直流電機的調速方法 一 概述 一是調節電樞電壓,二是調節勵磁電流,1 常見的微型直流電機,其磁場都是固定的,不可調的永磁體,所以只好調節電樞電壓。調節電樞電壓方法 常用的一是可控矽調壓法,再就是脈寬調變法 pwm pwm的h型屬於調壓調速。pwm的h橋只能實現大功率調速。國內的超大功率調速還要依靠可...

網易 小車直流電機H橋驅動方案的選擇

一。首先要否決的是大家用的最多的乙個h橋驅動晶元 l928n 是的,這個晶元是很簡單,很便宜,而且很容易買到,乙個晶元裡面就整合了2路的h橋電路,還帶pwm控制和電流採集。但是它有2個嚴重的缺點 1 手冊要求電機驅動電壓要比控制邏輯電壓高2.5v。不適合單電源供電的小車。而實際上我們做的小車為了維護...