還記得之前的文章 NXC 常用指令簡介 – Outputs 嗎?
我們在文章裡提到了定轉速模式,而當時所提供的範例是:OnFwdReg(OUT_A, 75, OUT_REGMODE_SPEED); 定轉速模式會讓您的馬達在轉動時固定在所設定的力量。
來看一段影片,我們將兩顆馬達電力設定40,並分別以無控制模式與定轉速模式來跑,並將馬達實際的輸出電力顯示在螢幕上:
看完了影片,請問哪一個才是速度控制模式呢?
如果您認為一直不變的40是使用速度控制模式,哪可就錯了!
是一直在變動的才是速度控制模式,因為在速度控制模式,若是馬達遇到阻力,NXT即會加強電力以達到所設定的目標值,我們的目標值是40,但是馬達在轉動時一定會遇到阻力,所以若是要馬達表現出40的力量,NXT實際要給它的電力就會大於40。反觀無控制模式,電力實際的輸出都維持在40,表示不管外界怎麼影響馬達的轉動,電力的輸出始終是40。
以下提供程式碼供各位參考:
task main()
{
OnFwdReg(OUT_A, 40, OUT_REGMODE_IDLE);
OnFwdReg(OUT_C, 40, OUT_REGMODE_SPEED);
while(true)
{
NumOut(10, LCD_LINE2, MotorActualSpeed(OUT_A));
NumOut(10, LCD_LINE4, MotorActualSpeed(OUT_C));
}
}