嵌入式DSP運動(dòng)控制器的開(kāi)發(fā)
運動(dòng)控制器就是控制電動(dòng)機的運行方式:比如電動(dòng)機在由行程開(kāi)關(guān)控制交流接觸器而實(shí)現電動(dòng)機拖動(dòng)物體向上運行達到指定位置后又向下運行,或者用時(shí)間繼電器控制電動(dòng)機正反轉或轉一會(huì )停一會(huì )再轉一會(huì )再停。運動(dòng)控制(MC)是自動(dòng)化的一個(gè)分支,它使用通稱(chēng)為伺服機構的一些設備如液壓泵,線(xiàn)性執行機或者是電機來(lái)控制機器的位置和/或速度。運動(dòng)控制在機器人和數控機床的領(lǐng)域內的應用要比在專(zhuān)用機器中的應用更復雜,因為后者運動(dòng)形式更簡(jiǎn)單,通常被稱(chēng)為通用運動(dòng)控制(GMC)。運動(dòng)控制被廣泛應用在包裝、印刷、紡織和裝配工業(yè)中。
本文引用地址:http://dyxdggzs.com/article/149869.htm1 系統的構成與工作原理
1.1 系統的構成
系統構成如圖1所示,包括電源轉換模塊、DSP外圍電路、脈沖輸出電路、編碼器信號采集和處理電路、D/A輸出電路和DSP-PC機通信電路等。核心微處理器采用美國TI公司的16位定點(diǎn)DSP芯片TMS320LF2407A。一個(gè)運動(dòng)控制器用以生成軌跡點(diǎn)(期望輸出)和閉合位置的反饋環(huán)。許多控制器也可以在內部閉合一個(gè)速度環(huán)。 一個(gè)驅動(dòng)或放大器用以將來(lái)自運動(dòng)控制器的控制信號(通常是速度或扭矩信號)轉換為更高功率的電流或電壓信號。更為先進(jìn)的智能化驅動(dòng)可以自身閉合位置環(huán)和速度環(huán),以獲得更精確的控制。 一個(gè)執行器如液壓泵、氣缸、線(xiàn)性執行機或電機用以輸出運動(dòng)。 一個(gè)反饋傳感器如光電編碼器,旋轉變壓器或霍爾效應設備等用以反饋執行器的位置到位置控制器,以實(shí)現和位置控制環(huán)的閉合。 眾多機械部件用以將執行器的運動(dòng)形式轉換為期望的運動(dòng)形式,它包括齒輪箱、軸、滾珠絲杠、齒形帶、聯(lián)軸器以及線(xiàn)性和旋轉軸承。 通常,一個(gè)運動(dòng)控制系統的功能包括:速度控制 點(diǎn)位控制(點(diǎn)到點(diǎn))。有很多方法可以計算出一個(gè)運動(dòng)軌跡,它們通?;谝粋€(gè)運動(dòng)的速度曲線(xiàn)如三角速度曲線(xiàn),梯形速度曲線(xiàn)或者S型速度曲線(xiàn)。 電子齒輪(或電子凸輪)。也就是從動(dòng)軸的位置在機械上跟隨一個(gè)主動(dòng)軸的位置變化。一個(gè)簡(jiǎn)單的例子是,一個(gè)系統包含兩個(gè)轉盤(pán),它們按照一個(gè)給定的相對角度關(guān)系轉動(dòng)。電子凸輪較之電子齒輪更復雜一些,它使得主動(dòng)軸和從動(dòng)軸之間的隨動(dòng)關(guān)系曲線(xiàn)是一個(gè)函數。這個(gè)曲線(xiàn)可以是非線(xiàn)性的,但必須是一個(gè)函數關(guān)系。
1.2 系統的工作原理
本系統由上位機通過(guò)雙端口RAM把運動(dòng)控制指令或控制參數傳遞給運動(dòng)控制器的DSP,DSP根據采集到的PC機指令,通過(guò)位置控制和速度控制算法進(jìn)行計算。然后將計算出的脈沖信號經(jīng)脈沖驅動(dòng)送電機驅動(dòng)。
2 系統的硬件電路描述
系統硬件電路主要包括電源轉換模塊、DSP及外圍電路、擴展存儲器電路、脈沖輸出電路、編碼器信號采集和處理電路、D/A輸出電路和DSP-PC機通信電路等??刂破靼蹇ㄊ褂肁ltera公司的可編程邏輯器件MAXⅡEPM570實(shí)現數字邏輯電路設計,降低了板卡的設計尺寸,增加了板卡的可靠性和設計靈活性,它的在線(xiàn)編程特性可使得數字邏輯設計、硬件設計,如同軟件設計一樣簡(jiǎn)便。
2.1 電源轉換模塊
TMS320LF240A是低功耗芯片,采用3.3 V供電,本設計采用Bay Linear Inc公司生產(chǎn)的電源轉換芯片B1117提供。
2.2 DSP接口電路
2.2.1 時(shí)鐘信號
選擇16MHz的有源晶振作為外部時(shí)鐘信號源,從DSP的XTAL1/CLXIN腳輸入,經(jīng)PLL1和PLL2倍頻成32 MHz信號,供DSP使用。因而TMS320LF2407A的速度可達到3 1 ns,管腳XTAL2懸空。同時(shí),16 MHz的有源晶振也是CPLD器件MAXⅡ570的外部時(shí)鐘信號源。
2.2.2 串行EEPROM接口電路
TMS320LF2407A引導ROM為用戶(hù)提供兩種選擇:同步傳輸通過(guò)串行外設接口(SPI)實(shí)現;異步傳輸通過(guò)串行通信接口(SCI)來(lái)實(shí)現。程序代碼可以加載到用戶(hù)指定的位置。為了有效的引導ROM和加載,本設計將MP/MC#引腳拉低,從而使DSP工作于微控制器模式。
2.2.3 擴展RAM電路
TMS320LF2407A有1.5 kB的數據/程序RAM,544 bit雙口RAM(DARAM)和2 kB的單口RAM(SARAM),但是考慮到所需的程序存儲空間和數據存儲空間較大,在DSP外部用一片CY62136V作為外存儲器,該芯片是128 kB×16 bit的存儲器,其中64 kB作為數據存儲器,其余64 kB作為程序存儲器空間。
2.2.4 外部I/O信號處理
通過(guò)管腳引入的硬件中斷,包括軸限位中斷和編碼器INDEX信號中斷。8個(gè)限位中斷信號通過(guò)光耦隔離后接入CPLD,經(jīng)CPLD相與后接入DSP中斷管腳XINT1,同時(shí)這些信號與DSP的I/O口相連。當某一軸運動(dòng)到限位開(kāi)關(guān)處時(shí),就會(huì )觸發(fā)DSP的外部中斷信號XINT1,然后DSP就可以判定哪個(gè)限位開(kāi)關(guān)已經(jīng)到位。光耦器件選用Toshiba公司的貼片光耦TLP121,它的平均輸入驅動(dòng)電流為50 mA,平均輸出驅動(dòng)電流為5 mA,可直接驅動(dòng)TTL電路。
2.3 脈沖輸出電路
每一軸的兩個(gè)信號輸出口PLUSE+和PLUSE-可用來(lái)輸出脈沖和方向信號,這兩個(gè)輸出口可以由程序設定為CW/CCW雙脈沖模式或脈沖方向輸出模式,用戶(hù)可以設定J4~J11跳線(xiàn)來(lái)設定脈沖為差分輸出或者單端輸出兩種方式。
2.4 D/A轉換輸出電路
數模轉換電路的核心芯片采用BB公司生產(chǎn)的12位4路電壓輸出的數模轉換芯片DAC7625。DAC的片選信號由DSP的DS,PS,IS,STRB,R/W#,WE#,A0,A1,A2,A3,A11經(jīng)過(guò)譯碼得到。DAC的4個(gè)通道在DSP中的I/O地址為:0000 H,0001 H,0002 H,0003 H,DAC傳送寄存器地址為0004 H。
2.5 編碼器電路
該編碼器信號處理電路是針對增量式脈沖編碼器產(chǎn)生的信號進(jìn)行處理。為消除外部驅動(dòng)器大電源的干擾,3對信號經(jīng)過(guò)光耦進(jìn)行隔離。利用DSP事件管理器中的正交編碼脈沖(QEP)電路,對引腳上的脈沖數目和頻率分別解碼和計數
2.6 DSP-PC機通信電路
基于嵌入式系統的運動(dòng)控制器非常重要的功能之一就是要實(shí)現網(wǎng)絡(luò )信息傳遞。因此需要s用網(wǎng)絡(luò )接口芯片來(lái)實(shí)現網(wǎng)絡(luò )之間通信。在本系統中采用了REALTEK公司的RTL8019AS網(wǎng)絡(luò )接口芯片。RTL8019AS 引腳可分為電源及時(shí)鐘引腳、網(wǎng)絡(luò )介質(zhì)接口引腳、自舉ROM及初始化EEPROM接口引腳、主處理器接口引腳、輸出指示及工作方式配置引腳。由此將網(wǎng)卡硬件接口電路設計主要分為兩大部分:第一部分為網(wǎng)卡與DSP接口實(shí)現,第二部分為網(wǎng)卡芯片外圍電路設計。RTL8019AS的總線(xiàn)接口是與ISA總線(xiàn)兼容的,雖然不能與5402的外部總線(xiàn)直接接口,但是只要進(jìn)行一些簡(jiǎn)單的邏輯變換就可以了。另外,5402和RTL8019AS的引腳電平不兼容,因此它們之間對應的引腳不能夠直接相連,需要在中間加上電平轉換芯片,系統中的CPLD可以完成電平轉換功能,通過(guò)CPLD還能夠產(chǎn)生RTL8019AS的控制邏輯信號。
3 軟件程序設計及流程
整個(gè)運動(dòng)控制系統程序主要包括EEPROM引導程序和DSP主程序兩部分。其中,Flash引導程序的作用是把系統程序從片外低速EEPROM傳送到片外高速RAM中運行,在運動(dòng)控制卡的硬件調試階段,程序規模比較小,程序可以存放在片內的。Flash中,這樣則不需要引導程序,直接在片內運行程序。系統程序主要由主程序、讀寫(xiě)雙口RAM程序、脈沖輸出程序、插補程序和加減速控制程序組成。主程序調用各子程序,進(jìn)行與上位機的通信、I/O、QEP、定時(shí)器及中間寄存器的初始化、設置中斷標志、讀取計數器的值、計算各控制量、積分平滑等功能。當發(fā)生中斷時(shí),調用相應中斷程序,并修改或重置標志位。
圖2所示為DSP主程序的流程圖。主CPU使用硬件復位控制DSP的復位操作,DSP復位后運行片內ROM或加載到RAM中的系統主程序。DSP主程序由初始化程序、時(shí)鐘循環(huán)等待中斷程序組成。初始化程序完成所有變量的初始化,復位全部外設和關(guān)閉所有輸出。之后進(jìn)入循環(huán)和等待中斷的過(guò)程,檢測到主機命令之后,讀取命令并根據系統需要調用相應的處理程序。命令處理完后再進(jìn)入循環(huán)等待狀態(tài),命令處理程序是實(shí)現運動(dòng)控制器功能的關(guān)鍵程序,包括運動(dòng)控制的算法,速度控制、位置控制等功能的實(shí)現,還包括完成數據寫(xiě)入和讀取等功能,同時(shí)對外部中斷進(jìn)行處理。當上位機給運動(dòng)控制卡發(fā)送控制命令時(shí),DSP首先讀取主機發(fā)送來(lái)的軸的目標位置,根據速度控制的模式設定指令選擇相應的速度控制算法,同時(shí)查詢(xún)外部事件,如有事件發(fā)生,執行相應的處理程序。接著(zhù)就可以送出軸的控制輸出,檢測各軸是否都完成運動(dòng)(判斷軸狀態(tài)寄存器完成標志位),完成則推出命令處理程序,否則繼續執行。
4 結束語(yǔ)
運動(dòng)控制器的硬件設計需要注意:如抗干擾、外圍電路的速度與DSP的實(shí)時(shí)性能匹配問(wèn)題。這些問(wèn)題相互影響,要確定一個(gè)正確的電路結構和合理的PCB布線(xiàn),需要大量的實(shí)際經(jīng)驗,因此在電路結構方面仍有待改進(jìn),使之更適應穩定、高速的控制要求。對控制軟件的改進(jìn)主要包括以下兩方面:
(1)完成上位機上接口函數、運動(dòng)控制函數庫和上層調試環(huán)境的設計、編寫(xiě)NURBS數學(xué)處理程序,在運動(dòng)控制器內部實(shí)現不同的插補算法,建立運動(dòng)控制器的操作平臺和完善的人機交互功能,使得運動(dòng)控制器具有更強大的控制性能和更容易編程;
(2)對伺服電機的控制只提供了硬件上的支持,在軟件上需要對光電編碼器的反饋信號進(jìn)行分析,計算出與給定位置的誤差,再通過(guò)軟件PID算法調節器獲得位置控制量來(lái)控制伺服系統。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)伺服電機相關(guān)文章:伺服電機工作原理
pid控制器相關(guān)文章:pid控制器原理
行程開(kāi)關(guān)相關(guān)文章:行程開(kāi)關(guān)原理
評論