電源ケーブルチェッカーの自作

電源ケーブルチェッカーの自作について

 輸液ポンプなどの移動可能な医療機器では電源ケーブルの抜き差しも非常に多く、接触部の劣化や物理的な曲げや衝撃により、ケーブル自体の損傷から断線や接触不良などが発生する事があります。
 場合によっては電源ケーブルの内部で短絡、いわゆるショートがおこって火を吹くっていうシュチュエーションも起こりかねません。

 今回はそんな場合にはよっては危険な故障状態になりかねない電源ケーブルをチェックするチェッカーを自作しようと思います。

 ちなみにですが、そんなもんテスターで計測したら簡単にチェックできるやんとお思いでしょうが、正確なケーブルの抵抗値を計測できるようなテスターは市販品だと数十万円しますし、電極へのテスターの当て方しだいで数Ωのずれが生じるくらいシビアです。

一般的なテスターだと0Ω以下の精度は期待できません。

 そんな電源ケーブルのチェッカーですが、簡単な仕組みでしかも簡単なプログラムだけで作っちゃいます。

 部品はたったの5個程度です。

ArduinoIDEでESP8266とADS1115というA/D変換装置を使い実現します。

めっちゃ簡単なんで興味のある臨床工学技士さんはぜひ作ってみてください。

とりあえず、動画で概要をチェックしてみて↓

電源ケーブルの抵抗値について

電源ケーブルですが、わずかながら抵抗値が存在します。この抵抗値が上昇すればケーブル自体の異常や接触部の異常である事がわかります。

それでは正常なケーブルの抵抗値はどの程度なのでしょうか?

電源ケーブルの太さはAWGという単位で表されるのが一般的らしく、テルモの輸液ポンプ用ケーブルではAWG18の太さの電線が使用されている事がわかりました。

このAWG18(18ゲージの太さらしい)の電線表面積は0.824㎟で抵抗値は0.02094〔Ω/m〕です。

一般的な電源ケーブルでは2.5mのものが多く、2.5m×0.02094Ωですからだいたいケーブル自体の抵抗は0.05Ωくらいになるのが正常です。

しかし、ケーブルの接続部が削れて接触があまいと接触抵抗が増えて抵抗値が増大したりするのでこの抵抗値が絶対的に正解というのはないです。

ただ1Ωを超えるような抵抗値は異常だと思います。

電源ケーブルはしなやかに曲がるように、より線といって細い銅線をよりあわせて作っています。太いケーブルほど抵抗値が下がるんです。↓

上記より、キレかかった電源ケーブルも抵抗値が上昇してもしかしたら検知できたらいいなぁーっと思っています。

チェッカーの構成

チェッカーの構成はArduinoIDEでプログラムできるESP8266と16bitA/D変換素子のADS1115を使います。↓

ESP8266

esp8266はarduinoIDEでarduinoボードとして認識できてプログラミングできます。

またwifiにも対応していてIOTにはもってこいさらに安いのでいう事なしです。最高です。

もうひとつがADS1115です。↓

スポンサードリンク

ものすごく安いのに16bitの高いA/D変換ができてarduino素子とも相性がよいI2C通信で簡単に接続・計測ができます。

ほんとっおすすめです。

上記の部品と数点の抵抗器だけで実現可能です。

コストはだいたい1500円ってとこですね。

激安です。

チャッカーの原理について

チェッカーの原理ですが↓の写真が全てです。

いわいる分圧の式で抵抗値を算出します。

むっちゃ簡単です。

中学校の理科の知識です。

なんで120Ωの抵抗をつかっているのかというと、電源ケーブルの抵抗値は限りなく小さいはずなので、分圧比でケーブルにかかる電圧を大きくするには120Ωのところの抵抗は小さいほうがよいです。

しかし、電源をESP8266からとるとなると、流せる電流値にも上限がるので安定的に電流がながせるだろう抵抗値として120Ωを選定しました。(部品箱にあったからですが)

分圧した電位をADS1115にてA/D変換して読み取ります。

読みとった値をいろいろ加工して電圧値と抵抗値に変換してPC画面に表示します。

表示するのにvisualstudioで作成したソフトを使ってます。接続方法はシリアル接続です。

プログラムについて

プログラムについてはPCソフトも自作したのでその兼ね合いで少し複雑になっています。

PCソフト側で表示させなければ簡単なんですが・・・

一応のせておきます。

わかる人がみればわかるのですが、ESP8266でデータを10個まず貯めてたまったら、一気にPC側に送信します。

PC側はそれに応じて10個分のデータから値を算出します。

なぜそのようにしているのかというとグラフを作ろうとしていたからです。でも不要になったんでグラフ化はしてませんが、データのやりとりの仕組みは面倒なので買えませんでした。

しかしデータどりはかなり簡単でADS1115のライブラリを使ってA/D変換して電圧と抵抗値をだしているだけです。↓

//cablecheker ESP8266
//use ADS1115

#include <Wire.h>//I2Cを使う
#include <ADS1X15.h>//16bitADC1115のライブラリ

ADS1115 ADS(0x48);//ADS1115のインスタンスを作成

int L1_V = 14;//ESP8266 D5
int L2_V =12;//ESP8266 D6

//
float L1=0;
float L2=0;
float GNDSence;

float L1array[5];
float L2array[5];

String string_data;
int j=0;


//8msec
void L1read(){
digitalWrite(L1_V,HIGH);
L1 = ADS.readADC_Differential_0_1();
digitalWrite(L1_V,LOW);
}

//8msec
void L2read(){
digitalWrite(L2_V,HIGH);
L2 = ADS.readADC_Differential_2_3();
digitalWrite(L2_V,LOW);
}


/*
void GNDread(){
for(int i=0;i<2;i++){
GNDSence += ADS.readADC_Differential_0_1();
}
GNDSence = GNDSence/2;
}
*/

void setup()
{
Serial.begin(115200);
Wire.begin(4,5);//SDA,SCL ESP8266 D2>4 D1>5

//LED setup
pinMode(L1_V,OUTPUT);
pinMode(L2_V,OUTPUT);

pinMode(LED_BUILTIN,OUTPUT);

digitalWrite(L1_V,LOW);//IR_LED
digitalWrite(L2_V,LOW);//R_LED

/* —– Setting of ADS1115 AD converter —– */
ADS.begin();
ADS.setMode(1);//mode 0:continuous 1:single
ADS.setDataRate(4);//datarate860sps ads1115 time 1/860=1.16279msec fastest 0-7 128sps>8msec
ADS.setGain(16);//PGA value +-1.024V 4>1.024v 8>0.512v 16>0.256v

}

void measurement(){
while(Serial.available()<=0)
{
if(j<=4){
L1read();
L1array[j]=L1;
L2read();
L2array[j]=L2;
j++;


}else{
j=0;
Serial.println(String(L1array[0])+”,”+String(L1array[1])+”,”+String(L1array[2])+”,”+String(L1array[3])+”,”+String(L1array[4])+”,”+
String(L2array[0])+”,”+String(L2array[1])+”,”+String(L2array[2])+”,”+String(L2array[3])+”,”+String(L2array[4]));
}
}



}

void loop()
{
//serial受信があったらswitch文へ移行
while (Serial.available() > 0){
//yが受信できたらzを送り返す 要はVS2019側で接続チェックに使用
switch(Serial.read()){
case ‘y’:
Serial.println(“z”);
break;
//VS側でフォトトラのデータを取得するボタンを押したときSが送信されるのでsyoudo()へ移行
case ‘s’:
measurement();
break;
case ‘o’:
taiki();
break;
}

}
taiki();

}

void taiki(){

while(Serial.available()<=0)
{
digitalWrite(LED_BUILTIN,HIGH);
delay(1000);
digitalWrite(LED_BUILTIN,LOW);
delay(1000);
}
}

// — END OF FILE —

課題について

動画をごらんになったらわかるのですが、キレかかっている電源ケーブルを検出する事はできませんでした。

なぜなら、キレかかっても少しも抵抗値が上昇しないんです。

だいたい銅線を一本にしても元の抵抗値より0.05Ω上昇する程度です。

電位でいうと1mv程度上昇する程度です。

分解能が0.1mv程度なので十分検出可能ですが、ケーブルによって抵抗値がバラバラだし、その日の接触抵抗によっても抵抗値が変動するのでキレかかったケーブルをみつけるのは簡単ではないです。

ただ、断線や接触がわる電源ケーブルをみつけるのにはとても効果があると身をもって実感する事ができました。

さいごに

作って、実験してみないとわからない事だらけですね。

それではまた!!

スポンサードリンク
カテゴリー: 制作事例 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください