Month2月 2016

3Dプリンタ Prusa i3をポチった

こんにちは、ぐりです。

3Dプリンタを自作しようと少しずつ部品をそろえようと、Maker御用達(俺の周りだけ?)の中国のショッピングサイト、AliExpressを物色していたところ、「3Dプリンタのキット買ったほうが早いし、安く済むんじゃない?」という、気づいてはいけないことに気が付いてしまいました。デルタ式用にアルミフレームはすでにMonotaROで購入済みでしたが、それは2台目の材料にするということで、AliExpressで3Dプリンタのキットを購入しました。

雑学追究室でも丁度1年前に3Dプリンタ(Kossel k800)を購入し、そこそこ使えるように(?)なっているようですが、やはり、出力に時間がかかる3Dプリンタは自宅にあった方が気軽に使えます。雑学追究室の本部は夏は暑くて、冬は寒いという、最悪な環境なので、そんなところで数時間も待てないですしね。

ということで、購入した3Dプリンタはこれです。

2015 Upgraded Quality High Precision Reprap Prusa i3 DIY 3d Printer kit with 2 Rolls Filament 8GB SD card and LCD for Free
2015 Upgraded Quality High Precision Reprap Prusa i3 DIY 3d Printer kit with 2 Rolls Filament 8GB SD card and LCD for Free

これを選んだ理由ですが、

  • XYZ軸が独立している(デルタ型じゃないものを扱ってみたかった)
  • 安かった(3万円でおつりが!?)
  • オーダー数が多く、評価も高かった(記事書いた時には1500order以上、★4.8あった)
  • 配送がFedExで、しかも送料無料(DHLで186USDというぼったくりな選択肢もあったが・・・)
  • フィラメントが2巻ついてくる
  • ヒートベッドがある

といったあたりですかね。

一応、1週間以内に発送、そこからまた1週間以内に到着という予定なので、早ければ来週中、遅くとも3月上旬には届いてるでしょう。

また届き次第、次の記事を書きます。お楽しみに。

オーブントースターを改造したリフロー炉を製作中(1)

こんにちは、NT京都2016に出展応募したぐりです。

さて、今、学校でオーブントースターを改造したリフロー炉を製作しています。リフロー炉の製作はメインでやっているわけではなく、同じく学校のあるチームで開発しているブツの製造のために仕方なくやっている、といった感じです。そのブツにはBGAの部品があり、手はんだできないということで、先生を説得(?)して製作してます。

今回はSwitch Scienceさんが業務でも利用しているというオーブントースターリフロー炉を参考(というか、パクリ?)にして製作しています。本当は時間に余裕があればもう少ししっかり検討してから開発したいんですがね・・・。

主な部品

  • オーブントースター
    • パナソニック オーブントースター ダークメタリック NT-T500-K

[amazonjs asin=”B00O5WWZU2″ locale=”JP” title=”パナソニック オーブントースター ダークメタリック NT-T500-K”]

ハードウェア

Switch Scienceさんで実際に製作した際の例をもとにオーブントースター、SSR等を入手しました。コントローラはArduino互換機(一番近いのはPro nanoかな?)で3.3V 8MHz動作のATmega328P-AU、ディスプレイは20列4行のそこそこ大きいもの(バックライト付きだけど非点灯な回路)、温度測定は熱電対(K型?)、電源制御は先ほど挙げたSSRを2つ(上下のヒーターにそれぞれ)使用してます。Arduinoを卒業してmbedに移行したと(脳内で)宣言していた自分としては不本意なArduino復帰となりましたorz。

ちなみに、操作用にタクトスイッチを2つ増設しています。

本体が学校なので写真はまた今度。

ソフトウェア

こちらもSwitch Scienceさんがgithubで公開しているものを・・・と思いましたが、ゼロから自力で書けって(自分が)うるさかったので(ライブラリを除いて)ほぼ自作です。「ほぼ」っていうのは熱電対から温度を取得するルーチンだけ流用したからです。

主な仕様(予定)は以下の通り

  • プロファイルは2つから選択
  • PCでプロファイルを作成し、転送してEEPROMに書き込める
  • PCで温度のグラフを出力できる
  • ヒーターはPID制御(したい)
  • PID制御の係数(Kp, Ki, Kd)の自動チューニング(したい)

上の3つはほぼ実装済み、PIDの自動チューニングは少し厳しいため、自力チューニングしているところです。ここで実際のグラフを見せたいところですが、編集する気力がないのと文字数が増えてきたので、また次回。

ソースコードは現時点で800行。まだまだ少ないですね。プログラムメモリは半分程度埋まっています。

数日後には運用しないといけないのでそのころまでには次を書きますね。

 

ちなみに、前記事のブルースクリーン、今のところ再発していません。やったね。

2016年2月14日 01:10 公開
2016年2月14日 14:21 リンクを追加

Windows8.1でSTOPエラー0xdead039e

こんにちは、ぐりです。Aitendo福箱の記事を書くと言ってましたが、忙しすぎて箱ごと埋もれてしまっています。

今回は最近頭を悩ませているブルースクリーンについてです。Windows7か8になったころから、ブルースクリーンに遭遇する頻度が非常に少なくなったように思います。NT6系カーネルになってからかなり経ってるので当たり前といえばそうかもしれませんが、安定性が高くなっているのは評価できると考えています。

ところが、1月の下旬ごろから、サブ機として使っているThinkPad X250がブルースクリーンで突然落ちるということが複数回続いています。ブルースクリーンの原因を探る際にはブルースクリーンで表示されるSTOPコードやエラーメッセージですが、0xdead039eというコードはGoogleで検索をかけても症例が数えられるほどしか見つけられませんでした。そのため、とりあえず後回しにしていたのですが、つい先日、このエラーで再起動して1時間もたたずに同じエラーが発生したため、本格的に調査してみることにしました。

ちなみに、その時はIDEを2つ起動して本気のプログラミングをしていたのですが、運が良かったのか、ちょうどデバッグをしている最中でソースコードの消失はありませんでした(デバッグするためにはビルドする必要があり、その際にすべて保存されるため)。もし消えてたとしたら発狂してたでしょうね。

0xdead039eで落ちたWin8.1

0xdead039eで落ちたWin8.1

まず、イベントビューアーで再起動前後のイベントを確認してみましたが、ブルースクリーンの際の「このコンピュータはバグチェック後、再起動されました」というもの以外には発見できませんでした。

0xdead039eを記録したイベントログ

0xdead039eを記録したイベントログ

次はエラー発生時に生成されるメモリダンプを解析してみました。解析に当たっては次のサイトを参考に作業を進めました。

Windows 8.1でブルースクリーン時のクラッシュダンプを分析する方法メモ

メモリダンプを解析した結果、このエラーはNetwbw02.sysというドライバが引き起こしていることが分かりました。これはIntelのWi-Fiモジュールのドライバです。

原因はNetwbw02.sys??

原因はNetwbw02.sys??

Intelのホームページから最新のドライバをダウンロードして、インストールしてみたところ、該当ファイルのタイムスタンプはエラーが発生した時のものより新しくなっていたため、これで少し様子を見てみることにしました。また変化がありましたらこのブログで知らせたいと思います。

P.S. 0xdead039e の最初の4桁、どう見ても死んで(Dead)ますよね・・・