采用51單片機12MHZ晶振。42兩相四線,步距角1.8度,TB6600驅動器,- 細分。定時器裝20都只能到60r/min,慢慢升速也只能到60r/min。是什么原因,有辦法繼續升速嗎?驅動器電壓為12v電流開到最大了。改變占空比也試了
uj5u.com熱心網友回復:
樓主,步進電機是空載還是帶負載?TB6600細分控制是多少?定時器裝20是自動多載模式下的初值是20嗎?想提高步進電機的轉速得提高控制頻率。
uj5u.com熱心網友回復:
是不是電機的供電電壓不夠uj5u.com熱心網友回復:
你不用定時器,位元組單指令輸出脈沖,看最快能到多快uj5u.com熱心網友回復:
51單片機主頻太低了,發不出更高頻率的脈沖了。由于你的細分沒有給出,姑且按16細分計算,步進電機轉一圈需要(360/1.8*16)=3200個脈沖。60r/min,即1轉/秒,支持60r/min的轉速,需要的脈沖周期為1/3200秒=312.5微秒,單片機IO口維持時間為312.5/2=156.25微妙,你單片機周期設定為20微秒,還剩136微秒,進出定時器中斷,賦值陳述句都需要時間,所以你的單片機性能跟不上了!
最有效的簡單方法是:1、更換一個24M晶振,速度快一倍,;2、燒寫時設定成6T模式速度會再快一倍;3、如果可以,可以使用兼容51的1T單片機,速度會大幅度提升。
uj5u.com熱心網友回復:
51的定時器是增計數的。如果用16bit的定時器模式,定時器的初始值應該向上加才是越來越快。初始值越大,定時器中斷越快。如果初始值為20,相當于要計的時間是65536-20這么一個時鐘脈沖。uj5u.com熱心網友回復:
不是uj5u.com熱心網友回復:
51的定時器是增計數的。如果用16bit的定時器模式,定時器的初始值應該向上加才是越來越快。初始值越大,定時器中斷越快。如果初始值為20,相當于要計的時間是65536-20這么一個時鐘脈沖。
uj5u.com熱心網友回復:
51單片機主頻太低了,發不出更高頻率的脈沖了。
由于你的細分沒有給出,姑且按16細分計算,步進電機轉一圈需要(360/1.8*16)=3200個脈沖。60r/min,即1轉/秒,支持60r/min的轉速,需要的脈沖周期為1/3200秒=312.5微秒,單片機IO口維持時間為312.5/2=156.25微妙,你單片機周期設定為20微秒,還剩136微秒,進出定時器中斷,賦值陳述句都需要時間,所以你的單片機性能跟不上了!
最有效的簡單方法是:1、更換一個24M晶振,速度快一倍,;2、燒寫時設定成6T模式速度會再快一倍;3、如果可以,可以使用兼容51的1T單片機,速度會大幅度提升。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/71027.html
標籤:單片機/工控
上一篇:設計一個2K×8位的存盤器
下一篇:系統無法安裝到磁盤。
