又係51question.......

請教下, 我build左個circuit用51 timer出1000hz pwm 比irf840 mosfet,  再去推動pc fan, 但係完全冇反應......,附電路圖,右邊circuit可以忽略, 純粹問左邊部分電路 thanks

實測pwm pin duty 100% 3.8v, 唔係5v?
點解會推唔旭個pc fan? 要mosfet driver?

提示: 作者被禁止或刪除 內容自動屏蔽

TOP

本帖最後由 Charcoal99 於 2017-10-16 16:00 編輯

8051 Port 1 每條輸出腳都內置有一限流電路 (等效約50-100K pull-up 電阻)
它會與你線路上的150K 電阻組成分壓電路。如分壓後的輸出低於IRF840的輸入要求, IRF840便啟動不了。
如想確定在左方電路P13 直接連到5V 上便可知到IRF840 能否啟動了。

輸出是經此限流出來的, 所以你看Datasheet(AT89C51), 它的輸出在25uA時便只能保證大於0.75Vcc。
8051的輸出只照顧 TTL(大於2.4V為邏輯1, 加上保險在2.4V時電流最大為60uA) 邏輯驅動而不是設備驅動。
在輸出到150K電阻時的電流便已超過25uA了。
8051_out.png

你需要找一個沒有這等效Pull-up 的port(PORT 0會好些) 或加一級transistor驅動或更改150K 電阻之阻值。

其實在 8051 totem-pole 或 push-pull 輸出下(即輸出非0即1並無高阻抗狀態),  這150K並不是必需的。
(如用AVR MCU PORT 起動時是輸入高阻抗狀態, 為避免起動時錯誤啟動MOSFET才加入的,
更且近代一點的MCU 如AVR等的輸出電流比較大這值才合理,並不能不加修改照搬到8051)。

TOP

觀微知著, 勁
係呀, 本來唔係用8051, 禾参考左搬過來用

TOP

P13 加番支3-5k 上拉電阻去+5V.

TOP

本帖最後由 Charcoal99 於 2017-10-16 22:25 編輯

相對新一些的MCU 如AVR等, IO功能相對多樣化,而且都能設定為輸入或輸出。
初始的情況如上電及復位時 IO 口均是高阻抗的輸入狀態, 電路可以靠150K 一直關閉MOSFET,
等程式接管後設定好 IO , 才切換到輸出模式﹐整個過程不會有誤動作。
在這以後150K便完成使命,再沒作用了。

8051 如外加上拉電阻的話,要考慮以下情況:
P1 的 default value 是 '1', 在上電起動及復位時及程式寫'0'到P13 前。
MOSFET 及馬達均會先行啟動一下,如你認為這等誤動作可以接受才可繼續這樣用此電路。
不過不管有沒有外接強上拉,接弱下拉 150K電阻關閉MOSFET的意義都會失去,
那不如直接拿走150K 還簡單一些。

如要按原來思路來運作,便要加一級反相驅動,硬件可以是三極管,也可以是邏輯閘,
然後修改一下程式, 寫 '0' 到P13開馬達, 寫 '1' 到P13關馬達,才可避開起始時的錯誤。

TOP

請教下, 我build左個circuit用51 timer出1000hz pwm 比irf840 mosfet,  再去推動pc fan, 但係完全冇反應... ...
999067800 發表於 2017-10-15 23:34



    請問樓豬呢舊咩來!

TOP

Yeah, 係要上拉電阻, 多謝指教
宜家念住試下轉用optocoupler+darlington, 避免低電位時電流倒灌.....

TOP