基于wifi的無(wú)線3D打印機(jī)控制器設(shè)計(jì)
摘要:3D打印技術(shù)近幾年發(fā)展迅速,已經(jīng)廣泛應(yīng)用于航天、國(guó)防、醫(yī)療設(shè)備及教育等領(lǐng)域。針對(duì)目前3D打印機(jī)主要是采用有線方式打印,需要電腦等設(shè)備,不方便攜帶,本文設(shè)計(jì)一種基于wifi的無(wú)線3D打印機(jī),可以直接脫離電腦,實(shí)現(xiàn)移動(dòng)設(shè)備無(wú)線控制進(jìn)行打印,為用戶提供了便利。
本文引用地址:http://www.ex-cimer.com/article/201610/306867.htm3D打印屬于快速成形技術(shù)的一種,是以數(shù)字模型文件為基礎(chǔ),運(yùn)用塑料或粉末狀金屬等材料,通過(guò)逐層打印的方式來(lái)構(gòu)造物體。近幾年3D打印技術(shù)飛速發(fā)展,已廣泛應(yīng)用于航天、國(guó)防、醫(yī)療設(shè)備、教育及制造業(yè)。但目前的3D打印機(jī)大部分依然采用電腦連接進(jìn)行操作打印,或者采用SD卡存儲(chǔ)打印產(chǎn)品的數(shù)據(jù)進(jìn)行打印,有時(shí)為用戶使用帶來(lái)極大不便。手機(jī)、平板電腦等移動(dòng)設(shè)備終端已經(jīng)成為了人們的生活必備品,這些產(chǎn)品都帶有wifi無(wú)線傳輸功能。本文設(shè)計(jì)一種可以利用手機(jī)、平板等移動(dòng)端安裝app應(yīng)用軟件實(shí)現(xiàn)移動(dòng)設(shè)備wifi無(wú)線控制3D打印機(jī)進(jìn)行打印的控制器。通過(guò)移動(dòng)端app軟件進(jìn)行打印對(duì)象的選擇、傳輸及打印控制。有了wifi操作,3D打印機(jī)就不局限于在電腦上操作,方便了用戶使用,節(jié)省了使用成本。本文重點(diǎn)闡述無(wú)線式3D打印機(jī)控制器和上位機(jī)APP應(yīng)用界面的設(shè)計(jì)。
1 無(wú)線式3D打印機(jī)控制器設(shè)計(jì)方案
控制器的核心CPU選用ST公司的STM32F103VET6微控制器,控制系統(tǒng)主要完成接收WiFi模塊傳輸?shù)臄?shù)據(jù);讀取SD卡內(nèi)存放的3D模型數(shù)據(jù)文件;完成對(duì)步進(jìn)電機(jī)的控制;擠出頭和熱床的溫度控制;擠出頭行程控制等。無(wú)線式3D打印機(jī)的控制系統(tǒng)總體框圖如圖1所示。
如圖1所示,手機(jī)端的控制軟件代替了電腦,通過(guò)手機(jī)上的wifi將打印數(shù)據(jù)和命令傳輸?shù)?D打印機(jī)控制器進(jìn)行打印控制,3D打印機(jī)控制器也會(huì)將擠出頭及熱床溫度、打印機(jī)當(dāng)前狀態(tài)等信息傳輸?shù)绞謾C(jī)端進(jìn)行顯示,方便用戶查看。3D打印機(jī)控制器通過(guò)wifi模塊接收數(shù)據(jù)文件存儲(chǔ)到SD卡中,打印數(shù)據(jù)存儲(chǔ)完成后,當(dāng)控制器接收到打印命令后就可以開(kāi)始打印了。兩路溫度傳感器經(jīng)CPU片內(nèi)A/D轉(zhuǎn)換通道分別檢測(cè)擠出頭和熱床的溫度;CPU的兩路數(shù)字信號(hào)輸出分別控制擠出頭和熱床加熱電路的NMOS功率開(kāi)關(guān)管,結(jié)合溫度傳感器實(shí)現(xiàn)擠出頭和熱床溫度的控制;四路步進(jìn)電機(jī)驅(qū)動(dòng)電路分別控制X、Y、Z這3個(gè)軸的步進(jìn)電機(jī)以及擠出頭的步進(jìn)電機(jī);三路行程開(kāi)關(guān)定位X、Y、Z軸的原點(diǎn)和運(yùn)動(dòng)相對(duì)位移量。
2 系統(tǒng)硬件電路設(shè)計(jì)
2.1 wifi通信電路設(shè)計(jì)
本設(shè)計(jì)中選用的是ESP8266為主控芯片的wifi模塊。ESP8266的wifi模塊具有接口簡(jiǎn)單、價(jià)格低廉、高效的AT指令,開(kāi)發(fā)更簡(jiǎn)單等特點(diǎn)。ESP8266芯片具有一個(gè)完整且自成體系的wifi網(wǎng)絡(luò)解決方案,高度片內(nèi)集成,包括天線開(kāi)關(guān)、電源管理轉(zhuǎn)換器,因此只需要極少的外部電路,且包括前端模塊在內(nèi)的整個(gè)電路所占PCB空間非常小,專為移動(dòng)設(shè)備和物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì),可將用戶的物理設(shè)備連接到wifi無(wú)線網(wǎng)絡(luò)上,進(jìn)行互聯(lián)網(wǎng)或局域網(wǎng)通信。WiFi模塊采用UART和控制器進(jìn)行通信。STM32通過(guò)串口TX發(fā)送AT指令對(duì)wifi的工作模式、UART波特率、建立連接等相關(guān)參數(shù)進(jìn)行設(shè)置。STM32的USART接收端口RX則接收wifi模塊從移動(dòng)端接收到數(shù)據(jù)和指令。這樣,當(dāng)移動(dòng)端和3D打印終端建立無(wú)線連接后,就可以實(shí)現(xiàn)數(shù)據(jù)雙向通信了。
2.2 步進(jìn)電機(jī)驅(qū)動(dòng)電路設(shè)計(jì)
對(duì)于小型打印機(jī)一般采用兩相四線42系列的步進(jìn)電機(jī)。STM32控制步進(jìn)電機(jī)要借助于電機(jī)驅(qū)動(dòng)電路,在3D打印機(jī)中一般采用A4988芯片作為步進(jìn)電機(jī)驅(qū)動(dòng),但A4988芯片最大只有16細(xì)分,輸出最大電流為2A。而TI公司的DRV8825步進(jìn)電機(jī)驅(qū)動(dòng)芯片最高可以達(dá)到32細(xì)分,驅(qū)動(dòng)電流可以輸出 2.5A,低至0.2歐的導(dǎo)通電阻,保證了芯片良好的散熱性等優(yōu)勢(shì)。另外芯片還集成了快速響應(yīng)的短路、過(guò)熱、欠壓及交叉?zhèn)鲗?dǎo)保護(hù)功能電路,能夠檢測(cè)故障狀況,并迅速切斷H橋,從而為電機(jī)和驅(qū)動(dòng)芯片提供保護(hù)。本設(shè)計(jì)選擇DEV8825作為步進(jìn)電機(jī)驅(qū)動(dòng)芯片。圖2為步進(jìn)電機(jī)驅(qū)動(dòng)電路和加熱及溫度檢測(cè)電路與 STM32的接口。圖2中P1為兩相四線步進(jìn)電機(jī)和DRV8825驅(qū)動(dòng)電路的接口,芯片的STEP步進(jìn)和DIR方向控制管腳連接到STM32的PC0和 PC1管腳進(jìn)行控制。本設(shè)計(jì)中在驅(qū)動(dòng)電路硬件設(shè)計(jì)時(shí)已經(jīng)將細(xì)分設(shè)置為1/32,休眠、復(fù)位等都失能,這樣可以節(jié)省STM32的GPIO端口,如果控制器芯片管腳夠用,可以通過(guò)程序控制這些管腳進(jìn)行更多功能的步進(jìn)電機(jī)控制。
2.3 擠出頭溫度檢測(cè)及加熱電路設(shè)計(jì)
3D打印過(guò)程中擠出頭和熱床都需要保持相對(duì)恒定的溫度,如果采用的是PLA打印材料一般將擠出頭加熱溫度設(shè)置為175-200度,熱床溫度設(shè)置為40-60度。電路中溫度檢測(cè)采用MAX6675數(shù)字溫度轉(zhuǎn)換芯片將熱敏電阻的溫度轉(zhuǎn)換為數(shù)字量由STM32讀出。擠出頭和熱床溫度可根據(jù)具體使用環(huán)境確定實(shí)際溫度值,擠出頭和熱床溫度檢測(cè)和加熱電路是相同的,這里以擠出頭溫度檢測(cè)和加熱電路說(shuō)明其加熱原理,電路如圖2所示。
JP27為加熱管的接線端子,連接直流發(fā)熱芯,R41和D13組成指示燈電路,MOS管Q3導(dǎo)通時(shí),指示燈D13亮,發(fā)熱芯加熱。U4為熱敏電阻溫度轉(zhuǎn)換芯片,轉(zhuǎn)換完成的溫度數(shù)字量通過(guò)STM32的3個(gè)管腳根據(jù)MAX6675操作時(shí)序讀出。STM32將讀出的溫度值和設(shè)定的溫度值進(jìn)行比較,形成反饋,采用 PID算法實(shí)現(xiàn)溫度的恒定。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 手機(jī)端APP軟件設(shè)計(jì)
移動(dòng)端的應(yīng)用程序主要實(shí)現(xiàn)3D打印文件的選擇、確認(rèn)、3D打印機(jī)狀態(tài)顯示以及wifi的連接等。應(yīng)用程序采用Android編程,實(shí)現(xiàn)打印數(shù)據(jù)文件的讀取,并控制wifi進(jìn)行數(shù)據(jù)的傳輸,還能夠設(shè)置3D打印機(jī)的打印頭溫度、熱床溫度,并且可以接收打印頭和熱床溫度進(jìn)行顯示,以及所用材料類(lèi)型及使用量信息進(jìn)行顯示。移動(dòng)端應(yīng)用程序主要頁(yè)面設(shè)計(jì)如圖3所示。
首先在應(yīng)用程序首頁(yè)選擇要打印的STL文件,進(jìn)入下一界面進(jìn)行預(yù)覽,預(yù)覽確認(rèn)后可以啟動(dòng)打印,在打印界面可以選擇暫停,并能夠顯示當(dāng)前打印機(jī)的速度、熱床和擠出頭溫度等信息。
3. 2 主程序流程圖
軟件程序具有通信、數(shù)字信號(hào)的控制和數(shù)據(jù)讀取與處理等功能,根據(jù)設(shè)計(jì)要求,軟件程序流程圖設(shè)計(jì)如圖4所示:
首先,3D打印機(jī)終端對(duì)wifi、電機(jī)及加熱等模塊初始化完成后,開(kāi)始等待移動(dòng)端發(fā)出的打印命令。一旦移動(dòng)端發(fā)出打印命令,接收端接收到命令后,開(kāi)始接收數(shù)據(jù),為節(jié)省時(shí)間,在接收打印數(shù)據(jù)的同時(shí),對(duì)擠壓頭及熱床進(jìn)行預(yù)熱。當(dāng)檢測(cè)到數(shù)據(jù)接收完成,溫度等達(dá)到預(yù)設(shè)值后,啟動(dòng)打印,并將打印速率、擠壓頭及熱床溫度等信息實(shí)時(shí)回傳到手機(jī)的應(yīng)用軟件上進(jìn)行顯示,直到打印完成。
4 結(jié)束語(yǔ)
隨著3D打印機(jī)和手機(jī)、平板電腦等移動(dòng)終端的普及,采用移動(dòng)終端對(duì)3D打印機(jī)進(jìn)行控制是未來(lái)3D打印機(jī)的發(fā)展方向。本文就實(shí)現(xiàn)3D打印機(jī)的無(wú)線打印,給出了具體實(shí)現(xiàn)原理及程序流程,采用STM32微控制器提高了處理速度,加熱電路通過(guò)PID調(diào)節(jié),保證了溫度恒定,減少了斷絲、粗細(xì)不均現(xiàn)象,提高了打印質(zhì)量。經(jīng)實(shí)際驗(yàn)證,能夠?qū)崿F(xiàn)手機(jī)等移動(dòng)終端對(duì)3D打印機(jī)的控制,并且本設(shè)計(jì)提高了打印質(zhì)量。無(wú)線打印,為用戶使用3D打印機(jī)提供了方便。
評(píng)論