歯車のSTLファイルを生成できるWebサイト

動く機械構造を作ろうとすると、歯車がどうしても欲しくなります。で、どうしたら歯車を3Dプリンタで出力できるか調べていたら、歯車のSTLファイルを生成できるサイトを見つけました。サイトのURLは http://knowhave.main.jp/gear/indexjp.php で、平歯車、ラック&ピニオン、遊星ギヤ、すぐば傘歯車、ウォームギヤの設計ができるようです。

で、試しに設計してみたのがこちらです。

「CREATE STL」をクリックすると、STLファイルで保存ができますが、なぜかGoogle Chromeではエラーになります。Firefoxでは問題ないので、Firefoxで保存、Curaで読み込ませて早速3Dプリンタで出力してみました。

他にもウォームギヤも出力してみました。

できたものを組みあわせるとこんな感じ。

Fusion360でSTLを読み込んで他の部品の一部にしたり、少し加工できたりできると嬉しいのですが、なにか方法はあるんでしょうかね??

WordPressのテーマ変更

これまで、このサイトのテーマは初めてWordPressを使った際に選んだテーマをPHPのバージョンアップに伴う不具合とかを手直ししつつ使ってきたのですが、さすがに今の世の中、スマホやタブレットでサイトを見る機会が増えてきていて、レスポンシブデザインへの対応をしたいなー、と思うようになりました。

しかし、元のデザインを自力でレスポンシブデザイン対応させるようなスキルもないので、ついにテーマ変更することにしました。で、新しいテーマはできるだけ長くサポートされるであろう、標準のテーマのうち、レスポンシブデザインに対応しているもの・・・ということで、TwentySeventeenにしました・・・が、TwentySeventeenはそのままだとアクセスするとどどーんと画像が表示されてしまうので、こちらのサイトを参考に控えめに表示されるようにしました。

変更箇所は、テーマの中のfunctions.phpの最後に、以下の記述を追加して UTF-8 で保存しました。もう少しデザインはカスタマイズすると思いますが、とりあえずレスポンシブデザインになったのでよしとします。

///////////////////////////////////////////////////////////////////////////// 2019.1.20
// トップページヘッダー画像を他ページと同じ扱いとする
add_filter( 'body_class', 'top_body_class');
function top_body_class( $classes ) {
    unset($classes[array_search("twentyseventeen-front-page",$classes)]);
    unset($classes[array_search("home",$classes)]);
    return $classes;
}

・・・が、何も考えずにテーマ自体のfunctions.phpを編集してしまうと、テーマがバージョンアップしたときに元に戻ってしまうようです。なので、子テーマを作って、そちらの funcions.php を編集しました。

子テーマは、サーバ上のテーマディレクトリと同じ階層に子テーマのディレクトリ(twentyseventeen-child)を作って、そこに必要なファイルを置きます。

一つは、functions.php で、以下の内容です。実際には、上記の内容も後ろに書き足して、UTF-8で保存しました。

<?php
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}

もう一つは、style.css で、以下の内容です。

/*
Theme Name:twentyseventeen-child
Template:twentyseventeen
Version:2.0
*/

ここに、こちらのサイトの記事の内容そのまま(ありがとうございます!)ですが、

@media screen and (min-width: 48em) {
	.wrap {
		max-width: 1100px;/*記事・サイドバー・余白の全幅*/
		padding-left: 2em;/*記事の左余白*/
		padding-right: 2em;/*サイドバーの右余白*/
	}
	.has-sidebar:not(.error404) #primary {
		float: left;
		width: 67%;/*記事幅*/
	}
	.has-sidebar #secondary {
		float: right;
		padding-top: 0;
		width: 29%;/*サイドバー幅*/
	}
	.navigation-top .wrap {
		max-width: 1100px;/*メニューバー幅*/
		padding: 0.75em 3.4166666666667em;
	}
	.site-content {
		padding: 2.5em 0 0;/*メニューバーと記事の間隔*/
	}
}

を後ろに書き足して元のテーマでは狭くて読みにくい記事の幅を広げてみました。

さらに、記事の見出しと記事内の見出しがともにh3で同じサイズで表示されてして醜いところがありましたので、あちこち参考にさせてもらいながら、style.css に

.entry-title {
	padding: 0.25em 0em 0.1em 0.5em ;
	background: transparent;
	border-left: solid 5px #753;
	border-bottom: solid 2px #333;
	font-size: 1.6em;
}

を追加して記事のタイトルに装飾をつけてみました。

今しばらくはデザインがいろいろ変わるかもしれませんが、ご容赦を(笑)

ESP32搭載可能なFPGAボード

Hack a dayを見ていたら、新しいFPGAボードの記事が出ていました。搭載しているFPGAがLatticeというのがちょっと好みがわかれそうな気がしないでもないです。このボードの仕様一覧をみていて気づいたのですが、仕様をざっと並べると

  • FPGAは Lattice ECP5 LFE5U-85F-6BG381Cで、84KのLUTと3.7Mbitのメモリを内蔵
  • JTAG I/F用のFT231XSを搭載
  • 32MBのSDRAMを搭載(DDR2とかじゃないので、設計が楽なはず^^;)
  • コンフィグ用を兼ねた4-16MBのフラッシュ(まだ容量確定してないのかな?)
  • MicroSDスロット搭載
  • LED11個、ボタン7個、4極3.5mmジャック
  • 0.96インチのカラーOLEDディスプレイが取付可能
  • ESP-32取付可能(WiFi越しに独立してJTAGをWebで操作可能っぽい!)
  • 無線用アンテナ(27,88−108,144,433MHz)搭載
    (88-108MHzはFMラジオ受信用、他は無線リモコンの受信用ですかね。後者は日本では使えないと思いますが)
  • ADC搭載

ということで、ケーブルレスでFPGAのコンフィグができそうです。JTAGつなぐのめんどくさいのでケーブルレスで行けるのなら面白そうです。ただ、価格帯は$60〜$200ということみたいなので、具体的に何かネタ(と時間と気力)がないとちょっと手が出ないかも。

Ender-3ってオープンソースハードウェアになってた

自分が使っている3DプリンタのEnder-3ですが、Amazonとかを見てもなんかクローンっぽいのがたくさんあるなぁ、と思っていたのですが、やっとその謎が解けました。

Ender-3はオープンソースハードウェア化されていました。購入の決め手(こちらの記事参照)の一つになったレビューを書いていたNaomi WuさんがメーカーであるCrealityに働きかけてオープンソースハードウェア化させたようです。こちらのCertificationページでCOUNTRYにCHINAと入れると、3件出てくるのですが、そのうちのUID=CN000003がENDER 3です。道理でちょっと違う(構造材のアルミチャンネルに色が入っているとか)物がたくさんあるわけです。

ちなみに、Naomi Wuさんは中国でオープンソース活動に力を入れているようです。現時点で中国から登録されている3件ともNaomi Wuさん絡みだそうで、中国でのOpen-Source Conferenceでも登壇したようです。(日本語字幕も表示できますが、直訳の機械翻訳っぽいので言葉通りに捉えるとわけわからないかも)

この公演の中でも触れられていますが、micro:bitの中国向け(というか、マルチバイト文字圏向けという方がいいかも)のsino:bitというのも仕掛けたようです。本人も言ってる通り、変わった方ですが、とにかく行動力が凄いですね。

ABSフィラメントを試してみました

ググっていると、Ender3ではABSで出力する際は熱が逃げないように覆いをつけないとダメ、という情報が多いのですが、Amazonで見かけたレビューで特に対策なしで出る、と見かけたフィラメントがあったので価格もお手頃(これがダメなんだと思う(笑))だったことから、試してみました。

まずはお試しということで3D Benchyを出力してみましたが、積層割れの問題については、ノズルの温度を高めにすることでかなり軽減できるようです。Curaの設定デフォルトではABSのノズル温度は230℃となっていますが、230℃ではズタズタに積層割れしました。しかし、240℃まであげたところ大幅に軽減されました。まあ、結局は次の層を積層した際に前の層が融けて融合するように温度を上げてやらないとダメだということでしょう。が、それでも若干積層割れが残りました。
また、反りについては、Brimなしでは出力始まってすぐにビルドシートから剥離が始まってしまい、5mm〜10mm積層したあたりでビルドシートから剥がれてしまいます。ビルドプレートの温度を110℃くらいまで上げても軽減はされるものの変わりませんでした。一方で、Brimをつけてやると出力はできましたが、かなり剥離しようとする力が働いているようです。
匂いについては、PLAとは比較にならないレベルなので換気は必須です。で、冬だと窓を開けて換気すると気温が下がりますので、積層割れや反りが起こりやすくなります。

積層ピッチ0.2mm、ノズル温度240℃、ベッド温度80℃、Brimあり(写真は除去後)、Fan速度50%で時々窓を開けながら出力したものが以下です。

写真ではわかりにくいのですが、積層割れが1箇所あります。また、出力中の収縮が大きいためか、あちこちにズレがあります。

一応出力はできているのですが、特に時期的に冬だということもありかなり苦しいです。常用するには、やはり保温(と換気)が必要です。保温と室外への排気を兼ねた箱が作れるといいのですが、かなり設置サイズが大きくなるのでどうしたものでしょうね。とりあえず、ABSフィラメントは乾燥剤入りの密封袋に入れてお蔵入りにします。

Jumper用ACアダプタのコード巻き取りホルダーを作りました

Jumper Ezbook Pro 3のACアダプタは軽いのですが、ACプラグのブレードが折りたためない上に、ブレード部分が出っ張っていて邪魔です。持ち運ぶ際にはどこかにあたって傷を付けたり色々起きそうな感じです。

そこで、持ち運びの際に使うコード巻き取りホルダーを設計してみました。何度かの試作を経て最終的に設計したのはこんな感じです。ちょっとわかりにくいですが、ACプラグのブレード部分の出っ張りを含めてぴったり嵌まるように設計してみました。

完成した状態はこんな感じで、ダイソーで買った面ファスナー付きのベルトを巻いて、持ち運びの際もスッキリしました。

<2019年6月19日追記>

このコード巻取りホルダーが欲しい、というコメントをいただきましたので、ThingiverseにSTLファイルをアップロードしました。写真に写っているスリットは役に立たなかったのでアップロードしたものでは削除しています。よって、写真のものとは若干異なります。また、ホールド性を良くするため、かなりタイトに設計してありますので、ACアダプタ側の製造ばらつきや使用する3Dプリンタの精度などによってはうまくはまらないかもしれません(そのためにこれまでアップロードしてきませんでした)。そのあたりのリスクを十分にご理解の上、ご利用ください。
※自分で3Dプリンタを持っていない方の利用はお勧めいたしかねます。

Rock64をWiFi-APとしてもセットアップしてみました

hostapdを使って、WiFi-APとしてセットアップしました。

・・・が、なんのことはない、armbian-configの中に hotspot のメニューがあるので、それに従って設定するだけです。SSIDとパスワードはセットアップ後に /etc/hostapd.conf にて設定すれば完了です。
デフォルトでは AP としてのIPアドレスは172.24.1.1、DHCPで振られるIPは172.24.1.0/24のようです。

スプールホルダーを作ってみました

Thingiverseなどを見ていると、みなさんスプールホルダーを自作して位置を変えたり、いろんなことをされています。
自分もスプールホルダーを見ていて、よく見ると結構揺れているのに気づきました。重量物が梁の先にあるので、3Dプリンタ全体に振動の影響がでていても不思議ではありません。

ということで、3Dプリンタとは独立したスプールホルダーを作ってみました。

作成前はこんな感じです。上にメタルラックの棚がありますので、この棚にスプールホルダーをつけられないか考えて、材料をダイソーで調達してきました。

一番右のは小型のメタルラックぽいものをバラで売っているので、その柱です。表面がクロムメッキしてあるので、摩擦は少なそうですので、これをスプールをかける軸にします。真ん中の2本はメタルラックから伸ばすステーです。繋ぐ部分は3Dプリンタで自作します。

こんな部品をチャチャッと作ってみました。(実際には何回か現物合わせで出力しましたけど)

この2つは、ステーをメタルラック上部の棚板に固定するのに使います。

この部品は奥側でスプールの軸を受けるのに使います。最初は背面側にステーの長穴にあわせた突起を付けて位置合わせして、ネジは2本にしようと思ったのですが、そうすると背面側にサポート材がついてしまうので平面が荒れてしまいます。なので、面倒ですが4本のネジでとめることにしました。

こんな感じで取り付けました。軸の手前側はちょうどラックとしての高さ調整用の足がネジになっていて、これがバーの中央のスリットとぴったりだったので、それをそのまま活かしてあります。奥側は載せてあるだけなので、サイズをキツめ&受ける長さを長めにして外れにくいようにしてあります。

実際に設置するとこんな感じです。余裕でスプールが2本、サイズの計算上は3本なんとか行けるんじゃないかと思います。これでよく使うフィラメントは出したままにできそうです。
元々ついていたスプールホルダーは外して、だいぶスッキリしました。

ROCK64用ケースを作ってみました

なんかケースばっかり作っている感じですが、先日Armbian Ubuntu 18.04を入れたROCK64 4GBにケースを作ってみました。もともと、Thinkiverseで見つけたケースを出力して入れていたのですが、HDMIに接続してXFCEデスクトップ環境のChrome上でYoutubeで動画を再生すると、小さなヒートシンクは付けてあるのですが70℃を超えていました。
これではいかん、ということでFANが付けられるケースを設計してみました。

FANは5Vのもので安いものがないか、ということで、秋月で100円で25mm角の5V動作のものを買ってきました。これに合わせて設計して出力したものが以下です。

右側が底板側で、穴の部分にはamazonで購入したインサートナットを圧入して使うように設計してみました。使用したインサートナットは下のような単純な形状のものです。

右下の2つが圧入前のもので、左が圧入後です。M2.5用のもので、ギザギザのある部分の外形ちょうどくらいの穴を開けておいて、長めのキャップスクリューの先に嵌めた状態でプラハンマーで叩いて挿入しました。

FANの取り付けはスナップフィットにして、下記のように追加の部品無しで取り付けられるようにしました。

上記の状態からROCK64のコネクタから5Vを取り出すようにコネクタをFANに付けて、完成としました。

写真ではLANケーブルは外した状態です。また、写っていないですが、反対側のUSBコネクタにはUSB3.0のUSBメモリと、キーボード/マウスのレシーバが刺さっています。その状態で同様にYoutubeを視聴してみたところ57℃くらいまで、XFCEデスクトップ環境で何もしない状態では45℃くらいまで下がりましたので、結構効果はあるものと思います。
電源は直結なので5Vが供給されている限り回りっぱなしです。25mmのFANということでかなりの高回転のようですが、径が小さいこともあり極端にうるさくはないようです。

3Dプリンタだと、このような適当なありものの部品に合わせてケースを作ってまとめられるので便利です。

NanoPi NEO用ケースを設計してみました(3)

前回もう少しのところまで来て、修正したものを夜間に出力していたのですが、やはりPRILINEの黒のPLAだとダメダメでした。試しに同じデータでPRILINEのグレーのPLAで出力してみたところ・・・・

という感じでほぼ完璧に出力できました。やはり3Dプリンタのフィラメントは同じベンダーの同じブランドでも色によってかなり特性が違うようです。