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