2020-03-09

使用 FT232RL 寫入 Sketch 到 ATmega328P*

如果只有 1塊 Arduino UNO Rev3 底板,卻有一堆 ATmega328P*
經常安裝及卸除 Arduino 上的 ATmega328P* ,難免會損壞 Arduino 上的 引腳座 或 ATmega328P* 的引腳
如果損壞 ATmega328P* 成本還不算太高,但如果損壞 Arduino 成本便相對較高
而且燒錄 Bootloader 必須借助 Arduino ,因此盡量避免損壞 Arduino 為優先考慮
但有沒有方法可以避免使用 Arduino 將 Sketch 寫入到 ATmega328P* ?

最簡單同樣使用 ArduinoISP 方式上載 Sketch 到 ATmega328P*
與在下的 燒錄 Bootloader 到 ATmega328P* 並獨立運作 配置方式相同
但此文章要避免使用 Arduino 因此不會使用 ArduinoISP 方式

由於 ATmega需要以 序列資料 方式上載 Sketch
現今電腦都接近 沒有提供序列埠 ,主要以 USB 連接,因此需要一些工具將 USB訊號 轉換成 序資訊號
將 USB訊號 轉換成 序資訊號 的工具很多,在下使用 FT232RL擴充實驗底板 為示範
(FT232RL擴充實驗底板 是一種常見的 USB-Serial 轉換器,成本低、體積細小)

當中的 232 其實就是指 序列資料通訊介面標準RS-232


外觀

見下文
見下文
見下文
FT232RL擴充實驗底板 的 正面

正面引腳
FT232RL擴充實驗底板 正面有主要使用的 6支曲引腳 ,方便使用者安裝到 引腳座麵包板 上使用
這 6支引腳的排序次序 與 Arduino Pro Mini 完全匹配
123456
DTRRXTXVCCCTSGND

見下文
FT232RL擴充實驗底板 的 背面

完整引腳在 擴充實驗底板的背面
背面引腳
181716151413121110
123456789
用途GNDTXLRXL5V3.3VCTSSLEEPPWRENTEN
TXDDTRRTSVCCRXDRIGNDRSDDCD

如果只將 USB訊號 轉換成 序列訊號 ,只需要使用 DTR, RX/RXD, TX/TXD 3支引腳

見下文
FT232RL晶片

見下文
在下這塊 FT232RL擴充實驗底板 使用 Mini USB Type-B 插孔

線路接駁

見下文
要將 USB訊號 轉換成 序列訊號 寫入到 ATmega328P*
還需要 3粒22pF電容、1粒16MHz晶體振盪器

FT232RL 引腳ATmega328P* 引腳接駁電子零件
C0C116MHz晶體振盪器
GNDC022pF電容
GNDC122pF電容
DTRRST22pF電容
RXTX
TXRX
VCCVCC
GNDGND

見下文
接駁線路原型

見下文
實際接駁線路

見下文
將 16KHz晶體振盪器 接駁到 ATmega328P* 的 C0引腳 及 C1引腳
2粒22pF電容 接駁到 ATmega328P* 的 GND引腳
(ATmega328P* 的引腳資訊請參與 )

見下文
FT232RL擴充實驗底板 的 DTR引腳 接駁到 2粒22pF電容 再接駁到 ATmega328P* 的 RST引腳
(因為 Arduino 已經提供電容,所以如果使用 ArduinoISP 方式則不需要此電容)
FT232RL擴充實驗底板 的 RX引腳 接駁到 ATmega328P* 的 TX引腳
FT232RL擴充實驗底板 的 TX引腳 接駁到 ATmega328P* 的 RX引腳

見下文
FT232RL擴充實驗底板 的 VCC引腳 接駁到 ATmega328P* 的 VCC引腳
FT232RL擴充實驗底板 的 GND引腳 接駁到 ATmega328P* 的 GND引腳

見下文
如果覺得只有單邊安裝在麵包板上不穩固,可以使用 FT232RL擴充實驗底板 背部 的 雙行引腳
不過 FT232RL擴充實驗底板 的 雙行引腳 沒有 TXRX ,需要連接到 TXDRXD

見下文
FT232RL擴充實驗底板 經 USB 接駁到 電腦,再經 Arduino IDE 上載 Sketch 到 ATmega328P* 測試
由於 ATmega328P* 是使用 Arduino UNO Rev3 ,上載前底板類型需要選擇 Arduino UNO
在下同樣使用 Arduino IDE 預設的 Blink 來測試
將 LED正極 接駁到 ATmega328P* 的 第13數碼引腳, LED負極 接駁到 ATmega328P* 的 接地引腳
當 ATmega328P* 接駁通電源後, LED閃爍 便非常運作正常

總結

線路接駁正確,電腦 經 USB 連接到 FT232RL擴充實驗底板 後,與直接連接到 Arduino 的操作是完全相同
同樣可以設計 印刷電路板 方便安裝或卸載 ATmega328P* 及 焊接其他電子零件
但 Arduino 還有 逆電流保護短路保護電壓穩定 等設計,避免晶片損壞及發生意外
這些保護功能需要自行配置及測試,不過想將成本壓到最少及只作測試使用,可以使用這種配置

參考資料

沒有留言 :

張貼留言