文章類型
開發平台
解決方案
關注主題
文章類型
開發平台
解決方案
關注主題

如何打造開源WiFi 3D printer

作者:Michael Wang

這邊分享在開源3D printer (Arduino Mega2560、RAMPS1.4、Marlin firmware)架構下,透過WiFi連線操作的方式,希望能提供不熟悉電子電路的朋友們一種簡單的使用方式。

首圖

1. 所需的硬體裝置:

1.1 Arduino Mega 2560

1.2 RAMPS 1.4

1.3 ESP8266 ESP-01 (Wifi module)

1.4 USB-TTL FTDI (支援3.3v/5v。建議選擇5v,因3.3v常發生電流不足而產生非預期異常現象)

1.5 5V->3V降壓模組 (為了足夠電流選擇5v端,但必須降壓成3v才可供ESP8266 ESP-01使用,否則可能造成元件燒毀)


2. 所需的軟體:

2.1 NodeMCU Firmware:

https://github.com/nodemcu/nodemcu-firmware/releases

2.2 Firmware Flasher-

2.2.1 Win64 Windows Flasher:

https://github.com/nodemcu/nodemcu-flasher/raw/master/Win64/Release/ESP8266Flasher.exe

2.2.2 Win32 Windows Flasher:

https://github.com/nodemcu/nodemcu-flasher/raw/master/Win32/Release/ESP8266Flasher.exe

2.3 ESP8266 TCP to Serial Bridge file (讓ESP8266可以和RAMPS溝通)

2.3.1 Station Mode (此篇以Station Mode為例):

https://drive.google.com/file/d/0B9b6-RyV1H8VQ090RXpEa2dRLUU/view?usp=sharing

2.3.2 AP Mode:

http://www.roboremo.com/esp8266-tcp-to-serial.html

2.4 ESPlorer:

https://esp8266.ru/esplorer/


3. 燒錄NodeMCU Firmware:

3.1 首先根據圖(1)接上USB-TTL FTDI與ESP8266 ESP-01之間的連線。

3.1.1 圖(1)注意RX接TX,TX接RX。同時也注意要燒錄NodeMCU Firmware時,橘色GPIO0的連線必須要接上GND,其他Wifi運作時、Upload Lua code時則不得接上。

圖(1)

圖(1)

3.1.2 使用圖(2)中元件、杜邦線做準備。

圖(2)

圖(2)

3.1.3 圖(3)為USB-TTL FTDI使用3.3v的接線方式。

圖(3)

圖(3)

3.1.4 圖(4)但是由於3.3v會因電流不穩,造成燒錄失敗或異常的可能,因此建議此處直接連接5V->3V降壓模組(後續使用到的裝置),而USB-TTL FTDI則調為5v模式使用。(注意此時要燒錄firmware,所以左邊橘線必須接上GPIO0 <-> GND)。

圖(4)

3.1.5 5V->3V降壓模組電壓輸出端連接ESP8266 ESP-01、電壓輸入端連接USB-TTL FTDI。

圖(5)

3.2 上述裝置USB插入電腦,並打開軟體Firmware Flasher。

3.2.1 首先注意圖(6) COM Port number是否正確。

圖(6)

3.2.2 圖(7)在燒錄時需要在Advanced -> Baudrate選項,選擇ESP8266 ESP-01 default baudrate (通常為115200),若否,則需要trial and error。

圖(7)

3.2.3 圖(8)選擇所要燒錄的NodeMCU Firmware file,再回到3.2.1按下Flash開始燒錄。

圖(8)

圖(8)

3.2.4 圖(9)可以在Log頁面確認燒錄過程與燒錄是否成功。

*注意:以此版本fimware燒錄後的baudrate為9600 (後續upload 檔案和Marlin firmware修改皆需使用)。

圖(9)

圖(9)

圖(9)

圖(9)


4. 上傳ESP8266 TCP到Serial Bridge (Station Mode):

4.1 打開圖(10)的ESPlorer軟體,File -> Open from disk選擇所要的init.lua檔案。(注意檔案名稱必須為”init.lua”)

4.2 接著修改項目:

4.2.1欲連線之Wifi SSID、Wifi Password

4.2.2 IP(配給ESP8266之IP)、Netmask和Gateway(Wifi AP之IP)

4.2.3連線速率baudrate改為 9600

圖(10)

4.3 修改完成後,插入圖(11)的 USB〈注意此時並非燒錄firmware,所以左方橘線不得接上 GPIO0 != GND〉。並在圖(10)右上方選擇正確com port number後按下Open,接著左下方按Save to ESP鈕上傳〈右方會有上傳log顯示是否成功〉。

圖(4)

圖(11)


5. 裝配ESP8266 ESP-01上的Arduino/RAMPS1.4

5.1 圖(12)搭配上5V->3V降壓模組,並取下與USB-TTL FTDI之間的接線,改與RAMPS 1.4連接。

圖(12)

圖(12)

5.2 根據圖(13),將對應的連線接上(注意TX接RX、RX接TX)。

5.2.1 ESP8266 RX <-> RAPMS 1.4 AUX-4 D16 TX

5.2.2 ESP8266 TX <-> RAPMS 1.4 AUX-4 D17 RX

5.2.3 降壓模組GND <-> RAPMS 1.4 AUX-4 GND

5.2.3 降壓模組Vin <-> RAPMS 1.4 AUX-4 5v

圖(13)

圖(13)


6. 修改Marlin firmware:

6.1 Configuration.h

#SERIAL_PORT X // X改為2

#define BAUDRATE Y // Y改為9600

6.2 注意改好後接上USB線,upload到Arduino Mega 2560後不能再用USB列印, 要用TCP/IP連接。若要改回USB列印則在6.1之步驟修改為原始值再使用USB upload到Arduino Mega 2560。


圖(14)設定Host Software (Repetive-Host為例)

7. 最後設定:

7.1 列印機設定->連線方式->選TCP/IP連線

7.2 IP位址->設定ESP8266時輸入的IP (參考4.2.2步驟)

7.3通訊埠->設定ESP8266時輸入的Port (default為9876)

圖(14)

 

或您也可以參考此篇文章的做法(部分方式不同)

(本文同步刊載於作者部落格AiFood原文連結,責任編輯:賴芳如)

Michael Wang

Michael Wang

本身為行動通訊協定軟體工程師,擁有近6年之研究與開發經驗,同時也熱愛舞蹈藝術。致力於研發IOT產品應用服務,希望結合工程師的技術與藝術的內涵,連結產品與生活的樂趣。
Michael Wang

Latest posts by Michael Wang (see all)

上一篇: | 下一篇:

我想回應

你的電子郵件位址並不會被公開。 必要欄位標記為 *

成城共創股份有限公司版權所有、轉載必究.Copyright(c) 2017 MakerPRO