ラベル フォトセンサ の投稿を表示しています。 すべての投稿を表示
ラベル フォトセンサ の投稿を表示しています。 すべての投稿を表示

2009年11月14日土曜日

フォトセンサ出力のリニアライズ

 フォトセンサ出力は一般に壁との距離とリニアな関係ではない.普通は壁が近づくにつれて急激に大きくなる.まあだからどうということはなく迷路中心における値だけわかっていればテキトーにゲインを調整すれば走れるとは思う.でもなんか嫌.

 私の場合は,フォトセンサ出力のAD変換値s0に壁の反射率Rを考慮して
    s1 = s0 / R
を計算し,あらかじめ作成しておいた,s1→壁との距離d のテーブルを使って距離に変換する.通常テーブルを使うと特定の壁に対してしか使えないが,反射率を考慮して補正した(正規化した)値s1を使っているから問題ない(と思う).大会に行ったときには反射率Rだけ迷路中心におけるセンサ値に基づいて計算すればOK.

 一応その効果を確認するために,学生大会のときの試走迷路で計測してみた.壁とやや傾きをもたせた状態で直進させ,1mmごとにセンサ値を取得した.sはAD変換値,dはテーブルを使って変換した距離.機械研の壁を使って作成したテーブルを使ってもそれなりにリニアライズされているようである.

 

 学生大会の帰りに新幹線の中で作ったグラフをいまごろになってようやく貼ることができた.

 ところで,15日は中部地区の月例会で試走会だと伺ったように思いますが,時間等の情報はありますでしょうか?

2009年8月20日木曜日

壁切れは必須か

 高速でスラローム旋回するためには旋回半径を大きくするのが有効な手段の1つであろう.しかし,旋回半径が大きいと制御が難しくなるうえに,旋回開始のタイミングをはやくすると壁切れを読む前に旋回しはじめなければならないという問題に気づいた.前回書いたように壁切れなしでは安定して走れないと思う.さてどうしようか.壁切れなしでどれくらいずれるのだろうか.

2009年8月17日月曜日

壁切れ補正

 マイクロマウスの制御において極めて重要だと思っている位置情報の補正方法に壁切れがある.特に高速でターンをするようになると壁切れ補正なしではまるで走れない.シンガポールのマウスなんかはその動きを見ていると壁切れを読み取りにいっているのがよくわかる.

 読み取りに必要なのは,
  • 都合のよいセンサの向き
  • 確実な読み取り方法
である.
 センサの向きについてはkatoさんが書かれているような方針であらゆるターンに対応できるようにすればよい.
 読み取り方法は確実に毎回読めるようにしようと思うとかなり難しいが,サンプリング周期を短くして,外乱,特にフラッシュ撮影があることを考慮してその方法を考える必要がある.

 厄介なのは,マウスが横にずれていたり,進行方向に対して傾いていたりすると読み取りタイミングが変わってくることだろう.

2009年8月13日木曜日

太陽光の強度

 最近の迷いに決着をつけるために以下の回路を組んで実際にいろいろ計測してみた.

TPS601Aだけを使って太陽光のもとで出力を見ると,
  • 太陽が雲に隠れているとき1~1.5Vくらい
  • 太陽光が壁に当たっていると少なくとも3.8V
ということがわかった.1kの抵抗では太陽光のもとでは飽和してしまう.

 また,SFH4550に100mAくらい流して計測すると,壁との距離が100mmで0.5Vくらい,近づけると3Vくらいとkatoさんのコメントとほぼ一致する.さらに外乱光が1V分くらいのってようと減算によってほぼ完全に除去でき,TPS601Aは線形性に大変優れていることがわかった.

 ちなみにこじまうす4は直射日光が壁に当たっている条件でも問題なく計測できた.さて,実際の会場が太陽が照ってるときほど明るいわけでもなく,結局どうしようか.

2009年8月12日水曜日

フォトセンサ再考が必要か

 先日の記事の(たぶん)続きの考察をこちらでされている.太陽光相手に計算してもLEDの発光量が十分あることがわかった.直感的には信じられないけど計算は合ってるように思う.

 こじまうすでこれを検討すらしなかったのはおそらく,
  • 最大サンプリング周期200usを実現したい
  • 迷路のかなり偏ったところを走っていても距離測定をしたい
  • 斜め走行時など壁が近い状態でも飽和しない
などと考えていたからだろう.

 最近LEDとセンサが重すぎるように感じてきたので方針転換を視野にいれておく必要があるかも.

2009年8月8日土曜日

フォトセンサ回路の部品点数

前回のBasicMouseのセンサ回路につづいてフォトセンサ回路について考察.
フォトセンサ回路を作るときに考慮することは
  • 外乱光をカットして周囲の明るさに関係なく壁との距離を計測できること
  • S/N比を高くとること
  • 十分な分解能の確保
などを考えるかと思う.
その結果BasicMouseのようなセンサ回路に行き着くわけだが,もっと部品点数を減らせればと思う.
  • シンガポール勢が使っている増幅器つきの受光素子を使えばオペアンプまわりの回路を省ける.
  • さらにソフトウェア側で定常光成分をカットすればハイパスフィルタも省ける.
  • 発光からAD変換までの時間を毎回一定にすればピークホールドも省ける.
かもしれないが,全日本大会決勝の強烈な照明環境を考えると,どうも「十分な分解能の確保」をできる気がしない.
なぜシンガポール勢はちゃんと走れているのだろうか?
もっと明るくなればいいのに.

こうゆう回路を見ると気になってしかたがない.
実際にフル迷路を走れているようなのでもしかしてこれで十分なのか?
ただ,3号機ではセンサで失敗したのであまり攻める気がしない.

2009年8月7日金曜日

BasicMouseのセンサ回路概説

今サークルでは後輩がマウスを製作している.そのついでに基本的なことをメモしておく.こういうベーシックなこともたまにはよく考えておかなければ.
森永さんのBasicMouseのセンサ回路を示す.

まず発光側はコンデンサC2に蓄えた電力で瞬間的に強く発光させる.発光量をかせぎつつLEDが焼けるのを防止できるという点で優れている.
壁からの反射光はTPS601で電流に変換する.フォトトランジスタには光強度に比例した電流が流れる.その電流を抵抗R2に流すと点Bの電位は光の強さに比例した電位になる.
次に,部屋の照明などの定常光成分をカットしてLEDの反射光だけを取り出すためにC3とR4で構成されるハイパスフィルタを通す.時定数は,
CR = 0.01uF × 10kΩ = 0.1ms
この時点(点E)の電圧は大変小さいのでオペアンプで増幅する.この回路の場合増幅率は11倍でC4のコンデンサがあるためここでもハイパスフィルタが構成される.
結局ハイパスフィルタを2回通すためにかなりシャープに定常成分がカットされる.
最後にD1とC5で構成される簡易型のピークホールド回路で信号の最大値を取得する.
これをAD変換器で変換すればよい.
なお,ホールドされた電荷はLEDをOFFにしたときにD2を通して解放される.

また,センサの向きや壁との距離に応じて抵抗値を変更する必要があるが,その場合R2もしくはR5を変更するのがよいかと思う.R2を大きくすると出力は大きくなるが,フォトトラの反応は遅くなる.R5を大きくするとやはり出力は大きくなるがやりすぎるとオペアンプが発振するかも.
ちなみに普通のオペアンプは電源電圧いっぱいまで出力できない.この回路の場合はオペアンプの出力が最大3.5VくらいでD1を通過するときに0.5Vくらい降下して結局3Vくらいまでしか得られない.

・・・長くて自分でも読む気しないな.