999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Marlin的3D打印機網絡接口設計與實現

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

朱文琦

(河南工業職業技術學院自動化工程學院,河南 南陽 473000)

0 引言

當前的3D打印機固件有很多種,其中Sprinter、Marlin有非常多的使用者。Sprinter功能相對簡單、基本功能齊全,而Marlin的功能相對復雜、強大。Marlin固件是桌面級3D打印機固件中較流行的一種。因為其開源的特點,很多桌面級或工業級3D打印機都基于該固件。它使用Arduino Mega2560主板,使用者只需進行適當的配置就可以進行基本的打印,而且目前配置的說明文檔也比較豐富。由于開源的特點,其已成為很多3D打印企業和科研院校研究3D打印機的首選[1]。

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

1 當前的網絡接口方式

當前大多數基于Marlin的網絡打印采用了另接一塊ARM板,通過ARM板上的網絡接口與外界進行網絡連接,同時通過USB串口與Mega2560進行通信。這塊ARM板是連接LAN/WAN與Mega2560主板的橋梁。

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

圖1 常用網絡連接方式

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

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

①打印機與計算機分離,通過有線或無線網絡打印,支持瀏覽器/服務器(brower/server,B/S)結構,通過瀏覽器操作。

②遠程打印控制軟件有多種控制方式可調配,支持G代碼直接輸入。

③監控打印作業和溫度。

④可通過遠程攝像頭實時觀察打印效果。

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

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

基于樹莓派開發板卡的缺點在于:B/S結構只能一對一進行遠程控制,不便于集群控制。同時,由于需要額外配置樹莓派,成本較高。

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

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

2 基于W5x00的網絡接口設計

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

2.1 需求分析

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

表1 不同網絡接口方式特點比較

2.2 基于W5x00網絡接口的硬件設計

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

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

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

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

幾種以太網擴展板比較如表2所示。

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

表2 幾種以太網擴展板比較

2.3 通信接口設計

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

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

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

3 軟件設計

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

3.1 軟件架構

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

系統軟件架構如圖3所示。

圖3 系統軟件架構

3.2 系統實現

具體到系統實現,需求被細化為以下四類。

①傳輸大文件。

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

②遠程控制打印機操作。

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

③獲取打印機狀態信息。

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

④獲取日志。

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

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

4 結論

云制造是新一代的智能制造平臺,通過網絡提供服務,集成異地企業的制造能力和生產水平,使企業通過平臺即可完成產品的采購、設計、工藝、制造、生產、售后等各個環節,大大提高了企業和社會資源的利用率[11]。而3D打印機的柔性制造能力、創新生產能力可以大大提升企業新產品的協同設計和協同制造能力,使產品制造變得更加智能、高效、個性化[12]。

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

主站蜘蛛池模板: 午夜精品区| 国产18在线| 五月婷婷激情四射| 久久香蕉国产线看精品| 亚洲美女一区二区三区| 国产香蕉国产精品偷在线观看 | 黄片一区二区三区| 国产成人喷潮在线观看| 亚洲αv毛片| 国产福利微拍精品一区二区| 91精品综合| 国产亚洲精品自在线| 欧美日韩v| 日韩精品毛片| 国产第一页屁屁影院| 亚洲国产天堂久久综合226114| 韩日无码在线不卡| 国产视频你懂得| 超清无码熟妇人妻AV在线绿巨人| 九色在线观看视频| 精品免费在线视频| 欧美一级片在线| 狠狠综合久久| 国产手机在线观看| 91小视频在线播放| 国产swag在线观看| 夜夜操天天摸| 亚洲区欧美区| 国内老司机精品视频在线播出| 国产成人a在线观看视频| 亚洲经典在线中文字幕| 成人无码区免费视频网站蜜臀| 亚洲天堂视频在线免费观看| 被公侵犯人妻少妇一区二区三区| 免费看一级毛片波多结衣| 国产一区二区三区精品久久呦| 制服丝袜一区| 国产精品欧美在线观看| 日韩小视频在线播放| 久久semm亚洲国产| 国产福利免费在线观看| 九色91在线视频| 色综合中文综合网| 在线播放真实国产乱子伦| 老司机精品一区在线视频| 亚洲精品男人天堂| 免费国产小视频在线观看| 免费Aⅴ片在线观看蜜芽Tⅴ| 激情爆乳一区二区| 三级欧美在线| 国内精品久久人妻无码大片高| 国产精品免费p区| 成人精品亚洲| 亚洲视频免费在线看| 亚洲精品在线91| 亚洲综合色区在线播放2019 | …亚洲 欧洲 另类 春色| 欧美国产在线看| 欧美日韩资源| 国产日韩欧美成人| 无码精品福利一区二区三区| 日韩a在线观看免费观看| 国产精品13页| 精品色综合| 蜜桃视频一区二区| 一级毛片基地| 日韩精品毛片| 亚洲女同一区二区| 国产精品人人做人人爽人人添| 日本欧美一二三区色视频| 99在线视频免费| 伊人91在线| 另类专区亚洲| 四虎亚洲国产成人久久精品| 国产丝袜第一页| 欧美一级大片在线观看| 久久精品视频一| 好紧好深好大乳无码中文字幕| 亚洲日韩精品欧美中文字幕 | 国内精品自在欧美一区| 国产人成乱码视频免费观看| 国产午夜在线观看视频|