磁気浮上装置の自作 部品購入にあたっての検討

はじめに

磁気浮上装置には磁石やコイルといった部品が必要です。どのような部品が適切なのかわからないながらも、検討したので、その結果を報告します。 磁気浮上装置を自作するにあたって、参考にしたサイトはこちらです。 www.instructables.com このサイトを参考にすると、以下のことが言えそうです。

  1. 磁石(BASE)で磁石(FLOAT)を浮かせる。

  2. 電磁石(コイル)に電流を流して、磁場をつくることで、磁石(FLOAT)のバランスをとる。(参考サイトのHow it worksがわかりやすいです。)

  3. ホールセンサーで磁石(FLOAT)の位置を検出する。

必要な部品

電磁石(コイル)

中空のボビンに銅線を巻いて製作します。
コイルの中に鉄心を入れたら、磁石が反発しなかったので、中空のコイルを作る必要があると思います。 今回はコイルに使用する銅線を購入するにあたって、適切な銅線の太さを模索しました。

ホールセンサー A1324LUA-T

ホールセンサーで磁石(FLOAT)の位置を検出する必要があります。 アナログ出力で感度が高いものを選ぶべきだと思うのですが、アナログ出力のホールセンサーは秋月に1種類しか売ってないようだったので、それを購入しました。 参考サイトで使用されているホールセンサー(SS495A)の感度は3.125mV/Gで、今回選択したホールセンサーの感度は5mV/Gです。 なので、少なくとも参考サイトのホールセンサーよりも感度のよいものを選択したことになります。

磁石

今のところ、どのような磁石を使えばよいのかわかっていません。 平らで強力な磁石が良いかと思い、取り合えずネオジウム磁石を購入しました。 適切な磁石が分かり次第、更新できればと思います。

電磁石の銅線について

適切な銅線の線径の求め方

100均のボビンを用いて電磁石を製作します。ボビンに巻ける銅線長さは銅線の太さで決まってきます。 同じ仕事率(時間当たりの熱量)のとき、必要な電流と生じる磁束密度が銅線の太さによってどの程度違うのかを検討しました。

ボビンに巻ける銅線の長さ

まず、ボビンに巻ける銅線の長さl_Bは銅線の径d_cとボビンの高さh_Bとボビンの内径d_iとボビンの外径d_oを用いて大体以下のように示されます。
段数N_Sfloor(\frac{h_B}{d_c})、1段あたりの周数N_Lfloor(\frac{d_o-d_i}{2\cdot d_c})より、 l_B=\pi N_S\sum_{i=1}^{N_L} d_i

銅線に流す電流

抵抗率\rhoを用いて電線の抵抗Rは
R=\rho\frac{4l_B}{\pi \mathrm{d_c}^{2}}
また電流Iは抵抗Rと仕事率Wを用いて
I=\sqrt{\frac{W}{R}}
と表されます。

磁束密度

単位長さあたりの巻き数(ボビンの高さあたりの巻き数)n_c
n_B=l_B/h_Bと表され、
磁束密度Bは透磁率\mu_0を用いて
B=\mu_0\cdot Iと表されます。

同じ出力の場合、銅線細いほど効率がよい

これまでの数式を用いて、仕事率1 Wあたりの銅線の径に対する電流値は左図、磁束密度は右図のようになりました。
f:id:GypsophilaRupi:20200613204410p:plain 銅線の太さを変えるとコイルの巻き数は変わるものの、磁束密度は変わりませんでした。(ジグザグしているのは、巻き数を整数にしているからだと考えられます。)
一方で同じ磁束密度のとき、銅線の径が小さいほど、少ない電流で済むことがわかりました。 この知見を参考に、銅線の径は0.26mmのものを購入することにしました。 ちなみに径が0.26mmのときに必要な銅線長さは1つの電磁石(ボビン)あたり約26mなので、20m×ボビン4つ分を購入することにしました。

補足:ESP32のホールセンサーの挙動確認

今までホールセンサーというものを使ったことがなかったので、ホールセンサーを購入する前に、1自由度磁気浮上装置の挙動をESP32のホールセンサーで検出してみました。
1自由度磁気浮上装置の概念図は左図の通りで、実験の様子は右図の通りです。
ESP32のホールセンサーはチップの中にあるみたいなので、チップの上に1自由度磁気浮上装置を置いて磁界の検出を行いました。

f:id:GypsophilaRupi:20200613205708p:plainf:id:GypsophilaRupi:20200613205135j:plain

実験内容

以下の状態のときのESP32のホールセンサーの値を検出しました。
A:ESP32の上に1自由度磁気浮上装置がない状態
B:ESP32の上に1自由度磁気浮上装置があり、電磁石には電流を流してない状態
C:ESP32の上に1自由度磁気浮上装置があり、電磁石に電流を流して磁石を浮かせている状態
D:ESP32の上に1自由度磁気浮上装置があり、電磁石の電流を流している状態から切ったとき

プログラム

ESP32にはhallRead()という関数が定義されているようで、下記のプログラム【例2】を参考にプログラムを書きました。 Arduinoチュートリアル 基礎編

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
}

float ReadSens_and_Condition(){
  int i;
  float sval;

  for (i = 0; i < 20; i++){
    sval = sval + hallRead();  // アナログ入力ピン0のセンサから
    delay(5);
  }

  sval = sval / 20;    // 平均
  return sval;
}

void loop() {
  // put your main code here, to run repeatedly:[f:id:GypsophilaRupi:20200613211106p:plain]
  Serial.print(millis());
  Serial.print(",");
  Serial.print(ReadSens_and_Condition());
  Serial.print("\n");
}

実験結果と考察

各状態における実験結果は以下のようになりました。縦軸はホールセンサーの値です。
ホールセンサ―の絶対値に関してはよくわかっていないので、議論できません。 しかし相対値は各状態で異なることがわかりました。 この結果から、ESP32のホールセンサでも電磁石と磁石による磁界の変化を検出することができることがわかりました。 f:id:GypsophilaRupi:20200613211106p:plain

まとめ

今回は磁気浮上装置の部品購入にあたって、主に電磁石に用いる銅線の仕様決定を行いました。 モータドライバから電磁石に電流が流れます。そのため、電磁石に流す電流は出来るだけ小さい必要があります。 同じ磁束密度を出すときに銅線の太さが細いほど銅線に流す電流は小さくて済むことが今回の検討からわかりました。
また、ホールセンサーを使ったことがなかったので、ESP32のホールセンサで磁界の検出できるかどうかを実験で確認しました。その結果実際に検出できることを確認しました。