Re: PIC16F54輸入端要加Low Pass電容嗎?
|
||||
---|---|---|---|---|
高級會員
![]() ![]() ![]() |
inctech:
你好,對這問題我和你一樣,RD一定要將問題確認清楚, RB0 ON/OFF 會將系統RESET,這是大問題,不過問題已經縮到 RB0的範圍,應該很快就會抓到問題點, 我的猜想: 1.不是干擾的問題,你這迴路很普遍,用一顆他牌7~8元的MCU都未曾發生過此現象 2.WDT有開嗎?有的話關掉,在測試看看,因你的設計RB0/RB1控制同一功能但不是同一控制點,程式內有何差異檢視看看 3.另一方法將RB0/RB1的外部硬體互換測試看看 4.第3項無差別再將RB0/RB1的內部執行程式內容互換,測試看看,看會不會變成RB1有問題 5.也可將RB0/RB1和RB2/RB3互換,如此可先確認硬體是否有問題 祝你 順利找到問題
發表於: 2008/3/27 11:40
|
|||
|
Re: PIC16F54輸入端要加Low Pass電容嗎?
|
||||
---|---|---|---|---|
高級會員
![]() ![]() ![]() |
感謝各位先進的提示,我還是詳細將我的板子再描述一下:
CPU->PIC16F54,RC OSC,MCLR Pull up 10K,再接一顆0.1uF電容到地。 三個輸出接ULN2003在驅動Relay,2003本身就有Free runing二極體,也有透過二極體,將RELAY線圈原先建立的電流,放回電源,這一部分的迴路,我有檢查過,也沒有高頻大電流經過CPU的迴路。 用示波器下緣觸發(Single trig),去監看MLCR & Vcc, Relay ON/OFF時(Relay輸出有接線圈的感性負載),也抓不到MLCR下降,當Relay動作時,Vcc有drop但不低於4.95V。 為了要Debug我寫了一支測試程式,四個輸入RB0、RB1、RB2、RB3,三個輸出RB5、RB6、RB7。動作如下列: 1.按下RB0 or RB1-->RB5 ON(Relay ON),RB0 and RB1放開--->RB5 OFF(Relay OFF)。。 2.按下RB2---->RB6 ON(Relay ON),再按一下RB2---->RB6 OFF(Relay OFF)。 3.按下RB3---->RB7 ON(Relay ON),再按一下RB3---->RB7 OFF(Relay OFF)。 當RB1、RB2、RB3接上電容,RB0不接電容,然後做上述1-3,只有RB0快速ON/OFF會使CPU Reset。,但一接上電容後就穩如泰山。 依照我過去的經驗,會有感性元件OFF時,引其突波電流干擾到控制電路而引起錯誤的動作,但是這一次卻是上述1的RB1、2-3動作完全不會誤動作,只有RB0才會,不知道它是因還是果。 其實要躲避問題,所有輸入端都加上電容,這個案子硬體就OK了! 但是我是覺得沒有搔到癢處,現在躲它,將來也會再碰到,這不是一個RD人應有的態度。 所以;才會請各位先進,幫我看看有沒有我沒有注意到的問題。感恩! ![]()
發表於: 2008/3/27 11:06
|
|||
|
Re: PIC16F54輸入端要加Low Pass電容嗎?
|
||||
---|---|---|---|---|
資深會員
![]() ![]() ![]() |
R大, 您客氣了, 小弟只是Islanding寫完, 但是不能下班, 與其發呆演戲, 上來哈啦哈啦.
發表於: 2008/3/26 17:44
|
|||
|
Re: PIC16F54輸入端要加Low Pass電容嗎?
|
||||
---|---|---|---|---|
版主
![]() ![]() ![]() |
edwardlee 果然經驗老到,佩服佩服。
發表於: 2008/3/26 17:40
|
|||
|
Re: PIC16F54輸入端要加Low Pass電容嗎?
|
||||
---|---|---|---|---|
資深會員
![]() ![]() ![]() |
沒錯~
建議觀察5V /MCLR的變化與斜率, 就可以很快抓到問題, 假設您知道量的時候, "地"有多重要的話. 而RELAY一定要有"預期"的放電路徑, 不然您想, 這樣的一個儲能元件, 硬是被切掉, 那麼肯定會幾找路徑放電, 可想而知嚕~ 若是有加裝"預期"的線路, 但是沒有考慮"預期"的路徑, 那也是惘然, 地受到干擾, 一樣可能會RESET, 需單點落地. 上個月一個老闆拿版子要小第幫忙Q, 一看就知道不用Q了, 因為用了"時下最夯"的作法, 四層板中間都是5V跟GND, 但是類比數位雜楚, 毫無安排與切割, 怎麼可能不會干擾, 又不是超導體. 不要以為大片就是好ㄚ~~
發表於: 2008/3/26 17:32
|
|||
|
Re: PIC16F54輸入端要加Low Pass電容嗎?
|
||||
---|---|---|---|---|
版主
![]() ![]() ![]() |
好吃的餅乾兄,
嗯 是什麼意思 ![]() ![]() ![]()
發表於: 2008/3/26 17:30
|
|||
|
Re: PIC16F54輸入端要加Low Pass電容嗎?
|
||||
---|---|---|---|---|
資深會員
![]() ![]() ![]() |
嗯~~~~~~
發表於: 2008/3/26 17:21
|
|||
|
Re: PIC16F54輸入端要加Low Pass電容嗎?
|
||||
---|---|---|---|---|
版主
![]() ![]() ![]() |
既然是電感性負載,在PCB的設計上就要更加小心處理地線。檢查一下電感的地線迴路是否與 PIC6F54 的地共用。MCLR 腳位是否有加 RESET 電容。如果你暫時把電感負載或成電阻負載後是不是就正常了呢? 想一下電感放電的時候他的電流是怎樣跑的。抓久了你就會有經驗了。
發表於: 2008/3/26 17:18
|
|||
|
Re: PIC16F54輸入端要加Low Pass電容嗎?
|
||||
---|---|---|---|---|
資深會員
![]() ![]() ![]() |
"有時連在同一電源座的電感性負載或是日光燈開/關,都會使CPU RESET"
這問題讓我想到學生時代, 接到一些簡單控制器案子, 該老闆都 是這樣測會不會當機, 基本上, 這種開關突波相當驚人, 若是一 般電源設計(成本考量), 確實容易當機, 只能靠WDT叫醒他啦~~ 主要都是電源準位受到影響, EMS又是另外一回事, 一些創意老 方法還真是有趣. "只要一加上Low pass電容(102)它就不會被Reset" 可否請教一下, 你的RELAY有放電迴路嗎? 我看過不少工程師, 不知為何, 都沒加放電迴路, 殊不知, RELAY等校是電感, 怎麼 可以突然關閉!? 後果就是.... 假設不是程式問題, 且加裝放電旁路如飛輪, 那麼應該是地的影響, 將RELAY的地移到靠近電源處即可. 哈哈~~希望有幫助!!
發表於: 2008/3/26 17:11
|
|||
|