実録・実験 | ホール素子を使った回転角センサー
ホール素子を使った回転角センサにおけるプログラムの考え方(設計図書)
センサ構造
上図にセンサ構造を示す
ホールセンサを90°毎に回転軸に直角に配置、ホールセンサ両端に強磁性体の導磁回路を設け、回転軸に回転子をネジ止めする。回転子には磁力線方向がステアリング軸に直角になるように永久磁石を設置する
センサ出力
図2に今回採用したホールセンサの出力とその出力を処理した波形を示す。
センサ信号の取扱い便宜上センサにCH1~CH4と番号を付ける。表示色とCHの関係は図2を参照。
又、CH1+CH3、CH2+CH4はそれぞれの信号を加算処理したものである。
センサ構造とセンサ出力の処理方法について
センサ構造決定に関する基本的事項
・ホールセンサは磁界の通過方向により2.5Vを基準(0点)として正方向(2.5V以上)と負方向(2.5V以下)の出力を出す。
・ステアリングセンサの角度分解能は1.4°(要求仕様)以下なので、実際の出力はその倍程度の分解能が必要である。
実分解能を0.7°とすると360°/ 0.7°≒ 514 となりD/Aコンバータ出力は9ビット出力(512)を選択する。
・0°~ 360°のセンサ出力電圧範囲が0.5V~4.5Vなので、実際には512×4V /5V = 409 で0.88°の分解能となる。
・センサ出力の読み取り側のA/DコンバータはD/Aコンバータ出力に対して倍の分解を持たすため10ビット(1024)を選択する。
・ホールセンサ出力は2.5Vを基準として正・負の出力が出るが、基礎実験で示したように正のみ、又は負のみの出力の場合10ビットの分解能が1/2しか使えなくなってしまうので、ホールセンサの出力は電源電圧0V ~5Vの間をなるべくいっぱいに出力する方式が必要である。(センサ出力が0V又は5Vを超えてしまう場合(出力がサチル=クリップする場合)は使用不可)
センサ構造の決定
・前記条件を勘案して、図1の構造と処理された出力波形を用いてステアリング角センサを設計する。
・処理された出力波形(CH1+CH3、CH2+CH4の加算波形)が必要な理由
当初、角度検出は各センサの生出力をそのまま読み込んでマップを作る予定であったが、センサの上死点又は下死点付近での出力変化が、要求される角度分解能を満足できないことが分かった。
前項で述べたように基準分解能を0.88°とした場合、 0.88°の判定は0.00978V(=4V/409)のセンサ出力変化で行うが、波形の上死点、下死点付近では0.88°のステアリング角変化に対して0.00978V変化しない。センサの上死点、下死点を含まない部分の波形をマップに採用すると変化がなだらか過ぎてやはり0.88°の分解能が取れない部分が多くある。
・又、センサが回転子の永久磁石に正面する部分は磁場の方向が切り替わるのでセンサ出力は大きく正から負に変わるが、この部分を含むと同じセンサ出力を持つ角度が正2か所、負2か所(富士山型の波形の頂上を挟む両斜面)存在し、その都度どちら側の斜面にあるか判定しなければならずプログラム処理が煩雑になる。
※:したがって、2つのセンサ出力を加算処理して図2のノコギリ波(CH1+CH3:紺色、CH2+CH4:赤色)を作りこの波形の直線部分を用いてステアリング角を判定する方式とした。
・センサ構造で、強磁性体による導磁回路を設けたのは、センサ出力の肩特性改善の為である。
導磁回路のない場合、センサ出力の肩特性は正(又は負)の富士山型波形の斜面が急峻で尖った形になる。このためCH1+CH3(CH2+CH4も同様)の波形が、図2のように綺麗なノコギリ波状ではなく、間に水平の段が付く波型になってしまう。
回転角の読み取り
・センサを4つ90°の間隔で配置しているので、図2のノコギリ波の直線部分のみを4センサに対応する領域で区切りその部分をそのまま係数を掛けて出力する。
・図3参照
センサ角校正時に、各センサのピークから一定時間経過後の所に切り替え点を設け、下図3の黒破線を作る。
・この黒破線を、基準になるセンサ(例CH1のセンサ)をベースに4つ積み重ねると、ピーク・ツウ・ピークで約8V相当の360°分のノコギリ波ができる。
・出力としては下図3のようになる。(図は演算空間の波形をそのまま表示しているので、茶色波形がグラフエリアをはみ出している)合成された茶色のノコギリ波に係数をかけて(割り算)上死点、下死点がそれぞれ4.5V、0.5Vになるように演算する。(この方法では読み取り分解能を約4倍にできる)
・基本的には直線近似としているが、4倍の分解能でデータを取得しているので、ステアリング角に対するセンサ出力はほぼ直線となる。
・本方式の有利な点はセンサの切り替え点が少し前後にずれてもセンサ出力の直線部分に余裕があるのでセンサ角のずれは発生しない。
マップ方式の場合、各センサのマップ切り替え点はマップアドレスとして厳密に規定されているので、1データでもマップの切り替えがずれると、そこに不連続データ(データの飛び)が発生する。
センサ初期値の決定と通常出力
センサの起動時(電源ON 時)にセンサがどのいつ位置にあるかを判定する方法
・センサ校正時に図3中のA、B、C、a、b、c・・・を読み取り、A、a、・・・は上部切り替え点、C、c、・・・は下部切り替え点とする。同時に切り替え時に隣のセンサ電圧B、b、・・・を読み取って置く。CH1~CH4の4センサについて。
・センサ電源ON時に一番出力の大きいセンサを探す。
例えばCH2:水色のセンサであった場合、
センサ出力がa点より大きい場合はCH1+CH3:紺色出力の出力を選択する。その値より低い場合、隣のセンサCH3:緑色の出力をbの値と比較し、bの値より大きい場合はCH1+CH3:紺色出力の出力を選択する。そうして選択した出力に演算係数を掛けその値とCH2+CH4+0.5Vの値を加算したものをセンサ出力とする。
CH3の出力がbの値より低い場合はCH2+CH4:赤色出力を選択し、選択した出力に演算係数を掛けた値に0.5Vの定数値を加算したものをセンサ出力とする。
通常出力
・上記でセンサ初期値を決定した後は、CH1+CH3又は、CH2+CH4の出力が切り替え点A、a、・・・B、b、・・・を超えるか否かを常時判定し、上部切り替え点A、a、・・・を超えた場合CH1+CH3の出力に切り替える。下死点を下回った場合も同様である。
・実際には演算空間上にある茶色の仮想ノコギリ波上を上下に移動した結果をセンサ出力として出力することになる。
その他提出資料
・マップ相当のセンサ出力オシロスコープ波形データ。(HallSensor_EQ732L_20150410_Study.xlsx)
(波形に記録されている桃色のON/OFF波形は各センサ対応の切り替え部分を示す。切り替え部分にヒゲが出ているのは動作検証用にA/D出力の一部をあえて表示しているため)