|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
89C52I/O口輸出狀態(tài),求救!急………… |
| 作者:wj8389 欄目:單片機 |
這是我的電機驅(qū)動的圖。我在實驗板上已經(jīng)調(diào)試通過了,但是刻出電路板來就不知道怎么搞得無法用單片機控制它的轉(zhuǎn)動!繼電器始終不吸合!現(xiàn)在戴上仿真器運行后,測的P3.0引腳上的電平為0.1--0.3V左右無法改變,查硬件電路,沒有錯誤。所有器件都工作良好!而軟件只是簡單的測試命令,讓P3.0間隔一秒變換一次狀態(tài)!應(yīng)該也沒有問題!可是就是不理解為什么單片機的引腳始終沒有高電平出現(xiàn)??不解中,還望各位多多指教,幫忙分析一下,所有可能的原因!謝謝!
|
| 2樓: | >>參與討論 |
| 作者: wj8389 于 2005/6/12 22:49:00 發(fā)布:
請指教 望指教!謝謝! |
|
| 3樓: | >>參與討論 |
| 作者: computer00 于 2005/6/12 23:00:00 發(fā)布:
將3K電阻去掉。加1K上拉電阻到P3.0試試。 你這種電路,這個IO口只能用來控制這部分了。 不能再拿來它用。因為三極管的BE會嵌位。 |
|
| 4樓: | >>參與討論 |
| 作者: wj8389 于 2005/6/12 23:21:00 發(fā)布:
多謝! 問題是,已經(jīng)調(diào)試通過了,就算他再嵌位也不可能不工作吧!在調(diào)試好后,我怕他在工作會出現(xiàn)問題,在讓其連續(xù)工作六個小時后。看它運行的狀況還行才決定用的,已開始我加了上拉電阻但是容易擊穿9013管子,因為基極電流太大了!后來我用了達林頓TIP122管子后,工作正常!但是現(xiàn)在卻不行,我心里很著急! 我想問一下,你剛才說的嵌位問題,我分析著好像不會發(fā)生,如果軟件給P3.0個1它會輸出五伏左右的電平。而BE嵌位這樣3K電阻會份的其他的電壓口線按道理講是不會出現(xiàn)0.1--0.3V的電平的,我分析得有沒有問題啊!我是個新手說的不對的地方還望多多包涵!謝謝你。 |
|
| 5樓: | >>參與討論 |
| 作者: computer00 于 2005/6/12 23:35:00 發(fā)布:
哦,剛沒仔細看。原來你已經(jīng)用了達林頓管。 如果你的IO口輸出是高電平的話,不可能會是0.1-0.3V那樣子的,至少都會有0.7V 那樣子。可能是程序有問題。你按住復(fù)位鍵不放,然后測量那IO口的電平, 看是多少。如果有0.7以上,那就是程序的問題了。如果還沒有,那就可能 硬件問題了。 另外,你的分析有問題。P30輸出為弱上拉,雖然你接了3K的電阻,但是還會 被其拉低的。 |
|
| 6樓: | >>參與討論 |
| 作者: wj8389 于 2005/6/12 23:47:00 發(fā)布:
萬分感謝! 謝謝指正!我會試試的,我想這樣也對阿,單片機初始化時引腳都是1,這總不會錯的吧,假如真的每出現(xiàn)高電平那真的是只能懷疑硬件了, 都快愁死了,現(xiàn)在離出個頭緒來了,心里很高興!謝謝阿! 希望各位能多給我提些好的建議,以便我改進我的硬件電路這是驅(qū)動電機的,我還有一個信號檢測的不知道有沒有問題!一回我抓緊貼出來,請各位也幫忙看看! |
|
| 7樓: | >>參與討論 |
| 作者: hotpower 于 2005/6/12 23:50:00 發(fā)布:
按住復(fù)位鍵不放,然后測量那IO口的電平 這是常用方法. 生氣了就把3k電阻短路!!!再生氣了就在IO上上拉2K電阻. 就不相信輸出不了高電平??? |
|
| 8樓: | >>參與討論 |
| 作者: wj8389 于 2005/6/13 0:04:00 發(fā)布:
哈哈!樓上的老兄好個性阿! 其實我們脾氣差不多的,我因為短掉限流電阻已經(jīng)燒了不下二十只管子了阿!當(dāng)然那時我開始想用9013直接驅(qū)動時,后來發(fā)現(xiàn)不能滿足 驅(qū)動功率不夠,就換了達林頓的管子,效果不錯,但是刻出來的電路板就是不行了,我真有些無奈,電路板我都用萬用表測量了N遍了,沒發(fā)現(xiàn)什么大問題,雖然有幾條線不對外其他的幾乎都正常。因為沒時間畫制版圖所以請了個人作的,想多搶點時間沒想到卻恰恰浪費了 沒辦法板都作了,總得用吧。要不就浪費了嗎! |
|
| 9樓: | >>參與討論 |
| 作者: hotpower 于 2005/6/13 0:21:00 發(fā)布:
這種電路的一般調(diào)試方法 1.去掉MCU(或reset接VCC),在P3.0上加VCC,繼電器通. 否則,TIP122管子壞,或3k電阻選擇不當(dāng). 2.編寫2個小程序. 1) clr P3.0;TIP122斷 sjmp $ 2) setb P3.0;TIP122通 sjmp $ 注:2)實際沒必要,它與reset接VCC一個道理. 如果1.2.都通過,則源程序必有某處意外關(guān)斷P3.0 本身這個電路就很不合理,因為51MCU用高電平驅(qū)動繼電器就是膽大之舉... * - 本貼最后修改時間:2005-6-13 0:24:46 修改者:hotpower |
|
| 10樓: | >>參與討論 |
| 作者: maoqichun 于 2005/6/13 0:27:00 發(fā)布:
換成N溝道MOSFET就能搞定并可靠. |
|
| 11樓: | >>參與討論 |
| 作者: wj8389 于 2005/6/13 0:40:00 發(fā)布:
TO hotpower 你所說的兩條我都試過了全部通過,我也考慮到了這樣做其實是對單片機太不負責(zé)任的一種表現(xiàn)!但是就我所算得參數(shù)來講,它能工作,并且是很輕松的工作!以后我會試著加上光耦,那樣可能驅(qū)動起來會比較輕松的。 |
|
| 12樓: | >>參與討論 |
| 作者: wj8389 于 2005/6/13 0:44:00 發(fā)布:
TO maoqichun MOS管很嬌貴的,他的保護能給我說一下嗎?以后我會嘗試著把各位的好建議,都試試。找出最優(yōu)的來。 |
|
| 13樓: | >>參與討論 |
| 作者: hotpower 于 2005/6/13 0:54:00 發(fā)布:
既然2點都滿足,那么您的程序必有問題!!! 暈...幾個人這么晚了搞不定一個高電平!!! |
|
| 14樓: | >>參與討論 |
| 作者: sailorljg 于 2005/6/13 10:13:00 發(fā)布:
我建義兩個方法 1是你的繼電器質(zhì)量不合格,驅(qū)動電流過大,單片機的輸出驅(qū)動能力較差,故輸出電壓鉗位0.3 2可使用單片機的吸入電流方式驅(qū)動,其吸入電流可達20MA,應(yīng)該沒問題,把管子換成9015即可 |
|
| 15樓: | >>參與討論 |
| 作者: wj8389 于 2005/6/13 12:23:00 發(fā)布:
TO hotpower 我按照你說的作了,按住復(fù)位鍵不放,測量了外界的電壓。結(jié)果不是高電平,就是在0.2--0.5v左右! 是不是真的因為外界的驅(qū)動太大了,才會出現(xiàn)這種情況。 在聲明一點: 我用的是:P3.0 P3.1 P3.4 P3.5 口線各驅(qū)動一個繼電器。但是實驗班傷寒的電路調(diào)試已經(jīng)很好用了,但刻板后卻不行了。我也檢查了電路沒有什么錯誤。 我現(xiàn)在急著要把此電路調(diào)試通過,否則會丟工作了! 請各位繼續(xù),看能否找到有可能出現(xiàn)的原因阿!? 請繼續(xù)。! |
|
| 16樓: | >>參與討論 |
| 作者: hotpower 于 2005/6/13 12:33:00 發(fā)布:
我的建議 我一般喜歡用MC1413(ULN2003)驅(qū)動繼電器電路.這樣可以省去輸入限流電阻(2.7K)和輸出驅(qū)動續(xù)流二極管. 只是像AT89C51的IO驅(qū)動與生產(chǎn)批號有關(guān),我一般在驅(qū)動類似電路都加2K左右的上拉電阻. 建議: 將TIP122去掉再測電平,主要是排除其影響... 樓主非說軟件對,那我就只能說MCU壞了!!! 測MCU的IO管腳比較簡單,到水潭一游即可... http://blog.21ic.org/more.asp?NAME=hotpower&id=821 |
|
| 17樓: | >>參與討論 |
| 作者: wj8389 于 2005/6/13 12:44:00 發(fā)布:
TO hotpower 你說得對阿!我也不知道,軟件究竟有沒有問題。主要是我就是寫了幾句簡單的,測試語句:是這樣寫的 main: clr p3.0 clr p3.1 clr p3.4 clr p3.5 setb p3.0 call ysh ;延時程序 clr p3.0 setb p3.1 call ysh clr p3.1 setb p3.4 call ysh clr p3.4 setb p3.5 call ysh ajmp main ysh: ;這是一個2秒的延時程序 不多寫了! …… end |
|
| 18樓: | >>參與討論 |
| 作者: computer00 于 2005/6/13 13:30:00 發(fā)布:
那就怪了,照你這個電路,如果單片機在復(fù)位狀態(tài)下, IO口好歹也有個0.7V以上啊,怎么會只有那么點點? 懷疑你那個三極管是不是壞了? 直接測量繼電器控制線圈兩端電壓。 |
|
| 19樓: | >>參與討論 |
| 作者: wj8389 于 2005/6/13 13:38:00 發(fā)布:
再問一下! 我用的是達林頓的管子,拔下單片機后用線直接把P3.0接到+5V電源上,結(jié)果聽到繼電器吸合聲音。這種現(xiàn)象說明管子應(yīng)該是正常的,這個地方是否是因為我要驅(qū)動的太多(四個繼電器分別用P3.0 P3.1 P3.4 P3.5口線驅(qū)動的)而導(dǎo)致輸出被強制拉低了呢?那么單片機的口線帶負載能力是相互的嗎?是不是因為它帶了給別的口線有影響呢?不解???? |
|
| 20樓: | >>參與討論 |
| 作者: xwj 于 2005/6/13 15:00:00 發(fā)布:
懷疑你的51有問題或51的電源未加上(PCB問題) 從19貼“拔下單片機后用線直接把P3.0接到+5V電源上,結(jié)果聽到繼電器吸合聲音”可以確定達林頓管沒問題 由于TIP122不是帶阻管,所以如果MCU的IO正常IO電壓至少要有0.7V以上,因此懷疑你的51有問題或51的電源未加上(PCB問題) 另外: 1、使用IO高電平驅(qū)動不好,復(fù)位時會動作,就算是慢速設(shè)備也要控制復(fù)位時間 2、標(biāo)準(zhǔn)的89C52內(nèi)部上拉電阻一般是100K,驅(qū)動NPN管最好加上拉電阻,雖然達林頓管電流放大倍數(shù)高也最好加上,自己算算電流吧 3、樓主所說的“已開始我加了上拉電阻但是容易擊穿9013管子,因為基極電流太大了!”對于標(biāo)準(zhǔn)的51IO來說是錯誤的,上拉電阻要根據(jù)后面的負載計算的,比如驅(qū)動9013就要保證高電平時9013飽和導(dǎo)通,一般用幾K,幾毫安的基極電流不可能使9013損壞 對于你的問題建議在 MCU的IO口 和 電源端 接 一個LED和330~470歐姆電阻串聯(lián)的簡單指示燈 就可以很方便的判斷到底是哪里的問題了 |
|
| 21樓: | >>參與討論 |
| 作者: northerns 于 2005/6/13 15:10:00 發(fā)布:
每個口加上拉電阻試試呢 |
|
| 22樓: | >>參與討論 |
| 作者: 阿土伯 于 2005/6/13 17:01:00 發(fā)布:
一個小的建議 看你的這個繼電器驅(qū)動電流應(yīng)該不會很大吧 用個9013就夠了吧 便宜好使 |
|
| 23樓: | >>參與討論 |
| 作者: wj8389 于 2005/6/13 23:06:00 發(fā)布:
多謝! 已經(jīng)調(diào)試通過了,成功了。主要是參數(shù)的選擇上除了問題,我把3k的電阻換成5k的后,電平為2.5v左右,很容易就把繼電器驅(qū)動器來了。繼電器的阻值是420歐左右,但是算出基極的電流后,發(fā)現(xiàn)因為單片機自帶得上啦電阻分掉了很大一部分壓降,最后想到加上跟大的電阻份一下壓。沒想到成功了!我很高興,也同樣很感謝,大家給我的支持!謝謝大家! |
|
| 24樓: | >>參與討論 |
| 作者: computer00 于 2005/6/13 23:22:00 發(fā)布:
那就怪了,把3K的換成5K的就好了?沒接上拉電阻? 其實你這個電路,加個1K的上拉電阻,就沒問題了啊。 用1K上拉電阻,帶8050三極管,肯定沒問題的。 估計你哪沒弄好。真暈。 |
|
| 25樓: | >>參與討論 |
| 作者: wj8389 于 2005/6/13 23:32:00 發(fā)布:
回 沒有接上啦,就是把3k電阻換成了5k 我想假如要是導(dǎo)通的話,應(yīng)該是5v電源〉內(nèi)部上拉電阻〉(口線〉)外部電阻〉三極管be〉地 然后根據(jù)這些算一下外部的電阻最少因該多大!能不能給be足夠的電壓!不知道這么解釋行的通嗎?我是這么理解的! 只是在無奈之下,這么做的。結(jié)果還行,問題就這么解決了!我也覺得不可思議 有沒有另一種理解的方法可否解釋一下的阿!期待………… |
|
| 26樓: | >>參與討論 |
| 作者: computer00 于 2005/6/13 23:36:00 發(fā)布:
三極管是電流驅(qū)動型。你把那電阻從3K換到5K,應(yīng)該對結(jié)果沒影響的 |
|
| 27樓: | >>參與討論 |
| 作者: wj8389 于 2005/6/14 23:35:00 發(fā)布:
??? TO: computer00 三極管是電流驅(qū)動型??。你把那電阻從3K換到5K,應(yīng)該對結(jié)果沒影響的??? 不解?別介意,我想問一下 假如沒有滿足他的BE結(jié)的最低導(dǎo)通電壓得話,那么電流再大會導(dǎo)通嗎? |
|
| 28樓: | >>參與討論 |
| 作者: 虛心請教 于 2005/6/15 8:00:00 發(fā)布:
我是來學(xué)習(xí)的 |
|
| 29樓: | >>參與討論 |
| 作者: computer00 于 2005/6/15 12:41:00 發(fā)布:
如果電流沒上去,電壓是上不去的,明白了嗎? |
|
| 30樓: | >>參與討論 |
| 作者: powlo 于 2005/6/15 15:34:00 發(fā)布:
我建議使用N溝道的MOSFET管比較好 我建議使用N溝道的MOSFET管比較好 如果你用上面的電路使用三極管做關(guān)斷 1。系統(tǒng)電流消耗會很大 ,繼電器工作時要幾時毫安的電流,電路很不經(jīng)濟 2。很容易燒壞三極管 3。并且你用51片機的IO口做控制,最好用PNP管,51能提供的驅(qū)動電流太有限了 |
|
| 31樓: | >>參與討論 |
| 作者: 來與君 于 2005/6/15 17:43:00 發(fā)布:
看見樓主說換了5K的電阻就解決了 我覺得你不如試一下加上拉。 P3的上拉能力是讓人懷疑的。 |
|
| 32樓: | >>參與討論 |
| 作者: 21icwwh 于 2005/6/15 21:20:00 發(fā)布:
呵呵,我也碰到過 ATMEL正式文件中表明,io口輸出高電平只有幾uA的驅(qū)動能力 用9013放大也不能滿足繼電器的最小電流,所以不能吸合 不管你加多大電阻基極電流是一定的,如果沒有可能燒掉芯片 加上拉吧 |
|
| 33樓: | >>參與討論 |
| 作者: 電子閑人 于 2005/6/15 21:24:00 發(fā)布:
這個問題與89C51引腳的輸出特性有關(guān) 普通89C51的引腳有較強的電流吸入能力,約10MA左右,而輸出能力較弱,遠少過1MA。所以樓主電路在設(shè)計上有一點點的問題,三極管換成PNP的,就不會有問題了。或者繼電器用達林頓驅(qū)動,再用一個PNP驅(qū)動達林頓. |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |