<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于PIC芯片嵌入式電機控制器的研究

基于PIC芯片嵌入式電機控制器的研究

作者: 時(shí)間:2009-07-02 來(lái)源:網(wǎng)絡(luò ) 收藏
0 引 言
隨著(zhù)現代科學(xué)技術(shù)的飛速發(fā)展和社會(huì )的進(jìn)步,服務(wù)機器人與人們的生活聯(lián)系越來(lái)越緊密,故日益受到關(guān)注。作為機器人的核心部分,直接決定了其功能和性能。雖然用于工業(yè)機器人的伺服技術(shù)已經(jīng)成熟,但用于服務(wù)機器人的伺服和開(kāi)發(fā)仍然存在許多問(wèn)題。開(kāi)發(fā)一種“具有開(kāi)放式結構的模塊化、標準化、小型化的電機控制器”已經(jīng)成為當前服務(wù)機器人控制器的一個(gè)發(fā)展方向。
美國Microchip公司生產(chǎn)的單片機具有速度快、體積小、低功耗、驅動(dòng)能力大、可靠性高等優(yōu)點(diǎn),故采用該系列微型18F452開(kāi)發(fā)了一種小型電機控制器。該控制器和主控微機、驅動(dòng)器共同構成機器人伺服控制系統。伺服控制系統采取了可變的控制模式,并且控制器能和驅動(dòng)電機一起安裝在機器人的各個(gè)關(guān)節,因此特別適合電池驅動(dòng)的多軸服務(wù)機器人的應用。
本文著(zhù)重介紹控制器的軟件構造、操作指令和通信模式。設計了一種使用方便的指令模式,該模式能識別幾十種指令語(yǔ)句,并容易實(shí)現對指令語(yǔ)句的擴展。同時(shí)用串口方式形成機器人伺服控制系統的神經(jīng)網(wǎng)絡(luò ),各個(gè)小型控制器不但能和主控微機之間通信,而且各個(gè)控制器之間也可以進(jìn)行信息交流。為了保證通信的連續性和可靠性,該伺服控制系統具有通信錯誤處理機制。

1 控制器的軟件構造
該控制系統最大的特點(diǎn)在于位置、速度、電流三種控制方式可隨時(shí)變更。為了獲得可調的直流電壓,利用電力電子器件的完全可控性,采用PWM脈寬調制技術(shù),直接將恒定的直流電壓調制成可變大小和極性的直流電壓作為電機的電樞端電壓,實(shí)現系統的平滑調速。在每一個(gè)控制周期,三種控制模式獨立計算,控制器將計算結果以PWM信號形式輸出到電機驅動(dòng)器,同時(shí)電機的位置、速度和電流能實(shí)時(shí)測量并送到主控微機,從而機器人的各個(gè)關(guān)節能根據不同的外部環(huán)境采取不同的控制方式。該控制器的控制原理如圖1所示。

本文引用地址:http://dyxdggzs.com/article/152439.htm

為了實(shí)現上述目標,在控制器軟件的開(kāi)發(fā)上,采用了模塊化和子程序嵌套的設計思想??刂破鞯挠嬎阒芷赥為400μs,每一個(gè)周期劃分成32個(gè)處理模塊,利用中斷處理在每一個(gè)處理模塊(t=12.5μs)中對電機位置譯碼的脈沖進(jìn)行計數測量??刂破鬈浖嬙旒爸饕K的功能如圖2所示。

2 操作指令
該控制器的操作指令包括控制指令、設定指令、詢(xún)問(wèn)指令等。指令格式的最高字節為命令字節,即控制器的ID號和Code(指令號)。ID指出控制器的識別號碼,Code指出指令代碼,它們各占4位。
需要注意的是,對于控制和設定指令,緊隨命令字節的是n個(gè)字節組成的控制或設定指令數據,但詢(xún)問(wèn)指令僅有命令字節,沒(méi)有指令數據。
2.1 控制指令
伺服控制系統的三種控制模式均有相應的控制指令。
位置控制應用于進(jìn)行連續點(diǎn)控制的插補點(diǎn)位置控制。位置控制數據由三個(gè)字節的有符號數來(lái)表示,其最大值和最小值分別為223-1(=7FFFFFH)和-223+1(=800000H)。其中,0H~7FFFFF為電機的正方向,800000H~FFFFFFH為電機的負方向。位置控制指令的格式如圖3所示。

速度控制應用于機器人關(guān)節以一定速度運動(dòng)的場(chǎng)合。速度控制數據由一個(gè)字節的有符號數來(lái)表示,其最大值和最小值分別為27-1(=7F)和-27+1(=80)。
其中,0H~7F為電機的正方向,80H~FFH為電機的負方向。在速度控制模式下,需要停止指令、目標值為零的速度或電流控制指令或到達極限位置時(shí),系統才能停止運行。
電流控制(轉矩控制)不僅可以應用于電機的轉動(dòng)方向和電流的控制方向相同的場(chǎng)合,還可以應用在外力作用下,電機處于停止狀態(tài)或電機的轉動(dòng)方向和電流的控制方向相反的場(chǎng)合。電流控制指令的格式和數據字節的最大最小值與速度控制指令相同。在電流控制模式下,停止方式也和速度控制模式相同。
位置速度復合控制應用于一般位置控制,包括啟動(dòng)階段的加速控制、速度控制、到達目標前的減速控制和位置控制四個(gè)部分。位置速度復合控制指令的控制數據包括3個(gè)字節的目標位置數據,1個(gè)字節的目標速度數據,1個(gè)字節的最大電流數據,共5個(gè)字節。各數據的最大最小值分別對應同上。
2.2 設定指令
控制增益設定指令用于設定位置、速度和電流控制的比例和積分常數。其指令格式如圖4所示。

運動(dòng)范圍設定指令用于設定機器人關(guān)節的極限位置,其指令格式如圖5所示。其中動(dòng)作端A和動(dòng)作端B分別表示正方向的最大和最小位置。

系統設定主要用于根據控制系統的需要設定各種系統數據。設定數據由一個(gè)字節的無(wú)符號數來(lái)表示。
2.3 詢(xún)問(wèn)指令
詢(xún)問(wèn)指令的主要功能是查詢(xún)各電機的位置、速度和電流數據,并且發(fā)信側只有接收到受信側返回的數據后才能發(fā)送下一個(gè)詢(xún)問(wèn)指令,即詢(xún)問(wèn)指令通過(guò)一問(wèn)一答的形式進(jìn)行通信。詢(xún)問(wèn)指令僅由命令字節組成。
位置詢(xún)問(wèn)指令的返信數據格式同圖3。
速度和電流詢(xún)問(wèn)指令的返信數據均只有一個(gè)命令字節和一個(gè)數據字節。其返信數據的格式如圖6所示。

3 通 信
3.1 控制系統連接方式
由于該控制器的通信接口為RS 485,PC機一般只有常用的RS 232串行通信口,主控微機通過(guò)將標準的RS 232C轉換為RS 485后與控制器連接。一個(gè)串口可接16個(gè)控制器??刂破靼ù?lián)通信接口,電機位置傳感器脈沖接收接口,電機電流檢測A/D轉換接口,PWM控制輸出接口和其他I/O接口。主控微機、控制器、驅動(dòng)器和電機的連接如圖7所示。

當主控微機對控制器進(jìn)行控制時(shí),所有的控制器均接收指令。每個(gè)控制器對接收的指令首先要進(jìn)行ID校驗,如果接收的數據ID與本身的ID號一致,則執行該指令,否則忽略該指令,如圖8所示。

3.2 通信時(shí)間
主控微機和控制器之間的通信速率為38 400 b/s。在每一個(gè)控制周期,設計了兩次接收和送信程序,即控制器在一個(gè)控制周期最多可同時(shí)接收和送出兩個(gè)字節的數據。需要注意的是,主控微機和控制器之間采用的是10位為一幀的異步串行通信方式,因此每個(gè)字節的通信時(shí)間還應包括幀的起始位和停止位的傳輸時(shí)間。若傳輸兩個(gè)字節的數據,則通信時(shí)間為[2×(8+2)×1 000]/38 400=0.521 ms,依此類(lèi)推,即可計算出各指令的通信時(shí)間。主要指令及其通信時(shí)間如表1所示。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>