亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        桌面3D打印機控制系統(tǒng)的設計與實現(xiàn)

        2016-11-08 08:36:49步亞男金禹含
        計算機應用與軟件 2016年10期
        關鍵詞:狀態(tài)機下位打印機

        劉 晉 步亞男 金禹含 蘇 臣

        (遼寧師范大學計算機信息與技術學院 遼寧 大連 116000)

        ?

        桌面3D打印機控制系統(tǒng)的設計與實現(xiàn)

        劉晉步亞男金禹含蘇臣

        (遼寧師范大學計算機信息與技術學院遼寧 大連 116000)

        目前市場上的桌面3D打印機的控制系統(tǒng)基本都是國外開發(fā)的開源控制系統(tǒng),因此有必要開發(fā)一款3D打印機的控制系統(tǒng)。該控制系統(tǒng)下位機程序運行在arm處理器和μCOS環(huán)境下,上位機控制軟件是在微軟的WPF框架下通過c#語言開發(fā)的。系統(tǒng)工作過程為:上位機軟件讀取并處理文件中讀取的命令,然后通過串口發(fā)送到下位機,下位機接到命令后對命令進行處理并控制步進電機的運動。最后系統(tǒng)經(jīng)過調(diào)試運行,雖然在打印效果和機器運行速度上沒有顯著提高,但是這是一種新的嘗試,證明了該控制系統(tǒng)的可行性。

        3D打印arm stm32μCOSWPF

        0 引 言

        自1984年Charles Hull制作出第一臺3D打印機以來,3D打印技術歷經(jīng)了30多年的發(fā)展,正逐步成為最有生命力的先進制造技術之一[1]。在全球3D Systems和Stratasys兩家公司的產(chǎn)品占據(jù)了絕大多數(shù)市場份額[2]。目前市場上的桌面3D打印機種類繁多。常見的有RepRap類型、BoxBot類型、RepStrap類型等。本文用的是RepRap機型,它具有開源的控制板以及固件[3]。本文沒有用開源的控制板和固件,而是嘗試著開發(fā)一款新型的3D打印機控制系統(tǒng)。整個控制系統(tǒng)分為上位機程序和下位機程序兩部分。上位機程序讀取G-code文件將命令行通過usb轉串口數(shù)據(jù)線發(fā)送到stm32開發(fā)板。下位機主要包括溫控模塊、串口數(shù)據(jù)接收模塊、數(shù)據(jù)處理模塊、電機運動控制模塊等。

        1 3D打印機簡介

        1.1機械原理

        3D打印機根據(jù)其使用的坐標系可分為笛卡爾坐標系和極坐標系等。根據(jù)其材料的成型原理可分為:燒結和融化、粉末-粘合劑、熔融沉積造型技術、層壓制造、高分子聚合反應等。本文使用的RepRap機型的核心靈感來源于笛卡爾機械,它可以沿X、Y和Z軸三個直線方向移動,每個軸使用較高精度和準度的小型步進電機,再通過細分控制步進電機使其精度達到1 mm左右。其中,X軸和Y軸通過同步帶沿軸向提供快速、精準的定位,Z軸通過螺紋桿實現(xiàn)精準定位。其材料成型的原理為熔融沉積造型技術。即在指定的位置上讓熱熔塑料通過加熱后的噴頭,擠出很細塑料絲。最后通過沉積塑料絲的方式繪制3D物品。

        1.23D打印機的工作鏈

        3D打印機工作流程中的每一步都有相應的軟硬件配合,正是它們構成了3D打印的工作鏈。工作鏈的簡圖如圖1所示。

        (1) 3D模型

        整個流程是從一個3D模型開始的。它可以是.stl文件或者其他3D模型的文件格式,可以從網(wǎng)上下載,也可以通過3D制作軟件制作。

        (2) 模型分層和路徑文件

        模型準備好后,由于3D打印機是將模型按層打印的,一次只打印一層。所以需要把模型分層,并且生成路徑文件。打印頭根據(jù)路徑文件運動并擠出打印絲。Cura是一款應用比較廣泛的分層軟件,這里將直接使用Cura軟件進行分層。

        (3) 打印控制軟件

        打印控制軟件是在電腦端的應用軟件,它將G-code文件中的命令行發(fā)送至底層的控制板從而控制打印機工作。

        (4) 固件

        固件即底層的控制程序,負責解釋G-code指令,控制電子器件執(zhí)行。固件直接影響到打印物品的質(zhì)量。

        圖1 3d打印機工作鏈

        2 開發(fā)環(huán)境

        上位機控制軟件的開發(fā)環(huán)境為visual studio2010中的WPF開發(fā)框架,WPF開發(fā)理念更符合自然哲學的思想而且界面較好,與其他界面開發(fā)工具相比,較為簡單,程序更加簡潔清晰。底層控制程序的開發(fā)環(huán)境為 windows XP下的Keil MDK,使用意法半導體公司的stm32開發(fā)板,處理器為ARMCortex-M3。同時為其移植了μCOSⅢ嵌入式實時操作系統(tǒng)。

        3 打印控制軟件

        圖2為開發(fā)環(huán)境中的預覽效果,有原點坐標初始化、噴頭溫度設置、打開文件按鈕、發(fā)送按鈕、串口狀態(tài)顯示、暫停打印按鈕等。

        圖2 軟件界面圖

        3.1打開文件按鈕

        此功能通過OpenFileDialog類實現(xiàn)。打開文件后,文件路徑顯示到界面,用SerialPort類打開串口并進行參數(shù)初始化。使用COM6端口,波特率為115 200,數(shù)據(jù)位8位,停止位1位。

        3.2發(fā)送按鈕

        此按鈕實現(xiàn)從G-Code文件讀取一行命令,并發(fā)送到下位機。由于G-Code文件一般都是幾萬行,而且每行命令需發(fā)到下位機解處理后才能讀取下一條。因此由于長時間未跳出button的事件處理函數(shù),因此在發(fā)送按鍵的事件處理函數(shù)中新建一個線程專門用于讀取G-Code文件。如果未收到下位機的反饋則掛起該線程,以保證其它的線程不受影響。

        4 底層控制程序

        4.1開發(fā)前準備

        開發(fā)之前,需先將μCOSⅢ移植到stm32開發(fā)板上,μCOS是一個可裁剪、可固化、可剝奪型的實時內(nèi)核[5]。底層控制程序主要包括以下幾個模塊兒。

        4.2溫控模塊

        溫控模塊包括測溫和加熱兩部分。溫控模塊的電路圖如圖3所示。首先通過ADC外設獲得熱敏電阻的分壓,從而確定其電阻,進一步根據(jù)熱敏分度表獲得當前溫度。得到當前溫度后通過PID算法,實現(xiàn)了快速,穩(wěn)定的溫度控制。

        圖3 溫控模塊電路圖

        4.3限位開關模塊

        3D打印機工作前需要將打印頭回到原點,并進行一系列的初始化。這里將限位開關一端接地,另一端連接到控制板的外部中斷接口。通過外部中斷判斷打印頭是否到達原點位置。調(diào)試過程中筆者發(fā)現(xiàn)打印頭在還未觸發(fā)限位開關時,步進電機就已經(jīng)停止了轉動。經(jīng)過反復調(diào)試,發(fā)現(xiàn)步進電機的脈沖信號對外部中斷信號造成了干擾。解決方法為將普通的導線換成了屏蔽雙絞線。

        4.4串口接收模塊

        上位機和下位機通過串口實現(xiàn)通信,其中,PA9和PA10分別為串口通信的發(fā)送和接收引腳。將PA9配置為復用推挽輸出模式,PA10配置為浮空輸入模式,然后進行USART的初始化。當數(shù)據(jù)發(fā)送至串口觸發(fā)串口中斷并執(zhí)行串口中斷處理函數(shù)。其中需用到μCOS-Ⅲ提供的存儲管理方法。

        4.5命令解析模塊

        此模塊通過有限狀態(tài)機實現(xiàn)。本文的狀態(tài)機如圖4所示。當命令解析模塊收到一條命令后將其分成若干段。如收到” G0 F9000 X0 Y0 Z0”后,將其分解為”G0”、”F9000”、”X0”、”Y0”、”Z0”等作為狀態(tài)機的事件,根據(jù)當前狀態(tài)執(zhí)行不同的程序,并根據(jù)情況改變當前狀態(tài)。

        圖4 狀態(tài)機狀態(tài)轉換圖

        4.6電機控制模塊

        PWM在電子技術中占據(jù)著重要的地位,被廣泛應用在逆變電路中。以正弦波為例,將正弦波等分成N份,利用相同數(shù)量的等幅不等寬的矩陣脈沖代替,使矩形脈沖的中點重合,且使矩形脈沖和相應的正弦波部分面積相等,就得到一系列幅值相等而寬度隨正弦規(guī)律變化的矩形脈沖[8]。3D打印工作過程中需要步進電機轉動精確地步數(shù)。因此直接利用定時器的PWM輸出功能有一定的局限性。因此本文利用stm32的通用定時器和GPIO重新實現(xiàn)了步進電機電脈沖的輸出控制。

        本文使用通用定時器的四個通道,其中三個通道分別控制PB10、PB12、PB14輸出電平,控制X、Y、Z軸步進電機的運動。另外一個控制擠出機的步進電機。在定時器中斷處理函數(shù)中有四個分支。如果中斷來自通道1,則改變X軸步進電機控制引腳PB10的輸出電平,并且將當前比較寄存器TIMx_CCR的值加上T。通過改變T的值就可以控制PB10輸出固定周期的脈沖信號。由于定時器的時鐘頻率為1 KHz,所以定時器的脈沖間隔T=1/1 MHz。即計數(shù)周期為1微秒。如果每計T個數(shù),改變一次輸出電平,則脈沖信號的周期為2T微秒。為了控制步進電機轉動精確地步數(shù),文章中用了X_Step變量。每走一步X_Step變量執(zhí)行減1操作。一旦X_Step為0。則關閉相應通道的計時脈沖。這樣就可以輸出固定步數(shù)、固定周期的脈沖信號了,從而實現(xiàn)了對步進電機的精確控制。

        5 整機調(diào)試

        將上位機和下位機用于同步的控制字符顯示在打印控制軟件界面上。當機器運行卡住時,可以確定問題的所在。調(diào)試中,經(jīng)常出現(xiàn)上位機發(fā)送100條左右命令時機器停止運行。通過控制字符知道問題出在下位機。通過編程軟件的watch功能發(fā)現(xiàn),機器停止運行時,控制電機運動的一個變量值為0。該變量直接決定脈沖信號波周期。若它的值為0,則沒有脈沖信號輸出。將算法優(yōu)化后,問題得到了解決。目前,3D打印機已經(jīng)可以持續(xù)的運行。圖5為調(diào)試過程打印出的一些樣品。

        圖5 打印樣品

        6 結 語

        本控制系統(tǒng)在運行上相對穩(wěn)定,是3D打印控制系統(tǒng)的一次新的嘗試。雖然在打印效果上沒有市場上的打印機完美,但是對于國內(nèi)3D打印的發(fā)展有一定的借鑒和參考意義。

        [1] 黃健,姜山.3D打印技術將掀起“第三次工業(yè)革命”?[J].新材料產(chǎn)業(yè),2013(1):62-67.

        [2] 王雪瑩.3D打印技術與產(chǎn)業(yè)的發(fā)展及前景分析[J].中國高新技術企業(yè),2012(26):3-5.

        [3] Brian Evans.解析3D打印機[M].北京:機械工業(yè)出版社,2013.

        [4] 劉鐵猛.深入淺出WPF[M].北京:中國水利水電出版社,2010.

        [5] Jean J Labrosse.嵌入式實時操作系統(tǒng)μc/OS-Ⅲ[M].北京:北京航空航天大學出版社,2012.

        [6] 姜換新.ARM嵌入式系統(tǒng)C語言編程[J].計算機應用與軟件,2003,20(10):15-16.

        [7] 譚同超.有限狀態(tài)機及其應用[D].廣州:華南理工大學,2013.

        [8] 謝可,姚鴻強.基于PWM的數(shù)字音頻播放器設計[J].計算機應用與軟件,2014,31(5):328-329,333.

        [9] 牛晰.桌面3D打印機結構分析及機體設計研究[J].設計,2015(4):94.

        DESIGN AND IMPLEMENTATION OF DESKTOP 3D PRINTER CONTROL SYSTEM

        Liu JinBu Ya’nanJin YuhanSu Chen

        (CollegeofComputerandInformationTechnology,LiaoningNormalUniversity,Dalian116000,Liaoning,China)

        Most of the desktop 3D printer control systems on the market are basically the open source system developed by other countries. Therefore we decided to develop a 3D printing control system with the help of our tutor. The lower computer in control system operates its program on arm processor and in the environment of μCOS, and the control software of the upper computer is developed by c# in WPF frame of Microsoft. The working processes are as follows: the upper computer software reads and processes the commands in a text file, and then sends the processed commands to lower computer system through serial port. The lower system processes the commands after receiving them and controls the motions of stepper motor. Finally we debugged the system. Though there has no significant improvement in both printing effect and operation speed of printer, however as a new attempt, it proves the feasibility of this control system.

        3D printingarm stm32μCOSWPF

        2015-07-12。劉晉,教授,主研領域:嵌入式系統(tǒng)。步亞男,碩士生。金禹含,碩士生。蘇臣,碩士。

        TP3

        A

        10.3969/j.issn.1000-386x.2016.10.072

        猜你喜歡
        狀態(tài)機下位打印機
        基于有限狀態(tài)機的交會對接飛行任務規(guī)劃方法
        發(fā)射機房監(jiān)控系統(tǒng)之下位機
        另類3D打印機
        景洪電廠監(jiān)控系統(tǒng)下位機數(shù)據(jù)傳輸網(wǎng)絡改造
        圍觀黨“下位”,吐槽帝“登基”
        北京紀事(2016年5期)2016-05-07 13:17:02
        打印機基板大型注塑模具設計
        中國塑料(2016年7期)2016-04-16 05:25:55
        FDM型混色3D打印機的設計
        CAN總線并發(fā)通信時下位機應用軟件設計
        復制粘貼打印機
        FPGA設計中狀態(tài)機安全性研究
        黑龍江科學(2011年2期)2011-03-14 00:39:36
        久久婷婷夜色精品国产| 999久久久免费精品国产| 欧美黄色免费看| 性感人妻一区二区三区| gg55gg国产成人影院| 国产精品成人va在线观看| 欧美做受视频播放| 曰本亚洲欧洲色a在线| 国产一区二区三区最新地址 | 漂亮人妻被强中文字幕乱码| 中出人妻希奇杰卡西av| 成人国内精品久久久久一区| 欧美在线a| 国产精品黄页免费高清在线观看 | 成人日韩熟女高清视频一区| 少妇高潮尖叫黑人激情在线| 久久免费观看国产精品| 国产精品自拍网站在线| 日韩人妻熟女中文字幕a美景之屋| 丰满熟女人妻中文字幕免费| 人妻中出精品久久久一区二| 日韩有码在线免费视频| 国产成人精品无码一区二区三区| 国模无码视频一区| 99久久精品国产亚洲av天| 日本一区二区在线高清| 中文字幕人妻少妇引诱隔壁| 香蕉网站在线| 亚洲小少妇一区二区三区| 精品精品国产高清a毛片| 国产无遮挡又黄又爽又色| 亚洲综合久久1区2区3区| 国产av一区二区毛片| 国产男女猛烈无遮挡免费网站| 精品久久久久一区二区国产| 成人性生交大片免费看i| 久久婷婷五月综合97色直播| 中文无码制服丝袜人妻av| 熟妇与小伙子露脸对白| 美女用丝袜脚玩我下面| 亚洲日本中文字幕天天更新|