2021年9月21日火曜日

OpenSCADとUltimaker Curaを使用して、太陽電池が収まるフレームを作る

OpenSCADとUltimaker Curaを使用して、太陽電池が収まるフレームを作るには以下の手順を実行します。
対象の太陽電池は、以下の秋月電子さんで販売しているSHARP製のソーラーモジュールです。
・携帯機器用ソーラーモジュール(太陽電池・ソーラーセル) 300mW (セル単体)
https://akizukidenshi.com/catalog/g/gM-16017/

〇太陽電池が収まるフレームの写真(表)

〇太陽電池が収まるフレームの写真(裏)
※端子用の穴が大きめに開いています。

作成手順

1. OpenSCADで以下のコードを実行して形状を調整し、STLファイルにエクスポートします。
ケース部分とフタ部分のそれぞれを3Dプリンタで印刷し、太陽電池モジュールをはめ込みます。
ケースのサイズなど3Dプリンタや設定によって微調整してください。

・ケース部分のソースコード
// Solar moduleのサイズ
MARGIN=0.2;
SOLAR_MOD_W=68.3+MARGIN;
SOLAR_MOD_D=41+MARGIN;

// 端子
TERMINAL_MARGIN=1;
TERMINAL_W=5+TERMINAL_MARGIN;
TERMINAL_D=2+TERMINAL_MARGIN;
TERMINAL_POS_W=21;
TERMINAL_POS_D=3;

// フレームサイズ
BOTTOM_THICK=1;
FRAME_MIN=1;
FRAME_W=SOLAR_MOD_W+FRAME_MIN*4;
FRAME_D=SOLAR_MOD_D+FRAME_MIN*4;
INNER_FRAME_W=SOLAR_MOD_W+FRAME_MIN*2;
INNER_FRAME_D=SOLAR_MOD_D+FRAME_MIN*2;

EDGE_MARGIN=0.1;
EDGE_HEIGHT=1.5;
difference(){
    union(){
        // 本体
        translate([0, 0, 0])
        linear_extrude(height=BOTTOM_THICK){
            square([FRAME_W, FRAME_D]);
        }
        translate([FRAME_MIN+EDGE_MARGIN/2, FRAME_MIN+EDGE_MARGIN/2, BOTTOM_THICK])
        linear_extrude(height=EDGE_HEIGHT){
            square([INNER_FRAME_W-EDGE_MARGIN, INNER_FRAME_D-EDGE_MARGIN]);
        }
    }
    union(){
        translate([FRAME_MIN*2-EDGE_MARGIN/2, FRAME_MIN*2-EDGE_MARGIN/2, BOTTOM_THICK])
        linear_extrude(height=EDGE_HEIGHT){
            square([SOLAR_MOD_W+EDGE_MARGIN, SOLAR_MOD_D+EDGE_MARGIN]);
        }
        // 端子用穴
        translate([TERMINAL_POS_W, FRAME_D/2+TERMINAL_POS_D/2, 0])
        linear_extrude(height=BOTTOM_THICK){
            square([TERMINAL_W, TERMINAL_D]);
        }
        translate([TERMINAL_POS_W, FRAME_D/2-TERMINAL_POS_D/2-TERMINAL_D, 0])
        linear_extrude(height=BOTTOM_THICK){
            square([TERMINAL_W, TERMINAL_D]);
        }

    }
}

・OpenSCADの画面(ケース部分)

・フタ部分のソースコード
// Solar moduleのサイズ
MARGIN=0.2;
SOLAR_MOD_W=68.3+MARGIN;
SOLAR_MOD_D=41+MARGIN;

// フレームサイズ
BOTTOM_THICK=1;
FRAME_MIN=1;
FRAME_W=SOLAR_MOD_W+FRAME_MIN*4;
FRAME_D=SOLAR_MOD_D+FRAME_MIN*4;
INNER_FRAME_W=SOLAR_MOD_W+FRAME_MIN*2;
INNER_FRAME_D=SOLAR_MOD_D+FRAME_MIN*2;

// 外枠のサイズ
FRAME_EDGE=3;
FRAME_EDGE_W=FRAME_W-FRAME_EDGE*2;
FRAME_EDGE_D=FRAME_D-FRAME_EDGE*2;
INNER_FRAME_WDGE_H=0.6;
EDGE_HEIGHT=1.5;

difference(){
    union(){
        // 本体
        translate([0, 0, 0])
        linear_extrude(height=BOTTOM_THICK+EDGE_HEIGHT){
            square([FRAME_W, FRAME_D]);
        }
    }
    union(){

        translate([FRAME_EDGE, FRAME_EDGE, 0])
        linear_extrude(height=EDGE_HEIGHT){
            square([FRAME_EDGE_W, FRAME_EDGE_D]);
        }

        translate([FRAME_MIN, FRAME_MIN, BOTTOM_THICK])
        linear_extrude(height=EDGE_HEIGHT){
            square([INNER_FRAME_W, INNER_FRAME_D]);
        }

    }
}

difference(){
    union(){
        translate([FRAME_MIN*2, FRAME_MIN*2, BOTTOM_THICK])
        linear_extrude(height=INNER_FRAME_WDGE_H){
            square([SOLAR_MOD_W, SOLAR_MOD_D]);
        }
    }

    union(){
        translate([FRAME_MIN*3, FRAME_MIN*3, BOTTOM_THICK])
        linear_extrude(height=EDGE_HEIGHT){
            square([SOLAR_MOD_W-FRAME_MIN*2, SOLAR_MOD_D-FRAME_MIN*2]);
        }
    }

}

・OpenSCADの画面(フタ部分)

2. Ultimaker CuraでSTLファイルを読み込み、スライスしてgcodeを保存します。

3. 3Dプリンターで印刷します
蓋には溝が彫ってあるので、ケースに太陽電池を配置後、フタをはめ込みます。

関連情報

OpenSCADまとめ

0 件のコメント:

コメントを投稿