本發(fā)明屬于伺服電機(jī)控制領(lǐng)域,具體涉及一種伺服電機(jī)編碼器供電通訊方法及系統(tǒng)。
背景技術(shù):
編碼器作為伺服電機(jī)的位置反饋裝置是伺服控制系統(tǒng)中重要組成部分,其響應(yīng)伺服驅(qū)動器的指令回復(fù)實(shí)時的位置信息。在實(shí)際應(yīng)用中由于編碼器安裝在伺服電機(jī)端,伺服電機(jī)與各種傳動機(jī)構(gòu)連接,而伺服驅(qū)動器安裝在機(jī)柜中,兩者實(shí)現(xiàn)互聯(lián)需要較長的連線。而且編碼器除去有通訊線路與伺服驅(qū)動器連接,還需要伺服驅(qū)動器提供專門的供電線路給其提供工作電壓。連線數(shù)量多(電壓供電線兩根,數(shù)字通訊兩根,至少需要四根連線),抗干擾能力差(通訊鏈路為數(shù)字鏈路,通訊數(shù)據(jù)高位一旦受到干擾,將對整個數(shù)據(jù)造成很大影響),線路過長時需要中繼(供電和通訊鏈路隨著線路的變長線損變大),給實(shí)際使用帶來了諸多的不便。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的主要目的旨在解決上述問題,提出了一種伺服電機(jī)編碼器供電通訊方法及系統(tǒng),本發(fā)明在伺服驅(qū)動器上設(shè)計一可變恒流源模塊,給編碼器供電并通過調(diào)節(jié)電流的大小實(shí)現(xiàn)數(shù)據(jù)的傳送;編碼器上設(shè)計一電流/電壓轉(zhuǎn)換模塊將電流轉(zhuǎn)換為供電電壓;設(shè)定一特點(diǎn)電流值表示鏈路空閑,在鏈路空閑時伺服驅(qū)動器或編碼器可以改變鏈路上的電流值以達(dá)到相互傳送數(shù)據(jù)的功能。
本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:
一種伺服電機(jī)編碼器供電通訊方法,包括以下步驟:
步驟s1、伺服驅(qū)動器通過改變鏈路上的電流向編碼器傳輸數(shù)據(jù),編碼器接收數(shù)據(jù);
步驟s2、伺服驅(qū)動器釋放鏈路,編碼器通過改變鏈路上的電流向編碼器傳輸數(shù)據(jù);
步驟s3、伺服驅(qū)動器接收數(shù)據(jù)后恢復(fù)至空閑狀態(tài)。
進(jìn)一步的,所述空閑時期指伺服驅(qū)動器和編碼器之間不傳輸數(shù)據(jù)的時期,在空閑時期,所述伺服驅(qū)動器通過鏈路按照預(yù)設(shè)的初始電流值a毫安向編碼器輸送電流。
進(jìn)一步的,所述初始電流值a毫安可滿足編碼器的供電要求。
進(jìn)一步的,所述步驟s1具體包括以下步驟:
步驟s1.1、伺服驅(qū)動器在初始電流值a毫安的基礎(chǔ)上增大向編碼器輸送的電流值大小并持續(xù)預(yù)設(shè)第一時間b毫秒;
步驟s1.2、編碼器檢測鏈路上的電流是否在大于初始電流值a毫安的基礎(chǔ)上持續(xù)了預(yù)設(shè)第一時間b毫秒,若是,則進(jìn)入步驟s1.3,若否,則繼續(xù)進(jìn)行步驟s1.2;
步驟s1.3、編碼器將接收到的電流值減去a毫安后,轉(zhuǎn)換為數(shù)字量得到伺服驅(qū)動器傳送的數(shù)據(jù);
進(jìn)一步的,所述步驟s2具體為:
步驟s2.1、伺服驅(qū)動器停止向編碼器輸送電流,釋放鏈路并持續(xù)預(yù)設(shè)第二時間c毫秒。
步驟s2.2、編碼器判斷鏈路上的電流是否為0,若是,則向伺服驅(qū)動器傳送數(shù)據(jù),若否,則判斷通訊失敗,進(jìn)行報錯。
進(jìn)一步的,所述步驟s2.2中的編碼器向伺服驅(qū)動器傳送數(shù)據(jù)的具體步驟為:編碼器向伺服驅(qū)動器輸送電流并持續(xù)b毫秒,伺服驅(qū)動器將接收到的電流值轉(zhuǎn)換為數(shù)字量得到編碼器傳送的數(shù)據(jù)。
進(jìn)一步的,所述步驟s3具體為:伺服驅(qū)動器判斷在鏈路釋放的c毫秒期間內(nèi)編碼器是否反饋了數(shù)據(jù),若是,則在接收數(shù)據(jù)后恢復(fù)至空閑狀態(tài),若否,則判斷通訊失敗,進(jìn)行報錯。
一種伺服電機(jī)編碼器供電通訊系統(tǒng),包括伺服驅(qū)動器和編碼器,伺服驅(qū)動器和編碼器通過模擬鏈路連接,所述伺服驅(qū)動器和編碼器上均設(shè)置有可變恒流源模塊,伺服驅(qū)動器上的可變恒流源模塊用于給編碼器供電和傳輸數(shù)據(jù),編碼器上的可變恒流源模塊用于給伺服驅(qū)動器傳輸數(shù)據(jù);所述編碼器上還設(shè)置有電流/電壓轉(zhuǎn)換模塊,所述電流/電壓轉(zhuǎn)換模塊用于將伺服驅(qū)動器輸送的的電流轉(zhuǎn)換為電壓給編碼器供電。
進(jìn)一步的,所述伺服驅(qū)動器和編碼器上還設(shè)置有模數(shù)轉(zhuǎn)換模塊,所述模數(shù)轉(zhuǎn)換模塊用于將接收到的電流值轉(zhuǎn)換為數(shù)字量。
進(jìn)一步的,所述編碼器還與儲能電容連接,所述儲能電容用于在伺服驅(qū)動器停止向編碼器輸送電流后為編碼器供電。
本發(fā)明的有益效果為:本發(fā)明針對伺服驅(qū)動器和伺服電機(jī)編碼器之間接線多,需要單獨(dú)的供電線路(電壓供電方式)和通訊線路的問題,提出在驅(qū)動器上設(shè)計一恒流源模塊,其輸出給編碼器供電,同時將需要發(fā)送給編碼器的數(shù)據(jù)以電流大小的模擬數(shù)值傳送到編碼器的方法。本發(fā)明的將通訊線路和供電線路合二為一,采用同一條鏈路進(jìn)行供電和通訊,通過調(diào)節(jié)電流的大小實(shí)現(xiàn)數(shù)據(jù)的傳送,結(jié)構(gòu)簡單,節(jié)約耗材,而且鏈路采用模擬鏈路非數(shù)字鏈路,抗干擾能力強(qiáng),而且便于實(shí)際操作和使用。
附圖說明
圖1為本發(fā)明的方法流程示意圖;
圖2為本發(fā)明的系統(tǒng)連接示意圖。
具體實(shí)施方式
以下結(jié)合附圖對本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
如圖1所示,一種伺服電機(jī)編碼器供電通訊方法,包括以下步驟:
步驟s1、伺服驅(qū)動器通過改變鏈路上的電流向編碼器傳輸數(shù)據(jù),編碼器接收數(shù)據(jù);
所述步驟s1具體包括以下步驟:
步驟s1.1、伺服驅(qū)動器在初始電流值a毫安的基礎(chǔ)上增大向編碼器輸送的電流值大小并持續(xù)預(yù)設(shè)第一時間b毫秒;
步驟s1.2、編碼器檢測鏈路上的電流是否在大于初始電流值a毫安的基礎(chǔ)上持續(xù)了預(yù)設(shè)第一時間b毫秒,若是,則進(jìn)入步驟s1.3,若否,則繼續(xù)進(jìn)行步驟s1.2;
步驟s1.3、編碼器將接收到的電流值減去a毫安后,轉(zhuǎn)換為數(shù)字量得到伺服驅(qū)動器傳送的數(shù)據(jù);
步驟s2、伺服驅(qū)動器釋放鏈路,編碼器通過改變鏈路上的電流向編碼器傳輸數(shù)據(jù);
所述步驟s2具體為:
步驟s2.1、伺服驅(qū)動器停止向編碼器輸送電流,釋放鏈路并持續(xù)預(yù)設(shè)第二時間c毫秒。
步驟s2.2、編碼器判斷鏈路上的電流是否為0,若是,則向伺服驅(qū)動器傳送數(shù)據(jù),若否,則判斷通訊失敗,進(jìn)行報錯。
所述步驟s2.2中的編碼器向伺服驅(qū)動器傳送數(shù)據(jù)的具體步驟為:編碼器向伺服驅(qū)動器輸送電流并持續(xù)b毫秒,伺服驅(qū)動器將接收到的電流值轉(zhuǎn)換為數(shù)字量得到編碼器傳送的數(shù)據(jù)。
步驟s3、伺服驅(qū)動器接收數(shù)據(jù)后恢復(fù)至空閑狀態(tài)。
所述空閑時期指伺服驅(qū)動器和編碼器之間不傳輸數(shù)據(jù)的時期,在空閑時期,所述伺服驅(qū)動器通過鏈路按照預(yù)設(shè)的初始電流值a毫安向編碼器輸送電流。
所述步驟s3具體為:伺服驅(qū)動器判斷在鏈路釋放的c毫秒期間內(nèi)編碼器是否反饋了數(shù)據(jù),若是,則在接收數(shù)據(jù)后恢復(fù)至空閑狀態(tài),若否,則判斷通訊失敗,進(jìn)行報錯。
如圖2所示,本發(fā)明的伺服驅(qū)動器和編碼器采用模擬鏈路(電流的變化表示數(shù)字量的變化)進(jìn)行通訊;伺服驅(qū)動器上設(shè)置有可變恒流源模塊,并保證恒流源輸出最小值為a毫安,且a毫安可以滿足編碼器的供電要求,伺服驅(qū)動器上的可變恒流源模塊用于給編碼器供電和傳輸數(shù)據(jù),可以將要給編碼器發(fā)送的數(shù)據(jù)轉(zhuǎn)換為電流值發(fā)送出去;在編碼器上設(shè)置有電流/電壓轉(zhuǎn)換模塊,將鏈路上的電流值轉(zhuǎn)換為電壓值給自身供電,在編碼器上也設(shè)置了一個可變恒流源模塊,可以將要給伺服驅(qū)動器發(fā)送的數(shù)據(jù)轉(zhuǎn)換為電流值發(fā)送出去;而且伺服驅(qū)動器和編碼器上都具有電流采樣模塊,電流采樣模塊用于對電流數(shù)據(jù)進(jìn)行采樣保存。
所述伺服驅(qū)動器和編碼器上還設(shè)置有模數(shù)轉(zhuǎn)換模塊,所述模數(shù)轉(zhuǎn)換模塊用于將接收到的電流值轉(zhuǎn)換為數(shù)字量。
所述編碼器還與儲能電容連接,所述儲能電容用于在伺服驅(qū)動器停止向編碼器輸送電流后為編碼器供電。
在空閑時期,所述伺服驅(qū)動器通過鏈路按照預(yù)設(shè)的初始電流值a毫安向編碼器輸送電流,空閑時期指伺服驅(qū)動器和編碼器之間不傳輸數(shù)據(jù)的時期。
在空閑時期,伺服驅(qū)動器可以改變鏈路上的電流值來傳送數(shù)據(jù),編碼器可以通過向伺服驅(qū)動器傳輸電流來傳輸數(shù)據(jù),傳輸過程如下:
(1)伺服驅(qū)動器的數(shù)據(jù)傳輸過程
伺服驅(qū)動器將要給編碼器發(fā)送的數(shù)據(jù)轉(zhuǎn)換為電流值,設(shè)為p毫安,則將向編碼器輸送的電流值增大為a+p毫安并持續(xù)預(yù)設(shè)第一時間b毫秒;
傳輸數(shù)據(jù)后,伺服驅(qū)動器停止向編碼器輸送電流,釋放鏈路并持續(xù)預(yù)設(shè)第二時間c毫秒,釋放鏈路是為了給編碼器反饋數(shù)據(jù)提供條件。
伺服驅(qū)動器判斷在鏈路釋放的c毫秒期間內(nèi)編碼器是否進(jìn)行了數(shù)據(jù)反饋,若是,則伺服驅(qū)動器將接收到的電流值減去a毫安后,轉(zhuǎn)換為數(shù)字量得到編碼器傳送的數(shù)據(jù),后恢復(fù)至空閑狀態(tài);若否,則判斷通訊失敗,進(jìn)行報錯。
(2)編碼器的數(shù)據(jù)傳輸過程
編碼器檢測鏈路上的電流是否在大于初始電流值a毫安的基礎(chǔ)上持續(xù)了預(yù)設(shè)第一時間b毫秒,即判斷伺服驅(qū)動器是否發(fā)送了數(shù)據(jù),若是,則將接收到的電流值減去a毫安后,轉(zhuǎn)換為數(shù)字量得到伺服驅(qū)動器傳送的數(shù)據(jù);
接收數(shù)據(jù)后,編碼器判斷伺服驅(qū)動器是否釋放了鏈路,即判斷鏈路上的電流是否為0,若是,則向伺服驅(qū)動器傳輸反饋數(shù)據(jù),通過向伺服驅(qū)動器輸送電流并持續(xù)b毫秒來實(shí)現(xiàn)反饋數(shù)據(jù)的傳輸,若否,即伺服驅(qū)動器未釋放鏈路,則判斷通訊失敗,進(jìn)行報錯。本實(shí)施例中,編碼器發(fā)送反饋數(shù)據(jù)時,將要給伺服驅(qū)動器發(fā)送的數(shù)據(jù)轉(zhuǎn)換為電流值,設(shè)為q毫安,則向伺服驅(qū)動器傳輸?shù)碾娏鳛閝+a毫安。
本發(fā)明中的每次通訊都由伺服驅(qū)動器發(fā)起,發(fā)起通訊(改變鏈路上電流值,持續(xù)b毫秒)后伺服驅(qū)動器會釋放鏈路預(yù)設(shè)第二時間c毫秒;這期間鏈路上的電流為0,在此期間編碼器由儲能電容供電并通過改變鏈路上的電流值進(jìn)行數(shù)據(jù)反饋;此時伺服驅(qū)動器檢測到鏈路上電流發(fā)生變化,且電流值大于a毫安,持續(xù)b毫秒,認(rèn)為編碼器有數(shù)據(jù)反饋,對數(shù)據(jù)進(jìn)行采樣保存,若在預(yù)設(shè)第二時間c毫秒內(nèi)伺服驅(qū)動器沒有接收到反饋數(shù)據(jù),則判斷通訊失敗,進(jìn)行報錯。
數(shù)模和模數(shù)轉(zhuǎn)換的精度,決定了單次通訊可以傳送和接收的數(shù)據(jù)長度。本發(fā)明的將通訊線路和供電線路合二為一,采用同一條鏈路進(jìn)行供電和通訊,通過調(diào)節(jié)電流的大小實(shí)現(xiàn)數(shù)據(jù)的傳送,結(jié)構(gòu)簡單,節(jié)約耗材,而且鏈路采用模擬鏈路非數(shù)字鏈路,抗干擾能力強(qiáng),而且便于實(shí)際操作和使用。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。