3D年賀状(2017)

投稿 2017年01月07日 22時28分11秒 | 3Dプリンタ | hotall

私の場合、一年は年賀状作りと共に終わりを迎えます。

年を追うごとに短くなる一年間は、その成果を実感し辛くなってきました。
今年も年賀状の話を耳にすると、ああもう一年が経ってしまったのかと、思わずため息を漏らしてしまいます。
そして、年賀状作りを始めるのです。

昨年も3Dプリンタを使った年賀状でした。大変な作業で、限られた数しか作成できませんでしたが、一年で最後の成果を感じることができました。
なんだかんだ言いながら、今年も、懲りずに3D年賀状にすることに決めたのです。




過去2回の作品は置物でしたが、今年は動きのあるものがいいなと漠然と考えていました。
鳥の羽ばたきを想像しながら、机の上のクリップを眺め、「あ、これにしよう」と決めました。

ダブルクリップや目玉クリップを作るにあたり、どうしても解決しないといけない問題があります。それはバネをどうするかです。

初めは、バネだけを汎用品を購入して同梱しようと思いましたが、以前、クリップハンガーでプラスチックのバネが使われているのを見たことがあり、また、3DプリンタのフィラメントであるABS素材がしなりがあることとを考え合わせ、バネも3Dプリンタで作ってみることにしました。

鋼線材と違い、3Dプリンタでは螺旋構造は困難ですので、ダブルクリップのような単純な構造にする必要があります。

しかし、ダブルクリップの構造では、そのカーブが大きく変化している個所で局所的に力がかかります。プラスチックの場合、強度面からバネ全体で均等に力がかかるように、カーブが緩やかに変化するようにしなければなりません。

また、たわみやすい両腕の部分も少しふくらみをつけて、これを改善します。

この方針で、いくつか太さや大きさを変えて、バネのつよさと、組み立てやすさのバランスを探りました。

あとは鳥の形を模したレバーとそれを支える軸部分を作成します。
今回も、はがきサイズの封筒に梱包するので、平板の部品を組み立てるものとします。

各部材を固定する方法ですが、以前、馬の置物では部材をスライドして固定しました。今回はバネが各部材を押さえつけているので、単に差し込むだけとしました。

さて方針が決まったので、3D CADでモデルデータを作成します。

データをGCODEに変換して3Dプリンタで出力します。

各部品はやすりでバリを取り除きます。これが結構大変です。

組み立てます。

どんどん出力して組み立てます。

これを分解して、厚紙で作成した封筒に貼り付けます。
封筒の裏面は組み立てマニュアルになっています。

今回は部品点数が多いので、うまく組み立ててもらえるでしょうか。
今年もすべてを完成したのが大晦日になってしまいました。
完成した年賀状をカバンに積み込み、妻と一緒に出かけます。

除夜の鐘を聞きながら、郵便局前のポストに投函。
その足で近所の神社へ初詣に向かいます。

風もなく、穏やかな年越です。
型通りの儀式を済ませた後は、頂いたお神酒でほんのり温まり、末吉のおみくじをくくり付け、家路につきます。
静まり返った家並に二人の足音だけが響いていました。

いい年でありますように。



下表は今回設計・使用した部品の一覧です。
3Dデータ(STLファイル)もアップしましたので、個人的な利用の範囲で、自由にお使いください。
項目数量入手
3D部品12ダウンロード
パッケージ印刷1ダウンロード

コンデジ(RICOH GR DIGITAL II)マクロ用リングライトの作製

投稿 2016年09月29日 14時48分29秒 | 3Dプリンタ | hotall


私はブログに掲載する写真の撮影はコンデジ(RICOH/GR DIGITAL II)を使用しています。

ニュースで最新カメラの記事を目にする度、一眼レフでも買えば、もっといい写真が撮れるのでは思っては、やはり機材より腕なんだろうなと思いとどまり、このカメラを使い続けています。
私が撮る被写体は小さなものが多いので、マクロモードで撮影することが多いのですが、いつも悩まされることがあります。被写体にライトを当てようとすると、カメラ自身が影となってしまい、なかなかうまくセッティングできないのです。

そこで、マクロ用リングライトを作製することにしました。



手元に、以前、秋月電子から購入した白色LEDキットがあったので、これを使用することにしました。
このキットは最大125mAを出力できるチャージポンプIC:LTC3202により2.7V-4.5Vを入力として、5つのLEDを駆動します。

このキットを使用し、LEDを埋め込んだリングライト本体と、駆動回路を備えた電池ケースを繋いだ構成とします。

リングライト本体は、フィルター用のバヨネット爪に取り付け、電池ケースはアクセサリーシューに取り付けるようにします。

筐体を作製するにあたり、まず、いつものように3Dデータを作成します。

これを3Dプリンタで出力します。

バリを取ります。
レンズフードと接する内側は、紙やすりで、LED取り付け孔はピンバイスで削ります。

裏側のバヨネット爪の部分も滑らかにします。

LEDのカソード側配線の準備をします。
今回は線材に裸の錫メッキ線を使うので、被覆用のヒシチューブを用意します。
抵抗の両端は、メッキ線を通す輪っかを作ります。

メッキ線に一定間隔(31mm)で抵抗をはんだ付けし、間をヒシチューブで覆います。

LEDのアノード側配線も一定間隔(31mm)にLEDのリード線を通す輪っかを作り、間をヒシチューブで覆います。

LEDを用意します。
長いほうのリード線がアノード側です。

LEDを筐体の孔に差し込みます。

各LEDのリード線はアノード側、カソード側の方向(右回りまたは左回り)を合わせます。

各LEDのカソード側のリード線を、先ほど用意した線材の抵抗の輪っかに通し、はんだ付けします。

不要なリード線はカットし、カソード側のリード線をアノード側と反対方向に倒し、線材を奥に押し込みます。

アノード側も同様に、メッキ線の輪っかにリード線を通し、はんだ付けします。

不要なリード線をカットし、カソード側と反対方向に倒し、押し込みます。

電池ケースとの配線用コード(V OUT,GND,FB)をはんだ付けします。
コードの断線防止のため、ブッシュとしてヒシチューブを被せておきます。

接合部を押し込んでおきます。

次に電池ケースの配線をします。
今回使用する電池ケースです。

単三3本のスイッチ付です。

スイッチ側に隙間があり、ここに制御基板を格納できそうです。

これが制御基板です。

リングライトからのコードと電源コードを制御基盤にはんだ付けします。
帰還制御電圧の設定(D1,D0)は最高(共に+電源:VINに接続)としました。

絶縁のために、カプトンテープを巻きます。

基板を押し込みます。

アクセサリシュー取り付け部品と滑り止めを3Dプリンタで作成します。
滑り止めを両面テープで電池ボックスに貼り付けます。

リングライトの裏側に蓋をします。

反射板としてアルミ箔を切り抜きます。

両面テープで貼り付けます。

表蓋をして出来上がりです。

カメラに取り付けます。

点灯してみます。

撮影してみました。
点灯前です。
右側がカメラの陰になっています。
左上のコネクタラベルも陰になって暗いです。

点灯後です。
影がなくなりました。
最初に点灯した時、思っていたより光量が少なかったので、少し心配になり、改良方法について色々思案していました。
しかし、実際撮影してみると、外部光との併用で自然な感じに撮れていたので、このまま使用することにしました。

これで、マクロ撮影も少しは楽になりそうです。



下表は今回設計・使用した部品の一覧です。
3Dデータ(STLファイル)もアップしましたので、個人的な利用の範囲で、自由にお使いください。
項目数量入手
リングライト筐体1ダウンロード
裏蓋1
表蓋1
シュー取付部品1
電池ケース滑り止め2
白色LEDチャージポンプキット
LTC3202
1秋月電子通商
電池ボックス 単3×3本
リード線・フタ・スイッチ付
SBH-331AS
1
その他、線材、ヒシチューブなど適宜市販品購入

3Dプリンタ(RepRapPro Huxley)のCPU交換(ソフト)

投稿 2016年07月15日 17時57分18秒 | 3Dプリンタ | hotall

前回は3DプリンタのCPU破損に伴い、MelziボードのCPU(ATMEGA1284P)を交換しました。
今回は、交換したCPUにソフトをインストールします。

この文書は個人的なものであり、読者による修理を推奨するものではなく、内容について一切の責任を負いかねます。


CPUに制御ソフトをインストールするにはMAC,Linux,Windowsのいずれかのパソコンが必要です。
私のパソコンはWindows10/64bitですので、この環境で作業を進めます。

ブートローダーの書込み

RepRapの制御ソフトはArduinoで開発されています。従って、Arduinoの開発環境を使ってターゲットCPUにインストールする訳ですが、その前提としてパソコンからファームウェアを転送するために、事前にブートローダーがCPUに書き込まれている必要があります。

Melziを含め、市販のArduinoボードには既にブートローダーが書き込まれています。しかし、今回、CPUを新しく置き換えたため、自身でこれを書き込む必要があります。

ブートローダーを書き込むには、書込み装置とソフトが必要です。今回、書込み装置にはAVRISP mkIIを、ソフトにはAtmel Studioを使用します。


AVRISP mkIIは秋月電子通商から購入しました。

Atmel StudioはAtmelのホームページから最新版(Atmel Studio 7.0 (build 1006) web installer)をダウンロードします。

このツールはVisual Studio2015をベースにしているので、インストーラを起動すると、まずこれがインストールされます。インストール後、再起動が求められこれを行いますが、インストールはまだ終わっていないので注意が必要です。再度、インストーラを起動して後続の処理を行います。

尚、このツールはファイルパスに日本語があるとエラーになるので、名前に日本語を含まないユーザーでログインする必要があります。

次にCPUに書込むブートローダープログラムを入手します。

これはファームウェアプログラムに含まれていますので、これら一式をここからダウンロードします。ファームウェアの名前はMarlinで、このリンクのバージョンはReprapproによりフォークされたものです。

入手したファイルは解凍して、適当なフォルダに配置します。ファイルは後述のファームウェアのインストール時にも使用します。


書込み装置をパソコンと制御ボードに接続します。制御ボードには電源を接続し、給電しておきます。

Atmel Studioを起動します。
画面上部の各入力欄に次の設定を行い、Applyボタンを押します。
Tool: "AVRISP mkII"
Device: "Atmega128P"
interface: "ISP"


AVRISP mkIIのファームウェアにアップデートがある場合はアップデートが求められるので、これを行います。

[Read]ボタンを押してDevice SignatureとTarget Voltageを取得します。

[Memories]をクリックして、メモリ操作画面を表示します。
念のため、[Erase Chip]-[Erase now]ボタンを押して、メモリをクリアします。

Flashデータに先ほどダウンロードしたファームウェア内のブートローダープログラムファイルを指定します。
sanguino\bootloaders\atmega\ATmegaBOOT_1284P.hex

[Program]ボタンを押して、ブートローダーを書き込みます。

[Fuse]をクリックし、ヒューズ情報を表示します。

Fuse Registerに次の値を入力します。
EXTENDED: 0xFD
HIGH: 0xDC
LOW: 0xD6
この値は、ダウンロードしたファームウェアファイルのboards.txtで指定されている値です。

[Program]ボタンを押して書き込みます。

警告メッセージが出ますが[Continue]ボタンを押して継続します。

[Lock bits]をクリックしてロックビット画面を表示します。

LOCKBIT欄に0x0Fを設定します。この値もboards.txtで指定されています。

[Program]ボタンを押して書き込みます。

これでブートローダの書込みは完了です。

制御ボードのリセットボタンを押すことにより、ブートローダは起動します。ファームウェアはUSB経由でArduino開発ツールから書込み可能となりました。


ファームウェアの書込み

ブートローダーに続き、ファームウェアを書き込みます。

まず、Arduino開発環境を構築します。

Arduino開発ツール(Arduino IDE)のWindows Installer版をここからダウンロードし、インストールします。

このパッケージにはMelzi関連のハードウェア情報が含まれていないので、先ほどダウンロードしたファームウェアファイルの中からハードウェア情報ファイルを取り出し、IDEのインストールディレクトリ上にコピーします。

本来この作業はコピーするだけの簡単な作業ですが、ファームウェアが開発された時点のAduino IDEと最新のAduino IDEのバージョンでは、ハードウェアファイルの形式に互換性がなくなっているので、以下のような多少面倒な作業となります。

ダウンロードしたファームウェア中の'sanguino’フォルダとその内容をIDEの'Arduino/hardware/’フォルダにコピーします。

コピーしたsanguinoフォルダの下にavrフォルダーを作成し、sanguinoフォルダ直下のファイル及びフォルダを移します。

\sanguino\avr\bootloaders\atmegaの下のブートローダー関連ファイルを\sanguino\avr\bootloadersに移動します。

\arduino\avr\platform.txtファイルを\Sanguino\avrフォルダにコピーし、内容を編集します。

name=Arduino AVR Boards

name=Sanguino AVR Boards
に変更します。

boards.txtを編集します。
atmega1284.upload.protocol=stk500v1

atmega1284.upload.protocol=arduino
に変更します。

atmega1284.bootloader.tool=arduino:avrdude
を追加します。

arduinoのスケッチフォルダ(<ドキュメント>\Arduino)にダウンロードしたファームウェアファイルのMarlinフォルダをコピーします。

制御ボードのUSBコネクターとパソコンのUSBコネクタをUSBケーブルで接続します。


Arduino IDEを起動します。
[ファイル]-[スケッチブック]メニューから"Marlin"を選択し、ファームウェアのスケッチブックを開きます。

ファームウェアファイルは書き込むハードに合わせてソースコードの変更が必要となります。

Configuration.hを編集します。

//#define REPRAPPRO_HUXLEY
行のコメントアウトを外します(先頭の//を削除)。

//#define REPRAPPRO_MELZI
行のコメントアウトを外します。

ホットエンドのサーミスタ直列抵抗(R5)の値により
//#define SERIAL_R 4700
または
//#define SERIAL_R 10000
行のコメントアウトを外します。


私のボードは472(4.7KΩ)なので前者の行のコメントアウトを外します

[スケッチ]-[検証・コンパイル]メニューでスケッチブックをコンパイルします。

今回ダウンロードしたファームウェアの場合、何故か関数重複定義エラーが発生しました。
Marlin:585: error: previous declaration 'bool code_seen(char*)....

調べてみると、引数が異なる同一名の関数:code_seenが2つ存在しています。
bool code_seen(char code_string[])
bool code_seen(char*)
コードを見ると、前者は使われていないので、削除しました。

書き込み先の設定を行います。

[ツール]-[ボード]メニューで"Melzi 1284p 16mhz"を選択します。

[ツール]-[シリアルポート]で制御ボードのUSBシリアルポート番号を選択します。

[スケッチ]-[マイコンボードに書き込む]メニューをクリックし、ファームウェアを書き込みます。

書込み後、制御ボードのリセットボタンを押下し再起動します。
後は、XYZ軸のキャリブレーション値などの後で設定した値について、組み立て時と同じ要領で設定して終了です。

以上の作業で無事、機能するようになりました。
ボードごと交換することに比べ、手間がかかってしまいましたが、古いボードが再利用できて良かったです。
実は、保険として安価なボードを購入していましたが、今回は出番がなかったので、将来の補修部品としてストックしておくことにしました。

3Dプリンタ(RepRapPro Huxley)のCPU交換(ハード)

投稿 2016年07月06日 17時36分13秒 | 3Dプリンタ | hotall


先日のヒーテッドベッドの修理でCPUを破損してしまったので、新たな修理が必要となってしまいました。
Huxleyの制御ボードはArduinoの派生基板でMelziと呼ばれるものです。バージョンは2です。
Melzi ver2のボードはネットで安く手に入りますが、多くはモータードライバがver1のままのA4988が実装されています。これに対し、私の購入したボードはebay経由のRepRapPro純正の純粋なver2で、モータードライバも熱トラブルの少ないA4982となっており、会社が撤退した今、手放すには惜しい製品です。
そこで、CPUのみ交換することにしました。
この文書は個人的なものであり、読者による修理を推奨するものではなく、内容について一切の責任を負いかねます。


まず、CPUを取り外さなければなりません。

パッケージはTQFP。狭ピッチの4辺ピン配置で表面実装になっています。
これらすべての足を同時に加熱しなければ、取り外せない、少々厄介な代物です。

ホットブローや低温はんだなど、外し方にはいくつかあるのですが、今回は以前ネットで見つけた銅線を使用する方法を試してみることにしました。


銅線を用意します。
私はホームセンターで1.2mmのものを購入しました。

CPUのすべての足と接触するように、銅線を写真のように折り曲げます。

銅線の下の面が平らになるようにハンマーで叩きます。

微調整を繰り返して、CPUのすべての足が銅線に接触するようにします。
地道な作業で、数十分を要します。

銅線に予備はんだをします。

CPUを持ち上げるために、ワイヤーを足に通します。
私はラッピング線の被覆を剥いたものを使用しました。

CPUの二辺にワイヤーを通し、その上から銅線を置き、ワイヤーを縛ります。

更に縛ったワイヤーが解けないように、はんだ付けします。

銅線とCPUの各足にはんだを盛ります。

銅線の中央部にはんだごてを押さえつけるように当て、ワイヤーをペンチでつまみます。

銅線のすべての半田が解ける必要があるので、半田ごてのこて先は大きめのものを使用し、温度は高めにします。
わたしの場合、白光FX600にT18-C3のこて先を装着し、420℃に設定しました。

こてを当てて、すべての半田が融けるまで待ちます。今回は20秒くらいで融けました。

はんだが融けたら、ペンチでつまんだワイヤーを持ち上げるように力を加えます。このとき基盤が浮き上がらないように小指で押さえます。

CPUが外れました。

外したCPUです。
足が数本取れてしまいました。
今回は、再利用しないのでこれでもOKとします。

基板の方は、半田の一部が流れ落ちていますが、思ったよりきれいな状態です。

よく見るとランドの1つがめくれあがっています。
折れないようにそっと元の状態に戻します。

古いはんだを吸い取ります。

ランドに予備はんだをします。

新しいCPUを用意します。
CPUはATMEGAの1284Pで、8bitのRISCプロセッサです。
私は秋月電子通商から購入しました。

ランドに合わせて、CPUを乗せ、2本の足をはんだで仮止めします。

すべての足をはんだ付けします。
細めのこて先で低めの温度にします。今回はこて先T18-C1で320℃としました。
余分なはんだは吸い取り線で取り除きます。

最後に念のため、隣り合う足にブリッジがないことをテスターで確認します。

これで、ハード的な作業は終わりました。

この後、ソフト的な作業が必要となります。

3Dプリンタ(RepRapPro Huxley)のヒーテッドベッドの接触不良とCPU破損

投稿 2016年07月05日 16時04分26秒 | 3Dプリンタ | hotall

3Dプリンタが出力するのを見るのは楽しいものです。X、Y、Z軸の駆動装置がダイナミックに動く様子は、まるで意思のある生き物のように見えます。
Huxleyの場合、特にX,Y軸方向にベッドが激しく動くので、ベッドに繋がっているケーブルが断線するのではないかと心配になったりします。
案の定、先日、ベッドの温度が計測できなくなるようになりました。





ケーブルコネクタ辺りを触ると、現象が出たり出なかったりするので、このコネクタの接触不良のようです。以前も接触不良があり、補修した場所です。

良く見ると、ランドが浮き上がっています。
この基盤は、片面基板です。ランドはスルホールではないので、力がかかると剥がれ易くなっています。そのうえ、このコネクタはテーブルの移動とともに頻繁に力がかかるので、接触不良が起きるのは必然的と言えます。

まず、コネクタを外します。

元の端子は、直立端子で、端子自身が比較的長く、てこの原理で、接続部分には大きな力が加わります。
今回、この端子をL字型して、高さを抑え、加わる力を軽減します。

L字の長いほうを基板に差します。

基板の表側に出たピンをパターンに沿って折り曲げます。これにより、コネクタが抜けにくくなるのと同時にパターンとの接触面積を広げることができます。

はんだ付けします。
ランドのいくつかは既に剥がれてしまっているので、パターンのレジストを剥がし、そこにはんだ付けしました。

本来ならケーブルを接続して修理は完了のはずでした。

しかし、次の瞬間"バチッ"と火花が散りました。
「あ、しまった。」

ケーブルの断線をチェックした時に、装置の電源を入れたことを忘れ、通電したまま作業をしていたのです。
「やってしまったか。」

ソフトを立ち上げ、動作を確認します。
通信はできますが、ベッドとホットエンドの温度が異常な値を示します。
アナログ入力の故障です。電源ラインとショートさせてしまったようです。

この制御ボードのアナログ入力はCPUに直結されています。
CPUを見ると、見事にパッケージに穴が開いていました。

新たな問題発生です。

[追記]
問題の対策としてCPUの交換をすることにしました。
«Prev || 1 | 2 | 3 | 4 | 5 | 6 | 7 || Next»