DreamerDreamのブログ

夢想家の夢です。〜揚げたてのモヤっとしたものをラフレシアと共に〜

圧力センサーを家庭にあるもので自作する方法2つ

 「圧力センサー 自作」で検索すると、圧力センサーを利用した電子工作のブログが沢山でてきます。

 

ちがうちがう!

このワードで検索かけた方は圧力センサー自体を自作したいってことですよね?

 

圧力センサーってこんなのものです↓

 

 

これらは圧力によって抵抗値が変わるというセンサーで、圧力が加わると電気が流れやすくなるようにした簡易的な測定センサーです。

 

体重など重たい物や、もっと精度良く分析するためには「ひずみゲージ」と呼ばれる部品があり、こちらはセンサを金属等に貼付けて使用するもので金属のひずみ具合を検知するためのセンサです。

回路にアンプを使ったり、なんちゃらって四角く抵抗値を組んだ回路やら(名前忘れた)、ひたすらややこしいので素人向けではないものです。

 

 

 

 

さて、こういった圧力センサーを自作することは出来るのでしょうか?

 

答え

精度を求めなければ可能

です。

 

ということで今回は「家庭にあるもので圧力センサーを自作する」2通りの方法をご紹介します。

 

抵抗による圧力センサー

1つ目は簡易的な抵抗被膜を作ることです。

例えば、4B以上の鉛筆で紙にゴリゴリ塗るように書くとそこに黒鉛の炭素被膜によって電導性が生まれます。それを簡易的な抵抗被膜として活用することが可能です。

 

f:id:DreamerDream:20200109162949p:plain

ゴリゴリ塗ると完成です!

f:id:DreamerDream:20200109163007p:plain

ホンマかいな?ですって?

 

はい!ボリュームとして距離に応じて抵抗値が変わります。


抵抗値試験(距離)

 

曲げると抵抗値が変わるってゆー使い方も出来ます!


抵抗値試験(曲げ)

 

今回の場合、目的は圧力センサーなのでこの紙を2枚用意します。

f:id:DreamerDream:20200116163350p:plain

端子を付ける場合はアルミ箔などで面積を広く稼ぎます。(一点だと精度が悪い)

f:id:DreamerDream:20200116163426p:plain

アルミ箔が隠れるようにテープを貼ります。2枚作ります。

f:id:DreamerDream:20200116163511p:plain

 

2枚を黒鉛を塗った面同士を合わせて圧力をかけると抵抗値が変わります。


抵抗値試験(圧力)

 

ホラ、簡単でしょ?

 

黒鉛なので剥がれ落ちてしまえば抵抗値が変わりますし下地の紙の品質にもよります。

恒久的には使えないけど何かの一時的な実験とかなら充分に使えますね。

 

 

コンデンサ式の圧力センサー

次に、「コンデンサ」の機能を利用した圧力センサーです。

 

まずはコンデンサを自作します。

ラップを適当に切って、上にラップから出ない程度にアルミ箔を載せます。

サイズ?20cmぐらいかな?適当です。

その上に導線を剥いて載せておきます。

f:id:DreamerDream:20200108163808p:plain

さきほどの面の上にまたラップ、その上にアルミ箔を載せ、2本目の導線を載せます。

f:id:DreamerDream:20200108163820p:plain

 出来たらアルミ箔や導線同士が引っ付かないように気をつけながら巻きます。

f:id:DreamerDream:20200108163835p:plain

 

 

巻いたら、これで完成!

f:id:DreamerDream:20200108163849p:plain 

 

これだけでコンデンサが作成できました。

このサイズの容量だとテスターだとほぼ反応しません。

抵抗値は∞のはずです。もし∞以外だと何処かで漏電or短絡している可能性があります。巻き直しましょう。

 

計測はArduinoに繋いで行ないます。

コンデンサに充電して、抵抗を介して放電しきるまでの時間をマイコンで計測するのです。爆速なので人力で計測はまず無理です。

 

【コンデンサ計測プログラム概要】

  1. コンデンサに抵抗を介して充電します。
  2. 放電すると、抵抗を介してコンデンサの電圧が下がります。
  3. アナログ入力でコンデンサの電圧が0になるまでタイムカウントします。
  4. 結果をシリアルに出力します。

 

<回路図>

水色がArduino、ピンクが自作コンデンサ

上図:充電中

下図:放電中

f:id:DreamerDream:20200109162236p:plain

 

 

ということで、ArduinoIEDにサンプルとして付属の「アナログ入力シリアル出力」サンプルプログラムを改造した簡易計測器のご紹介です。

senser.ino

const int analogInPin = A0;
const int outPin = 13;

int sensorValue = 0;
int outputValue = 0;//放電カウント用

void setup() {
  Serial.begin(9600);
  pinMode(outPin, OUTPUT);
}

void loop() {
  sensorValue = 1;//0だと後のwhileを出てしまうから

  digitalWrite(outPin, HIGH);//充電開始
  delay(500);//10msぐらいでも充分充電できますが見辛いので。
  digitalWrite(outPin, LOW);//放電開始
  while(sensorValue != 0){//センサー値が0になるまで待機
    sensorValue = analogRead(analogInPin);//センサー値読み取り
    outputValue++;//タイムカウント
  }

  //結果出力

  Serial.print("sensor = " );
  Serial.print(sensorValue);
  Serial.print(" output = ");
  Serial.println(outputValue);

  delay(2);
}

 

 

すると、こんな感じで反応します。


圧力センサー(コンデンサ)

圧力をかけると膜同士の距離が近づいてコンデンサ容量が増えるのです。

ラジオの検波に使われるバリコンと同じ要領ですが精度は全く求められません。

<参考>

バリコンの自作: 気ままに無線・RVK-lab

 

圧力センサー、以外と簡単ですよね?

 

 

圧力センサーの利用例

上述の抵抗被膜式の自作圧力センサーでこのような物を作りました。


CuBaseをスケボーにマウント

スケートボードの体重をかける位置を感知させてクローラーを体重移動で走行させています。

 <これを作る為のレシピも公開しています>

dreamerdream.hateblo.jp

 

 

 

kampa.me