本實(shí)用新型屬于電機(jī)控制系統(tǒng)領(lǐng)域,具體涉及一種步進(jìn)電機(jī)細(xì)分控制系統(tǒng)。
背景技術(shù):
從近代開(kāi)始,電機(jī)控制的技術(shù)得到了迅猛的發(fā)展。電機(jī)控制技術(shù)極大的提高了勞動(dòng)生產(chǎn)率和產(chǎn)品質(zhì)量,推動(dòng)了現(xiàn)代工業(yè)農(nóng)業(yè)的巨大進(jìn)步。例如數(shù)控機(jī)床,打印機(jī),繪圖機(jī),機(jī)器人控制,無(wú)人駕駛飛機(jī)等場(chǎng)合都有應(yīng)用。但是目前許多電機(jī)由于受本身結(jié)構(gòu)的限制,如步進(jìn)電機(jī),步距角不可能做的很小,因而在低頻控制時(shí)容易產(chǎn)生震蕩、而在高頻時(shí)候易發(fā)生丟失步現(xiàn)象,而且電機(jī)噪聲明顯。于是電機(jī)細(xì)分技術(shù)應(yīng)運(yùn)而生,采用恒流與細(xì)分驅(qū)動(dòng)技術(shù)可以大大提高步進(jìn)電機(jī)的步距分辨率,減小轉(zhuǎn)矩波動(dòng),避免低頻共振及降低運(yùn)行噪聲,提高電機(jī)運(yùn)行平穩(wěn),增加控制的靈活性。正是因電機(jī)細(xì)分技術(shù)的引入步進(jìn)電機(jī)的性能得到大幅提升,使得步進(jìn)電機(jī)替代了傳統(tǒng)的電機(jī),電機(jī)細(xì)分技術(shù)的推動(dòng)使得步進(jìn)電動(dòng)機(jī)推廣應(yīng)用到其他領(lǐng)域,測(cè)量?jī)x器、光學(xué)和醫(yī)療儀器以及包裝機(jī)械等其他運(yùn)用到機(jī)械運(yùn)動(dòng)的領(lǐng)域。
步進(jìn)電機(jī)作為電磁機(jī)械裝置,其分辨率取決于細(xì)分驅(qū)動(dòng)技術(shù)。與傳統(tǒng)的單片機(jī)控制相比,DSP進(jìn)行軟件細(xì)分驅(qū)動(dòng),編程更靈活、通用、算法的優(yōu)化簡(jiǎn)易,具有更強(qiáng)運(yùn)算能力的DSP能夠滿(mǎn)足電流環(huán)實(shí)控制的要求,使得步進(jìn)細(xì)分驅(qū)動(dòng)的成本降低、效率提高、可靠性增強(qiáng)、要修改方案也易辦到,被稱(chēng)為最佳的電機(jī)控制方案。同時(shí),還可解決步進(jìn)電機(jī)在低速時(shí)易出現(xiàn)的低頻振動(dòng)和運(yùn)行中的噪聲等。但單一的軟件細(xì)分驅(qū)動(dòng)在精度與速度兼顧上會(huì)有矛盾,細(xì)分的步數(shù)越多,精度越高,但步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)速度卻降低;要提高轉(zhuǎn)動(dòng)速度,細(xì)分的步數(shù)就得減少。為此,設(shè)計(jì)一種多級(jí)細(xì)分驅(qū)動(dòng)的系統(tǒng),通過(guò)不同的細(xì)分檔位設(shè)定,實(shí)現(xiàn)不同步數(shù)的細(xì)分,使用總線(xiàn)控制多種不同電機(jī),同時(shí)保證不同的轉(zhuǎn)動(dòng)速度的細(xì)分方式的電機(jī)系統(tǒng)的研究具有非常重要的意義。
以工業(yè)局域網(wǎng)技術(shù)為基礎(chǔ)的工廠(chǎng)自動(dòng)化工程技術(shù)在最近十年得到了長(zhǎng)足的發(fā)展,并顯示良好的發(fā)展勢(shì)頭。受這一發(fā)展趨勢(shì)影響,新的步進(jìn)電機(jī)細(xì)分控制系統(tǒng)都配置了標(biāo)準(zhǔn)串行通信接口或現(xiàn)場(chǎng)總線(xiàn)通訊方式。CAN總線(xiàn)作為一種技術(shù)先進(jìn)可靠性高、靈活性好、功能完善且成本合理的遠(yuǎn)程網(wǎng)絡(luò)控制方式在工業(yè)控制領(lǐng)域中的應(yīng)用非常廣泛。但就目前的市場(chǎng)上大多數(shù)的現(xiàn)場(chǎng)智能儀器儀表,電機(jī)控制裝置,通常采用了Modbus串行接口通信協(xié)議。由于Modbus 協(xié)議實(shí)現(xiàn)了OSI參考模型中應(yīng)用層的定義,通常作為儀表設(shè)備網(wǎng)絡(luò)通信。
但Modbus協(xié)議與CANopen總線(xiàn)協(xié)議是互不兼容的。因此電機(jī)細(xì)分控制系統(tǒng)能將總線(xiàn)相互兼容尤為重要。
技術(shù)實(shí)現(xiàn)要素:
本實(shí)用新型克服了上述技術(shù)問(wèn)題的缺點(diǎn),提供了一種步進(jìn)電機(jī)細(xì)分控制系統(tǒng),本實(shí)用新型的步進(jìn)電機(jī)細(xì)分控制系統(tǒng)支持Modbus和CAN兩種不同的總線(xiàn)協(xié)議方式進(jìn)行通信,能實(shí)現(xiàn)步距精確細(xì)分。
為了解決上述技術(shù)問(wèn)題,本實(shí)用新型提供了如下技術(shù)方案:包括DSP控制器,所述DSP控制器上設(shè)有PWM發(fā)生模塊、總線(xiàn)編碼模塊和串口模塊;所述控制系統(tǒng)還包括串口轉(zhuǎn)換模塊、總線(xiàn)線(xiàn)路模塊、光電隔離模塊、電機(jī)驅(qū)動(dòng)模塊和步進(jìn)電機(jī);所述PWM發(fā)生模塊的輸出端連接所述總線(xiàn)編碼模塊的輸入端;所述總線(xiàn)編碼模塊的輸出端連接所述串口模塊的輸入端;所述串口模塊的輸出端連接所述串口轉(zhuǎn)換模塊的一端;所述串口轉(zhuǎn)換模塊的另一端連接所述總線(xiàn)線(xiàn)路模塊的輸入端;并將串口轉(zhuǎn)換模塊輸出的Modbus總線(xiàn)協(xié)議或CAN協(xié)議數(shù)據(jù)發(fā)送給所述總線(xiàn)線(xiàn)路模塊;所述總線(xiàn)線(xiàn)路模塊的輸出端連接所述光電隔離電路的輸入端;所述光電隔離電路接收所述協(xié)議數(shù)據(jù),并將所述協(xié)議數(shù)據(jù)內(nèi)的控制信號(hào)放大;所述光電隔離電路的輸出端連接所述電機(jī)驅(qū)動(dòng)模塊;所述電機(jī)驅(qū)動(dòng)模塊連接所述步進(jìn)電機(jī)。
進(jìn)一步的,所述步進(jìn)電機(jī)細(xì)分控制系統(tǒng)還包括保護(hù)電路,所述電機(jī)驅(qū)動(dòng)模塊通過(guò)所述保護(hù)電路連接所述DSP控制器內(nèi)嵌的中斷口。
進(jìn)一步的,步進(jìn)電機(jī)細(xì)分控制系統(tǒng)還包括顯示模塊,所述顯示模塊通過(guò)所述DSP控制器內(nèi)嵌的I/O口與所述DSP控制模塊連接。
進(jìn)一步的,步進(jìn)電機(jī)細(xì)分控制系統(tǒng)還包括穩(wěn)壓電源模塊,所述穩(wěn)壓電源模塊連接所述電機(jī)驅(qū)動(dòng)模塊。
進(jìn)一步的,所述DSP控制器內(nèi)嵌的RAM中設(shè)有Modbus數(shù)據(jù)緩沖區(qū)和CAN數(shù)據(jù)緩存區(qū);所述總線(xiàn)線(xiàn)路模塊包括Modbus總線(xiàn)線(xiàn)路和CAN總線(xiàn)線(xiàn)路;所述DSP控制器與Modbus總線(xiàn)線(xiàn)路的通信數(shù)據(jù)存入所述Modbus數(shù)據(jù)緩沖區(qū);所述DSP控制器與所述CAN總線(xiàn)線(xiàn)路的通信數(shù)據(jù)存入所述CAN數(shù)據(jù)緩存區(qū)。
進(jìn)一步的,所述DSP控制器采用的型號(hào)為T(mén)MS320F2812DSP控制器。
進(jìn)一步的,所述電機(jī)驅(qū)動(dòng)模塊采用的型號(hào)為T(mén)HB6064AH的電機(jī)驅(qū)動(dòng)模塊。
進(jìn)一步的,所述步進(jìn)電機(jī)細(xì)分控制系統(tǒng)還包括單片機(jī)模塊,所述單片機(jī)模塊連接所述總線(xiàn)編碼模塊,所述單片機(jī)模塊采用的型號(hào)為AT89S52單片機(jī)。
采用以上設(shè)計(jì)后,本實(shí)用新型與現(xiàn)有技術(shù)相比較具有以下有益效果:
本實(shí)用新型的步進(jìn)電機(jī)細(xì)分控制系統(tǒng),與傳統(tǒng)的步進(jìn)電機(jī)細(xì)分控制系統(tǒng)相比具有更好的通用性,系統(tǒng)能將支持Modbus的設(shè)備或CANopen的設(shè)備接入系統(tǒng),并實(shí)現(xiàn)步進(jìn)電機(jī)細(xì)分控制,系統(tǒng)的總線(xiàn)轉(zhuǎn)換傳輸使得設(shè)備有更多的選擇進(jìn)行通信傳輸,讓設(shè)備能在Modbus的傳輸距離可靠性和CAN總線(xiàn)的高速傳輸之間選擇,進(jìn)一步加快了各設(shè)備之間的通訊速率與可靠性,符合當(dāng)今控制器網(wǎng)絡(luò)化的發(fā)展需求,迎合了市場(chǎng)的需要。
附圖說(shuō)明
圖1是本實(shí)用新型一種步進(jìn)電機(jī)細(xì)分控制系統(tǒng)的組成框圖;
圖2是本實(shí)用新型一種步進(jìn)電機(jī)細(xì)分控制系統(tǒng)的Modbus總線(xiàn)線(xiàn)路原理圖;
圖3是本實(shí)用新型一種步進(jìn)電機(jī)細(xì)分控制系統(tǒng)的CAN總線(xiàn)線(xiàn)路原理圖;
圖4本實(shí)用新型電機(jī)驅(qū)動(dòng)模塊采用的THB6064AH芯片的原理圖;
圖5是本實(shí)用新型根據(jù)電壓正弦PWM的DSP控制算法,利用Excel繪制的SPWM計(jì)算值曲線(xiàn)圖;
圖6是本實(shí)用新型CAN總線(xiàn)協(xié)議與Modbus總線(xiàn)協(xié)議間的轉(zhuǎn)換流程圖;
圖7是本實(shí)用新型一種步進(jìn)電機(jī)細(xì)分控制系統(tǒng)的總流程圖。
具體實(shí)施方式
下面結(jié)合附圖與實(shí)施例對(duì)本實(shí)用新型作進(jìn)一步說(shuō)明。應(yīng)當(dāng)理解的是,此處所描述的優(yōu)選的實(shí)施例僅用于說(shuō)明和解釋本實(shí)用新型,并不用于限定本實(shí)用新型。
請(qǐng)參閱圖1,本實(shí)用新型一種步進(jìn)電機(jī)細(xì)分控制系統(tǒng),包括一DSP控制器,所述DSP控制器上設(shè)有一PWM發(fā)生模塊、一總線(xiàn)編碼模塊和一串口模塊;所述控制系統(tǒng)還包括一串口轉(zhuǎn)換模塊、一總線(xiàn)線(xiàn)路模塊、一光電隔離模塊、一電機(jī)驅(qū)動(dòng)模塊和一步進(jìn)電機(jī);所述PWM發(fā)生模塊的輸出端連接所述總線(xiàn)編碼模塊的輸入端;所述總線(xiàn)編碼模塊的輸出端連接所述串口模塊的輸入端;所述串口模塊的輸出端連接所述串口轉(zhuǎn)換模塊的一端;所述串口轉(zhuǎn)換模塊的另一端連接所述總線(xiàn)線(xiàn)路模塊的輸入端;并將串口轉(zhuǎn)換模塊輸出的Modbus總線(xiàn)協(xié)議或CAN協(xié)議數(shù)據(jù)發(fā)送給所述總線(xiàn)線(xiàn)路模塊;所述總線(xiàn)線(xiàn)路模塊的輸出端連接所述光電隔離電路的輸入端;所述光電隔離電路接收所述協(xié)議數(shù)據(jù),并將所述協(xié)議數(shù)據(jù)內(nèi)的控制信號(hào)放大;所述光電隔離電路的輸出端連接所述電機(jī)驅(qū)動(dòng)模塊;所述電機(jī)驅(qū)動(dòng)模塊連接所述步進(jìn)電機(jī)。
本實(shí)用新型的步進(jìn)電機(jī)細(xì)分控制系統(tǒng)能將支持Modbus的設(shè)備或CANopen的設(shè)備接入系統(tǒng)。其中,本實(shí)用新型的串口轉(zhuǎn)換電路即為網(wǎng)卡轉(zhuǎn)換電路,其功能是實(shí)現(xiàn)RS485總線(xiàn)協(xié)議與CAN總線(xiàn)協(xié)議的相互通信。本實(shí)用新型中應(yīng)用的Modbus總線(xiàn)線(xiàn)路與CAN總線(xiàn)線(xiàn)路是分別依附于RS485線(xiàn)路網(wǎng)絡(luò)與CAN總線(xiàn)網(wǎng)絡(luò)的,因此物理層中兩種傳輸方式的轉(zhuǎn)換也是相互通信的重點(diǎn)。所述DSP控制器上擁有CAN總線(xiàn)與RS485的接口芯片,當(dāng)需要將步進(jìn)電機(jī)細(xì)分控制系統(tǒng)接入相應(yīng)網(wǎng)絡(luò)時(shí),直接選擇接入相應(yīng)接口。相應(yīng)的總線(xiàn)線(xiàn)路原理圖請(qǐng)參閱圖2和圖3所示。
請(qǐng)參閱圖2,所述Modbus總線(xiàn)線(xiàn)路包括Max485收發(fā)器和RS485總線(xiàn),Max485收發(fā)器包括引腳A和引腳B,所述RS485總線(xiàn)線(xiàn)路包括引腳1和引腳2;所述引腳1連接所述引腳B,所述引腳2連接所述引腳A。所述Max485收發(fā)器采用單一電源+5V工作,額定電流為300μA,采用半雙工通訊方式。它完成將TTL電平轉(zhuǎn)換為RS485電平的功能。MAX485收發(fā)器的芯片的結(jié)構(gòu)和引腳都非常簡(jiǎn)單,MAX485收發(fā)器內(nèi)部含有一個(gè)驅(qū)動(dòng)器和接收器。RO和DI端分別為接收器的輸出和驅(qū)動(dòng)器的輸入端,與DSP控制器連接時(shí)只需分別與DSP控制器的RXD和TXD相連即可;和DE端分別為接收和發(fā)送的使能端,當(dāng)為邏輯0時(shí),MAX485收發(fā)器處于接收狀態(tài);當(dāng)DE為邏輯1時(shí),MAX485收發(fā)器處于發(fā)送狀態(tài),因?yàn)镸AX485收發(fā)器工作在半雙工狀態(tài),所以只需用DSP控制器的一個(gè)管腳控制這兩個(gè)引腳即可;A端和B端分別為接收和發(fā)送的差分信號(hào)端,當(dāng)A引腳的電平高于B時(shí),代表發(fā)送的數(shù)據(jù)為1;當(dāng)A的電平低于B端時(shí),代表發(fā)送的數(shù)據(jù)為0。在與DSP控制器連接時(shí)接線(xiàn)非常簡(jiǎn)單。只需要一個(gè)信號(hào)控制MAX485的接收和發(fā)送即可。同時(shí)將A和B端之間加120Ω的匹配電阻,增大負(fù)載,減小回波反射,使信號(hào)到達(dá)傳輸線(xiàn)末端后不反射。
請(qǐng)參閱圖3,所述CAN總線(xiàn)線(xiàn)路包括SN65HVD230收發(fā)器和CAN總線(xiàn);所述SN65HVD230收發(fā)器包括引腳CANH和引腳CANL,所述CAN總線(xiàn)線(xiàn)路包括引腳1和引腳2,所述引腳1連接所述引腳CANH,所述引腳2連接所述引腳CANL。SN65HVD230收發(fā)器可用于較高干擾環(huán)境下,其信號(hào)傳輸速率最高可達(dá)1Mb/s。SN65HVD230收發(fā)器具有高速、斜率和等待3種不同的工作模式。其工作模式控制可通過(guò)RS控制引腳來(lái)實(shí)現(xiàn)。CAN控制器的輸出引腳TX接到SN65HVD230收發(fā)器的數(shù)據(jù)輸入端D,可將此CAN節(jié)點(diǎn)發(fā)送的數(shù)據(jù)傳輸?shù)紺AN總線(xiàn)中;而CAN控制器的輸出引腳RX和SN65HVD230收發(fā)器的數(shù)據(jù)輸出端R相連,用于接收數(shù)據(jù)。SN65HVD230收發(fā)器方式選擇端口RS通過(guò)跳線(xiàn)和一端接地的斜率電阻器連接,通過(guò)硬件方式可實(shí)現(xiàn)3種工作模式的選擇,其中,本實(shí)用新型所使用的斜率電阻器為10kΩ,同時(shí)將A和B端之間加120Ω的終端電阻,以提高數(shù)字通信的抗干擾性和可靠性。
進(jìn)一步的,所述步進(jìn)電機(jī)細(xì)分控制系統(tǒng)還包括保護(hù)電路,所述電機(jī)驅(qū)動(dòng)模塊通過(guò)所述保護(hù)電路連接所述DSP控制器內(nèi)嵌的中斷口。
進(jìn)一步的,步進(jìn)電機(jī)細(xì)分控制系統(tǒng)還包括穩(wěn)壓電源模塊,所述穩(wěn)壓電源模塊連接所述電機(jī)驅(qū)動(dòng)模塊并為其供電。
進(jìn)一步的,所述DSP控制器內(nèi)嵌的RAM中設(shè)有Modbus數(shù)據(jù)緩沖區(qū)和CAN數(shù)據(jù)緩存區(qū);所述總線(xiàn)線(xiàn)路模塊包括Modbus總線(xiàn)線(xiàn)路和CAN總線(xiàn)線(xiàn)路;所述DSP控制器與Modbus總線(xiàn)線(xiàn)路的通信數(shù)據(jù)存入所述Modbus數(shù)據(jù)緩沖區(qū);所述DSP控制器與所述CAN總線(xiàn)線(xiàn)路的通信數(shù)據(jù)存入所述CAN數(shù)據(jù)緩存區(qū)。
進(jìn)一步的,所述電機(jī)驅(qū)動(dòng)模塊采用的型號(hào)為T(mén)HB6064AH的電機(jī)驅(qū)動(dòng)模塊。THB6064AH是一款整合邏輯模塊和功率模塊于一體的高性能兩相混合式步進(jìn)電機(jī)驅(qū)動(dòng)芯片。配合簡(jiǎn)單的外圍電路即可實(shí)現(xiàn)高性能、多細(xì)分、大電流的步進(jìn)電機(jī)驅(qū)動(dòng),采用脈寬調(diào)制,有多達(dá)8種細(xì)分可選(1/2、1/8、1/10、1/16、1/20、1/32、1/40、1/64、)具有驅(qū)動(dòng)噪音低、震動(dòng)小、性能可靠、性?xún)r(jià)比高的特點(diǎn)。THB6064AH的原理圖如圖4所示,在制作成實(shí)際工業(yè)板時(shí),為了提高其抗干擾能力,在各種電源和地線(xiàn)之間均勻放置多個(gè)0.1uf的去耦電容,以提高電源抗干擾能力。對(duì)信號(hào)輸出接口OUT1A和OUT2A用撥碼開(kāi)關(guān)來(lái)控制,留出了測(cè)量測(cè)試的引腳,避免測(cè)量貼片元件。
進(jìn)一步的,所述DSP控制器采用的型號(hào)為T(mén)MS320F2812DSP控制器。TMS320F2812DSP控制器的主頻高達(dá)150MHz,片內(nèi)具有高達(dá)128K字的編程FLASH,集成了PWM發(fā)生模塊,帶有CAP捕獲模塊的事件管理器(EV)模塊,32位定時(shí)器,12位AD采樣模塊,多個(gè)復(fù)用輸人輸出可自定義的I/O端口。所述顯示模塊通過(guò)所述DSP控制器內(nèi)嵌的I/O口與所述DSP控制模塊連接。本實(shí)施例使用的步進(jìn)電機(jī)一周為200步,若要實(shí)現(xiàn)128細(xì)分就需要至少擁有200*128 個(gè)分級(jí),因此至少需要擁有25600個(gè)采樣點(diǎn)才能還原所需近的近似正弦波。
因DSP控制器上TMS320F2812的晶振為30MHz,內(nèi)部5倍頻后,系統(tǒng)時(shí)鐘為150MHz,TMS320F2812提供了事件管理器EVA,事件管理器EVA包括PWM產(chǎn)生電路,事件管理器EVA2分頻后定時(shí)器,所以最佳計(jì)數(shù)周期為13.33ns即TC=13.33ns,載波頻率為f=20khz,k為奇偶采樣點(diǎn)共25600個(gè),M倍數(shù)取1。確定設(shè)定值后,利用Excel將公式和數(shù)值導(dǎo)入計(jì)算,部分計(jì)算值如表1。電壓正弦PWM的DSP控制算法,利用Excel將所得正弦值繪圖得附圖5。
表1 SPWM值計(jì)算結(jié)果
在TMS320F2812內(nèi)開(kāi)辟數(shù)組緩存,把所得的值放入保存,再用DSP控制器的PWM1~3引腳輸出近似正弦波的波形,再經(jīng)過(guò)簡(jiǎn)單處理,就可以輸出一個(gè)高準(zhǔn)確度的三相SPWM波形,就可以實(shí)現(xiàn)DSP對(duì)細(xì)分驅(qū)動(dòng)的控制。
進(jìn)一步的,所述步進(jìn)電機(jī)細(xì)分控制系統(tǒng)還包括單片機(jī)模塊,所述單片機(jī)模塊連接所述總線(xiàn)編碼模塊,所述單片機(jī)模塊采用的型號(hào)為AT89S52的單片機(jī)。所述AT89S52單片機(jī)作為從機(jī)通過(guò)Modbus總線(xiàn)線(xiàn)路接入設(shè)備進(jìn)行接收數(shù)據(jù)。
標(biāo)準(zhǔn)的Modbus協(xié)議有兩種傳輸方式分別是ASCII(American Standard Code for Information Interchange)模式和RTU(Remote Terminal Unit),本實(shí)用新型采用在相同波特率時(shí)可以傳輸更多字符的RTU方式。典型的RTU消息幀的讀格式,包括主機(jī)請(qǐng)求以及從機(jī)應(yīng)答格式,為了達(dá)成通信必須定義標(biāo)準(zhǔn)協(xié)議的數(shù)據(jù)幀,它們分別如表1和表2所示的格式進(jìn)行定義傳輸。其中,所述DSP控制器為主機(jī),所述AT89S52單片機(jī)為從機(jī)。
表1主機(jī)向從機(jī)發(fā)送的請(qǐng)求消息幀格式
表2從機(jī)得到請(qǐng)求后向主機(jī)發(fā)送的響應(yīng)消息幀格式
根據(jù)表1和表2RTU模式的消息幀結(jié)構(gòu),查詢(xún)消息中的功能代碼告之被選中的從設(shè)備要執(zhí)行何種功能。本實(shí)用新型自定義的功能代碼如表3所示。
表3本實(shí)用新型DSP控制器的電機(jī)細(xì)分控制系統(tǒng)功能表
本實(shí)用新型還實(shí)現(xiàn)Modbus總線(xiàn)協(xié)議與CAN總線(xiàn)協(xié)議的轉(zhuǎn)換。因?yàn)镃AN總線(xiàn)協(xié)議中沒(méi)有定義數(shù)據(jù)幀中數(shù)據(jù)的應(yīng)用功能,而Modbus協(xié)議卻有應(yīng)用層的定義。因此,轉(zhuǎn)換協(xié)議時(shí)要按Modbus協(xié)議中的報(bào)文數(shù)據(jù)的含義對(duì)CAN總線(xiàn)報(bào)文數(shù)據(jù)場(chǎng)中的各數(shù)據(jù)定義功能。DSP控制器從設(shè)備接收到命令報(bào)文數(shù)據(jù)存放在CAN輸出數(shù)據(jù)區(qū)中。由于CAN總線(xiàn)傳輸?shù)臄?shù)據(jù)長(zhǎng)度最大為8個(gè)字節(jié),而Modbus協(xié)議需要傳輸?shù)臄?shù)據(jù)長(zhǎng)度大于8個(gè)字節(jié)。為了配合CAN總線(xiàn)的傳輸方式,對(duì)Modbus傳輸?shù)降臄?shù)據(jù)在CAN總線(xiàn)上采用分次傳輸,在CAN總線(xiàn)報(bào)文中數(shù)據(jù)緩沖區(qū)的首段定義一個(gè)變量用于標(biāo)記Modbus數(shù)據(jù)分段,變量用于表示報(bào)文是第幾次發(fā)送的報(bào)文。0代表Modbus協(xié)議命令字節(jié)一次傳輸完畢,1代表Modbus協(xié)議命令字節(jié)需要兩次傳輸完畢。DSP控制器在接收數(shù)據(jù)時(shí),首先要檢測(cè)該變量數(shù)值,然后再根據(jù)值來(lái)判斷發(fā)送的數(shù)據(jù)類(lèi)型,再讀取數(shù)據(jù)存入CAN數(shù)據(jù)緩存區(qū)中。
為了預(yù)防傳輸時(shí)出錯(cuò),本實(shí)用新型中采用了一種簡(jiǎn)易的糾錯(cuò)機(jī)制對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)糾錯(cuò)。
系統(tǒng)在完成一次完整的Modbus報(bào)文接收后,所述DSP控制器就進(jìn)行CAN數(shù)據(jù)緩沖區(qū)和Modbus數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)交換。同時(shí)計(jì)算該幀報(bào)文的CRC校驗(yàn)碼,然后寫(xiě)入到Modbus數(shù)據(jù)緩沖區(qū)。在Modbus數(shù)據(jù)緩沖區(qū)內(nèi)是一個(gè)完整的、標(biāo)準(zhǔn)的Modbus RTU模式的報(bào)文內(nèi)容。
在完成以上響應(yīng)并在CAN數(shù)據(jù)緩沖區(qū)交換數(shù)據(jù)后,讓所述DSP控制器從Modbus數(shù)據(jù)緩沖區(qū)取出Modbus報(bào)文,并將報(bào)文數(shù)據(jù)通過(guò)所述DSP控制器的串口模塊發(fā)送到指定的Modbus總線(xiàn)線(xiàn)路中。然后DSP控制器等待接收Modbus總線(xiàn)線(xiàn)路的回答報(bào)文。并對(duì)Modbus總線(xiàn)線(xiàn)路設(shè)計(jì)一個(gè)約400ms的應(yīng)答時(shí)間。
傳輸指令發(fā)出后超過(guò)設(shè)計(jì)應(yīng)答時(shí)間若無(wú)響應(yīng),則需要重新發(fā)送。連續(xù)三次都沒(méi)接收到應(yīng)答報(bào)文,則認(rèn)為Modbus總線(xiàn)線(xiàn)路出現(xiàn)通信故障或設(shè)備損壞。將通信故障的標(biāo)志和緩沖程序?qū)懭氲組odbus數(shù)據(jù)緩沖區(qū)。如果有應(yīng)答響應(yīng)報(bào)文,則當(dāng)接收完畢應(yīng)答報(bào)文后,要對(duì)回答報(bào)文進(jìn)行CRC校驗(yàn),如果CRC校驗(yàn)錯(cuò)誤或Modbus總線(xiàn)線(xiàn)路返回了錯(cuò)誤應(yīng)答報(bào)文,將錯(cuò)誤標(biāo)志數(shù)據(jù)和錯(cuò)誤應(yīng)答報(bào)文傳進(jìn)轉(zhuǎn)換設(shè)備。如果是讀功能,則將成功標(biāo)志數(shù)據(jù)和回答報(bào)文中數(shù)據(jù)域內(nèi)容寫(xiě)入到Modbus數(shù)據(jù)緩沖區(qū)。如果是寫(xiě)功能。則只將成功標(biāo)志數(shù)據(jù)寫(xiě)入到Modbus數(shù)據(jù)緩沖區(qū)。在所述DSP控制器完成一次Modbus通信后,要對(duì)Modbus與CAN數(shù)據(jù)緩沖區(qū)進(jìn)行一次數(shù)據(jù)交換。所述DSP控制器將CAN數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)發(fā)回到CAN總線(xiàn)線(xiàn)路,CAN總線(xiàn)線(xiàn)路要對(duì)錯(cuò)誤信息進(jìn)行相應(yīng)的處理,這樣就完成了CAN協(xié)議到Modbus協(xié)議的轉(zhuǎn)換,并能實(shí)現(xiàn)錯(cuò)誤糾錯(cuò)。
請(qǐng)參閱圖6,CAN總線(xiàn)協(xié)議與Modbus總線(xiàn)協(xié)議間的轉(zhuǎn)換流程圖。協(xié)議轉(zhuǎn)換的程序編寫(xiě)重點(diǎn)是在CAN與Modbus數(shù)據(jù)間的交換。首先系統(tǒng)對(duì)串口模塊進(jìn)行初始化,對(duì)CAN數(shù)據(jù)緩沖區(qū)與Modbus數(shù)據(jù)緩沖區(qū)清空;然后判斷串口轉(zhuǎn)換模塊是否有數(shù)據(jù)輸入,若檢測(cè)到有數(shù)據(jù)輸入,則對(duì)所述串口轉(zhuǎn)換模塊的接口進(jìn)行掃描檢測(cè)是CAN總線(xiàn)接口還是Modbus總線(xiàn)接口被接入網(wǎng)絡(luò),確定后開(kāi)始接收數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行錯(cuò)誤校驗(yàn),檢驗(yàn)數(shù)據(jù)是否完整;當(dāng)多次傳輸數(shù)據(jù),確認(rèn)數(shù)據(jù)完整后將數(shù)據(jù)存入相應(yīng)的CAN數(shù)據(jù)緩沖區(qū)或Modbus數(shù)據(jù)緩沖區(qū)中,并與另標(biāo)志位一種總線(xiàn)方式的數(shù)據(jù)進(jìn)行交換,轉(zhuǎn)存至另一個(gè)數(shù)據(jù)緩沖區(qū)中;然后將數(shù)據(jù)轉(zhuǎn)發(fā)送到另一端的設(shè)備上并發(fā)送確認(rèn)報(bào)文,從設(shè)備上接收并回答報(bào)文,若報(bào)文回答正確再向DSP控制器發(fā)送數(shù)據(jù)并回傳至系統(tǒng),轉(zhuǎn)換完成,若報(bào)文無(wú)回答,則檢測(cè)數(shù)據(jù)是否已經(jīng)發(fā)送3次,若已發(fā)送3次則重置錯(cuò)誤標(biāo)志位,若沒(méi)有發(fā)送有3次,則返回繼續(xù)發(fā)送確認(rèn)報(bào)文;另外,報(bào)文回答若不正確,也需要重置錯(cuò)誤標(biāo)志位。
請(qǐng)參閱圖7,本實(shí)用新型一種步進(jìn)電機(jī)細(xì)分控制系統(tǒng)的控制過(guò)程,首先由DSP控制器對(duì)各模塊進(jìn)行初始化,對(duì)DSP控制器內(nèi)部中斷提供使能,對(duì)事件管理器EVA初始化,對(duì)串口模塊和CAN總線(xiàn)線(xiàn)路初始化,清空Modbus數(shù)據(jù)緩沖區(qū)與CAN數(shù)據(jù)緩沖區(qū),對(duì)步進(jìn)電機(jī)經(jīng)行使能初始化,參數(shù)定義與功能模塊單元的參數(shù)初始化,設(shè)置Modbus中斷響應(yīng)、電機(jī)細(xì)分算法計(jì)算部分等。程序初始化各模塊后,確認(rèn)串口轉(zhuǎn)換模塊所接入的總線(xiàn)方式,從單片機(jī)模塊中讀取設(shè)備編號(hào)發(fā)送報(bào)文確認(rèn)設(shè)備,然后通過(guò)DSP控制器設(shè)定所要輸出的電流、細(xì)分度、旋轉(zhuǎn)方向以及速度。當(dāng)設(shè)定完成后啟動(dòng)系統(tǒng)向所述電機(jī)驅(qū)動(dòng)模塊輸出輸出控制信號(hào),驅(qū)動(dòng)所述步進(jìn)電機(jī)進(jìn)行相應(yīng)的運(yùn)動(dòng)。
上述說(shuō)明是針對(duì)本實(shí)用新型較佳可行實(shí)施例的詳細(xì)說(shuō)明,但實(shí)施例并非用以限定本實(shí)用新型的專(zhuān)利申請(qǐng)范圍,凡本實(shí)用新型所提示的技術(shù)精神下所完成的同等變化或修飾變更,均應(yīng)屬于本實(shí)用新型所涵蓋專(zhuān)利范圍。