




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、題 目 基于LM629的機器人單關(guān)節(jié)控制器設(shè)計 摘 要近年來隨著人工智能技術(shù)、計算機技術(shù)以及網(wǎng)絡(luò)技術(shù)等相關(guān)技術(shù)的飛速發(fā)展,機器人在各個領(lǐng)域已經(jīng)得到了廣泛的應(yīng)用,成為了一類關(guān)鍵的基礎(chǔ)裝備。機器人單關(guān)節(jié)控制器是機器人的重要組成部分,每個完整的機器人控制系統(tǒng)都是由單個的機器人單關(guān)節(jié)控制器所組成,因此機器人單關(guān)節(jié)控制器對機器人控制系統(tǒng)起著決定性的作用。LM629是美國國家半導(dǎo)體公司生產(chǎn)的可編程全數(shù)字精密運動控制芯片,內(nèi)置PID算法和梯形圖發(fā)生器能夠自動生成速度曲線,平穩(wěn)地加速、減速。本文采用LM629精密運動控制芯片、AT89C51CC03單片機和少量的驅(qū)動電路構(gòu)成了基于LM629和CAN總線的機器人
2、單關(guān)節(jié)控制器。實驗表明,由AT89C51CC03和LM629建立的CAN總線的機器人單關(guān)節(jié)控制器,不僅簡化了機器人控制系統(tǒng)軟、硬件設(shè)計,提高系統(tǒng)可靠性,減輕設(shè)計工作量,而且提高了系統(tǒng)性能,具有反應(yīng)快,控制精度高、實時性能好等優(yōu)點。通過對機器人單關(guān)節(jié)控制器的軟硬件設(shè)計和反復(fù)的調(diào)試,所制作的機器人單關(guān)節(jié)控制器已經(jīng)初步完成了預(yù)定的功能。AT89C51CC03單片機對LM629進行控制和初步的數(shù)據(jù)處理,通過CAN現(xiàn)場總線與主機或其他設(shè)備進行實時通信,可以組成現(xiàn)場總線控制系統(tǒng)。在本次畢業(yè)設(shè)計中完成了機器人單關(guān)節(jié)控制器的設(shè)計制作及軟件系統(tǒng)的設(shè)計調(diào)試。關(guān)鍵詞 LM629運動控制器 51單片機 CAN總線 T
3、itle Design of Simplex Articulatory Controller of Robot Based on LM629 AbstractIn recent years, with correlation technology, artificial intelligence technology, computer technology as well as networking rapid development, robot has already obtained application widespread in each domain and become a
4、kind of essential foundation equipment. The simplex articulatory controller of robot is one of the most constituent of robot. Each complete control system of robot is composed by the simplex articulatory controller of robot. Therefore, the simplex articulatory controller of robot is playing the deci
5、sive role in the control system of robot. LM629 is a programmable control chip of precise movement which produced by Semiconductor Company in USA. It contains the PID algorithm and the trapezoidal chart generator which can produce the velocity curve automatically, acceleration and deceleration stead
6、ily. This article used the LM629, AT89C51CC03 and a few actuation electric circuits to constitute the simplex articulatory controller of robot based on LM629 and CAN bus. The experiment indicates the simplex articulatory controller of robot which is made up by AT89C51CC03 and LM629 can simplify desi
7、gn of the robot control system of software and hardware, enhance reliability of the system, reduce work load of the design. It has merits including respond quickly control precision high, real time and so on. By the debugging repeatedly and design of software and hardware, the simplex articulatory c
8、ontroller of robot has already completed the predetermined function initially. The AT89C51CC03 carries on the control and the preliminary data processing to LM629, carries on the real-time communication through the CAN bus and the main engine or other equipment, may compose the field bus control sys
9、tem. It has completed manufacture of the simplex articulatory controller of robot and debugging of the software system in this project.Keywords LM629 movement controller 51 MCU CAN bus目 次1 緒論11.1 機器人單關(guān)節(jié)控制器的研究背景及應(yīng)用11.2 機器人單關(guān)節(jié)控制器研究現(xiàn)狀22 機器人單關(guān)節(jié)控制器的主體設(shè)計42.1 機器人單關(guān)節(jié)控制器的總體設(shè)計42.2 機器人單關(guān)節(jié)控制器的方案論證52.3 機器人單關(guān)節(jié)控制器
10、的組成83 LM629運動控制器選擇93.1 LM629的特點93.2 LM629的操作理論93.3 LM629讀和寫操作113.4 旋轉(zhuǎn)編碼器接口124 CAN現(xiàn)場總線134.1 CAN通信協(xié)議134.2 CAN控制器配置145 機器人單關(guān)節(jié)控制器硬件設(shè)計165.1 位置檢測模塊設(shè)計165.2 運動模塊設(shè)計175.3 CAN通訊模塊設(shè)計226 機器人單關(guān)節(jié)控制器軟件設(shè)計326.1 單片機的C語言程序設(shè)計說明336.2 系統(tǒng)對象字典346.3 控制器總體程序流程圖357 機器人單關(guān)節(jié)控制器的制作及調(diào)試36結(jié) 論37致 謝38參 考 文 獻39附 錄A . 40附 錄B . 41附 錄C . 4
11、6緒論 機器人單關(guān)節(jié)控制器的研究背景及應(yīng)用 機器人單關(guān)節(jié)控制器的研究背景近年來隨著人工智能技術(shù)、計算機技術(shù)以及網(wǎng)絡(luò)技術(shù)等相關(guān)技術(shù)的發(fā)展,對智能機器人的研究越來越多。機器人控制器成為各種智能控制方法(包括動態(tài)避障、群體協(xié)作策略)的良好載體;同時,以現(xiàn)場總線為代表的控制網(wǎng)絡(luò)在工業(yè)以及其他控制系統(tǒng)中扮演著不可缺少的角色。機器人控制系統(tǒng)開始從集散控制系統(tǒng)(DCS)向現(xiàn)場總線控制系統(tǒng)(FCS)過度,現(xiàn)場總線將成為控制領(lǐng)域的主流。CAN總線由于具有可靠性高、成本低、容易實現(xiàn)等優(yōu)點,在控制系統(tǒng)中得到廣泛的應(yīng)用。由于機器人的各個組成部分構(gòu)成網(wǎng)絡(luò)化的分布式系統(tǒng),為了開展多智能的調(diào)度、規(guī)劃等控制,所以對機器人控制
12、器的研究越來越受到重視。特別是在智能工程、控制工程以及機器人工程等領(lǐng)域起著舉足輕重的作用。機器人控制系統(tǒng)之間的雙向信息交換和實時數(shù)據(jù)傳輸需通過控制器來完成,因此其控制器的運算工作量和通信工作量都很大。如果采用集中控制,CPU的運算速度難以滿足實時性和高保真的性能要求。采用基于現(xiàn)場總線的分布式控制,把大量的伺服控制和傳感器信息處理放在每個智能控制器節(jié)點來處理,有利于進一步提高控制系統(tǒng)的性能。機器人單關(guān)節(jié)控制器的傳感器較多,線路比較復(fù)雜,線束的布局往往直接影響系統(tǒng)的性能。大量的布線不僅影響使用和維修,而且也不美觀。 機器人單關(guān)節(jié)控制器的主要應(yīng)用機器人單關(guān)節(jié)控制器針對于各種智能機器人、工業(yè)機器人、航
13、天機器人等的設(shè)計,對機器人各個關(guān)節(jié)進行實時的控制,因此機器人單關(guān)節(jié)控制器不僅可以對機器人的各個關(guān)節(jié)控制進行管理,而且在各個智能節(jié)點設(shè)備,也可以應(yīng)用,特別是在研究和開發(fā)領(lǐng)域,更是不可或缺的工具。機器人單關(guān)節(jié)控制器作為一種很有潛力的高級機器人技術(shù),在航天、軍工、核工業(yè)、深海探測等特殊工作環(huán)境下正在大顯身手,而且在微創(chuàng)手術(shù)、生物醫(yī)學(xué)、虛擬現(xiàn)實和地下開采等領(lǐng)域也扮演著越來越重要的角色。機器人單關(guān)節(jié)控制器是系統(tǒng)的關(guān)鍵設(shè)備,其性能好壞直接影響整個系統(tǒng)的可靠、穩(wěn)定性。 機器人單關(guān)節(jié)控制器研究現(xiàn)狀國外研究現(xiàn)狀國外的研究成果:目前,美國、英國、日本、新加坡、德國、法國、澳大利亞等國家都早已研制出機器人單關(guān)節(jié)控制
14、。如:東芝試制家用機器人“ApriAlpha” 該概念模型配備了新開發(fā)的利用分散對象技術(shù)的開放式機器人控制器,因此可以很容易追加新功能。另外該公司建立了利用分散對象技術(shù)的“開放式機器人控制器架構(gòu)(ORCA)”并且基于該架構(gòu)新開發(fā)出控制器。采用模塊化設(shè)計的IRC5控制器是ABB公司最近推出的第五代機器人控制器,它標志著機器人控制技術(shù)領(lǐng)域的一次最重大。值得指出的是,由于將處理速度更高的微處理器引入至機器人控制器,從而顯著地提高了機器人運動控制性能,使機器人制造商能將諸如減振算法、前饋控制、預(yù)測算法等先進的現(xiàn)代控制理論嵌入到機器人控制器內(nèi)。圖1-1為帶機器人單關(guān)節(jié)控制器的機械手實物照片:圖1-1 帶
15、機器人單關(guān)節(jié)控制器的機械手實物照片國內(nèi)研究現(xiàn)狀我國目前的研究狀況:國家863計劃在“八五”、“九五”和“十五”期間分別將機器人技術(shù)作為主題,制定了相應(yīng)的高技術(shù)研究發(fā)展規(guī)劃?!鞍宋濉逼陂g重點圍繞惡劣環(huán)境的室外移動機器人,用于處理核廢料的遙控移動作業(yè)機器人,壁面爬行機器人,水下無纜自治機器人,高精度裝配機器人等五種類型開展先進機器人控制技術(shù)研究?!熬盼濉逼陂g重點圍繞汽車,家電等工業(yè)機器人產(chǎn)業(yè)化與以水下6000米機器人為代表的特種機器人等方面開展了先進機器人關(guān)鍵技術(shù)與應(yīng)用示范研究。“十五”期間進一步拓寬了機器人技術(shù)向自動化裝備技術(shù)方面的發(fā)展,一方面圍繞國家急需的關(guān)鍵基礎(chǔ)裝備,包括高精尖數(shù)控機床,全斷
16、面盾構(gòu)掘進機與工程機械自動化生產(chǎn)線等開展了相應(yīng)關(guān)鍵技術(shù)與應(yīng)用示范研究另一方面圍繞國家社會發(fā)展需求的機器人與自動化裝備,包括深海載人潛器、仿人仿生機器人,危險作業(yè)與反恐防爆機器人醫(yī)療外科機器人等方面 開展了先進機器人控制器研究。機器人控制器在我國應(yīng)用的主要問題是:機器人控制器價格昂貴,許多企業(yè)和科學(xué)研究機構(gòu)無法接受;機器人控制器的許多標定基礎(chǔ)是以外國標準進行的,由于技術(shù)保密,系統(tǒng)參數(shù)的修定只能由機器人控制器生產(chǎn)廠家來進行,無法適應(yīng)我國產(chǎn)品品種多的現(xiàn)狀??傊?,無論從高校還是從企業(yè)來看,對機器人控制器的研究都已有很大的進展,雖然還是落后于發(fā)達國家的研究水平,但隨著我國對科研研究力度的加大,對機器人單
17、關(guān)節(jié)控制的研究將更為深入,相信在不久的將來會研制出更加先進的機器人控制器。 機器人單關(guān)節(jié)控制器的主體設(shè)計機器人單關(guān)節(jié)控制包括硬件電路和軟件系統(tǒng)。硬件電路是軟件系統(tǒng)的載體,因此,設(shè)計機器人單關(guān)節(jié)控制的電氣部分先得確定硬件電路的設(shè)計方案,然后再通過軟件系統(tǒng)控制其工作。 機器人單關(guān)節(jié)控制器的總體設(shè)計 總體設(shè)計思想 基于LM629精密運動控制器,利用CAN現(xiàn)場總線與其他設(shè)備控制器進行通信。通過調(diào)研決定選取單片機AT89C51CC03作為控制器的核心,C語言作為設(shè)計程序語言。機器人單關(guān)節(jié)控制總體設(shè)計方框圖如下圖2-1:圖2-1機器人單關(guān)節(jié)控制總體設(shè)計方框圖 擬解決的主要問題和研究的主要內(nèi)容擬解決的主要問
18、題:微處理芯片(AT89C51CC03)硬件電路設(shè)計及用高級語言C的程序設(shè)計;LM629精密運動控制芯片的硬件電路設(shè)計及程序設(shè)計;CAN現(xiàn)場總線通信的軟件設(shè)計;擬研究的主要內(nèi)容:AT89C51CC03的接口電路設(shè)計及C語言編程與PCB圖的設(shè)計;選擇LM629精密運動控制芯片以及光電編碼器的確定;CAN現(xiàn)場總線原理及應(yīng)用; 機器人單關(guān)節(jié)控制器的方案論證 硬件電路的方案AT89C51CC03是ATMEL公司推出的一款內(nèi)帶CAN控制器增強型80C51單片機。由于內(nèi)置CAN控制器,具有抗干擾能力強和性能價格比高等優(yōu)點,特別是在機器人控制和實時通訊方面更具有其獨特的魅力。AT89C51CC03具有完善的
19、CAN控制器,利用TXDC和RXDC兩個引腳來作為CAN通信接口。通過此功能可以方便的組成基于CAN總線的分布式控制系統(tǒng),實現(xiàn)數(shù)據(jù)的實時傳輸和交換。AT89C51CC03單片機內(nèi)部嵌入的ADC模塊具有10位數(shù)字量精度,共有8個模擬通道,不用外加專門的ADC即可以對模擬信號進行數(shù)字信號的轉(zhuǎn)化。因此,AT89C51CC03可以作為機器人單關(guān)節(jié)控制器的微處理器。如圖2-2 AT89C51CC03片內(nèi)資源示意圖:圖2-2 AT89C51CC03 片內(nèi)資源示意圖如圖2-3 AT89C51CC03片PLCC封裝的外觀示意圖:圖2-3 AT89C51CC03的PLCC封裝的外觀示意圖AT89C51CC03增
20、強型51單片機的主要特點:80C51內(nèi)核;256 B的片內(nèi)RAM;2K的片內(nèi)ERAM;2K的EEPROM;雙數(shù)據(jù)指針;64KB片內(nèi)可編程序Flash存儲器;14個中斷向量,其具有4個優(yōu)先級的中斷;工作時鐘頻率2MHz60MHz;3級程序存儲器保密;32+4個可編程I/O口;3個16位定時器/計數(shù)器;1個21位的看門狗;5通道16位的PCA;8通道10位的ADC;CAN控制器,全面支持CAN2.0A、CAN2.0B協(xié)議; 軟件系統(tǒng)的方案在編寫單片機程序時,可以用匯編語言編寫,也可以用C高級語言來編寫,還可以用兩者混合編程。C語言作為高級語言,它更接近和體現(xiàn)人的設(shè)計思想;C高級語言是目前流行的一種
21、計算機語言,它主要用于單片機和一般微型計算機。C高級語言程序設(shè)計快、可讀性好、可靠性高、可移植性好、代碼轉(zhuǎn)換質(zhì)量高。單片機C高級語言的特點是同時兼有高級語言和匯編語言的優(yōu)點,還能像匯編語言那樣直接利用CPU的硬件特性進行程序設(shè)計,直接操作單片機的硬件和接口。C高級語言目標模塊還可以同匯編連接組成一個完整的程序,目前在單片機應(yīng)用領(lǐng)域,C高級語言越來越受到人們的重視。使用C高級語言的工作效率高,其生成的機器代碼質(zhì)量也是高水平的。 總體方案的確定總體方案:基于LM629運動控制芯片和內(nèi)帶CAN控制器的AT89C51CC03單片機構(gòu)成的機器人單關(guān)節(jié)控制器,機器人單關(guān)節(jié)控制器示意圖如下圖2-4所示。運動
22、控制芯片LM629通過8位數(shù)據(jù)線和6根控制線與單片機AT89C51CC03的IO 口相連。單片機通過數(shù)據(jù)線向LM629發(fā)送位置或速度命令、設(shè)定PID調(diào)節(jié)參數(shù),或者從LM629中讀取速度、加速度等數(shù)值。LM629輸出的脈寬調(diào)制幅度信號和方向信號,經(jīng)過功率放大后驅(qū)動直流電動機。增量式光電編碼器提供閉環(huán)控制所需的反饋信號(A、B、IN),梯形圖發(fā)生器計算出位置或速度模式下所需控制的運動軌跡。AT89C51CC03為LM629提供加速度、速度和目標位置量,在每個采樣周期用這些值來計算出新的命令和位置給定值,將其作為指令值。由增量式光電編碼器檢測電動機的實際位置,其輸出信號經(jīng)過LM629四倍頻后進行解碼
23、,形成位置反饋值。指令值與反饋值的差值作為數(shù)字PID校正環(huán)節(jié)的輸入。通過數(shù)字調(diào)節(jié)器PID計算,LM629輸出脈寬調(diào)制信號PWMM 和方向信號PWMS用于控制,進而驅(qū)動電動機運動到指定的位置。LM629在進行位置控制的同時,還對速度進行控制。LM629在接受到主機送來的位置信號后,按梯形圖生成加速、勻速、減速的速度曲線,曲線與坐標橫軸所包圍的面積就是指定的位置。PID算法中的比例、積分和微分系數(shù)有時需要進行修改,因此將它們存貯在單片機的中。控制器和主機可以通過CAN現(xiàn)場總線進行實時通信。機器人單關(guān)節(jié)控制器示意圖如圖2-4所示: 圖2-4 機器人單關(guān)節(jié)控制器示意圖 機器人單關(guān)節(jié)控制器的組成基于LM
24、629的機器人單關(guān)節(jié)控制器,由傳感器電路,控制電路,單片機接口電路,CAN現(xiàn)場總線接口電路以及應(yīng)用程序軟件等組成。傳感器電路:把位移信號和轉(zhuǎn)數(shù)信號轉(zhuǎn)化成電信號。傳感器電路是機器人單關(guān)節(jié)控制器的輸入部分,是系統(tǒng)的數(shù)據(jù)源??刂齐娐罚簩?shù)據(jù)的采集、初步處理和執(zhí)行控制的芯片,并通過接口電路與單片機進行數(shù)據(jù)傳輸。單片機接口電路:單片機和運動控制芯片以及CAN現(xiàn)場總線通信接口所需要的電路。單片機接口電路是機器人單關(guān)節(jié)控制器數(shù)據(jù)交換及控制處理的基礎(chǔ)。CAN現(xiàn)場總線接口電路:對單片機傳來的數(shù)據(jù)通過接口電路與主機或者其他設(shè)備控制器進行數(shù)據(jù)傳輸。 LM629運動控制器選擇LM629致力于運動控制處理器與一些直流和
25、無刷直流飼服電動機或其他具有積分增量位置反饋信號的伺服機制的設(shè)計。這部分執(zhí)行高精密數(shù)字運動控制所要求的精密實時計算任務(wù)。微處理器控制軟件接口因一個高級別命令集而更便利。LM629有8位輸出,這8位輸出可驅(qū)動一個8位或12位的DAC。這個組成需要建立一個伺服系統(tǒng)簡化直流電動機/驅(qū)動器、旋轉(zhuǎn)編碼器、數(shù)模轉(zhuǎn)換、功率放大器和LM629。它提供一個8位脈寬調(diào)制(PWM)輸出,用于直接驅(qū)動H開關(guān)(H-switches)。這部分在NMOS中制作并封裝為28管腳雙列直插形式或24管腳貼片封裝形式。最大頻率為6MHZ和8MHZ的版本均用到后綴-6或-8,分別地用于表示不同的版本。它們由SDA把SDA中心處理器和
26、單元設(shè)計為一體?;谝陨现T多優(yōu)點,我們選擇LM629作為機器人單關(guān)節(jié)控制器的運動控制芯片。LM629的特點32位位置、速度和加速度寄存器16位的可編程數(shù)字化PID過濾器可編程微分采樣周期8位或12位DAC輸出數(shù)據(jù)(LM628)8位信號級PWM輸出數(shù)據(jù)(LM629)內(nèi)部梯形速率特性發(fā)生器在運動期間可以改變速率、目標位置和過濾器參數(shù)位置和速度兩種操作模塊實時可編程微處理器中斷8位異步并行微處理器接口標準脈沖輸入的積分增量編碼器在28管腳雙列直插式封裝或一個24管腳貼片封裝的優(yōu)點(只有LM629) LM629的操作理論應(yīng)用LM629建立一個伺服系統(tǒng)。微處理器通過I/O端口與LM629通信更易規(guī)劃梯形
27、速度特性和數(shù)字補償濾波器。DAC輸出送入外部數(shù)模轉(zhuǎn)換器產(chǎn)生功率放大的信號且驅(qū)動電動機運動。旋轉(zhuǎn)編碼器為趨近位置提供反饋伺服回路。梯形速度特性發(fā)生器為位移操作模式或速度操作模式計算所要求的軌跡。在操作狀態(tài),LM629用期望位置(特性發(fā)生器位置)減去實際位置(反饋位置)得到位置偏離被數(shù)字過濾器用來驅(qū)動電動機運動到期望位置。 位置反饋接口LM629經(jīng)由旋轉(zhuǎn)編碼器接入電動機,提供了三個輸入端:兩個積分信號輸入和一個標準脈沖輸入。積分信號用于保持電動機的精密位置軌跡。每次一個積分輸入出現(xiàn)邏輯變換時,LM629的內(nèi)部位置寄存器隨之增加或減少。編碼器提供的周期被四倍頻。每個編碼器信號輸入與LM629時鐘同步
28、。一些編碼器提供的可選INDEX 脈沖輸出每旋轉(zhuǎn)一周呈現(xiàn)一個邏輯低電平狀態(tài)。如果用戶使用LM629這樣編程,當三個編碼器輸入都是邏輯低電平時將把絕對的電動機位置記錄到專用的寄存器。 速度軌跡發(fā)生梯形速率特性發(fā)生器計算電動機相對時間的期望位置。在位置操作模式,微處理器詳細說明加速度,最大速率和最終位置。LM629利用這些數(shù)據(jù)通過標明的加速度影響運動直到達到最大速率或直到在標明的最終位置減速度開始停止。減速度等于加速度。在運動過程的任何時刻,最大速率和/或目標位置可以改變,而且電動機將相應(yīng)地加速或減速。當在速率模式操作時,電動機以指定的加速度加速到指定的速度而且保持指定的速率直到命令結(jié)束。以不變速
29、度接近期望位置保持速率。如果在速率操作模式運動有干擾,長期的平均速度保持不變。如果電動機不能保持指定的速率(例如閉環(huán)引起的),期望位置將繼續(xù)增加,結(jié)果導(dǎo)致非常大的位置偏差。如果這種情形沒被發(fā)覺,對電動機的壓迫力隨之減小,電動機為了與預(yù)期位置(仍然是被指定的期望值)一致會達到一個很高的速率。這種情形很容易被發(fā)覺。 PID反饋濾波器 LM629運用PID濾波器補償控制環(huán)。通過應(yīng)用一個與位置偏差成比例的恢復(fù)力加于電動機上,電動機在期望位置有效,加上偏差的積分,加上偏差的微分。下面的離散時間等式說明了LM629的控制執(zhí)行:在這里u(n)為電動機在采樣時間n的控制信號輸出,e(n)為在采樣時間n的位置偏
30、差,n表示微分采樣速度,而且kp,ki,kd為用戶下載的離散時間濾波器參數(shù)。第一個階段,比例階段,提供一個與位置偏差成比例的恢復(fù)力。第二個階段,積分階段,提供一個隨著時間增長的恢復(fù)力,而且因此確保靜態(tài)位置偏差為0。第三個階段,微分階段,提供一個與位置偏差的變化速率成比例的壓力。在操作中,濾波器運算法則接收從總的連接回路得來的16位偏差信號。這個偏差信號充滿16位以保證可預(yù)知的行為。另外乘上濾波器參數(shù)kp,偏差信號加到先前的偏差上(組成積分信號),而且以所選擇的積分采樣周期所確定的速度,再減去先前的偏差(從積分信號)。所有濾波器乘法都為16位操作;只有乘積的底部16位有用。 積分信號保持24位,
31、但只有頂部16位有用。這個測量技術(shù)結(jié)果導(dǎo)致參數(shù)ki值的更可用(不敏感)范圍。這16位正好轉(zhuǎn)換為8位且與濾波器參量ki相乘組成一組由于電動機控制輸出。這個乘積的相對級與參數(shù)il相比較,而且至少適當?shù)貥擞浟咳缓蠹尤腚妱訖C控制信號。每個微分采樣周期,微分信號與參數(shù)kd相乘。這個乘積加入到每個采樣周期的電動機控制輸出,獨立于用戶所選擇的微分采樣周期。kp,限制的ki和kd產(chǎn)生階段被相加組成一個16位數(shù)。依賴于輸出模式(字號),高8位或高12位成為電動機控制輸出信號。 LM629讀和寫操作 當端口選擇端(PS)為邏輯低電平時,微處理器通過主機I/O端口向LM629寫入數(shù)據(jù)。期望命令編碼應(yīng)用到并行端口且寫
32、輸入被激活。當WR輸入為上升沿時命令字鎖入LM629。當寫命令字時需要首先讀狀態(tài)字而且核對被稱作“busy bit”(Bit0)的狀態(tài)。當busy bit為邏輯高電平時,不會發(fā)生命令寫狀態(tài)。busy bit決不可能保持邏輯高電平狀態(tài)長于100ps,而且在15到25ps之內(nèi)顯著降低。 微處理器用相似的方法讀LM629的狀態(tài)字:當PS為邏輯低電平時激活讀(RD)輸入;當RD為低電平時狀態(tài)信息保持不變。當PS(Pin 16)邏輯高電平時發(fā)生寫和讀數(shù)據(jù)到/從LM629(就像寫命令和讀狀態(tài))。這些寫和讀通常是雙字節(jié)字的整數(shù)(從1到7),而且每個字的首字節(jié)更為重要。每個字節(jié)都需要寫(WR)或讀(RD)觸發(fā)
33、。當傳輸數(shù)據(jù)字時,需要首先讀狀態(tài)字和核對 “busy bit”的狀態(tài)。當busy bit為邏輯低電平時,用戶可以隨之傳輸一個數(shù)據(jù)字的雙字節(jié),但busy bit必須重新核對而且在試圖傳輸下一個字節(jié)前被確認為邏輯低電平(當傳輸多字節(jié)字時)。數(shù)據(jù)傳輸通過LM629內(nèi)部中斷完成;當LM629可能不對數(shù)據(jù)傳輸(或命令字)產(chǎn)生中斷時,busy bit將通告微處理器。當busy bit為高電平時寫命令,命令將被忽略。當寫命令字或讀或?qū)憯?shù)據(jù)的第二個字節(jié)時,busy bit迅速變?yōu)檫壿嫺唠娖健?旋轉(zhuǎn)編碼器接口 旋轉(zhuǎn)(位置反饋)編碼器接口由三相組成:相A(管腳2),相B(管腳3)和標準脈沖(管腳1)。標準脈沖輸出
34、對一些編碼器無效。LM629將與兩種編碼器類型工作,但命令SIP和RDIP在沒有標準脈沖時沒有意義(或者為了這個輸入選擇兩個輸入中的一個,要確定不使用時將管腳1置為高電平)。一些注意事項相對于使用在高高斯噪音環(huán)境下有更多優(yōu)點。如果噪音添加入編碼器輸入(一個或兩個輸入)且直到下一個編碼器轉(zhuǎn)換才持續(xù),LM628譯編器邏輯將拒絕它。模仿積分數(shù)值或經(jīng)由編碼器轉(zhuǎn)換的噪音必須通過近似EMI設(shè)計來消除。簡易數(shù)字過濾設(shè)計僅僅減小噪音的易感性(這將會總是有寬于過濾器可以消除的噪音脈沖)。此外,任何噪音過濾設(shè)計都將減小譯碼器帶寬。在LM629中已經(jīng)規(guī)定不包括有利于提供最大可能譯碼器帶寬的噪音過濾器(由于簡易過濾不
35、消除噪音的問題)。試圖驅(qū)動與簡單TTL線相當長距離的編碼器信號也能以信號衰減(短暫的上升時間和/或響聲)的形式成為“噪音”的一個來源。這也能引起一個系統(tǒng)丟失位置的完整性。也許能通過在編碼器輸入上使用平衡鏈驅(qū)動器和接收器擁有對噪音感應(yīng)更有效的對策。LM628/LM629芯片圖如下圖3-1所示:圖3-1 LM628/LM629芯片圖 CAN現(xiàn)場總線 CAN通信協(xié)議CAN通信協(xié)議2.0B規(guī)定了4種不同的幀格式:數(shù)據(jù)幀、遠程幀、錯誤幀和超載幀。其中數(shù)據(jù)幀用來傳輸數(shù)據(jù)的,遠程幀用于請求數(shù)據(jù),超載幀用于擴展幀序列的延遲時間,而當局部檢測出錯條件后產(chǎn)生一個全局信號出錯幀。在這里,我們使用的是CAN2.0B協(xié)
36、議。 CAN2.0B標準幀CAN標準信息幀為11個字節(jié),包括兩部分:信息和數(shù)據(jù)部分。前3個字節(jié)為信息部分,如表4-1所示:表4-1 CAN2.0B標準幀7654321字節(jié)1FFRTRXXDLC(數(shù)據(jù)長度)字節(jié)2(報文識別碼)ID.10ID.3字節(jié)3ID.2ID.0RTR字節(jié)4數(shù)據(jù)1字節(jié)5數(shù)據(jù)2字節(jié)6數(shù)據(jù)3字節(jié)7數(shù)據(jù)4字節(jié)8數(shù)據(jù)5字節(jié)9數(shù)據(jù)6字節(jié)10數(shù)據(jù)7字節(jié)11數(shù)據(jù)8注:字節(jié)1為幀信息:第7位(FF)表示幀格式,在標準幀中,F(xiàn)F=0;第6位(RTR)表示幀的類型,RTR=0表示為數(shù)據(jù)幀,RTR=1表示為遠程幀;DLC表示在數(shù)據(jù)幀時實際的數(shù)據(jù)長度。字節(jié)2、字節(jié)3為報文識別碼,11位有效。字節(jié)4字
37、節(jié)11為數(shù)據(jù)幀的實際數(shù)據(jù),遠程幀時無效。 CAN 2.0B擴展幀CAN擴展幀信息為13B,包括兩部分:信息和數(shù)據(jù)部分。前5個字節(jié)為信息部分,如表4-2所示:表4-2 CAN2.0B擴展幀7654321字節(jié)1FFRTRXXDLC(數(shù)據(jù)長度)字節(jié)2(報文識別碼)ID.28ID.21字節(jié)3ID.20ID.13字節(jié)4ID.12ID.5字節(jié)5ID.4ID.0XXX字節(jié)6數(shù)據(jù)1字節(jié)7數(shù)據(jù)2字節(jié)8數(shù)據(jù)3字節(jié)9數(shù)據(jù)4字節(jié)10數(shù)據(jù)5字節(jié)11數(shù)據(jù)6字節(jié)12數(shù)據(jù)7字節(jié)13數(shù)據(jù)8至于數(shù)據(jù)幀對于不同的CAN上層協(xié)議,存在著不同的定義,本機器人單關(guān)節(jié)控制器使用的是CAN2.0B標準幀,應(yīng)用層由用戶定義,因為CAN只提供了
38、物理層和數(shù)據(jù)鏈路層。 CAN控制器配置CAN控制器在應(yīng)用時,根據(jù)所要完成功能的不同而需要做的不同配置做具體描述。這包括報文對象初始化處理、發(fā)送對象配置、接收對象配置、中斷處理配置;另外,還有發(fā)送對象、位定時寄存器等配置。報文對象初始化處理報文RAM中的報文對象配置在使用前必須由CPU來初始化為零或者被設(shè)置為無效。報文對象的配置是通過相應(yīng)的接口寄存器來設(shè)置其屏蔽碼、仲裁場、控制場和數(shù)據(jù)場值,而這一設(shè)置過程由相應(yīng)的命令寄存器來完成。當CAN控制寄存器中的GRES位置零,CAN控制器中的協(xié)議控制器、狀態(tài)機制和報文處理機將控制CAN的內(nèi)部數(shù)據(jù)流。接收到的報文通過接收濾波后都存放在報文RAM中,而得到傳
39、輸請求的報文都要移入CAN控制器的移位寄存器中并通過CAN總線傳出。發(fā)送對象的配置當報文對象作為發(fā)送對象時,仲裁寄存器將被應(yīng)用,它們定義了即將發(fā)送的報文識別符和類型,如果使用11位識別符(標準幀),那么使用的是ID0ID11,而ID12ID28將被忽視。如果TxIE位被置位,則TxOK位在此報文對象被成功發(fā)送后被置位;如果RxENA位被置位,在接收到匹配的遠程幀將引起TxRqst位被置位。若數(shù)據(jù)寄存器將被使用,TxRqst和RxENA在數(shù)據(jù)有效前不會被置位。屏蔽寄存器可以用來允許相同識別符的數(shù)據(jù)幀組被接收。中斷處理在所有中斷中,狀態(tài)中斷具有最高優(yōu)先級,報文對象的中斷優(yōu)先級隨著報文編號的增大而減
40、小。如果有幾個中斷產(chǎn)生,那么CAN中斷寄存器將指向優(yōu)先級最高的中斷,而不是按中斷先后順序排列。狀態(tài)中斷通過讀取狀態(tài)寄存器來清除,報文中斷通過清除報文對象的ENCH n位來清除。處于中斷寄存器中的中斷識別符ENCH n能表明中斷的原因,如果這個寄存器的值為0,沒有中斷產(chǎn)生;否則,有中斷發(fā)生。CPU控制著狀態(tài)寄存器的改變是否可以引起中斷;當中斷寄存器的值不為0(CANCONCH控制寄存器中的IE位)時中斷隊列是否有效。CPU有兩種方式判斷報文中斷源,每一種是判斷中斷寄存器中的ENCH n位;另一種是順序掃描中斷發(fā)生寄存器。 機器人單關(guān)節(jié)控制器硬件設(shè)計機器人單關(guān)節(jié)控制器硬件電路是控制系統(tǒng)的載體,主要
41、包括位置檢測模塊、運動模塊和CAN通訊模塊。位置檢測模塊用于把采集過來的信號處理為控制器可以識別的信號;CAN通訊模塊用于電平轉(zhuǎn)換以使其他機器通過CAN協(xié)議通信;運動模塊用于控制運動。AT89C51CC03單片機是數(shù)據(jù)通信和控制的核心,也是位置檢測模塊、運動模塊和CAN通訊模塊不可或缺的組成部分。 位置檢測模塊設(shè)計機器人控制器主要有兩種傳感器,一種是用于感知機器人局部環(huán)境的紅外傳感器;另外一種則是檢測電動機軸位置的增量式光電編碼器。本文主要介紹電動機軸位置反饋信號的檢測,采用檢測電動機軸位置的增量式光電編碼器。電路將增量式光電編碼器輸出的差動信號(A+、A-、B+、B-、,Z+、,Z-)經(jīng)過A
42、M26LS32差分放大器合成單端信號A、B、IN。合成后的單端信號A、B、IN分別與LM629的管腳A 、B、IN相連。利用差動信號傳輸,可以有效地解決干擾問題和遠距離傳輸問題。為了進一步消除干擾,在輸入端每根線上都加上一個濾波電容,在每根差動的信號線上接一個用于線路阻抗匹配的限流電阻。增量式碼盤反饋的脈沖信號經(jīng)過四倍頻后,提高了分辨率。A和B的邏輯狀態(tài)每改變一次,LM629的位置寄存器就加(減)1。當碼盤的A、 B、IN都為低電平時,產(chǎn)生一個Index信號送人寄存器,記錄電動機的絕對位置。圖5-1為位置檢測模塊電路,其中CON8為增量式旋轉(zhuǎn)編碼器接口。圖5-1 位置檢測模塊電路 運動模塊設(shè)計
43、 運動模塊電路運動模塊的核心芯片是LM629精密運動控制器。LM629精密運動控制器的8位數(shù)據(jù)口D0D7與AT89C51CC03單片機的P0.0P0.7口相連,單片機的P1.0與LM629的CS片選端相連,用于控制片選(低電平有效)。AT89C51CC03單片機的P3.7、P3.6(RD、WR)分別與LM629的讀/寫端(RD、WR)相連,用于控制讀/寫操作(低電平有效)。AT89C51CC03單片機的P1.1與LM629的命令/數(shù)據(jù)控制端(PS)相連,用于控制命令/數(shù)據(jù)。LM629接收來自AT89C51CC03單片機的位置、速度或加速度等命令,經(jīng)過內(nèi)部梯形圖發(fā)生器和PID調(diào)節(jié)器的運算,輸出脈
44、寬調(diào)制信號和方向信號,由引腳PWMM(脈寬調(diào)制信號)和PWMS輸出(方向控制信號)。功率放大部分主要由L298N芯片和續(xù)流二極管組成。L298N是雙極性H橋功率放大驅(qū)動器,與LM629輸出信號PWMM和PWMS通過一個邏輯門電路相連,控制直流電機的正、反轉(zhuǎn)和停止。LM629精密運動控制器與AT89C51CC03單片機的連接電路如下圖5-2所示:圖5-2 LM629與AT89C51CC03接口電路 運動控制初始化LM629準備工作前,必須初始化LM629運動控制芯片,設(shè)置各個控制參數(shù),否則LM629將無法正常工作。在初始化時,首先復(fù)位LM629,向LM629寫入控制命令字0X00,將命令字寫入L
45、M629控制寄存器中,等待LM629空閑時再進行下一個命令字的輸入。然后設(shè)置LM629輸出為8位,定義零位,設(shè)置中斷等操作。LM629初始化過程如下圖5-3所示:NY定義零位 0X02設(shè)置輸出端口碼為8位復(fù)位LM629寫入命令字0X00將命令字鎖入LM629檢測LM629是否忙?設(shè)置中斷配置開 始 結(jié) 束圖5-3 LM629初始化流程圖LM629的初始化程序如下:/* 復(fù)位命令 */void LM629_RESET(void) /*復(fù)位*/ P0=0x00; /*0X05=PORT8命令*/WR_COMMAND(); WR_HIGH(); LM629_BUSY(); /*如果忙,則一直循環(huán)*/
46、 /* 設(shè)置輸出端口號碼為8位 */void LM629_PORT8(void) /*設(shè)置輸出端口號碼為8位*/ P0=LM_PORT8_CMD; /*0X05=PORT8命令*/WR_COMMAND(); WR_HIGH(); LM629_BUSY(); /*如果忙,則一直循環(huán)*/ /* 定義零位 */ void LM629_DFH(void)/*定義零位*/ P0=LM_DFH_CMD; /*DFH命令=0x02*/WR_COMMAND(); WR_HIGH(); LM629_BUSY(); /* 設(shè)置指定位置 */void LM629_SIP(void) /*SIP命令:設(shè)置指定位置 0
47、3Hex*/ P0=LM_SIP_CMD; WR_COMMAND(); WR_HIGH(); LM629_BUSY(); /* LM629初始化 */Void LM629_Init(void) LM629_RESET( ); /*復(fù)位命令*/LM629_PORT8( ); LM629_DFH( ); /* 定義零位*/LM629_SIP( ); 運動控制模塊工作時,由控制器對LM629給出加速度、速度和目標位置值,每個采樣周期都用這些值計算出新的命令和位置給定值并送人求和點。由編碼器檢測電機的實際位置,其輸出信號經(jīng)過LM629內(nèi)部的位置解碼器解碼后作為求和點的另一個輸入與給定值相減,得到的誤差
48、值作為數(shù)字PID校正環(huán)節(jié)的輸入??梢苑奖愕卣{(diào)整PID控制器的參數(shù)從而滿足穩(wěn)定性、響應(yīng)時間、超調(diào)量等要求。對于特性參數(shù)固定不變的負載,可在運動控制之前向LM629寫入PID參數(shù);而對于運動過程中特性參數(shù)發(fā)生變化的負載,可以在運動過程中,隨時改變PID參數(shù)以適應(yīng)不同特性需求。除了加速度,所有的運動參數(shù)均可在運動過程中加以改變。其控制流程圖如5-4所示:0X0C 0X08 0X07 0X0A 0X0B 0X00 0X05 0X02 0X03 0X1B 主機控制命令?復(fù)位/異常 控制命令PID/運動 控制命令狀態(tài)/信息 控制命令0X1F 0X01.開 始結(jié) 束圖5-4 LM629運動控制流程圖 用戶命
49、令集下面的文字描述了LM629的用戶命令集。一些命令函數(shù)可以單獨使用,一些命令函數(shù)需要帶上必要的控制參數(shù)。例如,命令STT(Start motion)不需要附加的數(shù)據(jù);命令LFIL(Load FILter parameters)需要附加的數(shù)據(jù)(derivative-term采樣周期和/或濾波器參數(shù))。命令有下列功能:初始化、中斷控制、濾波器控制、軌跡控制和數(shù)據(jù)報告。每個命令名下面為它的命令函數(shù)。初始化命令 下面四個LM629用戶命令用于首先初始化系統(tǒng)。 復(fù)位命令:復(fù)位LM629 命令函數(shù):LM629_RESET(void) PORT8命令:設(shè)置輸出端口號碼為8位 命令函數(shù):LM629_PORT
50、8(void) DFH命令:定義零位 命令函數(shù):LM629_DFH(void) 中斷控制命令 下面七個LM629用戶命令在用于中斷主機的情形使用。為了潛在中斷條件經(jīng)由管腳17準確地中斷微處理器,與命令MSKI一起的中斷任務(wù)數(shù)據(jù)的相應(yīng)位必須被設(shè)置為邏輯高電平(無任務(wù)狀態(tài))。 所有中斷的辨識經(jīng)過讀和分析狀態(tài)字都被微處理器所認識。盡管所有的中斷經(jīng)由命令MSKI均被屏蔽,每個情形的狀態(tài)仍然映射到狀態(tài)字。 SIP命令:設(shè)置指定位置 命令函數(shù):LM629_SIP(void) LPEI命令:下載中斷的位置偏移 命令函數(shù):LM629_LPEI(uint16 PositionError) LPES命令:下載停止
51、的位置偏差 命令函數(shù):LM629_LPES(uint16 PositionError) MSKI命令:MASK中斷 命令函數(shù):LM629_MSKI(uint16 mask) RSTI命令:復(fù)位中斷 命令函數(shù):LM629_RSTI(uint16 mask)濾波器控制命令 下面的兩個LM629的用戶命令用于設(shè)置派生階段的周期,目的在于調(diào)整為所需的濾波器參數(shù)與系統(tǒng)協(xié)調(diào),而有控制這些系統(tǒng)改變的時間。 LFIL命令:下載濾波器參數(shù) 命令函數(shù):LM629_LFIL(uint16 command_word,uint16 kp_data,uint16 ki_data,uint16 kd_data,uint16
52、 il_data) UDF命令:修改濾波器 命令函數(shù):LM629_UDF(void)軌跡控制命令 下面的兩個LM629用戶命令用于設(shè)置軌跡控制參量(位置、速度、加速度)、操作模式(位置或速度)和方向(只有速度模式)滿足描述一個期望運動或選擇手動停止模式和控制這些系統(tǒng)變換周期的要求。 LTRJ命令:下載軌跡參量 命令函數(shù):LM629_LTRJ(uint32 command_word,uint32 acceleration_data,uint32 velocity_data,uint32 position_data) STT命令:開始運動控制 命令函數(shù):LM629_STT(void)數(shù)據(jù)報告命令下
53、面7個LM629用來獲得從LM629各種寄存器來的數(shù)據(jù)。報告狀態(tài)、位置和速度信息。除RDSTAT外,數(shù)據(jù)都是在首先向命令端口寫入相應(yīng)命令后從LM629數(shù)據(jù)端口讀得。 RDSTAT命令:讀狀態(tài)字 命令函數(shù):LM629_RDSIGS(void) RDIP命令: 讀標準位置 命令函數(shù):LM629_RDIP(void) RDDP命令: 讀期望位置 命令函數(shù):LM629_RDDP(void) RDRP命令: 讀實際位置 命令函數(shù):LM629_RDRP(void) RDDV命令: 讀取期望速率 命令函數(shù):LM629_RDDV(void) RDRV命令: 讀準確速率 命令函數(shù):LM629_RDRV(void
54、) RDSUM命令:讀綜合階段總和值 命令函數(shù):LM629_RDSUM(void) CAN通訊模塊設(shè)計 AT89C51CC03的CAN控制器AT89C51CC03單片機的CAN控制器有以下幾部分構(gòu)成:CAN內(nèi)核、報文RAM(與AT89C51CC03內(nèi)部 RAM相互獨立)、報文狀態(tài)寄存器和控制寄存器。在使用CAN控制器時,重點和難點是對CAN控制器的寄存器的使用,其內(nèi)部寄存器的分類及其主要功能如下:CAN控制器協(xié)議寄存器該協(xié)議寄存器是用來配置CAN控制器,處理各種中斷,監(jiān)控總線狀態(tài)以及置控制器為測試模式。CAN控制器協(xié)議寄存器可使用AT89C51CC03單片機的特殊功能寄存器通過索引方式間接訪問,其中有些還可以很方便的通過AT89C51CC03內(nèi)部特殊功能寄存器直接尋址來訪問
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家樂福采購管理制度
- 家庭高血壓管理制度
- 應(yīng)急備品庫管理制度
- 形象崗崗位管理制度
- 影視部策劃管理制度
- 微電影拍攝管理制度
- 快遞員車輛管理制度
- 急診搶救室管理制度
- 總監(jiān)辦生活管理制度
- 患者輸液室管理制度
- 信息化項目網(wǎng)絡(luò)設(shè)備、網(wǎng)絡(luò)安全設(shè)備、服務(wù)器和存儲系統(tǒng)集成項目培訓(xùn)方案
- 漢語語法教學(xué)-是……的
- 2009-2022歷年河北省公安廳高速交警總隊招聘考試真題含答案2022-2023上岸必備帶詳解版4
- 無犯罪記錄無吸毒史證明模板
- 六年級信息技術(shù)下冊《走進人工智能》優(yōu)質(zhì)課獲獎?wù)n件
- 第18課 現(xiàn)代設(shè)計與現(xiàn)代媒體-高中美術(shù)魯美版美術(shù)鑒賞
- 國際商務(wù)畢業(yè)論文范文
- 勞動法課件(完整版)
- GB∕T 37456-2019 海洋平臺電驅(qū)動齒輪齒條升降裝置
- 營運車輛智能視頻監(jiān)控系統(tǒng)管理制度范本及動態(tài)監(jiān)控管理制度
- DB34∕T 3587-2020 城鎮(zhèn)排水管道檢測與修復(fù)技術(shù)規(guī)程
評論
0/150
提交評論