基于CAN總線的智能電動(dòng)執(zhí)行器設(shè)計(jì)
0 引言
執(zhí)行器有氣動(dòng)、液動(dòng)、電動(dòng)三類,氣動(dòng)需要?dú)庠辞译y以進(jìn)行遠(yuǎn)程控制,液動(dòng)需要液壓調(diào)節(jié)系統(tǒng),在解決了防爆和馬達(dá)保護(hù)問(wèn)題后,電動(dòng)執(zhí)行器得到了越來(lái)越廣泛的應(yīng)用。電動(dòng)執(zhí)行器接收來(lái)自調(diào)節(jié)器的模擬信號(hào)(一般是4~20mA的電流信號(hào))或上位機(jī)的數(shù)字信號(hào),將其轉(zhuǎn)換為電動(dòng)執(zhí)行器相對(duì)應(yīng)的機(jī)械位移(轉(zhuǎn)角、直線或多轉(zhuǎn))并自動(dòng)改變操作變量(調(diào)節(jié)閥、風(fēng)門、擋板開(kāi)度等),以達(dá)到對(duì)被調(diào)參數(shù)(溫度、壓力、流量、液位等)進(jìn)行自動(dòng)調(diào)節(jié)的目的,使生產(chǎn)過(guò)程按預(yù)定要求進(jìn)行。
電動(dòng)執(zhí)行器是自動(dòng)控制系統(tǒng)重要的終端設(shè)備,它對(duì)整個(gè)控制系統(tǒng)的安全運(yùn)行、可靠性及調(diào)節(jié)品質(zhì)的優(yōu)劣都有很大的影響。目前國(guó)內(nèi)生產(chǎn)的電動(dòng)執(zhí)行器大多由模擬器件控制,存在的問(wèn)題有:①精度差;②保護(hù)措施使用繼電器和機(jī)械裝置,可靠性差;③大多數(shù)電動(dòng)執(zhí)行器只能接收模擬信號(hào)(4~20mA、1~5V),不能與計(jì)算機(jī)進(jìn)行通信;④系統(tǒng)集成度低、維護(hù)困難。這就使得現(xiàn)有的電動(dòng)執(zhí)行器不便于調(diào)試和維護(hù),也不能根據(jù)生產(chǎn)的實(shí)際需要進(jìn)行參數(shù)的現(xiàn)場(chǎng)調(diào)整,不便于實(shí)現(xiàn)數(shù)字化的分布式控制[9]。
新型智能電動(dòng)執(zhí)行器利用微機(jī)和現(xiàn)場(chǎng)總線通信技術(shù)將伺服放大器與執(zhí)行機(jī)構(gòu)合為一體,具有雙向通信、在線自動(dòng)標(biāo)定、自校正與自診斷等多種控制技術(shù)要求的功能。可進(jìn)行現(xiàn)場(chǎng)操作或遠(yuǎn)程操作,完成手動(dòng)操作及手動(dòng)/自動(dòng)之間無(wú)擾動(dòng)切換[1]??梢哉f(shuō),智能化己經(jīng)成為電動(dòng)執(zhí)行器發(fā)展的趨勢(shì)。
1 控制器選擇
目前采用的8位或16位微控制器的智能控制設(shè)備、儀器儀表僅可完成簡(jiǎn)單、低速的數(shù)據(jù)傳輸,不能滿足工業(yè)現(xiàn)場(chǎng)的實(shí)時(shí)性和可靠性要求,特別連接請(qǐng)求較多或控制任務(wù)較復(fù)雜時(shí),實(shí)時(shí)性較差。因此,本文選用功能更強(qiáng)的32位微控制器,運(yùn)行基于特殊應(yīng)用的嵌入式實(shí)時(shí)操作系統(tǒng)進(jìn)行合理的任務(wù)調(diào)度,滿足工業(yè)現(xiàn)場(chǎng)對(duì)實(shí)時(shí)性和可靠性的要求[8]。這里選用了TI公司的帶有CAN接口的32位嵌入式微控制器TMS320F2812。
TMS320F2812是TI公司新推出的一款32位定點(diǎn)高速DSP芯片,采用8級(jí)指令流水線,單周期32×32位MAC功能,每秒鐘最高可執(zhí)行1150億條指令(150MIPS),保證了控制和信號(hào)處理的快速性和實(shí)時(shí)性。另外TMS320F2812片上還集成了豐富的外部資源,包括16路12位ADC、16路PWM輸出、3個(gè)32位通用定時(shí)器、128kB的16位Flash存貯器、18 kB RAM存貯器外圍中斷擴(kuò)展模塊(PIE)可支持45個(gè)外圍中斷、并具有McBSP、SPI、SCI和擴(kuò)展的CAN總線等接口。TMS320F2812還支持最大1MB的外部存貯器擴(kuò)展,TMS320F2812的開(kāi)發(fā)平臺(tái)支持C/C++編程語(yǔ)言。其C語(yǔ)言優(yōu)化器的C編譯效率可達(dá)90%,還有虛擬浮點(diǎn)數(shù)學(xué)函數(shù)庫(kù)提供支持,可以大大地縮短數(shù)學(xué)運(yùn)算與控制程序的開(kāi)發(fā)周期。TMS320F2812非常適用于電機(jī)控制、電源設(shè)計(jì)、智能傳感器設(shè)計(jì)等應(yīng)用領(lǐng)域。
在對(duì)執(zhí)行電機(jī)進(jìn)行狀態(tài)監(jiān)測(cè)與故障診斷時(shí),首先要對(duì)各傳感器的信號(hào)進(jìn)行采集。CAN總線具有可靠性強(qiáng)、鏈路簡(jiǎn)單、支持優(yōu)先級(jí)處理等優(yōu)點(diǎn)。因此,我們選擇了基于CAN總線的主/從分布式的測(cè)量方式,并開(kāi)發(fā)了基于TMS320F2812的智能CAN節(jié)點(diǎn)。它具有10路模擬量輸入、4路數(shù)字量輸入,不僅可以根據(jù)中心處理主機(jī)的命令進(jìn)行數(shù)據(jù)采集還可以實(shí)現(xiàn)閾值報(bào)警、數(shù)字濾波、FFT變換等功能,而且可以大大減輕中心處理主機(jī)的運(yùn)算負(fù)荷。電動(dòng)執(zhí)行器控制系統(tǒng)硬件主要由DSP、CAN總線接口控制器、開(kāi)關(guān)磁阻電動(dòng)機(jī)、檢測(cè)裝置、驅(qū)動(dòng)電路等部分組成,系統(tǒng)功能框圖如圖1所示。
圖1 電動(dòng)執(zhí)行器系統(tǒng)功能框圖
2 驅(qū)動(dòng)電機(jī)簡(jiǎn)介
新型電動(dòng)執(zhí)行器的驅(qū)動(dòng)電機(jī)采用開(kāi)關(guān)磁阻電機(jī)SRM(switched reluctance motor),它具有結(jié)構(gòu)簡(jiǎn)單、啟動(dòng)電流低、輸出轉(zhuǎn)矩大、定位精度高、無(wú)惰走和自剎車等特點(diǎn)。改變了傳統(tǒng)電動(dòng)執(zhí)行器的體系結(jié)構(gòu)和缺點(diǎn)[4-6],同時(shí),增設(shè)了CAN總線和RS-485通信接口,使之成為現(xiàn)場(chǎng)總線控制系統(tǒng)中的一個(gè)節(jié)點(diǎn),具有運(yùn)算、控制、通信等功能。新型電動(dòng)執(zhí)行器在功能上、可靠性和性價(jià)比上都有大幅度提高,可廣泛應(yīng)用于電力、石油、化工、冶金、交通和機(jī)械等行業(yè)[7]。
3 CAN通信模塊設(shè)計(jì)
CAN(controller area network)總線是一種先進(jìn)的串行通信協(xié)議,它有效支持分布式控制及實(shí)時(shí)控制,并采用了帶優(yōu)先級(jí)的CSMA/CD協(xié)議對(duì)總線進(jìn)行仲裁,允許多站點(diǎn)同時(shí)發(fā)送。既保證了信息處理的實(shí)時(shí)性,又使得CAN總線網(wǎng)絡(luò)可以構(gòu)成多主結(jié)構(gòu)的系統(tǒng),保證了系統(tǒng)的可靠性。CAN采用短幀結(jié)構(gòu),且每幀信息都有校驗(yàn)及其它檢錯(cuò)措施,保證了數(shù)據(jù)的高實(shí)時(shí)性、低傳輸出錯(cuò)率,具有很高的位速率和高抗電磁干擾性,而且能夠檢測(cè)出產(chǎn)生的任何錯(cuò)誤。當(dāng)信號(hào)傳輸距離達(dá)到10km時(shí),CAN Bus仍可提供高達(dá)5kbps的數(shù)據(jù)傳輸速率。TMS320F2812中的eCAN控制器集成CAN總線的物理層和數(shù)據(jù)鏈路層,支持CAN總線的210A與210B規(guī)范[3]。CAN總線可靠的錯(cuò)誤檢測(cè)與處理功能都是由控制器的鏈路層自動(dòng)完成,其最大優(yōu)點(diǎn)就是有32個(gè)可以逐位屏蔽,并帶有超時(shí)監(jiān)視和傳送動(dòng)態(tài)優(yōu)先級(jí)的郵箱。這32個(gè)郵箱共有512個(gè)字節(jié)的存儲(chǔ)空間來(lái)存放要發(fā)送或接收到的數(shù)據(jù)。eCAN本身與SCC模式相兼容,并且增加了低功率模式,設(shè)置MC寄存器中的WUBA位,可實(shí)現(xiàn)模塊會(huì)自動(dòng)退出低功率模式和工作模式的切換[10]。
本設(shè)計(jì)選用TI公司的CAN收發(fā)器SN65HVD230和TMS320F2812直接連接便可接入CAN總線網(wǎng)絡(luò),該收發(fā)器工作電壓為3.3V,節(jié)點(diǎn)上電位移對(duì)總線上的其它節(jié)點(diǎn)沒(méi)有影響,在電噪聲很大的環(huán)境中能可靠地實(shí)現(xiàn)與上位機(jī)和其它網(wǎng)絡(luò)節(jié)點(diǎn)通信。CAN通信接口電路如圖2所示。
圖2 CAN通信接口電路
在CAN模塊驅(qū)動(dòng)程序的軟件設(shè)計(jì)時(shí)通信協(xié)議遵循DeviceNet規(guī)約,使之具有良好的模塊性和移植性,通過(guò)軟件對(duì)CAN模塊進(jìn)行參數(shù)配置,即可實(shí)現(xiàn)應(yīng)用系統(tǒng)的“即插即用”功能。CAN的驅(qū)動(dòng)程序分為硬件抽象層、功能函數(shù)層和應(yīng)用程序接口層三個(gè)層次。硬件抽象層文件CANREGH定義了各CAN控制器寄存器數(shù)據(jù)格式及讀寫(xiě)訪問(wèn)的方法。功能函數(shù)層文件CANFUNC.C和CANFUYNC.H包括CAN控制器各種控制功能的實(shí)現(xiàn)函數(shù)和CAN總線異常中斷處理函數(shù),該層的函數(shù)利用硬件抽象層中對(duì)寄存器操作的接口來(lái)訪問(wèn)CAN控制器,來(lái)實(shí)現(xiàn)各種CAN控制器能提供的功能。應(yīng)用程序接口層的文件有CANAPP.H和CANAPP.C,供用戶實(shí)現(xiàn)現(xiàn)場(chǎng)通信,包括如下過(guò)程:
① 初始化CAN控制器。包括使能CAN模塊、模塊時(shí)鐘設(shè)置、配置CAN管腳、初始化CANMC寄存器、清除中斷標(biāo)志位、CAN控制器的工作方式、總線波特率、驗(yàn)收過(guò)濾器等,以便讓CAN控制器的各個(gè)功能與實(shí)際的工作相符。
評(píng)論