<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è) > 嵌入式系統 > 設計應用 > 基于μC/OS Ⅱ的三維打印機的控制系統研究

基于μC/OS Ⅱ的三維打印機的控制系統研究

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

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

憑借μC/OSⅡ靈活的任務(wù)間通信的能力,采用消息郵箱Mbox從數據生成任務(wù)中將打印數據傳送給打印任務(wù)。在不同任務(wù)中,將暫時(shí)不需要工作的任務(wù)掛起,而將需要工作的任務(wù)恢復運行,圓滿(mǎn)地實(shí)現了三維打印的快速、精確控制。

0引言

三維打印制造是近年來(lái)快速制造領(lǐng)域的熱點(diǎn)技術(shù)之一,根據本小組的研究,采用μC/OSⅡ操作系統開(kāi)發(fā),能夠將打印機的各項工作分解為不同的任務(wù),每個(gè)任務(wù)完成特定的一些工作,從程序模塊的劃分上,任務(wù)明確,層次清晰。其中關(guān)鍵是不同任務(wù)之間的同步與通信,憑借μC/OSⅡ系統靈活的任務(wù)間通信的能力,經(jīng)過(guò)精心設計和調試,圓滿(mǎn)地實(shí)現了任務(wù)間的通信。使各個(gè)任務(wù)協(xié)調一致、有條不紊的工作,實(shí)現了三維打印的快速、精確控制。

1三維打印原理與控制系統簡(jiǎn)介

的打印頭固定在一個(gè)確定的高度上,打印的零件處在打印頭下面的工作臺上,對零件從最底層往上進(jìn)行逐層打印,打印完一層,工作臺下移一層,再打印零件的上一層。工作臺上下移動(dòng)稱(chēng)為Z向移動(dòng),由一個(gè)控制Z向運動(dòng)的電機驅動(dòng),在打印一個(gè)零件時(shí),有兩個(gè)送絲電機,一個(gè)送粗絲,用于基礎骨架打印,另一個(gè)送細絲,用于零件精細部分的打印。打印前在PC計算機上對零件進(jìn)行三維打印的數據處理,將零件分為若干層,每層厚度為Δh,每層按照最優(yōu)方向劃分為若干緊密相鄰的剖面線(xiàn),打印機打印的就是這些剖面線(xiàn)。打印確定的一層時(shí),打印頭的運動(dòng)是一個(gè)二維平面運動(dòng),每一條線(xiàn)的打印,都是由X方向的驅動(dòng)電機和Y方向的驅動(dòng)電機協(xié)同工作,完成一條線(xiàn)的打印。這樣逐條線(xiàn)打印直到打印完本層的所有線(xiàn)條,就完成了本層的打印。這樣,共需要X向、Y向、Z向3個(gè)電機及2個(gè)送絲電機共計5個(gè)電機的實(shí)時(shí)控制,才能實(shí)現三維打印。因此三維打印可以視為一個(gè)五軸聯(lián)動(dòng)系統。

對其控制系統研究的結果是,采用目前ARM最新版本V7架構的ARM Cortex M3作為主控器的CPU是很好的一個(gè)選擇。這里選用的就是基于A(yíng)RM Cortex M3內核的由意法半導體出品的,該MCU為32位,主頻72 MHz,內含512 KB的FLASH閃存,可以存放多達512 KB的程序代碼,有64 KB RAM,8個(gè)多功能定時(shí)器。片內其他資源豐富,其速度和資源能很好地滿(mǎn)足的控制要求。選用了5個(gè)通用定時(shí)器分別作為X、Y、Z方向運動(dòng)電機和2個(gè)送絲電機的控制器,選用定時(shí)器T6作為每條線(xiàn)段打印的總時(shí)間定時(shí)器。在對幾種嵌入式操作系統進(jìn)行比較后,選用了實(shí)時(shí)性最好、代碼量最小、功能強大的μC/OSⅡ系統。在Keil集成仿真平臺上完成了軟件與硬件系統的設計開(kāi)發(fā)與調試。

2三維打印任務(wù)劃分

所有需要在打印之前就完成的工作,全部放在初始化部分完成,例如I/O口的初始化、串行通信初始化、LCD顯示器初始化、打印控制所需的6個(gè)定時(shí)器的初始化、打印頭初始位置確定、打印頭預熱、打印模式設置等。

打印過(guò)程中的工作劃分為四個(gè)用戶(hù)任務(wù),具體內容見(jiàn)表1.



再加上兩個(gè)系統任務(wù)——空閑任務(wù)OSIdleTask()和統計任務(wù)OSStatTask(),一共有6個(gè)任務(wù)在系統中運行。

3三維打印任務(wù)間的通信

μC/OSⅡ任務(wù)間通信的方法有多種,這里采用消息郵箱Mbox進(jìn)行數據傳送,采用若干全局變量作為工作狀態(tài)標志和任務(wù)握手信號。在初始化結束后,執行了操作系統啟動(dòng)函數OSStar(t)后,系統就開(kāi)始了任務(wù)調度與管理。

任務(wù)1是觸摸屏操作任務(wù),其優(yōu)先級最高。任務(wù)調度一開(kāi)始,就會(huì )運行該任務(wù)。在該任務(wù)中對觸摸屏進(jìn)行兩次數據讀取,判斷有沒(méi)有屏幕操作,有屏幕操作的話(huà),其位置在何處,是一個(gè)什么操作,再轉向對應的程序進(jìn)行處理。然后通過(guò)調用OSTaskSuspend(1)函數自行掛起。再次激活該任務(wù)是通過(guò)系統時(shí)鐘節拍中斷服務(wù)函數OSTickISR()[6],激活方法是在該函數中調用OSTa-skResume(1)即可。這樣在時(shí)鐘節拍中斷函數退出后,由于任務(wù)1優(yōu)先級最高而得到運行。由于點(diǎn)擊屏幕操作的時(shí)間通常大于100 ms,因此系統時(shí)鐘節拍中斷函數的頻率設置為200次/s.這樣的頻率足以捕獲每次觸摸屏操作。并且能夠滿(mǎn)足三維打印任務(wù)調度的所有實(shí)時(shí)需求。

任務(wù)2是LCD顯示任務(wù),其優(yōu)先級為次高,其激活與掛起的方法與任務(wù)1不同,而是在需要顯示時(shí),由需求的任務(wù)通過(guò)調用OSTaskResume(2)激活,顯示字符送給顯示器后,任務(wù)2通過(guò)調用OSTaskSuspend(2)函數自行掛起。

打印過(guò)程的程序框圖如圖1所示。



在任務(wù)3獲得CPU的使用權時(shí),在其中進(jìn)行SD卡數據讀取與數據處理,生成一條打印線(xiàn)的控制數據,生成的數據通過(guò)消息郵箱MboxPost()發(fā)出,然后任務(wù)3通過(guò)調用OSTaskSuspend(3)函數自行掛起。其后任務(wù)4獲得CPU的使用權,在其中通過(guò)調用OSMboxPend()取得任務(wù)3所生成的那些數據,之后將這些數據送給控制各個(gè)電機運動(dòng)的各個(gè)定時(shí)器,啟動(dòng)這些定時(shí)器開(kāi)始工作,實(shí)際上就是啟動(dòng)了那些電機,從而啟動(dòng)了打印頭的運動(dòng)。然后通過(guò)調用OSTaskResume(3)函數將任務(wù)3恢復為就緒態(tài),之后任務(wù)4通過(guò)調用OSTaskSuspend(4)函數自行掛起。而打印工作在幾個(gè)定時(shí)器的控制下繼續進(jìn)行。同時(shí)任務(wù)3由于其較高的優(yōu)先級,會(huì )獲得CPU的使用權,從而進(jìn)行下一個(gè)線(xiàn)段的數據生成。數據生成占用時(shí)間很短,數據生成后又通過(guò)OSMboxPos(t)發(fā)出。


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