LPC2141的無刷直流電機控制系統設計
MOSFET驅動用于提升控制器LPC2141輸出驅動電機的電壓。本文選擇NXP公司的PMD3001D和PMGD400UN作為MOSFET,驅動電路如圖6所示。

4.5電機速度的調整
LPC2141集成6通道32位PWM定時器,通過設定不同的PWM占空比數值來控制電機的轉速,通過USB接口讀取電機實際的轉速。
5 軟件設計
本系統軟件部分包括3部分:用戶接口(GUI)、USB設備驅動和BLDC電機控制代碼。
5.1 用戶接口
Windows的用戶界面可控制無刷直流電機演示,如圖7所示。該應用程序軟件是BLDC_USBGUI.EXE,采用Mierosoft Visual Basic 2008專業版開發,需要在PC機上安裝Microsoft.NET Framework,可方便地控制電機速度和讀取電機電流及轉速。

5.2 USB設備驅動
USB通信部分可以到Keil公司網站(www.keil.com)上下載USB通信代碼(LPC2148 USB HID人體學設備驅動代碼)。如有疑問可與筆者聯系(okarmdy@gmail.com)。
5.3 BLDC電機控制代碼
本例程序采用C語言編寫,采用Keil公司uVision3開發環境進行編譯。系統執行的任務如下:
①USB接口用于接收電機的轉速信息,以及設定電機電流和轉速。
②使用10位A/D輸入檢測電機電流大小,用于保護電機。
③使用定時器1產生10 ms的系統中斷時間戳,用于在不同時間戳切換和分派系統任務。
④使用定時器0的捕獲引腳讀取霍爾傳感器來控制電機的轉子,設定PWM定時器占空比來控制轉速,驅動Q1~Q6的MOSFET輸出,從而控制三相橋的導通與關斷。
電機控制部分代碼包括5個模塊:bide.c、adc.c、pwm.c、hsensor.c、timerl.c。頭文件bidc.h用于設置無刷直流電機控制的相關參數(如電機電流和轉速設定等)。使用Keil’s uVision3調試開發環境自帶的標準啟動代碼庫配置LPC2141芯片,設置CCLK=PCLK=60 MHz。
結語
本文使用LPC2141微控制器設計了一款無刷直流電機控制系統,代碼精簡,控制可靠。經過長期測試證明,系統相關器件的選型設計是穩定的。從芯片設計和系統低成本設計上,該系統具有一定的應用推廣價值。本文引用地址:http://www.104case.com/article/163281.htm
霍爾傳感器相關文章:霍爾傳感器工作原理
霍爾傳感器相關文章:霍爾傳感器原理
評論