jy02是使用vr端電壓來調速的,電壓越低,轉速越低,電壓越高,轉速越高,調節的電壓範圍是0-5v,可是我們如果使用3.3v的微控制器來控制轉速的話,就不能調節到最高轉速了,這時,我們可以使用微控制器的pwm來調節,電路如下:
其中vri來控制jy02的vr端,vr_mcu接微控制器的pwm輸出,輸出極性使用低電平,**如下:
void tim2_pwm_init(u16 arr,u16 psc)
主函式來呼叫:
tim2_pwm_init(99,71);
tim_setcompare2(tim2,fanspeed);
fanspeed是要調節的電機轉速,我使用的電機調節範圍是15-100,太小的話,電機會啟動不起來。 BLDC開發筆記4 轉速的計算
以下結合自己的理解,如有錯誤請幫忙及時指正。轉速的計算我現在是通過一定時間內,霍爾訊號的邊沿數量來計算的。這裡每隔50ms在滴答定時器中斷服務函式裡面計算一次。霍爾訊號每變化一次,就產生一次霍爾觸發中斷。因為我的電機是2對極,所以在一圈內有12個霍爾狀態,即電機轉動一圈會觸發12次中斷。假設在50m...