直流電機監(jiān)控閉環(huán)轉(zhuǎn)速系統(tǒng)的實現(xiàn)
1引言
直流電機監(jiān)控系統(tǒng)是機電產(chǎn)品中的重要環(huán)節(jié),其控制性能反映了機電設備的控制質(zhì)量。靈活、方便、準確、實時的監(jiān)控需要對電機的轉(zhuǎn)速信號進行測量和處理,以達到精確控制轉(zhuǎn)速的目的。
2系統(tǒng)總體設計
ARM/DSP/FPGA雖精度高、速度快,但設計復雜,價格也一直居高不下。本系統(tǒng)采用一種適用于小容量存儲器單片機(如PIC系列)系統(tǒng)且功能強大的RTOS—Salvo。無需擴展大量的RAM和ROM,并且實時性好。大大節(jié)省了成本。系統(tǒng)選用PC機作為上位機,運用API函數(shù)及MSCOMM控件實現(xiàn)計算機通信。PIC16F877A單片機及外圍電路組成一個單片機系統(tǒng)。作為下位機。電路設計包括PWM驅(qū)動、CCP捕捉、A/D模數(shù)轉(zhuǎn)換、LCD液晶顯示、RS232和SPI串行通訊以及下位機雙機通信模塊。系統(tǒng)總體框圖如圖1所示。
3Salvo系統(tǒng)簡介
嵌入式實時操作系統(tǒng)Salvo具有占用系統(tǒng)資源少和功能強大兩大特點。
3。1Salvo占用的系統(tǒng)資源
Salvo最大的特點是占用系統(tǒng)資源少,特別是占用存儲器資源極少。它不但適用于51系列單片機,也適用于存儲器資源更少的PIC系列單片機。Salvo占用ROM資源取決于用戶調(diào)用的系統(tǒng)函數(shù),占用RAM取決于用戶定義的變量、任務和事件的數(shù)量。以PIC16系列單片機為例,每個全局變量占10B,任務占5B,事件占3B。
3。2Salvo功能和性能
Salvo是一個基于優(yōu)先級任務切換、支持事件驅(qū)動的多任務嵌入式實時操作系統(tǒng)。Salvo共支持16個任務優(yōu)先級,且多個任務可共用一個優(yōu)先級,任務按優(yōu)先級高低切換,對于多個同一優(yōu)先級的任務則以時間片循環(huán)方式(round-robin)切換。Salvo支持任務和事件的數(shù)量取決于RAM的大小(Salvo默認支持255個任務、255個事件和255個消息隊列)。Salvo內(nèi)核主要提供以下幾類函數(shù)供用戶應用程序引用:
任務管理:提供任務建立、任務撤消功能;
時間管理:提供任務延時函數(shù)功能;
信號管理:提供信號量建立、刪除、等待、發(fā)出等功能;
消息管理:提供消息建立、刪除、等待、發(fā)出等功能。
4系統(tǒng)硬件總述
通訊部分主要由兩部分組成:單片機與PC機以及PIC單片機之間的通訊。PC機與下位單片機間互傳數(shù)據(jù)采用RS232串行異步通信方式。而PIC單片機之間的通訊則采用SPI總線,它是主要用于處理器和外設同步串行通信的4線接口。采用同步時鐘把串行數(shù)據(jù)以8位碼的形式移入和移出微控制器。SPI總線是一種主/從接口,主接口驅(qū)動串行時鐘。在使用SPI時,會同時發(fā)送和接收數(shù)據(jù),使其成為一種全雙工協(xié)議,通訊效率高,而且電路連線及軟件編程結(jié)構(gòu)簡單。硬件電路如圖2、圖3所示,其單元電路包括CCP捕捉電路、PWM驅(qū)動電路、RS232/SPI通訊模塊、A/D轉(zhuǎn)換算法及LCD顯示等。
4。1CCP捕捉電路
光電采集模塊中,采用光電器件具有高轉(zhuǎn)換精度、良好的靜態(tài)工作點、完整的模擬前端以及片內(nèi)校正,特別適用于測量低頻小信號。該電路將光信號轉(zhuǎn)換成電壓信號,再經(jīng)過整形濾波就可直接送至單片機。送往單片機的轉(zhuǎn)速信號可通過CCP捕捉模塊測量出轉(zhuǎn)速。在該模式下,若要采用捕捉功能應將相應的TRIS置為1,將單片機CCPx引腳設置為輸入。例如,輸入頻率穩(wěn)定時,將單片機預分頻值設置為1:16,則這16個周期的總誤差為1個TCY。其有效分辨率為TCY/16,即在40MHz時有效分辨率為6。25ns。只有在輸入頻率在16個采樣周期內(nèi)均穩(wěn)定的情況下,這一方法才有效。不使用預分頻器(1:1)時,每個采樣分辨率為TCY。而且當改變捕捉模式時,產(chǎn)生一個捕捉中斷。用戶應保持CCPxIE位清零以禁止這種中斷,還應在運行模式改變后將CCPxIF位清零。整個捕捉過程快捷、簡單。
4。2PWM驅(qū)動模塊
PIC16F877A單片機產(chǎn)生的PWM信號經(jīng)過光電耦合器連接到L298N的使能控制端??紤]到TLP521-4電路具有反相器作用,PWM信號中的高電平持續(xù)時間對應直流電機的斷電時間。從單片機其他引腳輸出的信號送入L298N的方向控制端,控制直流電機的轉(zhuǎn)動方向和制動狀態(tài)。L298N驅(qū)動負載的電源電壓最大為46V,單橋的驅(qū)動電源接近2A,最大開關頻率不小于40kHz。與由分立元件構(gòu)成的橋式驅(qū)動電路相比,該電路結(jié)構(gòu)簡單,性能可靠。通過改寫程序,可以控制小型直流電機的多種變速。使用光電編碼器實現(xiàn)電機速度檢測,構(gòu)成了完整的閉環(huán)控制系統(tǒng)。
4。3RS232串行通訊模塊
PIC16F877A串行口僅占用了單片機的RC6和RC7引腳,用于接收端RXD和發(fā)送端TXD。因此在上位機計算機與下位機單片機通信時,只需將收發(fā)信號(TX、RX)及地(GND)3根線相連即可。單片機的串行接口電平為TTL電平,這與計算機的串行接口電平不一致,因此需要電平轉(zhuǎn)換。系統(tǒng)選用了Maxim公司的MAX232通用串行接收/發(fā)送驅(qū)動器,其外圍電路簡單,只需外接4只0。1μF的電容即可。
4。4LCD顯示模塊
模塊SMC1602B由一塊點陣液晶屏和控制器HD44780及其輔助電路組成。本系統(tǒng)設計采用OCMJ中文模塊系統(tǒng)LCD液晶作為下位機的顯示模塊。該模塊內(nèi)含GB231216×16點陣國標一級簡體漢字和ASCII8×8(半高)及8×16(全高)點陣形英文字庫,用戶輸入?yún)^(qū)位碼或ASCII碼可實現(xiàn)文本顯示。OCMJ中文液晶顯示模塊采用ASK/ANSWER握手方式。
5系統(tǒng)軟件總述
5。1下位機軟件設計
智能電機監(jiān)控系統(tǒng)的下位機軟件設計主要完成CCP捕捉、A/D采集、PWM控制、SPI通訊、LCD顯示、RS232通訊等多個功能??傮w流程框圖如圖4所示,控制算法是利用PIC16F877A直接控制PID參數(shù),實現(xiàn)精確控制。
5。2上位機系統(tǒng)設計
上位機系統(tǒng)軟件是在Windows平臺上利用Vi-sualBasic6。0開發(fā)的,設計包括了操作提示部分(自動發(fā)送、手動發(fā)送、串口選擇、奇偶校驗、波特率、數(shù)據(jù)位等)、接收回顯部分(接收數(shù)據(jù)位、電機轉(zhuǎn)速、電機正反轉(zhuǎn)等)以及發(fā)送內(nèi)容部分(電機轉(zhuǎn)速設定、過壓、過流保護值等)。[!--empirenews.page--]
6監(jiān)控
電機工作時上、下位機實時通訊,顯示的參數(shù)值實時性好,此時電機正處在反轉(zhuǎn)狀態(tài)(正轉(zhuǎn)“1”、反轉(zhuǎn)“0”),這一方面可以從上位機界面中的正反轉(zhuǎn)設定標志看出,另一方面下位機回饋的參數(shù)中也有電機正反轉(zhuǎn)標志,下位機的液晶面板也同樣有轉(zhuǎn)速、電壓、電流及正反轉(zhuǎn)顯示(正轉(zhuǎn)“Right”、反轉(zhuǎn)“Left”),并且上、下位機的數(shù)據(jù)顯示是同步的。與此同時,可通過上位機對下位機設定的過流過壓保護值,一旦電路檢測到任一過流或者過壓時(超過設定值),下位機控制單元就會發(fā)出報警信號(紅燈亮、蜂鳴器響、上位機出現(xiàn)錯誤標志、下位機的液晶上也會出現(xiàn)錯誤提示等),并且自動停機保護,等待檢修。
7結(jié)束語
該系統(tǒng)成功實現(xiàn)了直流電機閉環(huán)轉(zhuǎn)速系統(tǒng)的實時監(jiān)控,簡化了控制邏輯系統(tǒng),與同類產(chǎn)品相比成本低廉、功能完整、抗干擾性能好。已成功應用于直流電機轉(zhuǎn)速調(diào)節(jié)、監(jiān)控、保護場合,并且上位機界面友好,使用方便。PC機能夠?qū)?strong>直流電機實行實時監(jiān)控,不僅大大改善了高速運行時的穩(wěn)定性,而且還實現(xiàn)了保護功能。