LPC2141的無(wú)刷直流電機(jī)控制系統(tǒng)設(shè)計(jì)
MOSFET驅(qū)動(dòng)用于提升控制器LPC2141輸出驅(qū)動(dòng)電機(jī)的電壓。本文選擇NXP公司的PMD3001D和PMGD400UN作為MOSFET,驅(qū)動(dòng)電路如圖6所示。
4.5電機(jī)速度的調(diào)整
LPC2141集成6通道32位PWM定時(shí)器,通過(guò)設(shè)定不同的PWM占空比數(shù)值來(lái)控制電機(jī)的轉(zhuǎn)速,通過(guò)USB接口讀取電機(jī)實(shí)際的轉(zhuǎn)速。
5 軟件設(shè)計(jì)
本系統(tǒng)軟件部分包括3部分:用戶(hù)接口(GUI)、USB設(shè)備驅(qū)動(dòng)和BLDC電機(jī)控制代碼。
5.1 用戶(hù)接口
Windows的用戶(hù)界面可控制無(wú)刷直流電機(jī)演示,如圖7所示。該應(yīng)用程序軟件是BLDC_USBGUI.EXE,采用Mierosoft Visual Basic 2008專(zhuān)業(yè)版開(kāi)發(fā),需要在PC機(jī)上安裝Microsoft.NET Framework,可方便地控制電機(jī)速度和讀取電機(jī)電流及轉(zhuǎn)速。
5.2 USB設(shè)備驅(qū)動(dòng)
USB通信部分可以到Keil公司網(wǎng)站(www.keil.com)上下載USB通信代碼(LPC2148 USB HID人體學(xué)設(shè)備驅(qū)動(dòng)代碼)。如有疑問(wèn)可與筆者聯(lián)系(okarmdy@gmail.com)。
5.3 BLDC電機(jī)控制代碼
本例程序采用C語(yǔ)言編寫(xiě),采用Keil公司uVision3開(kāi)發(fā)環(huán)境進(jìn)行編譯。系統(tǒng)執(zhí)行的任務(wù)如下:
①USB接口用于接收電機(jī)的轉(zhuǎn)速信息,以及設(shè)定電機(jī)電流和轉(zhuǎn)速。
②使用10位A/D輸入檢測(cè)電機(jī)電流大小,用于保護(hù)電機(jī)。
③使用定時(shí)器1產(chǎn)生10 ms的系統(tǒng)中斷時(shí)間戳,用于在不同時(shí)間戳切換和分派系統(tǒng)任務(wù)。
④使用定時(shí)器0的捕獲引腳讀取霍爾傳感器來(lái)控制電機(jī)的轉(zhuǎn)子,設(shè)定PWM定時(shí)器占空比來(lái)控制轉(zhuǎn)速,驅(qū)動(dòng)Q1~Q6的MOSFET輸出,從而控制三相橋的導(dǎo)通與關(guān)斷。
電機(jī)控制部分代碼包括5個(gè)模塊:bide.c、adc.c、pwm.c、hsensor.c、timerl.c。頭文件bidc.h用于設(shè)置無(wú)刷直流電機(jī)控制的相關(guān)參數(shù)(如電機(jī)電流和轉(zhuǎn)速設(shè)定等)。使用Keil’s uVision3調(diào)試開(kāi)發(fā)環(huán)境自帶的標(biāo)準(zhǔn)啟動(dòng)代碼庫(kù)配置LPC2141芯片,設(shè)置CCLK=PCLK=60 MHz。
結(jié)語(yǔ)
本文使用LPC2141微控制器設(shè)計(jì)了一款無(wú)刷直流電機(jī)控制系統(tǒng),代碼精簡(jiǎn),控制可靠。經(jīng)過(guò)長(zhǎng)期測(cè)試證明,系統(tǒng)相關(guān)器件的選型設(shè)計(jì)是穩(wěn)定的。從芯片設(shè)計(jì)和系統(tǒng)低成本設(shè)計(jì)上,該系統(tǒng)具有一定的應(yīng)用推廣價(jià)值。本文引用地址:http://m.butianyuan.cn/article/163281.htm
霍爾傳感器相關(guān)文章:霍爾傳感器工作原理
霍爾傳感器相關(guān)文章:霍爾傳感器原理
評(píng)論