モータドライブ回路

120812
件のモータドライブ回路の構成を公開する
A3941+IRF8915の構成で、PWM周期40kHzで駆動させている。

allegroのA3941はフルブリッジFETドライバ。
PWMと回線方向とフリーの3本の信号を入力するだけで、
Nch構成のHブリッジを動かしてくれる便利なIC。
デットタイムは外付け抵抗で調整可能。

IRF8915はNchFET2個入りで、
片側18.3mΩで8.9A流せる。
ゲート容量も小さいのでスイッチング速度も上げれる。

リクエストがあれば定数も書きます。
リクエストあったので定数も公開
120802
(A3941データシートより)
・RESET端子はマイコンの電源と同じにする。
・FF1とFF2端子は、GNDに落としても良いかもしれない(未検証)
・FREEは使ってないので、動作未検証(→TypeS等のFREEと挙動が異なる@2015年2月)

////////////
追記 PWM40kHz付近でのモータ両端電圧波形
BREAKモード(SR=H)
15020702
FREEモード(SR=L)
15020701
PWMがLの区間での電圧がマイナス方向に触れている。
内部のダイオードの電圧降下分か?
これにより同一duty時にはFREEの方がモータの回転速度は遅い

/////////////
追記
FREEの動作について
モータドライブ基板TypeS等のFREEはPWMのOFF時間はモータ端子が開放されれ逆起電流は流れないが、このモータドライバでは電流が流れるので振る舞いが異なる

/////////////
PWMOFF時間中にFETのボディダイオード分の逆電圧(0.7V位?)が掛かって回転が阻害されるのならば、そのFETに並列にVfの小さいダイオードを付ければ改善されるはず。
ということでショットキーを付けてみる
15021402
OFF区間中の逆電圧が小さくなり、回転数も上がった。
FREEモードを使うのは正転時だけだから部品追加は1個ですむ。
ただ、スイッチング時のスパイクが増えたのは気持ち悪い。

第3回RMCR

Tsubameさんと共に会場入り。
全国から好き物が集まる大会は本当に面白い。
コースも直射日光も入らず、画処理でも走れる良い環境。

予選はフリー走行で本当に助かった。今年も予選落ちする所だった。
連続S時でトレースを失敗してのコースアウトは仕方ないが、
バグでコース上で立ち往生してしまうのは本当に困った。

決勝トーナメント
予選通過タイムが悪いため記念走行だったのだけど、
s技研さんがまさかのコースアウト。タナボタでベスト16入り。

上位のタイムは素晴らしいの一言。ランサーは二冠おめでとうございます。

(一部に?)人気だったCMAさんのロボット
特徴的なセンサバーレスのライントレースとバッテリ2本による駆動。
さらに走行中の駆動音が聞こえない。

みなさんお疲れ様でした。
楽しい大会ありがとうございました。
画処理ロボットで防衛大超えたぞ。ドヤッ。


(RenesasMCR1 配信より)

こつこつ

120715
・恒例の搬送箱を作る。
センサバーが無いと長さが短くなってよい。
高さ方向はカメラユニットごと取り外して低く抑える。

・レバー比(センサアーム長さとホイルベースの比)が小さいと走らない。
結局、クランク立ち上がり時の起動は改善できず。
ちなみに車線変更も危ない。
あと5cm先を見たい。

ソフトでカメラの注視点を変えれば先は見れるのだが
カメラと路面との角度が浅くなり、照明の効果が薄れてしまう。
現状でも坂の頂上での7度の角度の変化で不安定になる。
坂区間でのみ注視点を変える制御は、そのうち検討。

こつこつ


コマ送りで見るとクランクの立ち上がりで前輪が外側白線を踏んでいる
マージン無し。要再調整

カメラ誘導は想像以上に遠くを見ることができない(遠距離の画像が使いにくい)
そのため、実際の操舵輪-ラインセンサまでの距離はかなり短くなってしまう。
クランクや車線変更では、操舵する起点(ライン途切れ、直角)の検知も遅れる

日程の都合上の大会までの調整可能日はあと2日。
どうにかなるか、どうにかせねば

////////////////////////////////////////////////////////////////////////////////////
if(EncoderTotal-tmpEncoder>455){
これもたまに上手く動かない
if((EncoderTotal-tmpEncoder)>455){
括弧をつけると動く

こつこつ

RMCR2012にエントリー完了。振り込み処理も完了。
東京への飛行機と宿も予約完了(金曜夕方入り、土曜最終便帰宅)

さて、
思うようにsh-tinyのソフトが思うように動かず作業が進まない。
H8で動いてたコードが動かないことが良くある。
下記のような関数内部の変数をstatic宣言しているものがダメなときが多い。
なんでだろう?

void main(void)
{
  while(1){
    func()
  }
}
void func(void)
{
  static int count; /* staric宣言した内部変数←この値が出鱈目に変更される */
  count=count+1;
}

デュアルCPU

120617
低重心化&軽量化のため、ドライブ基板上にCPU1つを実装した基板を作る。
おかげで、定重心化と軽量化(重量600g達成)が出来たけれど、
スピードUpには繋がらず。残念。

勝ちにはいかないが、手を抜くつもりは一切ない。

ありがたいことにも、RMCR2012開催決定の発表された。
今年は、画像処理ロボットでベスト16入りを目指す。
120527
さて、画処理で参加するにして
気になるのは、コース周辺の外乱光の強さ。
自前の照明でセンシングのSNを上げているので暗い分には強いが、
日光が入るとまったく手に負えなくなる。
会場となる軽子坂MNビルの日の入りはどうだろう。
写真では普通サイズのガラス窓に見えるし、
大会は7月末の朝8時から昼過ぎまで。
ルネサス半導体トレ-ニングセンターの見取り図は分からないけれど、
窓から離れてコースが設置されれば行けるかな?

こつこつ


マーカ検出法変更、ライン追従制御の調整と、駆動モータ制御を従来モデル仕様に変更する。
コーナでインリフト?するため、重心を下げる施策が必要だ

こつこつ

マッチドさせたSANYO KR-1100AAUのバッテリ管理
20度程度の室温で充放電する
0.5A放電:8Vで停止
1.0A充電:デルタピーク20mV/Cellまたは充電容量950mAで停止
この設定で2年物の組電池もほんど痛んでないようだ。

eneloop liteのバッテリ管理
0.5A放電:9Vカット
1.0A充電:デルタピーク5mV/Cellまたは充電容量950mAで停止
初期の頃に8Vまで放電したのが過放電になって痛めたのか?
0.5mA充電でも容量も毎回不安定。まったく上手くいかない

///////////////////////////////
“速い”よりも”新しい”ほうが楽しい気がする
(大会があったとして、)もし5秒程度のハンデがあるならば、
上位入賞を狙えなくても画処理ロボットを持ち込むべきか。

こつこつ

画処理ロボットの最適化を進める。
全体的にはムラの無い状態に落ち着いてきたが、
メカの問題が影響が大きくなってきた。
定常的にカメラの振動も酷いし、
画処理用CPUのせいで重心が高いため減速時に姿勢を崩してしまう。