基于AT89C52的CAN總線無(wú)功補(bǔ)償控制設(shè)計(jì)
2.5 人機(jī)接口設(shè)計(jì)
本裝置通過(guò)4個(gè)按鍵組合可用來(lái)設(shè)定控制參數(shù),如電壓上下限,功率因數(shù)上下限,電流互感器變比等,還可用來(lái)選擇手動(dòng)運(yùn)行方式還是自動(dòng)運(yùn)行方式。液晶顯示器選用RT12864,可顯示4排漢字,小巧精致、美觀。液晶顯示模塊在工作時(shí)顯示三相實(shí)時(shí)功率因數(shù),通過(guò)按鍵翻閱還可以顯示三相實(shí)時(shí)電壓,有功功率,無(wú)功功率等參數(shù)。
3 軟件設(shè)計(jì)
采用模塊化的軟件設(shè)計(jì),將軟件分成若干相對(duì)的獨(dú)立的功能模塊,并為各模塊安排適當(dāng)?shù)娜肟诤统隹趨?shù),使得模塊之間的相互連接,組合靈活方便。智能傳感器的的軟件由數(shù)據(jù)采集模塊、輸出控制模塊、CAN總線通信模塊等組成,各模塊在監(jiān)控系統(tǒng)的程序調(diào)度下協(xié)調(diào)工作。CAN總線通信模塊由3部分組成:初始化程序、發(fā)送數(shù)據(jù)程序和接受終端程序3部分組成。由于系統(tǒng)中任意時(shí)刻均可主動(dòng)與其他節(jié)點(diǎn)通信,所以,各節(jié)點(diǎn)的通信程序相同。基于AT89C52和SJA1000的CAN接口模塊通過(guò)CAN總線建立通信。SJA1000的應(yīng)用程序可以被分為初始化程序、報(bào)文發(fā)送程序和報(bào)文接收程序。
3.1 CAN控制器SJA1000初始化設(shè)計(jì)
節(jié)點(diǎn)的初始化主要是指系統(tǒng)上電后對(duì)微處理器AT89C52和CAN控制器SJA1000進(jìn)行的初始化,以確定工作主頻、波特率和輸出特性等。對(duì)AT89C52的初始化可結(jié)合其監(jiān)控任務(wù)進(jìn)行,主要是對(duì)中斷允許與屏蔽、中斷優(yōu)先級(jí)、定時(shí)器的使用與設(shè)置等,由于SJA1000內(nèi)部無(wú)微處理器,故其初始化仍要通過(guò)AT89C52對(duì)其進(jìn)行編程實(shí)現(xiàn)。初始化程序流程如圖3所示。
圖3 初始化程序流程圖
SJA1000的初始化應(yīng)在復(fù)位模式下進(jìn)行,所以在SJA1000初始化程序中首先要將工作方式置為復(fù)位模式,之后要設(shè)置驗(yàn)收濾波方式、驗(yàn)收屏蔽寄存器(AMR)和驗(yàn)收代碼寄存器(ACR)、波特率參數(shù)和中斷允許寄存器(IER)等。CAN協(xié)議物理層中的同步跳轉(zhuǎn)寬度和通信波特率的大小由定時(shí)寄存器BTR0、BTR1的內(nèi)容決定。需要指出的是:對(duì)于一個(gè)系統(tǒng)中的所有節(jié)點(diǎn),這兩個(gè)寄存器的內(nèi)容必須相同,否則將無(wú)法進(jìn)行通信。初始化設(shè)置完成后,將復(fù)位請(qǐng)求位置“0”,SJA1000就可以進(jìn)入工作狀態(tài),執(zhí)行正常的通信任務(wù)。
3.2 CAN總線發(fā)送和接受數(shù)據(jù)程序設(shè)計(jì)
對(duì)SJA1000進(jìn)行初始化建立CAN總線通信后,模塊就可以通過(guò)CAN總線發(fā)送和接收CAN數(shù)據(jù)包。消息的發(fā)送由CAN控制器SJA1000根據(jù)CAN規(guī)則自動(dòng)完成,主控制器必須把要發(fā)送的信息送到SJA1000的發(fā)送緩沖器中,并設(shè)置“發(fā)送請(qǐng)求標(biāo)識(shí)位”于命令寄存器中。模塊向總線上發(fā)送數(shù)據(jù)包是主動(dòng)的,如果一次發(fā)送不成功,可以再次發(fā)送。
CAN控制器SJA1000根據(jù)規(guī)則自動(dòng)接收消息,接收到的消息放入接收緩沖器,此時(shí)接收緩沖器狀態(tài)標(biāo)識(shí)RBS置為1,此時(shí)表示接收緩沖器中有接收到的消息。主控制器必須將消息保存到程序設(shè)置的消息緩沖器中,同時(shí)釋放接收緩沖器并對(duì)消息內(nèi)容做出反應(yīng)。接收過(guò)程可以通過(guò)SJA1000的中斷請(qǐng)求或查詢SJA1000的標(biāo)志位來(lái)進(jìn)行。
4結(jié)束語(yǔ)
本文介紹的通信設(shè)計(jì)方法應(yīng)用于電網(wǎng)在線無(wú)功補(bǔ)償控制系統(tǒng)中,其采用的短幀結(jié)構(gòu),數(shù)據(jù)傳輸速度快,受干擾概率低;不同的檢測(cè)設(shè)備節(jié)點(diǎn)同時(shí)傳輸數(shù)據(jù)時(shí),優(yōu)先級(jí)高的節(jié)點(diǎn)先傳輸;采用多主式的數(shù)據(jù)傳輸方式,網(wǎng)絡(luò)上任何一個(gè)節(jié)點(diǎn)出錯(cuò)都不會(huì)影響其它節(jié)點(diǎn)的正常運(yùn)行的特性,從總體設(shè)計(jì)上可以看出,基于CAN總線無(wú)功補(bǔ)償裝置突出的優(yōu)點(diǎn)是使整個(gè)系統(tǒng)減少了引出線,使設(shè)備簡(jiǎn)潔,易于擴(kuò)展,同時(shí)也便于安裝、檢修和維護(hù)。
本文德主要?jiǎng)?chuàng)新點(diǎn):將CAN現(xiàn)場(chǎng)總線技術(shù)用于低壓電網(wǎng)無(wú)功動(dòng)態(tài)補(bǔ)償,使用標(biāo)準(zhǔn)協(xié)議的通訊方式擴(kuò)展了系統(tǒng)的通訊結(jié)構(gòu)。采用先進(jìn)的總線技術(shù)使系統(tǒng)結(jié)構(gòu)簡(jiǎn)潔,效率高,網(wǎng)絡(luò)上任何一個(gè)節(jié)點(diǎn)出錯(cuò)都不會(huì)影響,大大提高了系統(tǒng)的可靠性和適應(yīng)能力。
電磁爐相關(guān)文章:電磁爐原理
評(píng)論