DreamerDreamのブログ

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

3Dプリンターを使ってスマートロックを自作する ②鍵を回す機構を考える

前回、サーボモーターをギア化しましたので今度はサムターンを回す部分を作成します。

<前回記事>

dreamerdream.hateblo.jp

 

構想 

サーボモーターからの動力を直接鍵に入力するには、下のピンクのような部品を作るという方法が一番簡単な方法です。

ギアと鍵がぴったり合う部品の例↓

f:id:DreamerDream:20210604093012p:plain

しかし、これだと手動で鍵を回す時にはサーボモーターも一緒に回さなくてはいけないので力が必要になるのと、サーボへの逆入力になるのでサーボ内のギアを破壊してしまう恐れもあります。

 

 

そこで、下図のような鍵を回す部品を作ります。

施錠後、解錠後には青色のポジションに常に戻るようにします。

<施錠>

f:id:DreamerDream:20210604093023p:plain

<解錠>

f:id:DreamerDream:20210604093032p:plain

常に青色の状態に戻すことで手動でもモーターの抵抗を受けること無く施錠解錠作業が行なえます

 

作成

設計したのがこのモデルです。

f:id:DreamerDream:20210604093850p:plain

 

鍵の出っ張り部分を軸として回るように蓋のようにパコッと覆うだけです。

f:id:DreamerDream:20210604094056p:plain

こうなります。

f:id:DreamerDream:20210605084726p:plain

サムターンは基本的に手動で回す事を想定しているので出来るだけ鍵には部品がかからないよう、実際鍵に引っかかる部分は約2mm程度に抑えました。

 

手動で開閉実験 

youtu.be

鍵周囲の出っ張りを軸にしていい感じに回転してくれています。

モーターでもこんな感じで動けば良いなーというイメージが湧いてきます。

 

丁度鍵と取っ手の部分の間のスペースで2つのギアが納まりそうなことも確認できました。

f:id:DreamerDream:20210605085554p:plain

 

次回、ギアボックスの作成をしていきます。

dreamerdream.hateblo.jp

 

 

3Dプリンターを使ってスマートロックを自作する ①サーボモーターのマウント方法を考える

スマホやICカードから自宅の鍵の開閉を行なうスマートロックという商品が沢山あります。

 

 

 

スマートロックは例えば、

  • 手荷物がいっぱいのとき、事前に鍵を開けておいたり近づいたときに開けるようにする。
  • 遠隔で施錠の確認をする。
  • 緊急時に自宅へ鍵を持たない誰かに荷物を取りに行ってもらったり留守中にペットの餌やりをお願いする時に遠隔で操作する。
  • 就寝時等、時間になったら鍵が自動で閉まるようにする。
  • 外に出たら勝手に鍵が閉まるようにする(オートロック)。
  • 子供に物理的な鍵を持ち歩かせたくない。

こんな用途で使えます。

 

 

便利な道具なのですが、そのまま玄関に使うとなると色々と不安や不満な要素もあります。

  • 壊れた場合に手動で解錠できるのだろうか?
  • 連携サービスが終了しちゃったら操作できるのだろうか?
  • サーバーの不正アクセスで操作されない?
  • 作成販売会社は信用できる?(どこの誰が使ってるか把握出来ると悪意がある作成販売者なら自宅に押しかけて任意に操作できてしまうのでは?)
  • 後付け感が否めない(目立つ)
  • 電池交換が面倒くさい

 

加えて僕の玄関が上下のダブルロックなので、いざ付けるとなると2つ取り付けて連携が必要です。

f:id:DreamerDream:20210602124438p:plain

f:id:DreamerDream:20210602124423p:plain

2つも付けて毎回電池交換するのは面倒くさいし、高い!

 

・・・いろいろ考えると納得出来る理想的な型にするはやはり「自作」するしかありませんよね!(自作してみたいだけだったりする・・・)

 

<スマートロックを自作するメリット>

dreamerdream.hateblo.jp

 

 

自作にはまずモーターの選定が必要です。

たまたまですが、手元に電子工作では言わずと知れたマイクロサーボモーター、WOWER PROのSG90が1つありました。 

この頼りなく見えるちっこいサーボモーターで鍵が回るのか?とりあえずテープを貼付けてArduinoで制御して実験しましたら鍵を回す程度のパワーは充分あるようです。小さいのにすごい!

youtu.be

今までサーボモーターの実験をしたことはありますが、実際に工作でサーボモーターを使うのは今回が初めてです。 

dreamerdream.hateblo.jp

 

SG90は類似品(コピー商品)も安く大量に出品されています。

 

制御角度の精度を求めない今回の用途であればコピー品でも特に問題は無いでしょう。

実験で壊す可能性もあるのでとりあえず安いのをポチりました。

 

実はスマートロックは過去にNinjaLockというものを分解してみたこともあります。

dreamerdream.hateblo.jp

 

この分解レポートで用いられていましたモーターは逆入力不可能なDCモーターでした(つまり、モーターから鍵を回すことはできるけど、逆に鍵側を回してモーターを動かすことは出来ない)が、マイクロサーボモーターであれば最悪壊れた場合でも通常の鍵を使って手動でサーボを逆入力で回して鍵を開けるということも可能です。

 

作成準備

 

3Dプリンターを使って鍵とモーターがしっかりマウント出来るように型を作ります。

(3Dプリンターでベースとなるスペースのサイズを実際に作成して鍵と取っ手の間ピッタリに納まるように確認中)

f:id:DreamerDream:20210602143946p:plain

これがきちんと型に納まらないと最終的にギアボックスが出っ張って不細工になります。

 

機構の構想

「スマートロックの自作」で検索すると、よくこのような工作例が出て来ます。

f:id:DreamerDream:20210602145456p:plain

これはシンプルで設計が簡単、モーター直結なのでメンテナンスも楽というメリットがありますが、反面鍵が手前に出っ張ってしまうことと、何かしらエラーの際にサーボと支柱が邪魔で本来のサムターンを手動で回すという動作が難しくなることが難点、何より見た目が問題です。

 

そこで、今回はサーボモーターを鍵と横並びに配置し、ギアを使って伝達させる構造を取ります。

f:id:DreamerDream:20210602145507p:plain

ギアを作るのが手間ですが、この方法だと元の鍵を手で回すことは容易です。

実際にモデリングしてみると思ったよりモーターが出っ張ってしまったので図のようにはいかなかったのですが、頑張って小さく収めるという意気込みだけでこの方法を採用することにしました。

 

 

ひとまずBlenderでステッピングモーターが中に納まるようなギアを設計してみます。

f:id:DreamerDream:20210602125710p:plain

Blender↓入門書

dreamerdream.hateblo.jp

 

一通り設計したらとりあえず3Dプリントします。

f:id:DreamerDream:20210604085629p:plain

 

モーターが狙い通りピッタリとギアの中に収まりました。

f:id:DreamerDream:20210604085652p:plain

 

3Dプリンターの良いところは、とりあえず設計→出力→実験までが短期間で出来ることです。  

動作テスト

youtu.be

 

多少ガタツキがあるようですが、ガッチリ固定しなくても差し込んでるだけで充分ギアとして機能するようなのでOK!このまま次に進みます。

 

次回はサムターンをどうやって回すか?です。 

dreamerdream.hateblo.jp

 

 

超音波センサーモジュールをPICを使って人感センサーにする 備忘録

超音波センサモジュール「HC-SR04」が手に入ったので使ってみました。

 

しかし、このモジュール不具合品が含まれることで有名なもので手元にあるものを調べてみました。

mag.switch-science.com

 

あらら、見事に不具合品に合致します。

テストしても確かにモジュールの電源を入れ直さないと連続して距離が測れないので、今回使おうとしている用途では全く使い物になりません。

大した消費電力ではないのでマイコンのピンから直接電源が取れないかと試しましたが駄目でした。

 

不具合の修正方法が投稿されています。

<参考>

超音波距離センサーモジュール「HC-SR04」回路不具合の修正

 

参考サイトに習ってR1の抵抗を外し、

 

外した抵抗を再利用してGNDへプルダウンしました。

結果、手元のモジュールではこの方法では駄目でした。

 

仕方がないので別のモジュールを使うことにしました。

こちらは不具合無しのものです。

現行で売られているものはほとんど不具合無しのモデルのようです(当たり前か)。

 

 

 

使い方は簡単です。

5V電源とGNDを繋いで起動。

Trig端子を10マイクロ秒だけHIレベルにします。

するとモジュールから超音波が出て、反射した音波が帰ってくる時間に応じてEcho端子がHIレベルになります。

Echo端子がHIレベルになっている時間をマイコンで計測して結果を文字に出したりするだけです。

Web上にサンプルも多く出ているので特にここでは記述しなくても良いでしょう。

 

今回はこのモジュールを激安マイコン「PIC10F222」で制御して人感センサーとする目論見です。

<過去記事参考>

dreamerdream.hateblo.jp

 

 

まずはPICに移植できるコードをArduinoで書いてみます。

ArduinoにはEcho端子のHIレベルを計測するのに便利なpulseIn()関数が用意されていますが、PICには無いので自前で用意しないといけません。

PIC10Fシリーズは小規模なマイコンなのでArduinoのように多大なメモリ領域が使えません。それにスタック領域も2つ、つまり関数の呼び出せる層が2つだけなのでロジックを組むにも少し工夫が必要です。変数も0~255までのunsigned charを出来るだけ使いまわして省メモリ化します。

その代わり超省エネで回路が簡単、単純な動作をさせるにはオススメのマイコンです。

 

ArduinoはUSBで簡単に書き換えられるのでPICに比べて動作確認はめちゃめちゃ楽ですのでPIC用コードを実際に書く前のロジックの確認用としてかなり使えます。

クソコードですがArduino用コード

unsigned char TRIG = 3;
unsigned char ECHO = 2;
unsigned char LED = 4;
unsigned int cnt_avl = 0;

void setup() {
  Serial.begin( 9600 );

  pinMode(ECHO, INPUT );
  pinMode(TRIG, OUTPUT );
  pinMode(LED, OUTPUT );
 

}

unsigned char getCnt(){

  digitalWrite(TRIG, LOW); 
  delayMicroseconds(2);
  digitalWrite( TRIG, HIGH );
  delayMicroseconds( 10 ); 
  digitalWrite( TRIG, LOW );
  unsigned char cnt = 0;


  //cnt = pulseIn( ECHO, HIGH ); // 往復にかかった時間が返却される[マイクロ秒]
  
  while( digitalRead( ECHO ) == 0 ){
    delayMicroseconds( 10 );
    cnt++;
    if( 254 < cnt){
      break;
    }
  }
  cnt = 0;
  while( digitalRead( ECHO ) == 1 ){
    delayMicroseconds( 40 );
    cnt++;
    if( 254 < cnt){
      delay(20);
      break;
    }
  }
  
  return cnt;
}

void loop() {
  unsigned char scale = getCnt();

  if( scale < cnt_avl - cnt_avl/10 ){
    digitalWrite( LED, HIGH );
    Serial.println("Active!!");
    delay( 10000 );
    digitalWrite( LED, LOW );
  }

  if( scale != 0 && scale != 255 ){
    cnt_avl = ( scale + cnt_avl )/2;
  }
  Serial.print("cnt: ");
  Serial.print( cnt_avl );
  Serial.println("cnt");
    
  delay(300);
  
}

 

「0.3秒ごとに計測し、待機状態の1/10以上の反射時間が短くなる変化(物体が近くなったり横切ったりする変化)があれば10秒間スイッチをONにする。」だけの動作です。

 

これを、この回路のPICへ移植します。

 

動作は「センサーが反応すると10秒間GP1とGP2のHIとLOが入れ違う」だけです。

 

やっつけ感満載の基板ですが完成。

当たり前だけどArduinoより遥かにシンプルですね^^vマイコンの動作だけだとPICとパスコンだけで完結しています。こんな単純な回路で充分動くのがPICの良いところ。

 

プログラムはMPLABの出番です。流石に古い…(WindowsXP)

PIC10F222用に移植したコード

#include  <pic.h>

/*****  コンフィギュレーションの設定  ********/
//__CONFIG( OSC_IntRC & CP_OFF & WDT_OFF & MCLRE_OFF );
//オシレータ種類 & コードプロテクト & ウォッチドックタイマ & リセットピン
//内部4MHz
// file:///C:/Program%20Files/Microchip/xc8/v1.30/docs/chips/10f222.html

//MCLRE = ON : ResetPin  OFF: GPIO Pin

#pragma config MCLRE = OFF, WDTE = OFF, IOSCFS = 4MHZ, CP = OFF, MCPU = OFF

#define _XTAL_FREQ 4000000     //CPU4MHz設定delay関数用。
// #define FOSC 4000000L

#define Led GP0
#define Out GP1
#define Trig GP2
#define Echo GP3 // GP3: input only

unsigned char i = 0;
unsigned char cnt_1ms =0;
unsigned char cnt_100ms =0;
unsigned char cnt_10s =0;

unsigned int cnt_avl =0;


/* initial */
void init_com(void){
   /*STATUS
    bit 7:ピン変化によるウェイクアップ(GP0, GP1, GP3) 0:電源投入時リセット 1:ピン変化リセット
    bit 6:Non
    bit 5:Non
    bit 4:タイムアウト0 WDT 1電源投入 
    bit 3:パワーダウン 0sleep命令 1電源投入
    bit 2:ゼロビット 0算術演算結果が0以外 1結果が0 
    bit 1:デジットキャリー・ボロー 0キャリー発生なし、ボロー発生あり 1逆 
    bit 0:キャリー 0 1 
    */
    STATUS =0b00000000;

    /**  OPTION
    bit 7 :ピン変化によるウェイクアップGP0 GP1 GP3 0有効 1無効
    bit 6 :弱プルアップ 0有効 1無効
    bit 5 :タイマ0クロックソース 0内部 1T0CKIピン
    bit 4 :タイマ0ソースエッジ 0 L->H 1 H->L
    bit 3 :ぷリスケーら 0 タイマ0 1 WDT
    bit 2-0 :ぷリスケーらレート選択 0 1
    **/
    OPTION = 0b10000000;

    ADCON0 = 0b00001111; //0 Analog 1 digital

    TRIS = 0b11111000; //出力:0 入力:1  (GP3は入力のみ)
    GPIO = 0b00000010;

    //TRISが未対応らしいのでインラインアセンブラで記述
    //asm("movlw 0x0B");    
    //asm("TRIS 6");
}

/* wait (0 - 255) m secound */
void delay_1ms(unsigned char cnt){
    for(cnt_1ms = 0 ;cnt_1ms < cnt; cnt_1ms++){
        __delay_ms(1);
    }
}

/* wait (0 - 255) *100m secound */
void delay_100ms(unsigned char cnt){
    for(cnt_100ms = 0 ;cnt_100ms < cnt; cnt_100ms++){
        __delay_ms(100);
    }
}

/* wait (0 - 255) *100m secound */
void delay_10s(unsigned char cnt){
    for(cnt_10s = 0 ;cnt_10s < cnt; cnt_10s++){
        delay_100ms( 100 );
    }
}

unsigned char getCnt(){
   Trig = 0;
   __delay_us(2);
   Trig = 1;
   __delay_us(10);
   Trig = 0;

   unsigned char cnt = 0;
   while( Echo == 0 ){
        __delay_us( 10 );
        cnt++;
        if( 254 < cnt){
             break;
        }
    }
    cnt = 0;
    while( Echo == 1 ){
        __delay_us( 40 );
        cnt++;
        if( 254 < cnt){
             break;
        }
    }
    return cnt;
}

/* main */
//Led Out Trig Echo
void main(void){
    init_com();

    while( 1 ){
        Led = 0;
        Out = 1;

        unsigned char scale = getCnt();
        if( scale < cnt_avl - cnt_avl/10){
            Led = 1;
            Out = 0;
            delay_10s(1);
            Led = 0;
            Out = 1;
        }
        if(scale != 0 && scale != 255){
            cnt_avl = ( scale + cnt_avl )/2;
        }


        delay_100ms( 3 );
    }

}

PICはチップ自体は安く済むけれど殆どの便利な関数は自前で用意しないといけませんしコンフィギュレーション設定がマイコン毎や設計回路ごとに変わるのでコードを書くのは実に面倒です。(それでもアセンブラで組むよりは遥かにマシです。)

Arduinoはこのややこしい部分を取っ払ってしまっているのですごく入門しやすい親切設計ですね。

 

とりあえずは狙い通りに動きました。

人が横切ると反応します。

感度調整は状況に応じてコード内の

if( scale < cnt_avl - cnt_avl/10){

の変化率「/10」のところを弄るだけですね。ボリュームで調整できるようにしたらさらに使いやすくなりますが設置箇所は固定なので今回は不要。

 

超音波式の人感センサーは自動ドア等でよく見られる方式で焦電型の人感センサーより屋外での使用には強いはずですが、こういった人感センサー的な設計の超音波モジュールは電子部品として見当たりませんね。何か理由があるのでしょうかね?

 

 

 

実際に使えるかどうかは実運用で試してみることにします。

今回は以上です。

 

 

RaspberryPiからLCDのバックライトを操作する方法 備忘録

とある事情でLCDディスプレイを手に入れたので使ってみます。

 

16文字×2行のしょぼいやつです。

 

以前に使った有機ELディスプレイのほうが文字数も機能も多いです。

dreamerdream.hateblo.jp

 

低機能ですが表示するものが少なければ用途は足りるし文字も大きいので見やすく、LCDを薄くして小型化する必要の無いものであれば充分でしょうし、調べてみると特に何もインストールする必要もなく使えるそうなのでお手軽ですね。

 

<参考>

hellobreak.net

 

参考サイトの通り、まずはI2Cデバイスを有効にします。

sudo raspi-config

コマンドでラズパイの設定画面に入り、インターフェースから

I2Cデバイスを有効にします。

念の為再起動。

sudo reboot

 

 

配線も参考サイトの通り、電源とSDA/SCL線の4線を間違えないように配線するだけです。

 

参考サイトの通り

 $sudo i2cdetect -y 1

と打つ。

 

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f

00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 

10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 3f 

40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

 

 

「3f」が僕のディスプレイのアドレス

 

wget http://osoyoo.com/driver/i2clcda.py

 

でosoyoooのサンプルプログラムをダウンロードして、

ダウンロードしたi2clcda.pyファイルを先程確認したアドレスに変更。

 

python3 i2clcda.py

でサンプルコードを動かしたら、LCDコントローラーのLCD濃淡調整ボリュームを弄って文字が見えるようにします。

無事に表示されたので、オリジナル文字を表示してみます。

 

test.py

import i2clcda as lcd

 

lcd.lcd_init()

lcd.lcd_string("HELLO", lcd.LCD_LINE_1)

lcd.lcd_string("1234567890123456", lcd.LCD_LINE_2)

実行!!

ちゃんと指示どうりに表示されます。簡単ですね。

 

さて、問題はバックライトです。

バックライト点灯しっぱなしだとLED寿命も気になりますし、消費電力も無駄になります。画面に表示するものが無い時はできれば消えてほしいものです。

LCDコントローラーに付属のピンを抜くと消えるそうですが、物理的に消すよりプログラム的に消せないのか?とサンプルプログラムを見ていると、設定項目にそれらしきものがありました。

 

なるほど、消したい時はこの値をどこかに入れれば良いみたいですね。

 

サンプルコードを見てみると、どうやらビット処理したら出来るっぽいことを発見。

 

サンプルコードの i2clcda.py に以下を追加

def backlight( light = True ):

  On  = 0x08  # LED On

  Off = 0x00  # LED Off

  if light:

    light = On

  else:

    light = Off

 

  bits_high = LCD_CMD | light

  bits_low = LCD_CMD | light

 

  # High bits

  bus.write_byte(I2C_ADDR, bits_high)

  lcd_toggle_enable(bits_high)

 

  # Low bits

  bus.write_byte(I2C_ADDR, bits_low)

  lcd_toggle_enable(bits_low)

 

backlight( True )でON,backlight( False )でOFFになる設定だけLCDに送るコードです。

で、同サンプルコードのmainにbacklight(False)を追記しました。

def main():

  # Main program block

  # Initialise display

  lcd_init()

  while True:

    # Send some test

    lcd_string("Created by         <",LCD_LINE_1)

    lcd_string("Osoyoo.com        <",LCD_LINE_2)

    time.sleep(3)

    # Send some more text

    lcd_string("> Tutorial Url:",LCD_LINE_1)

    lcd_string("> http://osoyoo.com",LCD_LINE_2)

    backlight(False)

    time.sleep(3)

 

実行!


www.youtube.com

 

きちんと動作しました!大成功です。

 

注意点は、[ 文字表示 → バックライトOFF ]という順番で操作することです。

逆だと、一瞬消えて文字表示した瞬間バックライトが点灯します。(文字表示のときに既にバックライトコードも盛り込むので)

これで情報を表示して、しばらく更新が無ければバックライトを消灯する。ということができますね^^

 

今回は以上です。

 

 

 

 

マグネットセンサーの代わりにフォトインタラプタを使う 備忘録

今作っている作品の扉開閉検知のためマグネットスイッチを使おうとしていましたら、ウッカリ「パキっ」と折ってしまいました。。。orz____最後の一個だったのですごいショック…凹

 

今はガラスケースではなくプラケース入のものが出ているんですね!

僕みたいなウッカリさんには超オススメですね↓

 

嘆いてても仕方ないので手元の部品箱から代替品を探しましたところ、マイクロスイッチとフォトインタラプタを発見しました。

単純なマイクロスイッチでも良いんだけど、どうせなら今まで使ったこと無いフォトインタラプタを使ってみよう!という勢いだけで、急遽フォトインタラプタをマグネットスイッチの代わりに使ってみることにしました。

 

メリットとしては検知がフォトトランジスタになることで機械的スイッチ特有のチャタリング対策が不要になりますし、うまくスリットを入れると扉の開閉速度の検知までできちゃう!はずです(たぶん)。

 

手元にあるものは何かのオマケについていたもので詳細が不明だったのですが、こちら「フォトインタラプタ」の「透過型」という種類になるそうです。

 

 

今回は使える電源が5Vのみで、ラズパイのGPIOへ信号を入力する必要があるのでこのように組みました。

フォトトランジスタとLEDの極性に要注意です。端子がどちらも同じ方向がGND側ではありません。

もう一つ注意すべきはラズパイのGPIOは3.3Vということです。5Vを入力してはいけません。

そのため、GPIOポートは内部でプルアップ操作を行い、通常は3.3VでHIレベルに、フォトトランジスタが反応したらGNDへ落としてLOレベルとなるようにしています。

当初予定していたマグネットスイッチとはHI/LOが逆になりますがプログラムで補正するので問題なし。

 

<pythonプログラムでのGPIO内部プルアップの記述例>

GPIO.setmode(GPIO.BCM)

GPIO.setup(Switch, GPIO.IN, pull_up_down=GPIO.PUD_UP) 

<参考>

dreamerdream.hateblo.jp

 

出来たスイッチは3Dプリンターで作ったケースに固定しました。

ケースとインタラプタの面を合わせて、我ながら上出来!

このスリットで開閉を検知します。

 

何に使ったかは後日公開する予定です。

 

できるだけ小さな穴で壁を貫通させて配線する方法 (※小電力だけ) 備忘録

【注意】今回の記事は省電力の電子機器を設置する目的で配線しています。決して100V線や大電流の機器は繋がないようにしましょう!

 

皆さんは趣味の電子工作で図のように隣の部屋に配線を通したい場合、壁のボードに躊躇なく穴を空けられますか?

 

図(赤色:配線)

このように配線したい場合、ドリルで1つ大きな穴を空けて配線して貫通穴周りをコーキングするという方法が一番簡単ですが、まず見栄えはよくありませんし、撤去後に穴が残ってしまいます。

 

見栄えを良くしようとすると、貫通穴にこういった配線プレートを設置するのが通例ではないでしょうか?

 

しかし、設置したものを撤去する場合は貫通穴+ネジ穴も塞ぐ必要があります。

上記の解決策として、壁紙を一片を残した四角形で切り取り、めくった部分にだけ穴を空けて壁紙を残したままプレートを設置することで、撤去時にめくった壁紙で再度穴を塞ぐという方法がありますが、ボード自体に空いた穴はパテか何かで補修しないと塞げません。

穴あけのための石膏ボード用ノコ↓

 

そもそも石膏ボードは耐火目的もありますのであまり大きく穴を空けるのは好ましくありません。

 

今回は「針の穴のようなできるだけ目立たない小さな穴で、後に残りにくい配線をすることが出来ないか?

ということを考えながら小さな穴での配線を試みました。

 

一般的に石膏ボードへ小さな穴をあけるには、下地チェッカーのように針を押し付けます。

 

下地チェッカー針の太さは直径約2mm、つまり2mm以下の穴だと目立たないということで違いないでしょう。

 

【目標】

  • 無駄な穴を空けずに0.6mmの導線が通る穴を目指します。
  • 通常の画鋲ピンの針が実測約1.2mmでしたので、できればそれ以下の穴を目指します(最高でも2mm以下)。
  • 貫通後には導線を配線します。

 

<参考>細くて長いドリル

https://amzn.to/3zMUUxS

細くて長いドリルビットを探してもまず商品がありません。

 

太くて長いものはたくさんありますが、細いビットほど短くなります。

強度と精度を考えると当たり前ですが、これでは先の要件を満たせません。

下地チェッカーのようなもので入り口と出口から別々に且つ正確に穴を空けられれば良いのですが、そんな神業も機器も持ち合わせていません。

 

1mm以下で10cm以上で精度が良いドリルビット」なんてそもそもありません。

では、ドリルでないもので穴を空けるという方法はどうでしょうか?

 

思いついたのは「」です。

 

こちらの商品は230mmもあります。

太さと精度が不明でしたが、レビューも悪くないので購入してみました。

 

この針をドリルビットとして使います。

長っ!!!

 

ぐるぐると回してみましたが、精度が素晴らしく先端がブレません。

しかし、フリーハンドで適当に穴を空けると確実にズレますので穴ガイド(図緑)兼配線プレート(図青)を3Dプリンターで自作して下図のように慎重に穴を空けます。

なんと!この針を使う方法で思ったより簡単に穴が空きました。しかも直径0.6mmの穴!大成功です!

先端をヤスリで削るなどビットにするための工夫が必要かな?と思っていましたがドリルで回転させればそのままでも石膏ボード程度なら充分刺さるようです。(流石に細いので回転させずそのまま刺しても曲がってしまって刺さりません。)

 

しかし、そのまま約0.6mmの穴に0.6mmの配線をするのは困難を極めますので、一度貫通したら逆側(糸を通す側)で少し穴を広げます。

 

<参考>貫通後


www.youtube.com

貫通後はこのように、穴が小さいので最初の針の方向と少しでもズレるとなかなか入りませんが、一度方向が定まればスルスルと入ります。

 

<配線方法>

わかりにくいですが、針の先端に0.6mm錫メッキ線をハンダで付けています(針穴側だと太くなっちゃうから)。

なんとこの針、ハンダも乗りやすいです。

出来るだけ凸凹しないように慎重にハンダ付けして折らないように慎重に運びます。

メッキ線はこちらを使用。

 

 

一応、壁中に入る部分は気持ち程度の絶縁目的で塗装しています。

 

理想はこのように、どちらの部屋にも同じ位置で穴が空いてほしい!

ですが、まあこれは無理です。

ガイドを通しても必ずズレは発生しますので、針の出口となる部屋1のプレートにはスペーサーを設置します。

こうするとブレを吸収することが出来ます。

 

 

<入り口>

<出口>

 

出口も割りときれいに穴が揃っています。

 

最終的にこのように穴ガイド兼配線プレートを設置しました。

ボンドも釘も使わずにメッキ線の張力だけでプレートを固定しています。そもそもピンで固定しているようなものなので不要です。

今回は14箇所配線することが出来ました。

端っこは何かしらに当たって針が進まなかったので無理せず中断しました。

 

通電テスト(他の線と壁中で接触していないか絶対に確認が必要!)して両方にカバーを付けて設置完了!です。

使う時は使いたい線にハンダ付けして、穴ガイドごと収縮チューブで絶縁します。

 

※この方法は完全に僕の思いつきですので、備忘録として残していますがもし真似して何かしら問題が出たとしても完全に自己責任でお願いします。

 

再度

【注意】今回の記事は省電力の電子機器を設置する目的で配線しています。決して100V線や大電流の機器は繋がないようにしましょう!

 

 

 

車のバッテリー固定クリップの外し方

先日、車のバッテリーを交換しようとしたら見たことのないクリップ?で配線がバッテリー固定用のネジの上に固定されていました。

 

なんじゃこれ?

 

うーん、とりあえず下手に触らないほうが良さそうなのでGoogleで「バッテリー 固定クリップ」などと検索してネットに載っている記事を参考にすると、「外れないので切りました」とか「無理やりマイナスドライバーでこじって」とか治安の良くない情報ばかり・・・

 

中には「外し方がよくわからないのでそのまま下のネジを回して付けたまま外しました」という頭の良い情報もあり、ナルホド!付けたままでもいけるのか!!とトライしてみたものの、すっごい邪魔!!

 

なんとか無傷できれいに取り外したい!

ということで、とりあえず頭が六角なので「回せばよくない?」ということで回してみました。


www.youtube.com

一見、空回りして外れてなさそうに見えるのでうが、、実は動いています。

ネジピッチが小さいので一見動いてなさそうに見えるし、引っ張ってもビクともしないのですが、つまりこれ単純に地道に回して外せば良いだけです。

逆に取り付けるときは「えいっ!」と上から差し込むだけで簡単に取り付けられます。

 

これさえ外れてしまえばバッテリー交換はスムーズに進みます。

 

ちなみに、アイドリングストップ車のバッテリー交換する場合、自分で交換後のバッテリー測定用メモリのリセットができる車種とできない車種があるので要注意です。

現時点ではHONDAの普通車は自前での交換&リセット操作が可能ですが、他のメーカーは診断機でリセット操作をしないとアイドリングストップが効かなくなり、ディーラなどへ持ち込まないといけないものもあるので要注意です。

 

<参考>

国産メーカー・アイドリングストップ車の電流積算値リセット | りょかいらいふ(旅懐らいふ)

 

【重要】アイドリングストップ車には「アイドリングストップ車対応のバッテリー」を必ず選びましょう!

 

※「クリップの外し方わからん!」という人のために、以下検索用タグを載せておきます。

バッテリー交換 クリップはずし方 バッテリー固定クリップ バッテリーの線のクリップ バッテリー配線の固定の外し方 バッテリー固定ステーから配線を外す 固定クリップをきれいに外す

kampa.me