ホールIC(UH277G-SIP-4)
1. ホール素子とは
ホール素子はホール効果※1を利用した磁気センサです。
※1:ホール効果とは、固体(半導体薄膜)に電流を流し固体表面に対し垂直に磁界を加えたとき、電流方向及び磁界方向それぞれに垂直な方向に電圧が発生するという原理に基づくもの。
1.1 ホールIC(UH277G-SIP-4)の概要
今回使用したUTC UH277は、相補出力ドライバを内蔵したラッチ型ホール効果センサです。
3~20Vの広い電源範囲で使用する事が出来、オープンコレクタ出力は最大300mAのシンク能力を備えています。
内蔵の温度補償回路と保護ダイオードを使用した設計がされているため、逆電源障害を防止できます。
1.2 ホールIC(UH277G-SIP-4)内ホールセンサーの位置
ホールICの中には図1に示す位置にホール素子が内蔵されています。
またICの寸法及びピンアウト仕様を表1に示します。
図1:UH277G-SIP-4の寸法及びホール素子の位置 (1) (2) (3) (4)
ピンNo. | ピン名称 | 内容 |
1 | Vcc | 正電圧 |
2 | DO | アウトプットピン |
3 | DOB | アウトプットピン |
4 | Vss | グランド |
1.3 ホールIC(UH277G-SIP-4)の等価回路図
図2:ブロック図及びホールICサンプル回路
1.4 ホールIC(UH277G-SIP-4)のヒステリシス特性
ホールICからの出力は、図3に示すヒステリシス特性で動作します。
閾値BOPよりも大きい磁束密度またはBRPよりも低い磁束密度のいずれかが交互に出力されます。
図3:ヒステリシス特性図 ※横軸:磁束密度(G※3)
※2:ヒステリシスとは、加える力を最初の状態のときと同じに戻しても、状態が完全には戻らない事の意味。
※3:G(ガウス)とは、磁束の方向に垂直な面の1cm^2につき1Mxの磁束密度の事。
G=Mx/cm^2 = dyn1/2·cm^(-1)
2. 実験!
2.2 プログラム
図5Arduino UNOに書き込むプログラムを図6の通り書いてみました
内容としては、ホールICの近くを磁石が通ると、Arduino UNOの2番ピンでプルアップされたホールICの3番ピンがLOWとなり、それをArduino UNOの2番ピン割り込み機能で感知しArduino UNOの13番ピンに接続されたオンボードLEDをトグルします。
volatile int TOGGLE = LOW;//並行して動作するコード用変数にLEDをトグルする値を格納 void blink(void) { //割り込み番号0(2番ピン)の電圧に変化があった時のみ実行される if (digitalRead(2) == LOW) { //もし2番ピンがLOWなら{}内を実行する TOGGLE = LOW; //LEDトグル変数をLOWにする } else { //もし2番ピンがLOWでなかったら(HIGHなら)以下の{}内を実行する TOGGLE = HIGH; } } //LEDトグル変数をHIGHにする void setup() { //一回だけ実行 pinMode(13, OUTPUT); //LEDが接続された13番ピンを出力に設定 pinMode(2, INPUT_PULLUP); //外部割込みを監視する2番ピンをプルアップし入力に設定 attachInterrupt(digitalPinToInterrupt(2), blink, CHANGE);//2番ピン(割り込み番号0)の状態が変わったときblink関数を実行 Serial.begin(9600); //9600bpsでシリアルポートを開く } void loop() { //{}内を無限ループで実行 int A = 0 ; //Aをint型の変数として宣言(毎回0にリセット) A = A + analogRead(0); Serial.println(A); //Aの値をシリアル出力します digitalWrite(13, TOGGLE); //LEDが接続された13番ピンをトグルする delay(100); //100ms(1秒)待ちます }
図1:プログラム例
図7の実験風景を図8に示します。
図8:充電とLED点灯!
3. まとめ
励みになりますのでよければクリック下さい(^o^)/