バッテリ電圧を取得するには、get_battery_mv() が用意されている。これは、現在のバッテリー電圧をmVで取得できる。
int get_battery_mv()
{
long b = ds_scale(BATTERY) * 0xABD4L;
return (int)(b / 0x618L);
}
OSでこのような計算がされている、8bitマイコンで32bit演算しているので処理負荷は高くなると思う。ds_scale(BATTERY) だけでバッテリ電圧値を取得すれば良く、LSB=28.1974(mV)として値を扱えばよい。
しかし、この値はモータの駆動開始時、駆動中、停止中でバッテリー電圧が変動する。
走行前と走行中で変化する、走行中も走行モータの指令に255をセットしてなければ、モータの駆動と非駆動ができる、ステアモータの指令も同じことがいえる。
走行調整用のバッテリー電圧は変動していない電圧が必要になる、フィルタかけて用いると使いやすい
0 件のコメント:
コメントを投稿