本發(fā)明涉及伺服電機領域,具體地,涉及一種伺服系統(tǒng)的輸出軸位置的讀取裝置和包括該讀取裝置的伺服系統(tǒng)。
背景技術:
伺服驅動器(例如,多軸安川伺服驅動器)大都包括多個輸出軸,為了更好地控制伺服驅動電機,作為上位機的主控制器需要精確地獲取各個輸出軸的絕對位置。
通常,主控制器通過多個232轉422接口,連接到伺服驅動器接口PA+和PA-上,并通過I/O來控制伺服驅動的SEN信號,獲取電極轉過的圈數(shù),然后將圈數(shù)輸送至所述主控制器,有所述主控制器來計算各個輸出軸的絕對位置。這就需要主控裝置具有多個串口和多個I/O口,增加了主控裝置的成本,并且限制了主控裝置的選型。
技術實現(xiàn)要素:
本發(fā)明的目的在于提供一種伺服系統(tǒng)的輸出軸位置的讀取裝置和包括該讀取裝置的伺服系統(tǒng),以至少解決上述問題之一。
為了實現(xiàn)上述目的,作為本發(fā)明的一個方面,提供一種伺服系統(tǒng)的輸出軸位置的讀取裝置,所述伺服系統(tǒng)包括至少一個輸出軸,其中,每個所述輸出軸上均設置有絕對編碼器,所述絕對編碼器能夠獲取相應的輸出軸轉過的圈數(shù),所述讀取裝置包括:
至少一個圈數(shù)獲取模塊,所述圈數(shù)獲取模塊包括至少一個輸入端,所述圈數(shù)獲取模塊的輸入端與所述輸出軸一一對應,所述圈數(shù)獲取模塊的各個輸入端分別與相應的輸出軸上的絕對編碼器的輸出端相連,以讀取相應的所述輸出軸轉過的圈數(shù);
單片機,所述單片機能夠在接收到主控裝置發(fā)出的讀取指令后,控制所述圈數(shù)讀取模塊獲取所述讀取命令所要求獲取的輸出軸轉過的圈數(shù),并且所述單片機能夠將獲取到的圈數(shù)通過串口發(fā)送至所述主控裝置。
優(yōu)選地,所述圈數(shù)獲取模塊包括至少一個接插頭連接器和多個差分線接收器,每個所述絕對編碼器對應一個所述接插頭連接器,每個所述差分線接收器對應至少一個所述接插頭連接器,
所述接插頭連接器的電源輸入端與電源相連,所述接插頭連接器的信號輸入端與所述絕對編碼器的輸出端相連,所述接插頭連接器的第一接口用于與所述絕對編碼器的控制端相連,所述接插頭連接器的第二接口用于與所述絕對編碼器的輸出端正極相連,所述接插頭連接器的第三接口用于與所述絕對編碼器的輸出端負極相連;
所述差分線接收器包括至少一組有用端口,每組有用端口對應一個所述接插頭連接器,每組有用端口都包括所述差分線接收器的輸出端、所述差分線接收器的第一接口、所述差分線接收器的第二接口和所述差分線接收器的使能控制端,在每組所述有用端口中:所述差分線接收器的輸出端與所述單片機的輸入端相連,所述差分線接收器的第一接口與所述絕對編碼器的輸出端正極相連,所述差分線接收器的第二接口與所述絕對編碼器的輸出端負極相連,所述差分線接收器的使能控制端與所述單片機的使能信號輸出端相連,當所述差分線接收器的使能控制端接收到觸發(fā)信號時,能夠輸出圈數(shù)信息,在控制端接收到低電平信號時輸出高阻態(tài)。
優(yōu)選地,所述伺服系統(tǒng)包括多個輸出軸,每個所述差分線接收器與兩個接插頭連接器相連;
所述單片機能夠根據(jù)所述讀取命令向所述讀取命令所要求獲取的輸出軸的絕對編碼器的控制端以及相應的所述差分線接收器中相對應的使能控制端均置1,并將其余輸出軸的絕對編碼器的控制端以及其余的使能控制端均置0。
優(yōu)選地,所述伺服系統(tǒng)包括六個輸出軸。
優(yōu)選地,所述單片機能夠在接收到所述讀取命令之前將各個輸出軸的絕對編碼器的控制端以及所有的差分線接收器的所有使能控制端均置0。
優(yōu)選地,所述單片機能夠在接收到所述讀取命令后判斷所述讀取命令是否正確,當所述單片機判定所述讀取命令正確時,根據(jù)所述讀取命令讀取相應的輸出軸轉過的圈數(shù)。
優(yōu)選地,所述單片機能夠在接收到所述主軸裝置的讀取命令之后、發(fā)送所述控制信號之前,將待讀取的輸出軸的絕對編碼器的控制端置0,并延時預定時間。
優(yōu)選地,所述單片機能夠在接收到圈數(shù)信息之后驗證該圈數(shù)信息是否正確,當所述單片機驗證所述圈數(shù)信息正確后將所述圈數(shù)信息發(fā)送至所述主控裝置,當所述單片機驗證所述圈數(shù)信息錯誤時,重新獲取所述讀取命令。
作為本發(fā)明的另一個方面,提供一種伺服系統(tǒng),所述伺服電機系統(tǒng)包括至少一個輸出軸、主控裝置,其中,所述伺服系統(tǒng)還包括所述輸出軸位置的讀取裝置,各個所述輸出軸上設置有絕對編碼器,所述讀取裝置為本發(fā)明所提供的上述讀取裝置,主控裝置設置有一個與所述單片機通信的串口,所述主控裝置能夠按照以下公式計算所述輸出軸的絕對位置:
Pa=Cn×Pn+PB;
其中,Pa為當前絕對位置;
Cn為輸出軸轉過的圈數(shù);
Pn為輸出軸旋轉一周輸出的脈沖數(shù);
PB為當前增量脈沖數(shù);
優(yōu)選地,所述伺服系統(tǒng)還包括為所述串口供電的轉換器。
在本發(fā)明中,設置在伺服系統(tǒng)的輸出軸上的絕對編碼器能夠獲得與之對應的輸出軸轉過的圈數(shù)以及轉過的角度。圈數(shù)獲取模塊能夠分別獲取各個輸出軸上的絕對編碼器輸出的圈數(shù)。
主控裝置能夠發(fā)出不同的讀取指令,每個輸出軸對應一條讀取指令。單片機能夠對讀取指令進行分析,以判斷具體讀取那個輸出軸的圈數(shù)。單片機根據(jù)讀取指令控制所述圈數(shù)獲取模塊獲取相應的輸出軸轉過的圈數(shù),然后發(fā)送給單片機,該單片機通過一個串口即可將相應的輸出軸轉過的圈數(shù)發(fā)送給所述主控裝置。由此可知,所述主控裝置只需要一個串口即可獲得所有的輸出軸的絕對位置。因此,利用本發(fā)明所提供的讀取裝置可以減少主控裝置所需要的串口數(shù)量,從而降低主控裝置的成本,擴大主控裝置的選型范圍。
附圖說明
附圖是用來提供對本發(fā)明的進一步理解,并且構成說明書的一部分,與下面的具體實施方式一起用于解釋本發(fā)明,但并不構成對本發(fā)明的限制。在附圖中:
圖1是本發(fā)明所提供的讀取裝置的模塊示意圖;
圖2a至圖2f是接插頭連接器的具體實施方式;
圖3a至圖3c是差分線接收器的具體實施方式;
圖4是單片機的具體實施方式;
圖5是轉換器的示意圖;
圖6是串口的示意圖;
圖7是本發(fā)明所提供的讀取裝置的工作流程圖。
具體實施方式
以下結合附圖對本發(fā)明的具體實施方式進行詳細說明。應當理解的是,此處所描述的具體實施方式僅用于說明和解釋本發(fā)明,并不用于限制本發(fā)明。
作為本發(fā)明的一個方面,提供一種伺服系統(tǒng)的輸出軸位置的讀取裝置,所述伺服系統(tǒng)包括至少一個輸出軸,其中,每個所述輸出軸上均設置有絕對編碼器,所述絕對編碼器能夠獲取相應的輸出軸轉過的圈數(shù),所述讀取裝置包括:
至少一個圈數(shù)獲取模塊,所述圈數(shù)獲取模塊包括至少一個輸入端,所述圈數(shù)獲取模塊的輸入端與所述輸出軸一一對應,所述圈數(shù)獲取模塊的各個輸入端分別與相應的輸出軸上的絕對編碼器的輸出端相連,以讀取相應的所述輸出軸轉過的圈數(shù);
單片機,所述單片機能夠在接收到主控裝置發(fā)出的讀取指令后,控制所述圈數(shù)讀取模塊獲取所述讀取命令所要求獲取的輸出軸轉過的圈數(shù),并且所述單片機能夠將獲取到的圈數(shù)通過串口發(fā)送至所述主控裝置。
在本發(fā)明中,設置在伺服系統(tǒng)的輸出軸上的絕對編碼器能夠獲得與之對應的輸出軸轉過的圈數(shù)以及轉過的角度。圈數(shù)獲取模塊能夠分別獲取各個輸出軸上的絕對編碼器輸出的圈數(shù)。
主控裝置能夠發(fā)出不同的讀取指令,每個輸出軸對應一條讀取指令。單片機能夠對讀取指令進行分析,以判斷具體讀取那個輸出軸的圈數(shù)。單片機根據(jù)讀取指令控制所述圈數(shù)獲取模塊獲取相應的輸出軸轉過的圈數(shù),然后發(fā)送給單片機,該單片機通過一個串口即可將相應的輸出軸轉過的圈數(shù)發(fā)送給所述主控裝置。由此可知,所述主控裝置只需要一個串口即可獲得所有的輸出軸的絕對位置。因此,利用本發(fā)明所提供的讀取裝置可以減少主控裝置所需要的串口數(shù)量,從而降低主控裝置的成本,擴大主控裝置的選型范圍。
在本發(fā)明中,對所述圈數(shù)獲取模塊的具體結構并不做具體的限制。作為一種具體的實施方式,所述圈數(shù)獲取模塊包括至少一個接插頭連接器和多個差分線接收器,每個所述絕對編碼器對應一個所述接插頭連接器,每個所述差分線接收器對應至少一個所述接插頭連接器。本領域技術人員容易理解的是,絕對編碼器輸出的信號為差分信號,而所述差分線接收器能夠將接收到的差分信號轉換為單端信號。
所述接插頭連接器的電源輸入端與電源相連,所述接插頭連接器的信號輸入端與所述絕對編碼器的輸出端相連,所述接插頭連接器的第一接口用于與所述絕對編碼器的控制端相連,所述接插頭連接器的第二接口用于與所述絕對編碼器的輸出端正極相連,所述接插頭連接器的第三接口用于與所述絕對編碼器的輸出端負極相連。
在本發(fā)明中,對接插頭連接器的具體選型并沒有特殊的限制。例如,在圖2a至圖2f中所示的實施方式中,接插頭連接器為Hearder5×2接插頭連接器,這種接插頭連接器包括10個接口。在圖2a中所示的實施方式中,接插頭連接器#1的第一接口的編號為2,用于與相應的絕對編碼器的控制端SEN1相連,用于將接收到的控制信號發(fā)送至所述絕對編碼器的控制端;接插頭連接器#1的第二接口的編號為1,與相應的絕對編碼器的輸出端正極CHA1+相連;接插頭連接器#1的第三接口的編號為4,與相應的絕對編碼器的輸出端負極CHA1-相連;接插頭連接器#1的端口7與電源正極相連,接插頭連接器#1的端口9與電源負極相連,接插頭連接器的端口3接地。并且,接插頭連接器#1用于與5V的電源相連。其余接插頭連接器的連接方式與圖2a中的接插頭連接器#1的連接方式類似,這里不再贅述。
所述差分線接收器包括至少一組有用端口,每組有用端口對應一個所述接插頭連接器,每組有用端口都包括所述差分線接收器的輸出端、所述差分線接收器的第一接口、所述差分線接收器的第二接口和所述差分線接收器的使能控制端。在每組所述有用端口中:所述差分線接收器的輸出端與所述單片機的輸入端相連,所述差分線接收器的第一接口與所述絕對編碼器的輸出端正極相連,所述差分線接收器的第二接口與所述絕對編碼器的輸出端負極相連,所述差分線接收器的使能控制端與所述單片機的使能信號輸出端相連,當所述差分線接收器的使能控制端接收到觸發(fā)信號時,能夠輸出圈數(shù)信息,在控制端接收到低電平信號時輸出高阻態(tài)。
在本發(fā)明中,對差分線接收器的具體選型也沒有特殊的要求,例如,如圖3a至圖3c中所示,在本發(fā)明中,可以選用MC3486差分線接收器。
圖3a中的差分線接收器U2包括三組端口,其中兩組端口為有用斷口。圖3a中所示的差分線接收器U2與圖2a中所示的接插頭連接器#1以及圖2b中的接插頭連接器#2相連。
具體地,如圖3a中所示,一組有用端口中,輸出端CHA的編號為1Y,第一接口的編號為1A,第一接口的編號為1B,使能控制端EN1的編號為1-2SEN。另一組有用端口中,輸出端CHA的編號為4Y,第一接口的編號為4A,第二接口的編號為4B,使能控制端EN2的編號為3-4SEN。圖3b中的差分線接收器U4與圖2c中的接插頭連接器#3以及圖2d中的接插頭連接器#4相連;圖3c中的差分線接收器U6與圖2e中的接插頭連接器#5以及圖2f中的接插頭連接器#6相連,具體連接方式與圖3a中的差分線連接收器的連接方式類似,這里不再贅述。
為了簡化所述讀取裝置的結構,優(yōu)選地,每個所述差分線接收器與兩個接插頭連接器相連。例如,MC3846可以對應兩個Header 5×2連接器。
所有差分線接收器所有的輸出端均與單片機上的同一個輸入端相連。如上文中所述,當所述差分線接收器的使能控制端接收到觸發(fā)信號時,能夠輸出圈數(shù)信息,在控制端接收到低電平信號時輸出高阻態(tài)。因此,利用差分線接收器可以實現(xiàn)在不沖突的情況下,將獲得的圈數(shù)信息發(fā)送至所述單片機。
本發(fā)明所提供的讀取裝置尤其適用于多軸伺服系統(tǒng)。即,所述伺服系統(tǒng)包括多個輸出軸,每個輸出軸上均設置有一個絕對編碼器。
所述單片機根據(jù)所述讀取命令向所述讀取命令所要求獲取的輸出軸的絕對編碼器的控制端以及相應的差分線接收器中對應的使能信號端均置1,并將其余輸出軸的絕對編碼器的控制端以及其余的使能信號端均置0。
在這種方式中,一個讀取命令僅可以讀取一個輸出軸轉過的圈數(shù),從而可以通過一個串口依次獲取不同輸出軸轉過的圈數(shù)。
本發(fā)明所提供的伺服系統(tǒng)可以是包括六個輸出軸的安川多軸伺服系統(tǒng)。
為了精確獲得各個輸出軸所轉過的圈數(shù),優(yōu)選地,所述單片機能夠在接收到所述讀取命令之前將各個輸出軸的絕對編碼器的控制端以及所有的差分線接收器的所有使能控制端均置0。
優(yōu)選地,所述單片機能夠在接收到命令后判斷該命令是否為所述讀取命令是,當所述單片機判定接收到的命令為所述讀取命令時,根據(jù)所述讀取命令讀取相應的輸出軸轉過的圈數(shù)。
為了確保能夠正確地讀取各個輸出軸轉過的圈數(shù),優(yōu)選地,所述單片機能夠在接收到主控裝置的讀取命令之前將待讀取的輸出軸的絕對編碼器的控制端置0,并延時預定時間。
為了確保讀取的順利進行,優(yōu)選地,所述單片機能夠在接收到圈數(shù)信息之后驗證該圈數(shù)信息是否正確,當所述單片機驗證所述圈數(shù)信息正確后將所述圈數(shù)信息發(fā)送至所述主控裝置,當所述單片機驗證所述圈數(shù)信息錯誤時,重新獲取所述讀取命令。
所述單片機可以通過CRC校驗算法判斷接收到的圈數(shù)信息是否正確。當收到的圈數(shù)信息進行CRC算法計算得出的數(shù)據(jù)與收到的校驗數(shù)據(jù)一致時,表明所述圈數(shù)信息正確;當收到的圈數(shù)信息進行CRC算法計算得出的數(shù)據(jù)與收到的校驗數(shù)據(jù)不一致表示圈數(shù)信息不正確。當所述單片機判定所述圈數(shù)信息不正確時,繼續(xù)獲取讀取命令,直至獲取到正確的圈數(shù)信息為止。
作為本發(fā)明的另一個方面,提供一種伺服系統(tǒng),所述伺服系統(tǒng)包括至少一個輸出軸、主控裝置和伺服電機輸出軸位置的讀取裝置,其中,所述讀取裝置為本發(fā)明所提供的上述讀取裝置,主控裝置設置有一個與所述單片機通信的串口。
主控裝置能夠按照以下公式(1)計算各個輸出軸的當前絕對位置:
Pa=Cn×Pn+PB (1);
其中,Pa為當前絕對位置;
Cn為輸出軸轉過的圈數(shù);
Pn為輸出軸旋轉一周輸出的脈沖數(shù);
PB為當前增量脈沖數(shù);
為了能夠為串口供電,優(yōu)選地,所述伺服系統(tǒng)還包括為所述串口供電的轉換器。
作為一種具體的實施方式,串口可以使用RS-232串口,轉換器可以相應采用MAX232E。
下面結合圖1至圖5介紹本發(fā)明所提供的讀取裝置讀取各輸出軸轉過圈數(shù)的方法。
在本實施例中,伺服電機為六軸安川伺服電機。采用的接插頭連接器為Header 5×2連接器(如圖2所示),差分線接收器為MC3486(如圖3所示),單片機為STC12C5A60S2(如圖4所示),串口為RS-232,轉換器為MAX232E(如圖5所示)。
如圖2中所示,本發(fā)明實施所提供的讀取裝置的接插頭連接器包括#1接插頭連接器、#2接插頭連接器、#3接插頭連接器、#4接插頭連接器、#5接插頭連接器和#6接插頭連接器。如圖3中所示,所述讀取裝置的差分線接收器包括差分線接收器U2(與接插頭連接器#1和接插頭連接器#2相連)、差分線接收器U4(與接插頭連接器#3和接插頭連接器#4相連)和差分線接收器U6(與接插頭連接器#5和接插頭連接器#6相連)。上述是三個差分線接收器與圖4中所示的單片機U1相連。圖5中所示的是轉換器U3,圖6所示的是串口J7。
在圖2至圖5中,不同各部件中相同的標號表示不同的部件在此處相連。例如,圖2中的CHA1+與圖3中的CHA1+相連,依次類推。
在圖4中所示的具體實施方式中,單片機U1為STC12C5A60S2型單片機。在圖4中所示的實施方式中,單片機U1的端口P1.2/RXD2用于接收圈數(shù)信息,與所有差分線接收器的所有輸出端相連。為了能夠更好地傳遞信號,優(yōu)選地,可以在差分線接收器的輸出端與單片機的接收端之間串聯(lián)一個電阻。
單片機U1的端口RXD/P3.0用作該單片機的控制端,用于接收上位裝置發(fā)送的讀取指令。單片機U1的端口TXD/P3.1用作該單片機U1的輸出端。
單片機U1的端口P24與圖2a中接插頭連接器#1對應的絕對編碼器的控制端SEN1相連,單片機U1的端口P2.5與圖2b中接插頭連接器#2對應的絕對編碼器的控制端SEN2相連,單片機U1的端口P23與圖2c中的接插頭連接器#3對應的絕對編碼器的控制端SEN3相連,單片機U1的端口P22與圖2d中的接插頭連接器#4對應的絕對編碼器的控制端SEN4相連,單片機U1的端口P21與圖2e中的接插頭連接器#5對應的絕對編碼器的控制端SEN5相連,單片機U1的端口P20與圖2f中的接插頭連接器#6對應的絕對編碼器的控制端SEN6相連。
相應地,單片機U1的端口P0.4與圖3a中的差分線接收器U2的使能控制端EN1相連,單片機U1的端口P0.5與圖3a中的差分線接收器U2的使能控制端EN2相連,單片機U1的端口PQ0與圖3b中的差分線接收器U4的使能控制端EN3相連,單片機U1的端口PQ1與圖3b中的差分線接收器U4的使能控制端EN4相連,單片機U1的端口PQ2與圖3c中的差分線接收器U6的使能控制端EN5相連,單片機U1的端口PQ3與圖3c中的差分線接收器U6的使能控制端EN5相連。
單片機U1的控制端和輸出端都是和圖5中所示的轉換器U3相連的。具體地,單片機U1的輸出端MCU_TXD與轉換器U3的端口T1IN相連,單片機U1的輸入端MCU_RXD與轉換器U3的端口R1OUT相連。轉換器U3與圖6中的串口J7相連。串口J7與主控裝置相連。具體地,轉換器U3的端口T1OUT與串口J7的一個端口(例如,圖6中標號為2的端口)相連,該端口與主控裝置的輸入端PC_RXD(pin2)相連,轉換器U3的端口R1IN與串口J7的另一個端口(例如,圖6中標號為3的端口)相連,該端口與主控裝置的輸出端PC_TXD(pin3)相連。轉換器U3還與提供電壓VCC的電源相連。
按照上面描述的連接方式將接插頭連接器、差分線接收器、單片機、串口、轉換器、主控裝置依次連接后,即可根據(jù)主控裝置的指令獲取各個輸出軸所轉過的圈數(shù)。
在獲取輸出軸的圈數(shù)時,首先將多軸伺服驅動器Pn002的第2位設置為0,即,將絕對編碼器當做絕對編碼器使用。
連接方式如圖2a至圖6中所示。具體地,將各軸上的絕對編碼器的的輸出端正極PA0與各軸對應的接插頭連接器的第二接口、以及各接插頭連接器對應的差分線接收器的第一接口相連;各軸上的絕對編碼器的輸出端負極/PA0與各軸對應的接插頭連接器的第三接口、以及各接插頭連接器對應的第二接口相連;各軸上的絕對編碼器的控制端SEN分別與各軸對應的接插頭連接器的第一接口相連;各軸上的絕對編碼器的接地端分別接地。
連接完成后,通過設置伺服電機的Fn0020確定當前零點,主控裝置發(fā)送命令轉動伺服電機,斷電后重新上電。隨后主控裝置向絕對編碼器讀取模塊發(fā)送讀取相應軸圈數(shù)的命令。
圖7中所示的是單片機獲取輸出軸圈數(shù)的流程圖。下面結合圖7描述單片機的工作流程:
初始化;
將各個輸出軸的絕對編碼器的控制端、所有差分線接收器的使能控制端置0;
判斷接收到的指令是否為讀取指令;
當接收到的指令為讀取指令時,將待讀取的輸出軸的絕對編碼器的控制端置0;
延時預定時間;
將待讀取的輸出軸的絕對編碼器的控制端以及相應的差分線接收器的使能控制端置1;
判斷接收到的圈數(shù)信息是否正確;
當接收到的圈數(shù)信息正確時,將該圈數(shù)信息發(fā)送至主控裝置;
當接收到的圈數(shù)信息錯誤時,繼續(xù)重復獲取讀取指令的步驟。
主控裝置通過串口讀取到單片機發(fā)送的所述輸出軸所轉的圈數(shù),通過PB0、/PB0得到當前增量初始位置脈沖數(shù)。并根據(jù)公式(1)計算該輸出軸的當前絕對位置。
可以理解的是,以上實施方式僅僅是為了說明本發(fā)明的原理而采用的示例性實施方式,然而本發(fā)明并不局限于此。對于本領域內的普通技術人員而言,在不脫離本發(fā)明的精神和實質的情況下,可以做出各種變型和改進,這些變型和改進也視為本發(fā)明的保護范圍。