SSブログ
English Version

DIP IC用フォーミングツール [3D_printer]

 今までDIP ICのピンの整形は机の上の平面を使ってやっていました。
 幅広のICであればそれなりに問題ないのですが幅の狭い汎用ロジックIC等ではどうしても反対側のピンが手で押されて少し曲がってしまいます。

 サンハヤト製ピン整形専用ツールの「ピンそろった」を使っている人も多いのではないでしょうか?

 3Dプリンタ用の素材サイトであるThingiverseでDIP ICのピン整形用の「Small DIP IC Lead Bender」を見つけました。中々良さそうですね。

 そこでオリジナルのピン整形ツールを作ってみました。
 今回3D CADで設計したピン整形ツールが下図です。図では判りづらいですが、ピンを挟む部分には若干テーパーを付けてピンの先端程、ピン間隔が狭くなるようにしています。

ICピン整形ツール


 3Dプリンタで出力した結果が下の写真です。28ピンでも余裕のサイズにしました。ABS樹脂の弾力性は色々応用できて面白いですね^^

3Dプリンタで出力したピン整形ツール(ABS)


 ブラックのフィラメントで出力したので写真では状態が判り辛いですが、ICのピンを整形中の状態が下の写真です(実際は両手で扱いますが、写真を撮る都合上片手操作)

ピン整形中の様子


 下の写真が整形後のピン状態を丸ピンソケットで確認している様子です。
 ソケットに乗せただけの状態です。これくらいに整形できていれば、まぁ合格点ではないでしょうか?

ピン整形後の確認状況


★2020/02/28 追記 {
 3Dプリンタをいじるついでに幅の広いDIP用の治具も作りました。
 裏表で両方の幅のDIPに対応したかったので、そのように設計したのですが下側の出力がきれいにできなかったので、二つに分割し幅広専用としました。

ICピン整形ツール(幅広DIP用)


 3Dプリンタで出力したものが下の写真です。フィラメントをシルバーに交換しました(写真ではグレーにしか見えないけど)。

3Dプリンタで出力したICピン整形ツール(幅広DIP用)

}

★2020/03/10 追記 {
 PLAフィラメントで出力してみました(下の写真)。使用したフィラメントの色がトランスペアレントグリーンで半透明なので写真撮影しにくいですが見た目は結構いい感じです。
 バネ部分は問題なく機能しています。ABSと比較するとバネ感触が1.5倍くらい硬い感じです。またPLAはABSと比べて脆く、紫外線で変質することがあるので可能であればABSで出力するのがいいと思います。

3Dプリンタで出力したピン整形ツール(PLA)

}

★2020/03/14 追記 {
 PLAで作成した方がバネ部分の付け根で破断してしまいました(下の写真の左側の矢印部分)^^;
 ABSで出力した方はまだ大丈夫ですが、強度補強の改善を行いました(写真右側)。

強度補強のための改善


強度補強改善(CAD)

}

★2020/03/17 追記 {
 「光造形式3Dプリンタの購入」の記事に書いたように、最近安くなってきた光造形(LCD-SLA式)の3Dプリンタを購入しました^^
 上記のPLAフィラメントでの出力と色が似ていて紛らわしいのですがSLA式プリンタで出力したものが下の写真です。
 圧倒的に綺麗です(レジンは高いけどw)
 また、バネの感触はABSと比較しても半分くらいの硬さです。

SLA式3Dプリンタでの出力例

}

 今回作成したツールのSTLファイルは下記をクリックすればダウンロード可能です。商用目的以外であれば使用可能とします。

IcPinForming_20201216.zip
★2020/12/16 変更
 Ver 0.05 Learge(幅広)側の幅を若干狭くした。
★2020/03/19 変更
 Ver 0.04 Learge(幅広)側を2mm長くしてMC68008等の48ピンまで
 対応するようにした。
★2020/03/15 変更
 Ver 0.03 最下層の膨らみ防止のために面取り実施
★2020/03/14 変更
 Ver 0.02 幅が狭い方のSTLファイルを強度補強のために改善
★2020/02/28 追記
 Ver 0.01 幅広DIP用のSTLファイルを追加

nice!(0)  コメント(0) 

ポケコン(PC-G850V)の周辺機器接続端子キャップ [ポケコン]

 3Dプリンタのフィラメントを交換したついでにポケコン(PC-G850V)の周辺機器接続端子のキャップを作ってみました(無くしたわけではありません)。

 実物をよく見てみると左右非対称だったんですね。本体に装着した時にロックする突起部分に袴をはかせて強度を上げたかったのですがきちんと閉まらなくなるので面取りのみ行いました。まぁあまり力が加わらない部分なので大丈夫だと思います。

 いつものように最初に現物をサイズ計測してCADに入力、試し印字して現物合せし、要修正部分をフィードバック後、再度出力してきちんとハマるようになりました。

 CADでの設計は下図の通りです。

PC-G850Vの周辺機器接続端子のキャップ


 ポケコン本体に装着した時の写真も付けておきます。側面がツルツルしているのはラフトを敷かずに出力しているからです。

本体に装着した様子


★2020/02/17 追記 {
 上記のモデリングは現物に合わせるように行いましたが、もっと小型になるように改善してみました。
 下図の右側が改善したものです。

接続端子のキャップ(右側が改善版)
}

★2020/02/18 追記 {
 改善版の装着写真も貼っておきます。
 取り外し用のギャップを下側にし、コンパクトになって見た目もすっきりですね^^

改善版装着写真
}

 必要な人はほとんどいないと思いますがSTLファイルは下記をクリックすればダウンロードできます。商用目的以外であれば使用可能とします。

G850InterfaceCapV002.zip
★2020/02/17 追記 初版と改善版の2つのSTLファイルをアーカイブしました。

nice!(0)  コメント(0) 

中華製マトリックスLEDキットでLチカ [PIC]

 ebayで16x32 Dot Matrix DIY Kit Red Green Dual-Color Control LED Display Moduleの名称で売られていた32x16の2色のドットマトリックスLEDキットを購入してみました。
 8x8の2色LED単体で2百円程度はするのではないかと思いますがそれが8個も入ったキットが9百円弱なのでお買い得感がありますね^^

 LED基板の部品構成はシリパラ変換(ラッチ付き)の74HC595 x 8個と縦16ラインのセレクト用に74HC138 x 2個以外はドライバ用のトランジスタとパスコン及び電源用電解コンのみです。

 ネット上では下記のようなボケた回路図しか見当たりませんでしたが、上記の部品構成から回路は容易に想像できますね。

マトリックスLEDキットの回路


 組立後にPICと接続した状態が下の写真です。PICはいつものようにpicleコンパイラを使って制御しています。
 また、OneBitLoaderをUARTでの2線式に対応させて入れています。

PICに接続した状態


 マトリックスLED基板自体の背面は下の写真のような感じです。LEDを半田付け後に点灯しないピクセルが発生すると嫌なのと、基板の取付穴を後で利用できるように(写真では判りませんが)LEDを直付けせずに別途ebayで購入した丸ピンソケットを使って接続しています。

マトリックスLED基板の背面


 制御方法は上記の部品構成から次のようになります。(74シリーズIC規格表で595を確認すると良くわかります)
 赤及び緑それぞれで1ライン分(32bit)のデータをラッチでき、A-Dで指定したラインに表示されます。
 最初のラインの先頭のシリアルビットがLED基板の左上のピクセルに対応します。

Sig Namememo
A - D138 でデコードされるライン情報
G Green serial input
R Red serial input
CK G/R clock(positive edge)
SRB 595 paralel data latch(positive edge)
OE/ 595 pararel data output(low active)


 PICとの接続は次のようにしました。

Sig NamePIC pinPin No.
A RA0 2
B RA1 3
C RA2 9
D RA310
CKRA412
G RB0 4
R RB1 5
SRBRB2 6
OE/ RB3 7


 ほとんどPIC単体の回路ですが、PICとマトリックスLEDの接続回路は以下のとおりです。
 シリアル通信の速度は38400bpsです。

マトリックスLED基板とPICの接続回路図


 マトリックスLED側のシリアル入力はRedとGreenの2bit入力なため、SPIは使えないのでソフトでシリアライズしています。
 今回は1ライン表示処理を約1ms間隔で呼び出し、1画面表示を16ms(62.5fps)で処理しています。

 ロジアナで確認した1周期分(16ライン分)の信号が下記になります。

1周期分の制御信号


 1ライン分の範囲に拡大したものが下図です。

1ライン分の制御信号


 更に1bit送信部分を拡大したものが下図です。

1bit送信分の制御信号


 マトリックスLED制御用に作成したpicleライブラリのソースが下記です。
 1ライン表示用の処理とfontデータをVRAMへ展開する処理を作成しました。フォントについてはフリーなものを少し探しましたが変換処理が必要そうだったので数も少ないことからフォントデータを自分で作成しました。
 フォントデータをメモリ上の固定アドレスに書き込んでいますが、PICの開発環境であるMPLABX環境でメモリの一部だけに書きこむにはリンカスクリプトの変更が必要そうだったのでCP/MのM80/L80環境でHEXファイルを作成し、OneBitLoaderで書き込みました。

 また、VRAMはスクロール処理用に右端と下側に8bit分をLEDパネルサイズ外の範囲まで持っています。
 フォント展開処理(SetFont)ではバイト境界を意識せず、VRAM上の任意の位置にfontデータを展開できるようにしています(但し、範囲チェックはしていない)

マトリックスLED制御ライブラリ(picle言語)
#LibMatrix v0.02 2020/02/14 skyriver # 8x8 x 8, 2colors Dot Matrix driver # Signal connection # LED PIC # A-D : RA0 2 # RA1 3 # RA2 9 # RA3 10 # # CK : RA4 12 # # Red : RB0 4 # Grn : RB1 5 # SRB : RB2 6 # OE : RB3 7 var LATA,LATB,ArIdx,_Bit; var _Rpat,_Gpat,_Font; func Alloc( size ) { return=Array_(ArIdx); ArIdx=ArIdx+size; } # # clear VRAM # proc Vcls() { var i; for (i=0;i<5*24;i=i+1) { _Rpat[i]=0; _Gpat[i]=0; } } proc Init() { var ad1pcfg,pr1,i,pat; ad1pcfg = $032c; ad1pcfg[0]=$ffff; # set digital mode pr1=$102; pr1[0]=$003d; # 270:10ms -> 3D:1ms LATA=$02c4; LATB=$02cc; LATA[-1]=$ffef; # ck:low LATB[-1]=$fffb; # srb:low LATA[-2]=$0000; LATB[-2]=$f300; # RB8,9:serial Rx,Tx _Bit=Alloc(4); _Rpat=Alloc(5*12); _Gpat=Alloc(5*12); _Font=$f800; pat=1; for (i=7;i>=0;i=i-1) { _Bit[i]=pat; pat=pat+pat; } Vcls(); } # display # ln<- line No. # x <- start x(0..7) # Y <- 0..15+1 # <- _Rpat,_Bpat proc Disp(ln,x,y) { var bcnt,_rpnt,_gpnt,rpat,gpat,lata,latb,tmp,xbit; xbit=x; tmp=(ln+y)*5; _rpnt=_Rpat+tmp; _gpnt=_Gpat+tmp; lata=LATA[0]; rpat=_rpnt[0]; gpat=_gpnt[0]; for (bcnt=4*8;bcnt;bcnt=bcnt-1) { if (xbit>7) { xbit=0; _rpnt=_rpnt+1; _gpnt=_gpnt+1; rpat=_rpnt[0]; gpat=_gpnt[0]; } latb=3; if (rpat&_Bit[xbit]) { latb=2; } if (gpat&_Bit[xbit]) { latb=latb&$fd; } LATB[0]=latb; LATA[0]=lata | $10; # ck positive edge LATA[0]=lata; xbit=xbit+1; } LATB[0]=$0c; # OE inactive and SRB edge(positive) LATA[0]=ln; LATB[0]=0; # RB3 OE active } # set vram with ascii code # _plane <- _Rpat or _Gpat # badr <- VRAM bit adrs from plane # line <- line No. # code <- ASCII codfe proc SetFont(_plane,badr,line,code) { var i,_fadr,fdat,_vadr,_vast,fbit,vbit,vbst; _fadr=_Font+(code-' ')*7; _vast=_plane+5*line+badr/8; _vadr=_vast; vbst=Modulo_; vbit=Modulo_; fbit=0; fdat=_fadr[0]; for (i=7*6;i;i=i-1) { if (fbit>5) { fbit=0; _fadr=_fadr+1; fdat=_fadr[0]; _vast=_vast+5; _vadr=_vast; vbit=vbst; } if (vbit>7) { vbit=0; _vadr=_vadr+1; } if (fdat&_Bit[fbit]) { _vadr[0]=_vadr[0]|_Bit[vbit]; } else { _vadr[0]=_vadr[0]&~_Bit[vbit]; } fbit=fbit+1; vbit=vbit+1; } }
★2020/02/14 変更 最新版にアップデート

 今回は久々にYouTubeに動画をアップしたので貼っておきます。
 カメラで撮影する場合、周りが暗いと赤色と橙色の差が判り辛くなったので結構明るいところで撮影しています。このため動画ではLEDがうす暗いように見えますが、実際には十分な明るさです。

 もっと明るくしたい場合には5V電源をLEDボード側に給電し、PICは5Vからレギュレータで降圧した3.3Vで動かすという手もあります。
 この場合、PIC側の3.3VとLEDボード側の5Vが短絡しないように注意してください。
 LEDボード側のICはHCシリーズなので問題ないはずですし、PIC側は出力だけなので5Vトレラントなピンを使う必要もありません。




 最後に今回作成したデモプログラムを自動起動状態に設定したPIC24FJ64GA002のヘキサファイルは以下からダウンロード可能です。
 商用利用以外であれば自由に使用可です。(自分のための覚書という意味もあるw)
 自動起動になっていますがエスケープキーでプログラムを中断できます。

PIC24FJ64GA002_LedMatrix_20200212.zip
★2020/02/12 最新版にアップデート


[TOP] [ 前へ ] 連載記事 [ 次へ ]

nice!(0)  コメント(0) 

デルタ式3Dプリンタ(Kossel Reprap)のフィラメント詰まり対処 [3D_printer]

 「デルタ式3Dプリンタ(Kossel Reprap)の購入」の記事で書いたデルタ式3Dプリンタのキットはずっと調子が良く安定していました。
 しかし、昨年大晦日に錆防止の意味も込めて、久々に動かした時に、フィラメントリールがフォルダ(これもずっと調子のよかった)から外れていたことに気が付かずプリントしたため、途中でフィラメントが送れずに失敗していました。orz

フィラメントリールフォルダ
デルタ式3Dプリンタ組立直後の写真


 その後、フィラメントの出が悪くなり、フィラメント送出量が多い時に、フィラメント送りのステッピングモーターが頻繁に脱調(負荷が大きいため回転できない状態、カチッと音がする)するようになり、脱調音がした部分はシロアリが食べたようにスカスカになる症状が出るようになってしまいました orz

 最初に購入した3Dプリンタ(初代のダヴィンチ)は「3Dプリンタ ダヴィンチ特有のフィラメント詰まりの原因と対策」の記事に書いたように固有の部品かつホットエンドは一体型だったため、対処が大変でした。
 その点、今回の3Dプリンタはかなりの量の販売実績があると思われるキットであり、使用部品の入手も容易です。更にキットなので自分で組み立てたことから構造が判っているので扱い易くていいですね。

 それでは今回実施した対処の概要を以下に記録しておきます。対処後に試験的に印刷してみましたが問題無い状態に戻りました(^^)/
 この状態が長く続けばいいなぁ~
 Amazonでは光造形式の3Dプリンタも既に3万ちょっとで購入できるようでそろそろ買ってみようかとも思っていましたがFDM式の方も調子が良くなったのでどうしようかなぁ~と悩み中です^^

  1. ノズルの簡易クリーニング
     ダヴィンチに添付されていたノズル用のクリーニングワイヤー(多分0.3mmのピアノ線)でノズルをクリーニングしましたが、症状は改善せず。

  2. ノズルの取り外し
     冒頭で書いたようにホットエンドが熱い状態でフィラメントを送れない状況が長く続いたことが原因と推測されるので、今回のフィラメント詰まりはノズルの0.4mmの内径付近に硬化したフィラメントがこびり付いているものと推測されます。
     ノズルを取り外し、フィラメント導入穴を1.5mmのドリルを使って詰まっている樹脂を取り除きました。
     この際にノズル自体を削らないように注意しながら作業を行いました。

    事前処理


  3. アセトンでのクリーニング
     上の作業で大まかにABS樹脂を取り除いた後にアセトンに約6時間(6時間が妥当か否かは未検証)漬けた後にクリーニングしました。
     フィラメントが入ってくる部分には結構ABS樹脂が残っていました。

    対処前(ノズル面) 対処前(裏面)

     アセトン漬けにするためには小型のガラス容器が必要ですが、見まわしたところ、目に入った唐辛子の瓶を使いましたw
     蓋の部分がアセトンで溶けるのでは?と心配でしたが問題ありませんでした。
     アセトン漬けにした直後はABS樹脂の粉が漂っていましたが、6時間後は溶解していました。
     写真では見づらいですが黒い粉のようなもの(炭化したABS?)も少し混じっている状態でした。

    アセトン漬けの状況(直後) アセトン漬けの状況(6時間後)

     アセトン漬けにした後にドリルでゲル状の樹脂を掻き出し、クリーニングワイヤでノズル穴をクリーニングした後の状態が下の写真です。

    アセトン漬け後クリーニングしたノズル面 アセトン漬け後クリーニングした裏面


  4. プリントヘッド側のチェック
     ノズル側のクリーニングが完了したので、プリントヘッドのフィラメントが通る部分をクリーニングしました。
     クリーニング用の治具を持っていなかったので、クリップをまっすぐに伸ばしたものをクリーニングピンとして使いました。
     ノズルを外した状態でヒータをONにしてホットエンドを温めて、クリーニングピンで樹脂を取り除きましたが、ノズル付近に少し樹脂が付いていただけで特に問題(フィラメント押し出し時に抵抗が発生する状態)はありませんでした。

    プリントヘッドのクリーニングピン プリントヘッドのクリーニング


  5. 予備品の購入
     今後のこともあるのでebayでホットエンド部の予備品(今回のキットと同じものでヒーターやファンまでついて千円弱)とノズルの予備品を購入しておきました。
     各部品が安く入手できることもキットの大きなメリットですね^^

    ホットエンドの予備品


nice!(0)  コメント(0)