基于PIC芯片嵌入式電機(jī)控制器的研究
3.3 通信錯(cuò)誤處理機(jī)制
由于外界干擾或電壓波動(dòng)等原因,主控微機(jī)和控制器之間的通信可能會(huì)出現(xiàn)錯(cuò)誤,導(dǎo)致數(shù)據(jù)丟失,受信側(cè)不能正常接收數(shù)據(jù)或系統(tǒng)運(yùn)行錯(cuò)誤。為了確保通信的連續(xù)性和可靠性,設(shè)計(jì)了通信錯(cuò)誤處理機(jī)制。
由于各指令的通信時(shí)間均在2 ms之內(nèi),如果受信側(cè)在2 ms之內(nèi)依然沒(méi)有接收到完整的數(shù)據(jù),則認(rèn)為通信出現(xiàn)錯(cuò)誤,系統(tǒng)將進(jìn)行恢復(fù)處理。受信側(cè)會(huì)把已接收的數(shù)據(jù)清零并等待重新接收,送信側(cè)將再次發(fā)送數(shù)據(jù)。如此循環(huán),如果發(fā)送三次之后依然不能恢復(fù)正常通信,系統(tǒng)將停止運(yùn)行。
3.4 通信協(xié)議軟件
通信協(xié)議軟件在Windows XP操作系統(tǒng)上用匯編語(yǔ)言開發(fā)而成,其編制方案簡(jiǎn)要介紹如下:
(1)主控微機(jī)發(fā)送數(shù)據(jù)
當(dāng)主控微機(jī)發(fā)送數(shù)據(jù)時(shí),需要自動(dòng)記錄指令的命令字節(jié),即需要記錄接收該指令的控制器ID號(hào)以及指令號(hào)Code。
(2)控制器接收數(shù)據(jù)
控制器接收數(shù)據(jù)時(shí),首先將會(huì)進(jìn)行ID校驗(yàn),如果一致則接收,然后根據(jù)指令號(hào)Code決定需要接收的數(shù)據(jù)字節(jié)數(shù)。如果指令I(lǐng)D號(hào)與自身的ID號(hào)不一致或者在2 ms內(nèi)沒(méi)有接收到完整的數(shù)據(jù),控制器將會(huì)把已接收的數(shù)據(jù)清零并等待主控微機(jī)重新發(fā)送。
(3)控制器發(fā)送數(shù)據(jù)
當(dāng)控制器接收到詢問(wèn)指令,并確認(rèn)ID一致后,將返回該指令的命令字節(jié)(ID+Code)和相應(yīng)的詢問(wèn)數(shù)據(jù)。對(duì)于控制指令和設(shè)定指令,則只返回一個(gè)命令字節(jié)(ID+Code)。
(4)主控微機(jī)接收數(shù)據(jù)
主控微機(jī)接收到控制器返回的數(shù)據(jù)后,對(duì)于控制和設(shè)定指令,將會(huì)把返回的數(shù)據(jù)與發(fā)送記錄相比較,如果一致則刪除發(fā)送記錄,否則,認(rèn)為通信有誤,進(jìn)行出錯(cuò)處理;對(duì)于詢問(wèn)指令,將把接收到的數(shù)據(jù)顯示或儲(chǔ)存以備后用。
4 實(shí) 驗(yàn)
圖9是開發(fā)出來(lái)的控制器和驅(qū)動(dòng)器。根據(jù)軟件設(shè)計(jì)方案編制和調(diào)試程序后進(jìn)行了位置控制、速度控制、電流控制的實(shí)機(jī)實(shí)驗(yàn)。
位置控制實(shí)驗(yàn)結(jié)果如圖10所示。位置控制的單位是編碼器的脈沖數(shù)(Pulse)。圖10指出當(dāng)目標(biāo)位置是2 795時(shí),位置控制能夠精確地控制電機(jī)到達(dá)指定的位置。通過(guò)多次重復(fù)實(shí)驗(yàn),其誤差均小于±0.2脈沖。
速度控制實(shí)驗(yàn)結(jié)果如圖11所示。速度控制以脈沖數(shù)/周期(Pulse/0.4 ms)為單位。
圖11指出當(dāng)目標(biāo)速度是30 Pulse/O.4 ms時(shí),速度控制能夠精確地控制電機(jī)以指定的速度運(yùn)行。通過(guò)多次重復(fù)實(shí)驗(yàn),其誤差均小于±2 Pulse/O.4 ms。
電流控制實(shí)驗(yàn)結(jié)果如圖12所示。電流控制以電機(jī)的額定電流與最大指令比(A/7 FH)為單位。圖12指出當(dāng)目標(biāo)電流是2 A時(shí),電流控制能夠精確地控制電機(jī)在指定的電流下運(yùn)行。通過(guò)多次重復(fù)實(shí)驗(yàn),其誤差均小于±O.1 A。
實(shí)驗(yàn)表明本文提出的控制器位置精度、速度精度、電流精度能滿足多軸服務(wù)機(jī)器人的需要。
5 結(jié) 語(yǔ)
提出的控制器為嵌入式服務(wù)機(jī)器人控制器的研究和開發(fā)提供了一種新的控制和通信模式。實(shí)驗(yàn)結(jié)果指出該控制器的控制精度能滿足多軸服務(wù)機(jī)器人的需要。該項(xiàng)目的研究將有助于推動(dòng)我國(guó)服務(wù)機(jī)器人控制器的發(fā)展,具有較好的應(yīng)用前景。
評(píng)論