<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è) > 嵌入式系統 > 設計應用 > ARM+PCL6045B的嵌入式運動(dòng)控制器設計

ARM+PCL6045B的嵌入式運動(dòng)控制器設計

作者: 時(shí)間:2009-10-16 來(lái)源:網(wǎng)絡(luò ) 收藏

①系統初始化:進(jìn)行微處理器的硬件初始化,包括輸入/輸出接口的配置、具體總線(xiàn)通信方式的配置以及伺服系統相關(guān)的接口參數配置。
②通信模塊:負責控制卡和上位機之間的坐標值、速度值、數控系統的I/O接口狀態(tài)、報警狀態(tài)以及數據鏈表的傳輸。
實(shí)時(shí)域建立在RTAI實(shí)時(shí)內核的基礎上。其實(shí)時(shí)任務(wù)通過(guò)實(shí)時(shí)進(jìn)程的方式來(lái)完成,一種為周期性(peri_odic)實(shí)時(shí)進(jìn)程,另一種為一次性(one shot)實(shí)時(shí)進(jìn)程。實(shí)時(shí)域主要包括如下4個(gè)周期性實(shí)時(shí)線(xiàn)程:
①狀態(tài)檢測線(xiàn)程(rt_monitor_thread)。本任務(wù)對設備運行狀態(tài)進(jìn)行檢測,負責從I/O端口讀入各個(gè)連接的I/O設備值,然后將狀態(tài)寫(xiě)入狀態(tài)檢測緩沖區中,對設備急停、伺服報警、限位信號進(jìn)行判斷,并進(jìn)行相應的處理。
②插補線(xiàn)程(rt_interpolation_thread)。從譯碼緩沖區中順序取得插補數據,然后根據是直線(xiàn)或者圓弧進(jìn)行插補,插補得到下個(gè)周期應該到達的理論坐標值。
③位置控制線(xiàn)程(rt_position_thread)。讀取計數器中編碼器的數值,得到實(shí)際的位置,并與插補器中的理論位置坐標作比較。根據差值調節PID參數,并將具體脈沖輸出數寫(xiě)入對應的PWM口的脈沖數寄存器中。
④功能控制線(xiàn)程(rt_function_thread)。功能控制任務(wù)利用RTAI實(shí)時(shí)管道來(lái)傳遞命令和狀態(tài)信息的功能。通過(guò)管道的命令設置實(shí)現Linux操作系統對實(shí)時(shí)部分RTAI的訪(fǎng)問(wèn),從而實(shí)現的運行、暫停、給定速度等狀態(tài)設置。
2.1 軟件平臺的建立
軟件平臺是系統應用程序開(kāi)發(fā)的基礎。本系統軟件平臺主要包括:-Linux的移植、串行接口驅動(dòng)開(kāi)發(fā)、USB接口驅動(dòng)開(kāi)發(fā)、LCD接口驅動(dòng)開(kāi)發(fā)、觸摸屏接口驅動(dòng)開(kāi)發(fā)、以太網(wǎng)接口驅動(dòng)開(kāi)發(fā)、文件系統的移植等。這些軟件的開(kāi)發(fā)和移植在很多文獻中有詳細的說(shuō)明。
2.2 控制函數庫的
通用運動(dòng)的功能主要取決于運動(dòng)控制函數庫。要做成一個(gè)開(kāi)放式的運動(dòng),必須編寫(xiě)豐富的運動(dòng)控制函數庫,以滿(mǎn)足不同的應用要求。運動(dòng)控制函數庫要為單軸及多軸的步進(jìn)或伺服控制提供許多運動(dòng)函數,如單軸驅動(dòng)、兩軸直線(xiàn)插補、3軸直線(xiàn)插補、圓弧插補等等。另外,為了配合運動(dòng)控制系統的開(kāi)發(fā),還編寫(xiě)了一些輔助函數,如中斷處理、編碼器反饋、間隙補償、通用開(kāi)關(guān)量的輸入輸出等。這樣,用戶(hù)在開(kāi)發(fā)應用程序時(shí)就不必再關(guān)心底層的東西,只需根據控制系統的要求編制人機界面,并調用運動(dòng)控制函數庫中的函數,就可以開(kāi)發(fā)出滿(mǎn)足要求的多軸運動(dòng)控制系統。
2.3 對Ljnux進(jìn)行實(shí)時(shí)化改造
由于Linux不是一個(gè)實(shí)時(shí)操作系統,所以,利用實(shí)時(shí)內核補丁RTAI(Real Time Application Interface)。RTAI的安裝和使用詳見(jiàn)參考文獻[7]。該控制器所使用的Linux開(kāi)發(fā)環(huán)境為ELDK(Embedded Linux DevelopedKit)3.0。Linux內核為L(cháng)inuxp pc_2_4_devel,而RTAI的版本為24.1.12。由Linux中的init_module()和cleanup_modtde()兩個(gè)函數加載和卸載實(shí)時(shí)任務(wù)模塊,通過(guò)這兩個(gè)函數進(jìn)行實(shí)時(shí)線(xiàn)程及其處理函數的創(chuàng )建和回收。其關(guān)鍵程序如下:

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


2.4 應用軟件
應用軟件主要包括人機交互界面的、數控指令的編譯解釋、按鍵功能的實(shí)現、運動(dòng)狀態(tài)的監視等。通過(guò)操作系統-Linux,可方便地實(shí)現上述功能,并進(jìn)行多任務(wù)的調度。運動(dòng)控制器根據輸入的數控指令文件,將其存入NAND Flash中。處理器通過(guò)對數控指令進(jìn)行譯碼、速度預處理、粗插補計算等,調用運動(dòng)控制函數,進(jìn)而發(fā)出控制指令控制步進(jìn)或伺服系統去控制執行部件進(jìn)行動(dòng)作,從而達到實(shí)現運動(dòng)控制的目的。

結 語(yǔ)
本文綜合應用ARM系統技術(shù)、DSP運動(dòng)控制技術(shù)等多種技術(shù)開(kāi)發(fā)出高性能的運動(dòng)控制器。該控制器相比傳統的基于PC機的運動(dòng)控制器,具有成本低、體積小、功耗低、功能豐富、運行穩定的特點(diǎn)和優(yōu)勢。以ARM微控器和為核心的運動(dòng)控制器,采用Linux操作系統,經(jīng)過(guò)對其進(jìn)行實(shí)時(shí)化改造,使系統能很好地進(jìn)行多任務(wù)處理,保證了系統的實(shí)時(shí)性。該控制器能夠實(shí)現高速和高精度的運動(dòng)控制需求,具有良好的運動(dòng)控制性能。該運動(dòng)控制器的設計,為讀者提供了一種良好的解決方案,在運動(dòng)控制領(lǐng)域具有廣闊的應用前景。

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

pid控制器相關(guān)文章:pid控制器原理



上一頁(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>