亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種機器人及其數(shù)字電機控制器的制作方法

文檔序號:6324877閱讀:129來源:國知局
專利名稱:一種機器人及其數(shù)字電機控制器的制作方法
技術(shù)領(lǐng)域
本實用新型涉及機器人的同步控制技術(shù),特別是涉及一種可通過串行總線對 1-255個數(shù)字電機進行無時間差的同步控制的機器人及其數(shù)字電機控制器。
背景技術(shù)
機器人是一個集環(huán)境感知、動態(tài)決策、行為控制等多種功能于一體的綜合系統(tǒng),它綜合了多學科的發(fā)展成果,代表了高技術(shù)的發(fā)展前沿。其中,移動機器人(Mobile Robot), 是指具有一定的感知思維能力以及一定的移動和動作能力的機器人,它比一般的工業(yè)機器人具有更大的靈活性,在工農(nóng)業(yè)生產(chǎn)、科學探測、軍事偵察、生活服務與娛樂等很多方面都有廣泛的應用前景。因為需要協(xié)調(diào)和平衡環(huán)境感知系統(tǒng)、行走系統(tǒng)和動作系統(tǒng)等多個系統(tǒng),所以移動機器人需要精確的控制多個電機,需要精準的多電機同步控制技術(shù)。目前,多電機的同步控制技術(shù)包括模擬信號控制和數(shù)字信號控制,采用模擬信號控制容易受到外界干擾,可靠性較差。數(shù)字信號控制分為并口控制和串口控制兩種形式,若采用并口控制,則所能控制的電機個數(shù)一般不能超過8個,否則會使并口過大,會增大機器人體積并使得成本過于高昂;若采用串行控制,則由于處理器執(zhí)行對每個電機的控制指令有延時,對多個電機同步控制的時候,會產(chǎn)生控制誤差的積累。因此,現(xiàn)有技術(shù)不能提供一種對8個以上電機進行精確數(shù)字控制的小體積低成本的控制系統(tǒng),這造成行走機器人難以進行多系統(tǒng)的精確協(xié)調(diào),精確性和可靠性較差,嚴重制約了行走機器人的發(fā)展和應用。

實用新型內(nèi)容本實用新型的目的是提供一種機器人及其數(shù)字電機控制器,能夠通過串口對8個以上的電機進行精準的數(shù)字控制,有效去除電機控制過程中產(chǎn)生的延時問題。為了實現(xiàn)上述目的,本實用新型提供了一種數(shù)字電機控制器,包括用于通過串行總線連接多個數(shù)字電機的控制接口 ;用于通過所述控制接口向每個數(shù)字電機的寄存器發(fā)送對應的電機動作參數(shù)的設(shè)定模塊;用于通過所述控制接口向每個數(shù)字電機發(fā)送執(zhí)行命令,使每個數(shù)字電機同時執(zhí)行所述寄存器中的所述對應的電機動作參數(shù)的運行模塊。上述的數(shù)字電機控制器中,所述串行總線包括地線、電源線和控制線。上述的數(shù)字電機控制器中,所述控制接口具有四總線三態(tài)輸出緩沖門,所述四總線三態(tài)輸出緩沖門連接所述控制線。上述的數(shù)字電機控制器中,所述電機動作參數(shù)包括目標角和轉(zhuǎn)速。上述的數(shù)字電機控制器中,所述多個數(shù)字電機的電機個數(shù)大于8個小于256個。為了實現(xiàn)上述目的,本實用新型還提供了一種機器人,具有多個數(shù)字電機,還包括數(shù)字電機控制器;所述數(shù)字電機控制器具體包括用于通過串行總線連接所述多個數(shù)字電機的控制接口 ;用于通過所述控制接口向每個數(shù)字電機的寄存器發(fā)送對應的電機動作參數(shù)的設(shè)定模塊;用于通過所述控制接口向每個數(shù)字電機發(fā)送執(zhí)行命令,使每個數(shù)字電機同時執(zhí)行所述寄存器中的所述對應的電機動作參數(shù)的運行模塊。上述的機器人中,所述串行總線包括地線、電源線和控制線。上述的機器人中,所述控制接口具有四總線三態(tài)輸出緩沖門,所述四總線三態(tài)輸出緩沖門連接所述控制線。本實用新型實施例的技術(shù)效果在于1)本實用新型通過串行總線先把運行參數(shù)對應存儲到各數(shù)字電機的寄存器中,然后通過廣播指令使各數(shù)字電機同時運行寄存器內(nèi)已經(jīng)存儲好的參數(shù),也就是“分別接收、同時執(zhí)行”,這就解決了因為串行總線中接收數(shù)據(jù)的接收時間不一致而造成的執(zhí)行時間不一致的問題,從而各數(shù)字電機可以同步動作,使機器人的整體動作平穩(wěn)協(xié)調(diào)。2)本實用新型通過串行總線進行電機同步控制,僅需要一個串行總線接口,而并行總線需要對每個電機都設(shè)置一個接口,在需要控制的電機較多的時候,本實用新型節(jié)約了接口,減小了機器人的體積,降低了成本。3)本實用新型通過串行總線進行電機同步控制,可以很容易的進行8個以上的電機控制,可以對1-255個數(shù)字電機進行無延時的同步控制。

圖1為本實用新型實施例提供的數(shù)字電機控制器的連接結(jié)構(gòu)圖;圖2為本實用新型實施例提供的數(shù)字電機控制器的電路圖。
具體實施方式
為使本實用新型實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對具體實施例進行詳細描述。圖1為本實用新型實施例提供的數(shù)字電機控制器的連接結(jié)構(gòu)圖,如圖1所示,數(shù)字電機控制器100通過串行總線200連接多個數(shù)字電機,數(shù)字電機控制器100包括控制接口 110,用于通過串行總線連接多個數(shù)字電機;設(shè)定模塊120,用于通過所述控制接口 110向每個數(shù)字電機的寄存器發(fā)送對應的電機動作參數(shù);運行模塊130,用于通過所述控制接口向每個數(shù)字電機發(fā)送執(zhí)行命令,使每個數(shù)字電機同時執(zhí)行所述寄存器中的所述對應的電機動作參數(shù)??梢?,本實用新型實施例中,通過串行總線先把運行參數(shù)對應存儲到各數(shù)字電機的寄存器中,然后通過廣播指令使各數(shù)字電機同時運行寄存器內(nèi)已經(jīng)存儲好的參數(shù),也就是“分別接收、同時執(zhí)行”,這就解決了因為串行總線中接收數(shù)據(jù)的接收時間不一致而造成的執(zhí)行時間不一致的問題,從而各數(shù)字電機可以同步動作,使機器人的整體動作平穩(wěn)協(xié)調(diào)。[0034]其中,串行總線包括地線、電源線和控制線。這里電源線的電源電壓可以為12V。 所述電機動作參數(shù)包括目標角和轉(zhuǎn)速等。所述控制接口 110具有四總線三態(tài)輸出緩沖門,所述四總線三態(tài)輸出緩沖門連接所述控制線。圖2為本實用新型實施例提供的數(shù)字電機控制器的電路圖,如圖2所示,采用 74HC126器件實現(xiàn)半雙工通信,形成一個四總線三態(tài)輸出緩沖門300,它采用5V電源VCC供電,總共有四個三態(tài)門,每個三態(tài)門有一個輸入端、一個輸出端,還有一個使能端。每個三態(tài)門都可以實現(xiàn)用一根導線輪流傳送幾個不同的數(shù)據(jù)。CPU R)(D端口跟單片機400的RXDO端口連接,作為數(shù)據(jù)的發(fā)送端,也就是三態(tài)門的輸入端;電路中CPU T)(D端口跟單片機的T)(D0 端口連接,作為數(shù)據(jù)的接收端,也就是三態(tài)門的輸出端;TTL發(fā)送和接收數(shù)據(jù)信號的方向取決于ENABLE RX信號和ENABLE TX信號,他們連接到單片機的PE 口,當ENABLE TX為高電平時,使能發(fā)送,即控制器給舵機發(fā)送指令包;當ENABLE RX為高電平時,使能接收,即控制器接收舵機發(fā)送過來的狀態(tài)包。本實用新型實施例中,設(shè)定模塊120和運行模塊130可以通過固件或單片機實現(xiàn), 也可以通過CPU和存儲器實現(xiàn),該存儲器中存儲有能夠?qū)崿F(xiàn)設(shè)定模塊120和運行模塊130 的功能的軟件模塊。該軟件模塊的具體舉例如下
int main(void) {
//byte bID, bTxPacketLength,bRxPacketLength; PortInitialize(); //Port In/Out Direction Definition,端口 初始化 HDBRT—RXD; //Set HDBRT Direction to Input State.初始化半雙工為接
收狀態(tài)
/*串口一為RS232,串口 0為半雙工通信’與舵機通信*/ SerialInitialize(SERIAL_PORTO,l,RXJNTERRUPT);//初始化串口 0’ 波特率’接收中斷,RS485 Initializing(RxInterrupt)
SerialInitialize(SERIAL_PORTl,DEFAULT_BAUD_RATE,0); //設(shè)置串口一,RS232 Initializing(None Interrupt)
gbRxBufferReadPointer = gbRxBufferWritePointer = 0; //清除接收緩存區(qū),RS485 RxBuffer Clearing.sei(); //開總中斷(Enable Interrupt) - Compiler Function TxDString('V\n [Probing Robot with ATmegal28 by NCEPU hxhai.After inilializing,Please clap!!]"); PrintBaudrate(); MotorInitializeO;//初始化舵機 //ActionInitializeO;//動作初始化
Syncwrite(3,300,200,4,300,200,5,300,200,6,400,200),7/^ 3/4/5/6 號舵機指定速度和位置,等待action指令才執(zhí)行 Action。;//執(zhí)行指令 ReadWord(3,P_PRESENT_SPEED_L); ReadWord(3,P_PRESENT_POSITION_L); WaitMotionEnd(); while(l);
}
void Syncwrite(byte ID 1,word data 1,word data2,byte ID2,word data3,word
data4,byte ID3,word data5,word data6,byte ID4,word data7,word data8) {
byte bTxPacketLength;
//word datal,data2,data3,data4,data5,data6,data7,data8; gbpParameter[0] = OXIE;H Starting Address of the location where
the data is to be written
gbpParameterfl] = 4;//The length of the data to be written,本
例中是四個參數(shù)
gbpParameter[2] =IDl;//The ID of the 1 st Dynamixel actuator
gbpParameter[3] = (byte)(datal&Oxff); // low nibble of write data gbpParameter[4] = (byte)((datal 8)&0xff); // high nibble of write data gbpParameter[5] = (byte)(data2&0xff); // low nibble of write data gbpParameter[6] = (byte)((data2 8)&0xff); Il high nibble of write data gbpParameter[7] = ID2;//The ID of the 2nd Dynamixel actuatorgbpParameter[8] = (byte)(data3&0xff); // low nibble of write data gbpParameter[9] = (byte)((data3 8)&0xff); // high nibble of write data gbpParameter[ 10] = (byte)(data4&0xfi); // low nibble of write data gbpParameterf 11] = (byte)((data4 8)&0xff); // high nibble of write data gbpParameter[ 12] = ID3;//The ID of the 3rd Dynamixel actuator
gbpParameter[13] = (byte)(data5&0xff); // low nibble of write data gbpParameter[ 14] = (byte)((data5 8)&0xff); II high nibble of write data gbpParameter[ 15] = (byte)(data6&0xff); // low nibble of write data gbpParameter[ 16] 二 (byte)((data6 8)&0xff); Il high nibble of write data gbpParameter[ 17] = ID4;//The ID of the 4th Dynamixel actuator
gbpParameterf 18] = (byte)(data7&0xff); Il low nibble of write data gbpParameter[ 19] = (byte)((data7 8)&0xff); // high nibble of write data gbpParameter[20] = (byte)(data8&0xff); Il low nibble of write data gbpParameter[21 ] = (byte)((data8 8)&0xff); // high nibble of write data
bTxPacketLength = TxPacket(0XFE,INST_SYNC_WRITE,22); // Communicate with Dynamixel TxDString('V\n TxD:");
PrintBuffer(gbpTxBuffer,bTxPacketLength);//顯示已發(fā)送數(shù)據(jù)
}可見,為了同步驅(qū)動各電機,步驟流程是先將驅(qū)動電機運動的參數(shù),送到電機內(nèi)部處理器的寄存器中,但并不執(zhí)行,待所有電機的參數(shù)均設(shè)置好之后,在同時執(zhí)行運動指令。 以此來達到同步驅(qū)動電機的操作。需要指出的是,本實用新型中的設(shè)定模塊120和運行模塊130是具有特定功能的硬件,例如存有預定程序的固件、單片機或者CPU與存儲器組,并不是單純的軟件。此外,本實用新型還提供了一種機器人的實施例,機器人具有多個數(shù)字電機,用來執(zhí)行行走、探測等各種動作,其中還包括數(shù)字電機控制器;所述數(shù)字電機控制器具體包括用于通過串行總線連接所述多個數(shù)字電機的控制接口 ;用于通過所述控制接口向每個數(shù)字電機的寄存器發(fā)送對應的電機動作參數(shù)的設(shè)定模塊;用于通過所述控制接口向每個數(shù)字電機發(fā)送執(zhí)行命令,使每個數(shù)字電機同時執(zhí)行所述寄存器中的所述對應的電機動作參數(shù)的運行模塊。所述串行總線包括地線、電源線和控制線。所述控制接口具有四總線三態(tài)輸出緩沖門,所述四總線三態(tài)輸出緩沖門連接所述控制線。所述四總線三態(tài)輸出緩沖門中,CPU RXD端口跟單片機的RXDO端口連接形成所述四總線三態(tài)輸出緩沖門的輸入端;CPU TXD端口跟單片機的T)(D0端口連接形成所述四總線三態(tài)輸出緩沖門的輸出端。所述多個數(shù)字電機的電機個數(shù)大于8個小于256個。由上可知,本實用新型實施例具有以下優(yōu)勢1)本實用新型通過串行總線先把運行參數(shù)對應存儲到各數(shù)字電機的寄存器中,然后通過廣播指令使各數(shù)字電機同時運行寄存器內(nèi)已經(jīng)存儲好的參數(shù),也就是“分別接收、同時執(zhí)行”,這就解決了因為串行總線中接收數(shù)據(jù)的接收時間不一致而造成的執(zhí)行時間不一致的問題,從而各數(shù)字電機可以同步動作,使機器人的整體動作平穩(wěn)協(xié)調(diào)。2)本實用新型通過串行總線進行電機同步控制,僅需要一個串行總線接口,而并行總線需要對每個電機都設(shè)置一個接口,在需要控制的電機較多的時候,本實用新型節(jié)約了接口,減小了機器人的體積,降低了成本。3)本實用新型通過串行總線進行電機同步控制,可以很容易的進行8個以上的電機控制,可以對1-255個數(shù)字電機進行無延時的同步控制。以上所述僅是本實用新型的優(yōu)選實施方式,應當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本實用新型原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本實用新型的保護范圍。
權(quán)利要求1.一種數(shù)字電機控制器,其特征在于,包括 用于通過串行總線連接多個數(shù)字電機的控制接口;用于通過所述控制接口向每個數(shù)字電機的寄存器發(fā)送對應的電機動作參數(shù)的設(shè)定模塊;用于通過所述控制接口向每個數(shù)字電機發(fā)送執(zhí)行命令,使每個數(shù)字電機同時執(zhí)行所述寄存器中的所述對應的電機動作參數(shù)的運行模塊。
2.根據(jù)權(quán)利要求1所述的數(shù)字電機控制器,其特征在于,所述串行總線包括地線、電源線和控制線。
3.根據(jù)權(quán)利要求2所述的數(shù)字電機控制器,其特征在于,所述控制接口具有四總線三態(tài)輸出緩沖門,所述四總線三態(tài)輸出緩沖門連接所述控制線。
4.根據(jù)權(quán)利要求1所述的數(shù)字電機控制器,其特征在于,所述電機動作參數(shù)包括目標角和轉(zhuǎn)速。
5.根據(jù)權(quán)利要求1所述的數(shù)字電機控制器,其特征在于,所述多個數(shù)字電機的電機個數(shù)大于8個小于256個。
6.一種機器人,具有多個數(shù)字電機,其特征在于,還包括數(shù)字電機控制器; 所述數(shù)字電機控制器具體包括用于通過串行總線連接所述多個數(shù)字電機的控制接口;用于通過所述控制接口向每個數(shù)字電機的寄存器發(fā)送對應的電機動作參數(shù)的設(shè)定模塊;用于通過所述控制接口向每個數(shù)字電機發(fā)送執(zhí)行命令,使每個數(shù)字電機同時執(zhí)行所述寄存器中的所述對應的電機動作參數(shù)的運行模塊。
7.根據(jù)權(quán)利要求6所述的機器人,其特征在于,所述串行總線包括地線、電源線和控制線。
8.根據(jù)權(quán)利要求7所述的機器人,其特征在于,所述控制接口具有四總線三態(tài)輸出緩沖門,所述四總線三態(tài)輸出緩沖門連接所述控制線。
專利摘要本實用新型提供一種機器人及其數(shù)字電機控制器,其中,數(shù)字電機控制器包括用于通過串行總線連接多個數(shù)字電機的控制接口;用于通過所述控制接口向每個數(shù)字電機的寄存器發(fā)送對應的電機動作參數(shù)的設(shè)定模塊;用于通過所述控制接口向每個數(shù)字電機發(fā)送執(zhí)行命令,使每個數(shù)字電機同時執(zhí)行所述寄存器中的所述對應的電機動作參數(shù)的運行模塊。本實用新型能夠通過串口對8個以上的電機進行精準的數(shù)字控制,有效去除電機控制過程中產(chǎn)生的延時問題。
文檔編號G05B19/04GK202110398SQ20112018561
公開日2012年1月11日 申請日期2011年6月3日 優(yōu)先權(quán)日2011年6月3日
發(fā)明者朱曉光 申請人:朱曉光
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1