close


The auto reset level.  It can be as high as 18V!
If you are using the serial version Arduino with auto reset feature, you'd better check this too.
不知道甚麼原因, auto reset 電壓居然最高可超過 18V!




原來在 Arduino 使用 ATmega168 時, 大部分時間似乎都沒有問題,
不過曾經遇到過無法下載 sketch 的問題, 後來又都好了,
這幾天又開始不對勁了, 而且怎麼下載, 怎麼都有問題, 奇怪的很,
我的機器人也才用過 168, 怎麼忽然間一切都不對了,
嘗試過重燒 bootloader 也沒用, 換了板子一樣不行,
但是用 ATmega8 又都可以,  這真是太奇怪了,
終於被我發現原來  reset 信號有問題.


但是有個現象是, 下載開始前, 手按 reset 就很容易成功,
終於還是搬出是波器來看看究竟, 要檢查的對象是 auto reset 這個功能,
之前曾用示波器看過 auto reset 這個信號, 最高時它會飆高到 10V 左右,
看了網上文件說 ATmega 可以撐得住, 但是今天量到的電壓居然最高可超過 18V!
喔! 太可怕了! 不清楚為什麼會有這樣的變化, 不過我一直不太放心這樣的高電壓,
所以, 想到的一個快速解決辦法就是加個  5.1V zerner, 讓 auto reset 不會超過 5.1V,
用麵包板做了一下實驗, 果然可以正常下載了!

看來 RS232 版的 Arduino 似乎有這個潛在問題. 
USB 版的應該就不會了, 因為它的 auto reset 是來自於 5V 信號,
不像 RS232 版的, 是來自於至少 10V 左右的 RS232 位準.

終於解開這個謎.




A 5.1V zener diode was added to limit the auto reset level.
Otherwise it may be as high as 18V when the host issues a low to high transition, which then causes the malfunction  in my ATmega168 Arduino.
I think this should not be a problem for the USB Arduino since the aut reset is driven by a TTL (5V) signal from the FTDI bridge.





arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Galileo 的頭像
    Galileo

    Galileo's Sky

    Galileo 發表在 痞客邦 留言(0) 人氣()