實(shí)踐之基于A(yíng)DI Blackfin ADSP 的直流電機驅動(dòng)
上午一直跟同學(xué)們討論關(guān)于直流電機驅動(dòng)的問(wèn)題,下午終于實(shí)現了,寫(xiě)出來(lái)給大家分享一下。
本文引用地址:http://dyxdggzs.com/article/176229.htm主要用直流電機實(shí)現車(chē)庫的控制,以下為實(shí)現原理:
1、直流電動(dòng)機的PWM電路原理
晶體管的導通時(shí)間也被稱(chēng)為導通角а,若改變調制晶體管的開(kāi)與關(guān)的時(shí)間,也就是說(shuō)通過(guò)改變導通角а的大小,如下圖所示,來(lái)改變加在負載上的平均電壓的大小,以實(shí)現對電動(dòng)機的變速控制,稱(chēng)為脈寬調制(PWM)變速控制。在PWM變速控制中,系統采用直流源,放大器的頻率是固定,變速控制通過(guò)調節脈寬來(lái)實(shí)現。構成PWM的功率轉換電路或者采用H橋式驅動(dòng),或者采用T式驅動(dòng)。由于T式電路要求雙電源供電,而且功率晶體管承受的反向電壓為電源電壓的兩倍。因此只適用于小功率低電壓的電動(dòng)機系統。而H橋式驅動(dòng)電路只需一個(gè)電源,功率晶體管的耐壓相對要求也低些,所以應用得較廣泛,尤其用在耐高壓的電動(dòng)機系統中。
脈寬調制(PWM)變速原理圖
2、直流電動(dòng)機的PWM等效電路
如下圖所示:是一個(gè)直流電動(dòng)機的PWM控制電路的等效電路。在這個(gè)等效電路中,傳送到負載(電動(dòng)機)上的功率值決定于開(kāi)關(guān)頻率、導通角度及負載電感的大小。開(kāi)關(guān)頻率的大小主要和所用功率器件的種類(lèi)有關(guān),對于雙極結型晶體管(GTR),一般為lkHz
至5kHz,小功率時(shí)(100W,5A以下)可以取高些,這決定于晶體管的特性。對于絕緣柵雙極晶體管(IGBT),一般為5kHz至l2kHz;對于場(chǎng)效應晶體管(MOSFET),頻率可高達2OkHz。另外,開(kāi)關(guān)頻率還和電動(dòng)機電感有關(guān),電感小的應該取得高些。
驅動(dòng)的實(shí)現:
ucLinux 下的直流電機程序包括模塊驅動(dòng)程序和應用程序兩部分。Module 驅動(dòng)程序實(shí)現了以
下方法:
static struct file_operations Blackfin_dcm_fops = {
owner: THIS_MODULE,
open:Blackfin_dcm_open,
ioctl:Blackfin_dcm_ioctl,
release: Blackfin_dcm_release,
};
開(kāi)啟設備時(shí),配置 IO 口為定時(shí)器工作方式:
({ GPBCON =~ 0xf; GPBCON |= 0xa; })
配置定時(shí)器的各控制寄存器:
({ TCFG0 = ~(0x00ff0000);
TCFG0 |= (DCM_TCFG0);
TCFG1 = ~(0xf);
TCNTB0 = DCM_TCNTB0; /* less than 10ms */
TCMPB0 = DCM_TCNTB0/2;
TCON =~(0xf);
TCON |= (0x2);
TCON =~(0xf);
TCON |= (0x19); })
在Blackfin_dcm_ioctl中提供調速功能接口:
case DCM_IOCTRL_SETPWM:
return dcm_setpwm((int)arg);
應用程序dcm_main.c中調用:
ioctl(dcm_fd, DCM_IOCTRL_SETPWM, (setpwm * factor));
從而實(shí)現直流電機速度的調整。
pwm相關(guān)文章:pwm原理
評論