|
發布時間: 2026-5-26 13:59
正文摘要:之前做電機控制項目的時候有個問題,用stc89c54rd+的p1的口(準雙向且沒有上拉電阻),沒接步進電機驅動器輸出脈沖800個是正常的,后來與步進電機驅動器相接的時候,脈沖數量直接減半而且示波器上看波形低電平的時候 ... |
|
TB6600 步進驅動器上的邏輯輸入(PUL、DIR、ENA)需要每條信號線的電流為 (8 mA) 至 (15 mA)。它們采用光耦合器隔離,并與標準 (3.3 V) 和 (5 V) 邏輯電平兼容。大多數模塊都具有內置電阻器,可以安全地處理這些電壓,而無需外部串聯電阻器。 邏輯輸入電流:(8 mA) – (15 mA) STC89C54RD+ 的 I/O 口 輸出低電平灌電流 (P0、ALE、PSEN) 最小值 5 mA 典型值 8 mA 輸出低電平的灌電流 (P1、P2、P3、P4) 最小值 2.5 mA 典型值 4 mA 輸出高電平的拉電流 (P1、P2、P3、P4) 最小值 40 uA 典型值 70 uA 根據提供的【技術手冊內容】和【TB6600 參數】,我們可以從電路原理層面精確解釋你遇到的“脈沖減半”現象。 核心原因:灌電流能力嚴重不匹配 TB6600 邏輯輸入需求: 每路輸入(PUL、DIR、ENA)要求 8 mA ~ 15 mA 電流(光耦導通條件)。 STC89C54RD+ I/O 口灌電流能力: I/O 口 輸出低電平灌電流(典型值) P0、ALE、PSEN 8 mA P1、P2、P3、P4 4 mA 1. 為什么 P1 口(準雙向)工作異常? 當 P1 口輸出低電平時,需要吸收來自 TB6600 光耦回路的電流(共陽接法:5V → 光耦LED → 限流電阻 → P1口)。 光耦所需的 8~15 mA 已遠超 P1 口的 4 mA 典型驅動能力。 P1 口內部的下拉 MOSFET 被強制輸出過大電流,進入 線性區(類似于可變電阻),導致漏源電壓 V_{DS} 顯著上升。 實測低電平電壓 2V,正是這個電壓降的體現。此時光耦未能可靠導通(其低電平閾值通常需 < 0.8V),導致脈沖跳變被誤判或部分丟失,最終 有效脈沖數減半。 2. 為什么 P0 口(開漏 + 上拉)工作正常? P0 口在開漏模式下輸出低電平時,內部下拉管具有更強的灌電流能力(典型 8 mA,最小保證 5 mA)。 雖然 8 mA 仍略低于 TB6600 的 8-15 mA 需求上限,但實際電路中的裕量足夠:TB6600 的光耦通常有 1.2V-1.5V 正向壓降,串聯限流電阻后電流可低于 15 mA(例如 330Ω 電阻時電流約 10.9 mA)。P0 口能穩定吸收該電流,將低電平電壓保持在 0.1V ~ 0.3V 以內。 外部上拉電阻保證了高電平的快速建立,整體脈沖信號波形完整,驅動器正常計數。 3. 高電平拉電流數據說明什么? 手冊給出 P1、P2、P3、P4 的 輸出高電平拉電流僅為 40~70 μA,這是非常弱的驅動能力。如果采用 共陰接法(驅動器由高電平觸發),P1 口將完全無法驅動,問題會更嚴重。幸運的是您使用的是共陽接法,只需要低電平灌電流能力,但這一能力恰恰是 P1 口的短板。 結論與建議 你的分析和實驗完全正確:問題根源就是 P1 口和 P0 口的 灌電流驅動能力差異,導致 TB6600 的輸入光耦無法可靠工作。 當前解決方案(P0 口開漏 + 上拉)是最簡單有效的,它利用了 P0 口更強的下拉能力。 若必須使用 P1 口,可通過外加 NPN 三極管(如 9013)或開漏緩沖器(如 74HC07) 來增強驅動,三極管基極限流電阻后由 P1 口控制,集電極開路輸出至 TB6600。 以上就是“脈沖減半”現象的全部原理。請放心使用 P0 口方案繼續開發,無需修改硬件設計。 |
joyb 發表于 2026-5-26 15:48 TB6600 |
man1234567 發表于 2026-5-28 11:51 加了加了 |
|
點上三柱香,向單片機三叩首,高呼好了好了好了,禮畢即成。 不需要任何電路圖和代碼附上,泄露天機是搞不成的 ![]() |
| 什么驅動器 |