なんでも作っちゃう、かも。

Arduino/Make/フィジカルコンピューティング/電子工作あたりで活動しています。スタバの空きカップを使ったスタバカップアンプなど製作。最近はもっぱらArduinoと3Dプリンタの自作に興味があります。

フィラメントの天日干し

Posted by arms22 on 2016年04月25日 0  0

ABS樹脂は成形前に予備乾燥を行い十分乾燥させる必要があります。良好な成型品を得るには水分率が0.1%以下、0.05%以下が望ましいとされています。水分を多く含んだまま成形を行うとシルバーストリーク(銀色のスジ)やボイド(空洞)が成形品の表面に発生します。予備乾燥は熱風乾燥機などを利用し80度で3〜4時間、あるいは90度で2〜3時間実施すると効果的と言われています。

1年程前に購入したバーベイタムのABSフィラメント、久しぶりにプリントに使ってみたら造形物に光沢が無く、表面が荒れてブツブツの状態になっていました。保存状態が悪かったせいで湿気を吸ってしまい表面が荒れてしまったのだと思います。捨ててしまうのはもったいないので、天日干しして以前と同じように使えないか試してみました。

フィラメントの天日干し

写真のようにスプールを物干し竿に挿して2日間太陽のもと乾燥させました。
1日目、朝10時〜夕方16時頃まで。この日は良く晴れて気温は27度ぐらいまで上がっていました。湿度は40〜50%と少し高め。夕方に少し雨が振りました。
2日目、朝10時〜14時頃まで。この日も朝から良く晴れ、湿度は30〜40%と1日目より乾燥していました。フィラメントスプールにプチプチを巻き付けて周囲の温度を上げるようにしてみました。

IMGP1235

2日間、乾燥させた結果。右から乾燥前・1日目・2日目の順です。2日目で表面のブツブツが少なくなり乾燥前と比べてかなり綺麗にプリントできるようになりました。

IMGP1232

拡大してみました。乾燥前、ブツブツの様子がはっきりとわかりますね。

IMGP1233

1日目(拡大)。

IMGP1234

2日目(拡大)。もうあと一息といったところかな。


関連記事




バーベイタムABSフィラメントレビュー
http://arms22.blog91.fc2.com/blog-entry-582.html

成形条件 | トヨラック | 東レの樹脂製品 | TORAY
http://www.toray.jp/plastics/toyolac/technical/tec_001.html

第205回 プラスチック成形材料の適正な予備乾燥(改訂版) プラ金型講座 | ミスミの技術講座
http://koza.misumi.jp/mold/2005/02/205.html

ABS樹脂の吸水性について教えてください?
http://www.n-al.co.jp/faq/abs_ans/a03-04.html


Verbatim 3Dプリンター用フィラメント ABS(1.75mm)シリーズ シルバー
VERBATIM CORPORATION (2015-02-10)
売り上げランキング: 884,009


NT京都2016に行ってきたよ。

Posted by arms22 on 2016年03月24日 0  0

毎年恒例のNT京都を見に行ってきました。

Ultimakerスタイルの3Dプリンター

いまかみさんの新しい3Dプリンター。今度はUltimakerやidboxでおなじみのXガントリースタイルのプリンター。



パンの袋のアレをプリントしていた。Xガントリーのプリンターって動作音が小さいのな。

巨大な電子部品

巨大な電子部品たち。耐圧と許容電流すごく高そう。。

巨大な電子部品

電子部品としてもちゃんと動く。リードフォーミングが大変だとか。。

チロルチョコベンダー

チロルチョコベンダー。残念ながら動作しているところを見れなかった。



必ず6がでるサイコロ。いや、6以外が出た時に6になりたがるサイコロか。

NT京都2016

懐かしのMactiontosh Plus。あれ?家のあったのはSEかな。。中にMac miniが入っているっぽい。

HDDで演奏する装置

HDDで演奏する装置。LEDと磁気ヘッドが同期しててカッコ良い。

NT京都2016

天気予報時計。気象庁の情報を元に時間毎の降雨情報を表示してくれる時計。これは分かりやす。


NT京都2016 | Flickr
https://www.flickr.com/photos/arms22/albums/72157666054294121


関連記事


NT京都2015に行ってきたよ。
NT京都、出展してきたよ。
NT京都2013に行ってきたよ。
NT京都2011に行ってきたよ。
NT京都行ってきた。

Rostock miniオーバーホール

Posted by arms22 on 2016年03月13日 0  0

IMGP1211

マグネティックジョイントの鋼球が外れてずっと修理できず放置状態だったRostock mini。修理ついでにパーツデザインを変えて組み立て直しました。

IMGP1214

IMGP1219

これまでPRパーツに直接鋼球を接着剤で取り付けていましたが、海外の作例にならって六角穴付きボルトに鋼球を接着するようにしました。2つの鋼球の距離を60mmから50mmに変更し、ベルトクランプもシンプルに2本のネジで止めるようにしました。

IMGP1216

プラットフォームは一回りほど小さくしました。それとホットエンドのノズル径を0.3mmから0.5mmに変更しプリント時間を短縮できるようにしました。ノズル径0.3mmでは最大でも0.3mmピッチでしか積層できませんでしたが、0.5mmなら0.5mmピッチで積層できるので約1.6倍でプリントできます。また射出幅も0.3mmから0.5mmに変わるので外周ループの回数も3回から2回に減らせます。

IMGP1209

制御基板は手作りのSmoothieボードクローン(写真右)からITショップ「えとせとら」さんのMomoinololu M3(写真左)に交換しました。ホットエンドの制御温度がかなり安定するようになりました。M3の電源コネクタにはPCI Express用コネクタが採用されています。発火&発煙事故の多いスクリューターミナルよりずっと安心できます。モータドライバが5つ搭載できるのでデュアルヘッドも試してみたいと思います。


Gコード


以下、忘れがちなGコードを載せておきます。

PIDチューニング(ヒートベッド)
M303 E1 S50

PIDチューニング(ホットエンド)
M303 E0 S230

Zプローブテスト
M119

ワンショットプローブ
G30

オートベッドレベリング
G32 E0 I0.02 J65
G32 R0 I0.01 J65

SDカードに設定保存
M500

SDカードからプリントする
※Gコードファイルのファイル名を8.3形式の短いファイル名(hogehoge.gco)に変更する必要があります。
M20 ; ファイル一覧を表示する
M23 ; プリントするファイルを選択する
M24 ; 選択したファイルのプリントを開始する
M25 ; プリントを一時停止する
M26 ; プリントを中断する
M27 ; 進捗を表示する


関連URL


Smoothieボードクローンの製作
http://arms22.blog91.fc2.com/blog-entry-539.html

Momoinololu M3[Rev 1.1] - ITショップ「えとせとら」
http://itcorp24.cart.fc2.com/ca8/48/p-r-s/

Supported G Codes - Smoothie Project
http://smoothieware.org/supported-g-codes

四角いドットマトリクスLED

Posted by arms22 on 2016年02月06日 2  0

スイッチサイエンスさんで販売委託中のミニ電光掲示板キット「Dotsduino」、多色展開は行っていないのですがドットマトリクスLEDを別途用意して頂くことで他の色に取り替えて組み立てることができます。秋月電子で販売されているドットマトリクスLEDで使えそうなものをいくつかピックアップしてみました。まぁ寸法が38x38mm・ピン数が16本ならだいたい使えます。写真は参考程度にお願いします。出来る限り実際の色に近づけようと思ったのですが、、むずい。。

IMGP1201

オプトサプライの角型ドットマトリクスLED青(OSL641505-BB)。今まであまり見たことがなかったタイプ。マインクラフト風でgoodですね。

IMGP1203

オプトサプライの角型ドットマトリクスLED赤(OSL641505-BRA)。こいつもなかなか綺麗だ。

IMGP1181

オプトサプライ社の丸型ドットマトリクスLED青(OSL641501-AB)

IMGP1184

オプトサプライ社の丸型ドットマトリクスLED緑(OSL641501-AG)。順電圧が少し高め、緑色ってVf 2.1Vぐらいのイメージ。

IMGP1194

オプトサプライ社の丸型ドットマトリクスLED黄(OSL641501-AY)。ちょっとオレンジ色っぽい。左上から5行2列目の2ドットがちょっと暗い。はずれ引いたかも。

IMGP1122

丸型と角型の薄さ比較。角型は結構薄いですね。

Dotsduinoキット、スイッチサイエンスさんで絶賛販売中です!
https://www.switch-science.com/catalog/510/

Raspberry PiでPython(とOpenCV)はじめました。

Posted by arms22 on 2016年01月26日 2  0



仕事ではC/C++を使ったプログラムを書くことが多いのですが、動的型付け言語、所謂スクリプト言語を1つマスターしたいと思いPythonを勉強することにしました。

Pythonを選んだ理由は、

  • プログラム言語別年収ランキングで一位
     国外の話で国内だとあんまり変わらないみたい。orz
  • Rubyより速そう
     バイナリパーサーを書いてみたんだけどあまりにも遅いのでPythonならどうだろう?という期待を込めて。
  • Raspberry Piにはじめから入っている
     環境構築の手間がはぶけて電子工作しつつPythonの勉強ができて一石二鳥。
  • OpenCVも使ってみたい
     OpenCVは画像処理・画像解析・機械学習用のライブラリ。データサイエンスの分野でPython+OpenCVが流行っているみたいなのでついでに。

これからPythonをはじめようと思っている方は下記チュートリアルから始めると良いと思います。実際にPythonインタプリタを動かしながら読むとすぐにコードを書けるようになります。

Python チュートリアル - Python 2.7.x ドキュメント
http://docs.python.jp/2/tutorial/

今回は前回紹介した2次元温度センサー「Grid-EYE」を使ったサーモグラフィーをRaspberry PiとPythonを使って作り直しました(上動画)。画面への表示処理にはOpenCVを使っています。

本記事では、
  • Raspberry PiからI2Cデバイスにアクセスする方法
  • Raspberry PiからOpenCVを利用する方法
を解説します。


回路


IMGP1086
Grid-EYEのピン配置・周辺回路についてはこちらの記事を参照してください。

GPIO_RaspberryPi_Model_A+_B+_and_B2
Raspberry Pi Model A+, B+, B2のピン配置図です。Model A, Bのピン配置はこのサイトを参照してください。

Raspberry PiとGrid-EYEの接続
2)SDA -- SDA1
3)SCL -- SCL1
4)INT -- 未接続
9)VDD -- +3V3
6)GND -- GND




I2Cドライバ・I2Cライブラリのセットアップ


まずはI2C関連のツールとPython用のI2Cライブラリをインストールします。
# sudo apt-get install i2c-tools python-smbus

次に raspi-config を使ってカーネルのI2Cドライバを有効にします。設定が終わったら一旦再起動します(ドライバを読み込む為)。
# sudo raspi-config
08 Advanced Options > A7 I2C > Yes
# sudo reboot

再起動したらI2Cドライバが正常に動作しているか確認してみましょう。次のコマンドを入力するとI2Cバスに接続されているデバイスのアドレスが表示されます。68はGrid-EYEです。
# sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

次のようなエラーが表示された場合、I2Cバスの番号を1から0に変えてコマンドを実行してください。
Error: Could not open file `/dev/i2c-1' or `/dev/i2c/1': No such file or directory

Raspberry Piのリビジョンによって利用できるI2Cバスが異なるようです。初期モデルのRaspberry PiはI2C0、A+, B+, B2ではI2C1が利用できます。
# sudo i2cdetect -y 0

Pythonからデバイスにアクセスできるか確認してみましょう。Pythonを起動して青色のコマンドを入力してください。Grid-EYEのサーミスタ温度が読み出せるはずです。
# python
>>> import smbus # I2Cライブラリをインポート
>>> i2c = smbus.SMBus(1) # I2Cバスアクセス用のインスタンス取得
>>> temp = i2c.read_word_data(0x68, 0x0E) # デバイスアドレス0x68のレジスタ0x0Eから2バイト読み出す
>>> temp * 0.0625 # 読み出した値に0.0625を掛けて温度に変換
29.1875



OpenCVライブラリのセットアップ


続いてOpenCVライブラリとPython用バインディングをインストールします。
# sudo apt-get install libopencv-dev python-opencv

PythonからOpenCVのバージョンを確認します。
# python
>>> import cv2 # opencvライブラリをインポート
>>> print cv2.__version__ # バージョン情報をプリント
‘2.4.9.1'

画像を読み込んで画面に表示します。
# wget http://www.cs.cmu.edu/~chuck/lennapg/lena_std.tif
# python
>>> import cv2
>>> img = cv2.imread('lena_std.tif') # wgetで取得した画像を読み込む
>>> cv2.imshow('lena_std', img) # 読み込んだ画像を表示するよう指示
>>> cv2.waitKey() # waitKeyを呼び出したタイミングで画像を表示

GdkGLExt-WARNING **: Window system doesn't support OpenGL.というエラーが発生した場合、次のライブラリもインストールしてください。Raspbian Jessie 8.0ではOpenGLがなぜか無効になっているようです。
# sudo apt-get install libgl1-mesa-dri

画像を表示するにはRaspberry PiをGUIモードで起動しておく必要があります。コンソールモードを使用している場合、次のようにXウィンドウシステムを起動し環境変数DISPLAYを設定してからPythonスクリプトを実行してください。
# startx&
# export DISPLAY=:0.0

sshでログインしている場合、Xオプションを指定してログインするとリモートホストに画面を転送することができます。リモートホスト側にXウィンドウシステムが必要です(OSXだとXQuartsとか)。
$ ssh pi@rpi.local -X
# echo $DISPLAY
localhost:11.0



サーモグラフィーのソースコード


GridEye.pyはGridEYEへのアクセス処理をまとめたモジュールです。thermistorTempはサーミスタ温度を浮動小数点型で返します。pixelOutはピクセル毎の温度を浮動小数点のリスト型で返します。

grid_eye_view.pyはサーモグラフィーのメインモジュールです。GridEYEからピクセル毎の温度データを読み出し、温度を0~255のグレースケール値に変換します。このデータを8x8のグレースケール画像として、カラー画像に変換(cv2.applyColorMap)し、512x256の表示用バッファに補完アルゴリズムを変えて2回拡大転送(cv2.resize)します。最後に画面に表示するよう指示(cv2.imshow)します。実際にはcv2.waitKeyを呼んだタイミングで画面に表示されます。

ソースコードはGitHubで公開しています。こちらからもダウンロードできます。

arms22/GridEye.py
https://gist.github.com/arms22/e62e682089fe428b1de8

アーカイブをダウンロードしてスクリプトファイル(grid_eye_view.py)に実行権を与えて実行してください。
# curl -L https://git.io/vzoKn > grid_eye_view.zip
# unzip -j -d grid_eye_view grid_eye_view.zip
# cd grid_eye_view/
# chmod +x grid_eye_view.py
# ./grid_eye_view.py



参考リンク


RPi Low-level peripherals - eLinux.org
http://elinux.org/RPi_Low-level_peripherals

Configuring I2C | Adafruit’s Raspberry Pi Lesson 4. GPIO Setup | Adafruit Learning System
https://learn.adafruit.com/adafruits-raspberry-pi-lesson-4-gpio-setup/configuring-i2c

Raspberry Pi B+にOpenCV-Python環境を構築する - Qiita
http://qiita.com/jh3rox/items/be803f9171db8fe737de

Enable OpenGL on Raspbian Jessie for OpenCV
https://www.raspberrypi.org/forums/viewtopic.php?f=91&t=128464


初めてのPython 第3版
初めてのPython 第3版
posted with amazlet at 16.01.25
Mark Lutz
オライリージャパン
売り上げランキング: 64,168


詳解 OpenCV ―コンピュータビジョンライブラリを使った画像処理・認識
Gary Bradski Adrian Kaehler
オライリージャパン
売り上げランキング: 50,249