電機編碼器的位置反饋自適應(yīng)校正方法及其伺服驅(qū)動器的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及伺服電機控制技術(shù)領(lǐng)域,特別涉及一種電機編碼器的位置反饋自適應(yīng)校正方法及其伺服驅(qū)動器。
【背景技術(shù)】
[0002]永磁伺服電機系統(tǒng)具有優(yōu)良的動態(tài)品質(zhì)和較高可靠性,具有廣闊的發(fā)展前景。在伺服電機的控制過程中,通過閉環(huán)控制實現(xiàn)對電機的位置、轉(zhuǎn)速等的控制,而伺服驅(qū)動器的速度、位置閉環(huán)控制是用編碼器構(gòu)成閉環(huán)的,通過給定的位置與編碼器實際測到的位置進行比較,然后伺服驅(qū)動器內(nèi)部進行自校正以達到精確控制。但是,常規(guī)的串行通訊編碼器在現(xiàn)場由于受到輻射和傳導(dǎo)干擾,編碼器的請求數(shù)據(jù)和反饋數(shù)據(jù)會發(fā)生錯誤或數(shù)據(jù)幀丟失,如果發(fā)生這種情況,則閉環(huán)控制精度將受到影響,嚴重時將導(dǎo)致電機過流、機械損壞等問題。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于提供一種電機編碼器的位置反饋自適應(yīng)校正方法及其伺服驅(qū)動器,從而克服由于現(xiàn)場環(huán)境導(dǎo)致的伺服驅(qū)動器的請求數(shù)據(jù)幀和編碼器的反饋信息錯誤等造成的閉環(huán)控制精度問題,進而避免由于閉環(huán)控制精度受到破壞而導(dǎo)致的電機過流、機械損壞等。
[0004]為解決上述技術(shù)問題,本發(fā)明的實施方式提供了一種電機編碼器的位置反饋自適應(yīng)校正方法,包含以下步驟:伺服驅(qū)動器周期性地向編碼器發(fā)送用于請求電機轉(zhuǎn)子當前位置的請求數(shù)據(jù)幀;所述伺服驅(qū)動器判斷接收到的反饋數(shù)據(jù)幀所攜帶的反饋信息是否為正確傳輸?shù)臄?shù)據(jù);如果不為正確傳輸?shù)臄?shù)據(jù),則根據(jù)前N個周期檢測到的電機轉(zhuǎn)子的加速度、速度和前一個周期檢測到的電機轉(zhuǎn)子位置,估算當前電機轉(zhuǎn)子位置,并將計算到的位置作為本周期檢測到的電機轉(zhuǎn)子位置,其中,所述N為大于2的整數(shù)。
[0005]本發(fā)明的實施方式還提供了一種伺服驅(qū)動器,包含:發(fā)送模塊,用于周期性地向編碼器發(fā)送用于請求電機轉(zhuǎn)子當前位置的請求數(shù)據(jù)幀;判斷模塊,用于判斷接收到的反饋數(shù)據(jù)幀所攜帶的反饋信息是否為正確傳輸?shù)臄?shù)據(jù);計算模塊,用于在所述判斷模塊判定不為正確傳輸?shù)臄?shù)據(jù)時,根據(jù)前N個周期檢測到的電機轉(zhuǎn)子的加速度、速度和前一個周期檢測到的電機轉(zhuǎn)子位置,估算當前電機轉(zhuǎn)子位置,并將計算到的位置作為本周期檢測到的電機轉(zhuǎn)子位置,其中,所述N為大于2的整數(shù)。
[0006]本發(fā)明實施方式相對于現(xiàn)有技術(shù)而言,伺服驅(qū)動器判斷接收到的反饋數(shù)據(jù)幀所攜帶的反饋信息是否為正確傳輸?shù)臄?shù)據(jù),如果不為正確傳輸?shù)臄?shù)據(jù),則根據(jù)前N個周期檢測到的電機轉(zhuǎn)子的加速度、速度和前一個周期檢測到的電機轉(zhuǎn)子位置,估算當前電機轉(zhuǎn)子位置,并將計算到的位置作為本周期檢測到的電機轉(zhuǎn)子位置,從而,通過對接收到的反饋數(shù)據(jù)幀做預(yù)判而忽略由于現(xiàn)場環(huán)境等的影響造成的不正確傳輸?shù)臄?shù)據(jù),并根據(jù)電機轉(zhuǎn)子的歷史加速度、歷史速度和歷史位置計算到的位置作為電機轉(zhuǎn)子當前的實時位置,從而使得伺服系統(tǒng)對于現(xiàn)場環(huán)境的干擾造成的數(shù)據(jù)傳輸異常具有一定的免疫能力,進而保證伺服電機平穩(wěn)、可靠地運行。
[0007]優(yōu)選地,如果所述伺服驅(qū)動器判定所述反饋數(shù)據(jù)幀所攜帶的反饋信息為正確傳輸?shù)臄?shù)據(jù),則進一步判斷本周期檢測到的電機轉(zhuǎn)子是否發(fā)生位置突變;如果發(fā)生位置突變,則根據(jù)預(yù)先設(shè)定的最大加速度擬合本周期的電機轉(zhuǎn)子速度;根據(jù)所述擬合的本周期的電機轉(zhuǎn)子速度,與上一個周期檢測到的電機轉(zhuǎn)子位置,計算本周期的電機轉(zhuǎn)子位置,并將計算到的位置作為本周期檢測到的電機轉(zhuǎn)子位置。從而避免伺服驅(qū)動器的輸出出現(xiàn)較大波動,保證伺服系統(tǒng)的穩(wěn)定運行。
[0008]優(yōu)選地,所述伺服驅(qū)動器判斷接收到的反饋數(shù)據(jù)幀所攜帶的反饋信息是否為正確傳輸?shù)臄?shù)據(jù)的步驟中,包含以下子步驟:所述伺服驅(qū)動器判斷接收到的反饋數(shù)據(jù)幀是否為針對最近一次發(fā)送的請求數(shù)據(jù)幀的反饋數(shù)據(jù)幀;如果判定不為針對最近一次發(fā)送的請求數(shù)據(jù)幀的反饋數(shù)據(jù)幀,則判定所述反饋信息不為正確傳輸?shù)臄?shù)據(jù);如果為針對最近一次發(fā)送的請求數(shù)據(jù)幀的反饋數(shù)據(jù)幀,則判斷所述接收到的反饋數(shù)據(jù)幀是否發(fā)生傳輸錯誤;如果未發(fā)生傳輸錯誤,則判定所述反饋信息為正確傳輸?shù)臄?shù)據(jù);如果所述反饋數(shù)據(jù)幀發(fā)生傳輸錯誤,則判定所述反饋信息不為正確傳輸?shù)臄?shù)據(jù)。通過判斷反饋數(shù)據(jù)幀是否為針對最近一次發(fā)送的請求數(shù)據(jù)幀的反饋數(shù)據(jù)幀,從而可方便地判斷出編碼器反饋的是否為電機轉(zhuǎn)子的實時位置;伺服器通過判定反饋信息是否為正確傳輸數(shù)據(jù),從而根據(jù)判定結(jié)果調(diào)整電機轉(zhuǎn)子位置閉環(huán)控制過程。
[0009]優(yōu)選地,所述請求數(shù)據(jù)幀中攜帶有用于唯一標識本請求數(shù)據(jù)幀的標識號;所述伺服驅(qū)動器判斷接收到的反饋數(shù)據(jù)幀是否為針對最近一次發(fā)送的請求數(shù)據(jù)幀的反饋數(shù)據(jù)幀的步驟中,包含以下子步驟:所述伺服驅(qū)動器獲取攜帶在所述反饋數(shù)據(jù)幀中的標識號;如果獲取的標識號與最近一次發(fā)送的請求數(shù)據(jù)幀內(nèi)的標識號一致,則判定接收到的反饋數(shù)據(jù)幀為針對最近一次發(fā)送的請求數(shù)據(jù)幀的反饋數(shù)據(jù)幀。通過標識號判斷反饋數(shù)據(jù)幀是否為針對最近一次發(fā)送的請求數(shù)據(jù)幀的反饋數(shù)據(jù)幀,具有判斷準確、效率高的優(yōu)點。
[0010]優(yōu)選地,所述判斷接收到的反饋數(shù)據(jù)幀是否發(fā)生傳輸錯誤的步驟中,包含以下子步驟:根據(jù)接收到的反饋數(shù)據(jù)幀內(nèi)的循環(huán)冗余校驗碼CRC和奇偶校驗位,判斷所述反饋信息是否為正確傳輸?shù)臄?shù)據(jù);和/或,根據(jù)接收到的反饋數(shù)據(jù)幀的長度,判斷所述反饋信息是否為正確傳輸?shù)臄?shù)據(jù)。從而提高反饋數(shù)據(jù)幀判斷的準確性。
[0011]優(yōu)選地,還包含以下步驟:在所述伺服驅(qū)動器向編碼器發(fā)送所述請求數(shù)據(jù)幀的步驟后,監(jiān)視所述請求數(shù)據(jù)幀發(fā)送后是否在預(yù)設(shè)時長內(nèi)收到反饋數(shù)據(jù)幀;如果未在預(yù)設(shè)時長內(nèi)收到反饋數(shù)據(jù)幀,則判定請求數(shù)據(jù)幀發(fā)送錯誤;所述伺服驅(qū)動器在判定請求數(shù)據(jù)幀發(fā)送錯誤后,根據(jù)前N個周期檢測到的電機轉(zhuǎn)子的加速度、速度和前一個周期檢測到的電機轉(zhuǎn)子位置,估算當前電機轉(zhuǎn)子位置,并將計算到的位置作為本周期檢測到的電機轉(zhuǎn)子位置,其中,所述N為大于2的整數(shù)。從而,可以高效、準確地判定出請求數(shù)據(jù)幀是否發(fā)送錯誤,并據(jù)此調(diào)整伺服系統(tǒng)閉環(huán)控制的準確性、可靠性。
【附圖說明】
[0012]圖1是根據(jù)本發(fā)明第一實施方式的電機編碼器的位置反饋自適應(yīng)校正方法的流程圖;
[0013]圖2是根據(jù)本發(fā)明第一實施方式的電機編碼器的位置反饋自適應(yīng)校正方法的伺服驅(qū)動器判斷接收到的反饋數(shù)據(jù)幀所攜帶的反饋信息是否為正確傳輸?shù)臄?shù)據(jù)的步驟的子流程圖;
[0014]圖3是根據(jù)本發(fā)明第二實施方式的伺服驅(qū)動器的結(jié)構(gòu)框圖。
【具體實施方式】
[0015]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明的各實施方式進行詳細的闡述。然而,本領(lǐng)域的普通技術(shù)人員可以理解,在本發(fā)明各實施方式中,為了使讀者更好地理解本申請而提出了許多技術(shù)細節(jié)。但是,即使沒有這些技術(shù)細節(jié)和基于以下各實施方式的種種變化和修改,也可以實現(xiàn)本申請各權(quán)利要求所要求保護的技術(shù)方案。
[0016]本發(fā)明的第一實施方式涉及一種電機編碼器的位置反饋自適應(yīng)校正方法。具體流程如圖1所示,該方法包括以下步驟10-步驟18。
[0017]步驟10:判斷當前是否需要發(fā)送請求數(shù)據(jù)幀。如果當前需要發(fā)送請求數(shù)據(jù)幀,則執(zhí)行步驟11 ;反之,則返回步驟10。即在伺服電機位置的閉環(huán)控制過程中,伺服驅(qū)動器周期性地向電機編碼器發(fā)送用于請求電機轉(zhuǎn)子當前位置的信號。由于編碼器設(shè)置于電機的動力輸出端,所以通過該編碼器檢測電機轉(zhuǎn)子的位置,并根據(jù)該請求數(shù)據(jù)幀輸出表示電機轉(zhuǎn)子當前位置的位置數(shù)據(jù),
[0018]步驟11:發(fā)送請求數(shù)據(jù)幀。伺服驅(qū)動器發(fā)出的每一條請求數(shù)據(jù)幀對應(yīng)于編碼器采集到的一個電機位置。編碼器通過串行通訊方式將被請求的位置數(shù)據(jù)反饋至伺服驅(qū)動器,由于伺服系統(tǒng)工作的現(xiàn)場環(huán)境干擾較大,導(dǎo)致電機編碼器與伺服驅(qū)動器之間的數(shù)據(jù)傳輸可能出現(xiàn)不同步,丟包等的問題,由此造成伺服驅(qū)動器獲取到不一致的、或者錯誤的電機位置作為反饋。
[0019]步驟12:判斷是否在預(yù)設(shè)時長內(nèi)收到反饋數(shù)據(jù)幀。在伺服驅(qū)動器向編碼器發(fā)送請求數(shù)據(jù)幀的步驟后,監(jiān)視請求數(shù)據(jù)幀