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

        ?

        基于Marlin的3D打印機(jī)網(wǎng)絡(luò)接口設(shè)計(jì)與實(shí)現(xiàn)

        2021-10-09 09:44:38朱文琦
        自動化儀表 2021年9期

        朱文琦

        (河南工業(yè)職業(yè)技術(shù)學(xué)院自動化工程學(xué)院,河南 南陽 473000)

        0 引言

        當(dāng)前的3D打印機(jī)固件有很多種,其中Sprinter、Marlin有非常多的使用者。Sprinter功能相對簡單、基本功能齊全,而Marlin的功能相對復(fù)雜、強(qiáng)大。Marlin固件是桌面級3D打印機(jī)固件中較流行的一種。因?yàn)槠溟_源的特點(diǎn),很多桌面級或工業(yè)級3D打印機(jī)都基于該固件。它使用Arduino Mega2560主板,使用者只需進(jìn)行適當(dāng)?shù)呐渲镁涂梢赃M(jìn)行基本的打印,而且目前配置的說明文檔也比較豐富。由于開源的特點(diǎn),其已成為很多3D打印企業(yè)和科研院校研究3D打印機(jī)的首選[1]。

        Marlin固件具有驅(qū)動控制板、讀取與解析G代碼、控制擠出頭和加熱板的溫度、檢測擠出頭和加熱板的溫度、讀取SD卡、支持液晶顯示屏(liquid crystal display,LCD)等功能,但不支持網(wǎng)絡(luò)連接。而Marlin硬件并不包含以太網(wǎng)接口,所以給使用Marlin而有遠(yuǎn)程網(wǎng)絡(luò)打印需求的用戶帶來很多不便[2]。本文基于W5x00網(wǎng)絡(luò)接口擴(kuò)展板,對Marlin進(jìn)行改造,使其具有連接到云打印平臺的屬性和功能,以滿足更多應(yīng)用場合的需求。

        1 當(dāng)前的網(wǎng)絡(luò)接口方式

        當(dāng)前大多數(shù)基于Marlin的網(wǎng)絡(luò)打印采用了另接一塊ARM板,通過ARM板上的網(wǎng)絡(luò)接口與外界進(jìn)行網(wǎng)絡(luò)連接,同時(shí)通過USB串口與Mega2560進(jìn)行通信。這塊ARM板是連接LAN/WAN與Mega2560主板的橋梁。

        目前,常用網(wǎng)絡(luò)連接方式如圖1所示。這塊ARM板可能是基于ARM的定制板卡,如圖1(a)所示;也可能是通用的基于樹莓派開發(fā)板卡,如圖1(b)所示。

        圖1 常用網(wǎng)絡(luò)連接方式

        通常來說,這塊ARM包含一個(gè)操作系統(tǒng),比如嵌入式Linux系統(tǒng)。目前,很多企業(yè)和組織采用的是基于圖1(b)的連接架構(gòu),比如說當(dāng)前比較流行的OctoPrint開源應(yīng)用[3]。這需要基于樹莓派(Raspberry Pi)和Python安裝OctoPrint的免費(fèi)開源軟件。OctoPrint是一款針對遠(yuǎn)程3D打印的、專業(yè)、強(qiáng)大的控制軟件。它操作簡單,可以幫助用戶輕松、快捷地控制打印機(jī),主要作用是幫助用戶進(jìn)行遠(yuǎn)程3D打印機(jī)的控制;可以通過以太網(wǎng)或Wi-Fi無線網(wǎng)絡(luò)連接打印機(jī)控制,支持聯(lián)機(jī)查詢打印機(jī)的溫度、工作進(jìn)度、剩余線材量等信息。此外,還有非開源的商業(yè)軟件Astroprint也采用類似的方法。它們都是基于樹莓派的硬件,并內(nèi)建嵌入式Linux系統(tǒng),基于HTTP協(xié)議,通過瀏覽器訪問3D打印機(jī)進(jìn)行遠(yuǎn)程打印管理和監(jiān)控打印狀態(tài)和進(jìn)度。

        基于樹莓派開發(fā)板卡的主要特性如下。

        ①打印機(jī)與計(jì)算機(jī)分離,通過有線或無線網(wǎng)絡(luò)打印,支持瀏覽器/服務(wù)器(brower/server,B/S)結(jié)構(gòu),通過瀏覽器操作。

        ②遠(yuǎn)程打印控制軟件有多種控制方式可調(diào)配,支持G代碼直接輸入。

        ③監(jiān)控打印作業(yè)和溫度。

        ④可通過遠(yuǎn)程攝像頭實(shí)時(shí)觀察打印效果。

        ⑤G代碼視覺化(甚至適用于打印中)以及文件管理功能。

        ⑥兼容多種打印機(jī),支持Marlin、Sprinter、Smoothie等主流打印機(jī)固件接口。

        基于樹莓派開發(fā)板卡的缺點(diǎn)在于:B/S結(jié)構(gòu)只能一對一進(jìn)行遠(yuǎn)程控制,不便于集群控制。同時(shí),由于需要額外配置樹莓派,成本較高。

        另一種是采用如圖1 (a)所示的架構(gòu)圖。它也是采用另一塊ARM架構(gòu)的包含串口和網(wǎng)口的開發(fā)板。和圖1(b)所示方式不同點(diǎn)在于:圖1(a)是其上運(yùn)行自主開發(fā)的網(wǎng)卡轉(zhuǎn)串口應(yīng)用程序,實(shí)現(xiàn)網(wǎng)絡(luò)報(bào)文到串口消息的轉(zhuǎn)換。一般客戶端采用客戶端/服務(wù)器端(customer/server,C/S)接口,客戶端基于Socket收發(fā)消息。而傳送文件基于FTP協(xié)議。這種方式的優(yōu)點(diǎn)在于可以進(jìn)行一對一控制或者一對多控制,可以集群控制多臺3D打印機(jī)。

        但不管是圖1(a)方案還是圖1(b)方案,都需要額外的硬件,所以成本較高,而且需要兩塊板卡,不利于打印機(jī)內(nèi)部硬件布局安排。本文討論采用一種基于W5x00網(wǎng)絡(luò)接口套件,通過串行外圍設(shè)備接口(serial peripheral interface,SPI)總線連接到Mega2560主板,可以直接集成到主板上,使3D打印機(jī)具備網(wǎng)絡(luò)通信的能力。

        2 基于W5x00的網(wǎng)絡(luò)接口設(shè)計(jì)

        在本次項(xiàng)目中,國外客戶需要短期內(nèi)給現(xiàn)存打印機(jī)增加網(wǎng)絡(luò)接口功能,并提供基本的遠(yuǎn)程打印功能,如打印文件傳輸、打印開始、打印暫停/繼續(xù)、打印停止、打印狀態(tài)查詢以及打印機(jī)日志記錄等。因此,在不修改打印機(jī)機(jī)械結(jié)構(gòu)的前提下,需要尋找一種更方便、快捷、低成本的方法,增加3D打印機(jī)網(wǎng)絡(luò)接口,使其可以接入云制造平臺[4]。

        2.1 需求分析

        需求是在不影響原打印機(jī)工作的機(jī)械結(jié)構(gòu)和外形,以及原本地打印工作機(jī)制和流程的前提下,新增打印文件遠(yuǎn)程傳輸、遠(yuǎn)程打印啟動、打印暫停、打印停止、打印狀態(tài)獲取、托盤回零、遠(yuǎn)程熱床等基本打印功能。因此,硬件設(shè)計(jì)的要求是最大化地保留原有硬件和軟件設(shè)計(jì),滿足敏捷設(shè)計(jì)的需求,縮短項(xiàng)目開發(fā)和產(chǎn)品上市的時(shí)間。不同網(wǎng)絡(luò)接口方式特點(diǎn)比較如表1所示。根據(jù)表1,最終選擇了W5x00網(wǎng)絡(luò)接口的方式。其優(yōu)點(diǎn)是兼容性好,開發(fā)周期短,而且后期可以合成到Mega2560主板上。由于只有一塊主板,便于安裝和維護(hù),不需要修改機(jī)械結(jié)構(gòu)和外形[5]。

        表1 不同網(wǎng)絡(luò)接口方式特點(diǎn)比較

        2.2 基于W5x00網(wǎng)絡(luò)接口的硬件設(shè)計(jì)

        W5x00是目前網(wǎng)絡(luò)通信的首選。首先,它自帶傳輸控制協(xié)議/網(wǎng)際協(xié)議(transmission control protocol/internet protocol,TCP/IP)協(xié)議棧的支持,只需要寫有限的初始化代碼就可以使用,不像以往的網(wǎng)絡(luò)模塊還要寫讀寫函數(shù)、報(bào)文控制等其他驅(qū)動程序;其次,它只需SPI總線接口就可完成網(wǎng)絡(luò)和單片機(jī)(microcontroller unit,MCU)之間的通信,而且速度和數(shù)據(jù)可靠性也有一定的保證。

        該系列中,W5100是一款多功能的單片網(wǎng)絡(luò)接口芯片,內(nèi)部集成有10/100 MB以太網(wǎng)控制器。由于其高集成、高穩(wěn)定、高性能和低成本等特點(diǎn),一直大量用于嵌入式系統(tǒng)中。使用W5100可以實(shí)現(xiàn)沒有操作系統(tǒng)的Internet連接。W5100與IEEE 802.3 10BASE-T和802.3u 100BASE-TX兼容。W5100內(nèi)部集成了全硬件、穩(wěn)定、高效的TCP/IP協(xié)議棧、以太網(wǎng)介質(zhì)傳輸層和物理層。使用W5100不需要考慮以太網(wǎng)的控制,只需要進(jìn)行簡單的端口(Socket)編程。W5200是W5100的升級版。與W5100相比,W5200具有以下優(yōu)勢。

        ①W5200支持高速SPI總線(≤100 MHz),支持8個(gè)獨(dú)立的端口同時(shí)連接。W5100只有4個(gè)獨(dú)立端口。②W5200提供休眠模式和網(wǎng)絡(luò)喚醒,更低功耗。③W5200具有極小巧的48引腳QFN無鉛封裝,芯片體積更小。④W5200使用簡單,只需添加現(xiàn)有的庫文件,覆蓋Arduino IDE原有的W5100庫文件,燒錄后即可運(yùn)行。⑤W5200具備32 KB內(nèi)部通信緩沖,W5100只有16 KB。

        因?yàn)閃5200芯片和SD讀卡器都通過在線串行編程(in-circuit serial programming,ICSP)針腳使用SPI總線與單片機(jī)通信,所以這兩個(gè)功能不能同時(shí)使用,否則用戶需要采用一個(gè)協(xié)同運(yùn)作的庫程序。而W5500與W5200擴(kuò)展板相比,增加了POE供電、網(wǎng)絡(luò)喚醒模式、集成主板等功能,且主板使用了一個(gè)新的高效SPI協(xié)議,支持80 MHz通信速率,從而能夠更好地實(shí)現(xiàn)高速網(wǎng)絡(luò)通信[6]。

        幾種以太網(wǎng)擴(kuò)展板比較如表2所示。

        表2中,W5500、W5200、W5100擴(kuò)展板是兼容Arduino Mega2560主板的,可以利用Mega2560主板的SPI接口直接進(jìn)行通信。

        表2 幾種以太網(wǎng)擴(kuò)展板比較

        2.3 通信接口設(shè)計(jì)

        根據(jù)表2,本文最終選擇了W5500作為網(wǎng)絡(luò)控制芯片,并和主板進(jìn)行集成控制。主板與W5500芯片通信如圖2所示。通過SPI方式進(jìn)行連接,其引腳主要包含LED(控制引腳)、nINT(中斷控制引腳)、nRST(芯片復(fù)位引腳)、PWDN(電源控制引腳)、5500_CS(網(wǎng)絡(luò)接口卡片選引腳)、SD_CS SD(卡片選引腳)、MISO(主器件數(shù)據(jù)輸入、從器件數(shù)據(jù)輸出),MOSI(主器件數(shù)據(jù)輸出、從器件數(shù)據(jù)輸入),SCLK(時(shí)鐘信號),SS(從器件使能信號)。

        圖2 主板與W5500芯片通信示意圖

        在實(shí)際的W5500與Mega2560主板的硬件連接電路中,主芯片采用ATMEL ALMEGA32。它是網(wǎng)絡(luò)接口卡的控制芯片。其一端的引腳與Mega2560的控制引腳相連,而另一端的引腳連接以太網(wǎng)控制芯片W5500的對外接口。ATMEL ATMEGA32與主板的通信包含前述的SPI通信接口(MOSI,MISO,SCLK,nSCS)以及一些I/O控制端口(nINT,PWDN,nRST)等。

        3 軟件設(shè)計(jì)

        在硬件通信線路連接建立后,系統(tǒng)軟件也需要作相應(yīng)的修改。系統(tǒng)軟件需要在不影響原打印機(jī)工作流程的前提下新增打印文件遠(yuǎn)程傳輸、遠(yuǎn)程打印啟動、打印暫停、打印停止、打印狀態(tài)獲取、托盤回零、遠(yuǎn)程熱床、獲取日志等必要的3D打印機(jī)遠(yuǎn)程操作[7]。

        3.1 軟件架構(gòu)

        系統(tǒng)Mega2560主板和以太網(wǎng)擴(kuò)展芯片W5500通過SPI和輸入輸出接口連接。W5500可外接RJ-45物理接口和SD卡,負(fù)責(zé)處理打印操作、狀態(tài)查詢、G代碼文件讀取以及網(wǎng)絡(luò)傳輸狀態(tài)顯示、收發(fā)網(wǎng)絡(luò)數(shù)據(jù)和讀寫SD卡。而主板通過數(shù)據(jù)緩存接收待處理的G代碼序列,并通過代碼解釋、插補(bǔ)等內(nèi)部處理發(fā)送脈沖寬度調(diào)制(pulse width modulation,PWM)脈沖到電機(jī)驅(qū)動,通過I/O操作控制加熱器進(jìn)行溫度控制以及其他相關(guān)的I/O操作,如開關(guān)門、開關(guān)水冷機(jī)等[8]。同時(shí),3D打印機(jī)的溫度數(shù)據(jù)及通過I/O數(shù)字量的讀取獲得當(dāng)前打印機(jī)開關(guān)量的狀態(tài)。由于被測打印機(jī)使用步進(jìn)電機(jī)驅(qū)動,主板芯片不需要讀取電機(jī)的狀態(tài)反饋。

        系統(tǒng)軟件架構(gòu)如圖3所示。

        圖3 系統(tǒng)軟件架構(gòu)

        3.2 系統(tǒng)實(shí)現(xiàn)

        具體到系統(tǒng)實(shí)現(xiàn),需求被細(xì)化為以下四類。

        ①傳輸大文件。

        由于3D打印G代碼文件都比較大,部分文件達(dá)100~200 MB,所以要求網(wǎng)絡(luò)文件傳輸速度非常快。因?yàn)镾D卡存儲和以太網(wǎng)傳輸都依賴SPI總線速度,所以實(shí)際使用中,SPI的速度是網(wǎng)絡(luò)傳輸速度最主要的影響因素。實(shí)際測試中發(fā)現(xiàn)使用W5100時(shí),上傳速度為7.47 kbit/s,下載速度為51.79 kbit/s;而使用W5200和W5500時(shí),由于其支持高速SPI,所以讀寫速度大大提高,在打開SD卡選項(xiàng)的SPI_FULL_SPEED的情況下,對于class 6和class10的高速SD卡,上傳速度達(dá)到188.08 kbit/s,下載速度達(dá)到 170.18 kbit/s。傳輸100 MB的文件約需9 min,能夠滿足客戶要求的100 kbit/s以上的傳輸速度需求。

        ②遠(yuǎn)程控制打印機(jī)操作。

        遠(yuǎn)程打印機(jī)控制操作包含打開G代碼文件、打印啟動/繼續(xù)、打印機(jī)暫停以及停止操作等控制。為了更好地兼容其他場合,數(shù)據(jù)格式采用標(biāo)準(zhǔn)的JS 對象簡譜 (java script object notation,JSON)交換格式。

        ③獲取打印機(jī)狀態(tài)信息。

        打印機(jī)狀態(tài)信息獲取包含獲取信息(get info)、獲取溫度(get temp)、獲取狀態(tài)(get status)。獲取信息包含打印機(jī)名、IP地址信息和MAC地址信息;獲取溫度包含左噴頭溫度T0、右噴頭溫度T1、腔室溫度C、熱床溫度B、料倉溫度F、料倉濕度H;獲取狀態(tài)包含打印機(jī)百分比、已花費(fèi)時(shí)間、剩余時(shí)間、是否啟動中、是否暫停中以及錯(cuò)誤碼。其格式也采用了標(biāo)準(zhǔn)的JSON格式編碼。

        ④獲取日志。

        獲取日志和傳輸大文件都是通過文件傳輸協(xié)議(file transfer protocol,F(xiàn)TP)傳輸。通過在主板上建立FTP服務(wù)器服務(wù),然后通過通用的FTP軟件,如FileZilla、FTPRush等軟件即可進(jìn)行傳輸。但是Arduino系統(tǒng)中并不自帶FTP服務(wù),需要參考開源程序FTP Server on Arduino并進(jìn)行移植[9]。

        系統(tǒng)其他需求(如托盤回零、遠(yuǎn)程熱床等)在打印過程中會自動被執(zhí)行,所以并沒有設(shè)置專用指令來執(zhí)行。另外,系統(tǒng)可以透傳G代碼控制指令,即直接遠(yuǎn)程輸入G代碼指令讓3D打印機(jī)執(zhí)行相關(guān)指令[10]。

        4 結(jié)論

        云制造是新一代的智能制造平臺,通過網(wǎng)絡(luò)提供服務(wù),集成異地企業(yè)的制造能力和生產(chǎn)水平,使企業(yè)通過平臺即可完成產(chǎn)品的采購、設(shè)計(jì)、工藝、制造、生產(chǎn)、售后等各個(gè)環(huán)節(jié),大大提高了企業(yè)和社會資源的利用率[11]。而3D打印機(jī)的柔性制造能力、創(chuàng)新生產(chǎn)能力可以大大提升企業(yè)新產(chǎn)品的協(xié)同設(shè)計(jì)和協(xié)同制造能力,使產(chǎn)品制造變得更加智能、高效、個(gè)性化[12]。

        目前,很多3D打印機(jī)都采用基于Marlin的固件。由于Marlin沒有內(nèi)置的以太網(wǎng)接口,很多基于Marlin開源的3D打印機(jī)都沒有云制造的接口。本文根據(jù)外國客戶的3D打印機(jī)改進(jìn)需求,在W5x00的基礎(chǔ)上研究了基于Marlin的3D打印機(jī)云設(shè)計(jì)與實(shí)現(xiàn),針對Marlin進(jìn)行改造,使其具有連接到云打印平臺的屬性和功能,可以滿足更多的應(yīng)用場合需求。這種方案兼容性好,開發(fā)周期短,成本低,不需要更改打印機(jī)外殼?;赥CP/IP標(biāo)準(zhǔn)的通信協(xié)議也可方便地使用手機(jī)或者計(jì)算機(jī)上的TCP客戶端軟件進(jìn)行連接和控制,并可以用作云制造的接口。該方案不僅適用于Marlin系統(tǒng),也可以作簡單改動后匹配其他類型的3D打印機(jī)固件系統(tǒng)。

        亚洲毛片免费观看视频| 天天躁日日躁狠狠躁一区| 国产人妖xxxx做受视频| 日本韩国三级在线观看| 国产精品久久久爽爽爽麻豆色哟哟| 中国凸偷窥xxxx自由视频妇科 | 亚洲人成在线播放a偷伦| 日韩有码在线一区二区三区合集 | 日本成人在线不卡一区二区三区| 日本最新一区二区三区在线视频| 日日碰狠狠添天天爽| 亚洲AV无码专区一级婬片毛片| 国产精品人妻一区夜夜爱| 波多野结衣一区二区三区视频| 一区二区三区四区国产亚洲| 激情内射人妻1区2区3区| 国产精品久久久| 亚洲电影久久久久久久9999| 精品少妇一区二区三区入口| 日韩人妖视频一区二区| 亚洲七久久之综合七久久| 日本亚洲欧美在线观看| av大片在线无码永久免费网址| 久久亚洲乱码中文字幕熟女| 精品乱码一区内射人妻无码| 欧美丰满熟妇bbbbbb百度| 亚洲区一区二区中文字幕| 日本区一区二区三视频| 丰满人妻被黑人猛烈进入| 色www亚洲| 日韩有码中文字幕在线视频 | 无码人妻久久一区二区三区不卡| 本道无码一区二区久久激情| 青青草免费视频一区二区| 免费av一区二区三区无码| 中文在线а√天堂官网| 看全色黄大黄大色免费久久| 亚洲最大免费福利视频网| 亚洲第一最快av网站| 1000部拍拍拍18勿入免费视频下载| 偷拍激情视频一区二区|