經常安裝及卸除 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 完全匹配
1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|
DTR | RX | TX | VCC | CTS | GND |
FT232RL擴充實驗底板 的 背面
完整引腳在 擴充實驗底板的背面
背面引腳
後 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 |
---|---|---|---|---|---|---|---|---|---|
前 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
用途 | GND | TXL | RXL | 5V | 3.3V | CTS | SLEEP | PWREN | TEN |
TXD | DTR | RTS | VCC | RXD | RI | GND | RSD | DCD |
如果只將 USB訊號 轉換成 序列訊號 ,只需要使用 DTR, RX/RXD, TX/TXD 3支引腳
FT232RL晶片
在下這塊 FT232RL擴充實驗底板 使用 Mini USB Type-B 插孔
線路接駁
要將 USB訊號 轉換成 序列訊號 寫入到 ATmega328P*
還需要 3粒22pF電容、1粒16MHz晶體振盪器
FT232RL 引腳 | ATmega328P* 引腳 | 接駁電子零件 | |
---|---|---|---|
C0 | C1 | 16MHz晶體振盪器 | |
GND | C0 | 22pF電容 | |
GND | C1 | 22pF電容 | |
DTR | RST | 22pF電容 | |
RX | TX | ||
TX | RX | ||
VCC | VCC | ||
GND | GND |
接駁線路原型
實際接駁線路
將 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擴充實驗底板 的 雙行引腳 沒有 TX 及 RX ,需要連接到 TXD 及 RXD
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 還有 逆電流保護 、 短路保護 、 電壓穩定 等設計,避免晶片損壞及發生意外
這些保護功能需要自行配置及測試,不過想將成本壓到最少及只作測試使用,可以使用這種配置
沒有留言 :
張貼留言