發表文章

目前顯示的是 1月, 2018的文章

用Atmega 328p 自組Arduino上傳草稿碼時, 如何自動Reset?

圖片
Arduino開發板玩了一陣子之後, 會想要自己組一個開發板。 參考做法:  https://www.arduino.cc/en/Main/Standalone 這樣的好處是: 1. 省錢   開發板比較貴, ATMega328P晶片比較便宜 2. 省電   要做低粍電專案, 開發板粍電量太高 3. 好玩 但是寫完草稿碼後, 要上傳時; 以前看葉大的書, 叫我們自己找正確的時點去Reset晶片。 手動Reset的日子, 我也過了不少, 但有時太常改程式, 又不太抓得到時點, 會一直上傳失敗。 所以就想人家開發板為什麼不用手動Reset, 可以自動Reset? 發現其實只是將Serial-to-USB的RTS接腳, 接一個100nF的電容, 再接到328p晶片的Reset腳位就好。 參考來源:  電路圖 直接用來看看, 是真的可以運作的! 只是加個電容就好了, 真是神奇! 可是我用來有時也會失敗! 又Google了一下, 發現別人也有類似情形, 有人就加上拉電阻及下接電阻。 我後來查了一下Arduino官方電路圖: https://www.arduino.cc/en/uploads/Main/Arduino_Nano-Rev3.2-SCH.pdf 也是一樣做法! 就不管了, 那就這樣接吧, 後來把breadboard的元件用洞洞板焊接後, 發現上傳的成功率居然變得很高! 所以我的想法是: breakboard可能有些接觸不良的情形, 用焊接的就消除這個問題, 只是我的Serial-to-USB板子接到洞洞板做的成品時, 仍是用插接的, 加上電容也是臨時用杜邦線接的, 也會有接觸不良問題, 才造成部份的失敗率!

MacOs High Sierra CH340

今天我的Mac當機好幾次了! 原本好好的程式,今天一直出問題,移到Windows用,又好好的沒事。 才想到是不是Mac出問題,問了google 原本真的是Mac有問題! http://www.stm32duino.com/viewtopic.php?t=1684 後來發現不全然是Mac的問題, 主要還是我接的Arduino板子, 其實還有其他外加元件和電路; 而這些電路本身的設計有些問題。主要的問題是電流或電壓在某些狀況下不太正常。會造成Arduion板子自己reset或行為異常, 這個現象在Mac上的結果會是當機重開! 有趣的是在Windows 10上卻不會有問題出現。 修改電路接法, 再重試後, 就不會當機了。