2025年10月6日月曜日
ELISE ハードトップの吹っ飛び防止
2025年9月21日日曜日
3D プリンタの直角を矯正した話
だいぶん前に買った 3D プリンタの Ender-3 Pro,結構できが良くて今まで不満なく不満があるところは改造しつつ,今のところ満足して使っている.で最近,出力したパーツの直角が出てないんじゃね? ということに今更ながら気づいた.
調べてみたところ,原因は 2つあって,
(1) ボルト穴に遊びがあるので,遊びの分だけフレームの直角・水平がずれる.これはよく考えればわかることで,これに関しては気づかなかった自分のミス.一旦ボルトを緩め,定規で測りながらボルトを締めることで解決.
この手のアルミ角材で組まれている 3D プリンタは巷に溢れているけど,どこもこんな感じなのかなぁ.同社の最新機種でもフレームの傾きは問題になってるっぽい→参考
2025年4月13日日曜日
PICO4 用 メガネレンズ
VR ヘッドセットの PICO4 は,ネガネをかけて使うこともできるけど,メガネの鼻パッドにヘッドセットの重さがかかって鼻が痛くなる.PICO4 専用度付きレンズもあるみたいだけど,使ってないメガネのレンズを貼り付ければいいのでは? と思ってやってみた.
で PICO4 のレンズ部分にピッタリハマるフレームを 3D プリンタで作る.既存の物にピッタリ合うパーツを作るときは,自分は対象物の写真を撮って,曲線等で対象物の形をトレースしたあと,代表長を実物に合わせ込む.
でぎだ (Thingiverse で公開してます).あとはレンズをホットボンドで固定して (急に雑になるwww) 完成.
…と思ったら,レンズが顔から離れすぎて,レンズを通して見える範囲が狭かったので,ホットボンド盛り盛りでレンズを浮かせることで,顔に近づけたら問題なくなった.
鼻が痛くならなくなって超快適ヽ(´ー`)ノ
2021年4月2日金曜日
GROM 社外 LED ウインカー取り付け
2020年12月11日金曜日
ドライブレコーダーもどき設置
2020年10月30日金曜日
グロム スピードメーター補正 完了
数分に 1回位の頻度でスピードメータ表示が一瞬 1km/h になるので,原因を調べてみた.といってもデバッグに使用できるのは LED 1灯だけw
メーター表示が 1km/h になるということは,メーターに対して出力するパルスが盛大に抜けていることになる.まずスピードセンサー → arduino のパルスが抜けているか調べたところ,それは抜けていなかった.
そうするとメーターへのパルス出力を行っているタイマ制御で何かおかしなことになっているはず.ここからはもう現象から原因を推定するしか無いのだが,パルス出力タイマは,
1. 出力パルス 1個分の時間をタイマで計測
2. その時間に達したら割込み発生,割込みハンドラ内でパルス幅の補正計算を行う
タイマは並行して 0 に自動的にカウントが戻り,カウントアップを継続する
3. パルス幅の補正計算結果をタイマのカウント最大値として設定,タイマがその値に達したらまた 2. の処理が走る
となっている.ここで 3. でカウント最大値を設定した時,タイマのカウンタがその値をすでに超えていたら,カウンタはその値で止まらずに 0xFFFF まで回ってしまう.その時のパルス幅は時速換算で 0.3km/h なので,メーターとしては 1km/h を表示する.
と辻褄はあっているが,2. の補正計算 (32bit 乗算) は 8bit の AVR にはそんなに重い処理なんだろうか? 100km/h のパルス幅であっても 14414 サイクル@16MHz の処理時間が使えるから,余裕あると思うんだけどなぁ.
まぁ悩んでも仕方ないので以下のように変更.
・補正計算は loop() 内で実施 ( = いつでも割込み可能)
・タイマの割込みルーチンでは,補正計算値をタイマレジスタに設定するだけにする.そうすると,割込み発生からすぐにカウント最大値を設定するので,カウンタがすでに過ぎている可能性は低くなる.
でやってみたら直ったヽ(´ー`)ノ
これでソフトは fix したので,3D プリンタでケースを作った.
車体への取り付けは,バッテリー上とシート下に隙間があったので,ここに設置 (テープ止めwww)
というわけでめでたく完成ヽ(´ー`)ノ これでやっと正確なスピード表示ができる.あとつけようと思ってた USB の口もつけられたんで満足.
ていうか,デジタルメーターなんだから,裏設定かなんかでスピード補正表示とかさせてほしいんだが.スプロケットの歯数変更とか割とみんなやるでしょ.
2020年1月19日日曜日
Ender-3 Pro の改良
(他人が設計したパーツを出力して取り付けるだけの改造は省く)
【フィラメントホルダーのサイド配置化】
標準のフィラメントホルダーはエクストルーダの上にあり,またエクストルーダに対しフィラメントは水平方向に供給するので,フィラメントの曲がりがキツくなり最悪折れる.ここをサイド配置にするのは定番でそれ用のパーツのデータも公開されているけど,自分は L 字アングルの切れ端を使って,フィラメントホルダーをエクストルーダの横に持ってきた.
【フィラメントホルダーのベアリング化】
標準のフィラメントホルダーは回転すらしない固定されたただの筒なので,フィラメントが引っ張られる際にストレスがかかる.なのでここをベアリング化するのも定番で,規格品のベアリングを使ったデータも公開されているけど,自分は家に転がっていたベアリングを流用し,それ用に筒は独自設計し,ボルトで固定した.
【オートパワーオフ】
出力にはたいてい数時間かかるので,出かけてる間とか寝てる間に印刷したいのだけど,電源 SW が機械式なので印刷が終わっても電源が切れない (電気代は微々たるもんだろうけど,ずっと回ってるファンの耐久性のほうが心配w).
なので電源ケーブルにトグルスイッチを割り込ませて,Z 軸のローラーが最高位置にきたときにスイッチ OFF になるような箇所にスイッチを取り付ける.
次に Cura の設定の G-code の終了コードで,以下の Z 位置を最大に移動するコマンドを追加すれば,出力終了時に自動で電源が切れる.
(...省略...)
M84 X Y E ;Disable all steppers but Z
# ★ここ以下を追加
M203 Z50.00 # 移動速度を速めに設定
G1 Z230 # 230mm まで移動
M203 Z10.00 # 移動速度を標準に設定
G1 Z250 # 250mm まで移動
2020年1月12日日曜日
Cura でエクストルーダ・ベッドを同時に加熱する
M140 S60 ; ベッド加熱 (突き放し)
M105
M190 S60 ; ベッド加熱完了待ち
M104 S185 ; エクストルーダ加熱 (突き放し)
M105
M109 S185 ; エクストルーダ加熱完了待ち
となっているのをM140 S60 ; ベッド加熱 (突き放し)
M105
M104 S185 ; エクストルーダ加熱 (突き放し)
M105
M190 S60 ; ベッド加熱完了待ち
M109 S185 ; エクストルーダ加熱完了待ち
とすれば,エクストルーダ・ベッドを並行して加熱してくれるのだが,このコードは以前 blog に書いたスタートアップコードでは書けず,Cura プログラムでハードコーディングされているっぽく,設定で変えることが出来ない.んーと思ったら,Cura にはプラグイン機能があり色々 python で拡張できるっぽい.プラグインの仕様が多すぎて全貌を把握しきれないのだが,とりあえず PostProcessingPlugin という仕組みで,Cura が disk に吐く直前に G-code を python で好きなように編集できるっぽい.
これを適当な名前で C:\Program Files\Ultimaker Cura 4.4\plugins\PostProcessingPlugin\scripts に置き,
Cura 再起動→メニューの 拡張子→後処理→G-codeを修正→スクリプトを加える→Fast Heating Head and Bed を選択
で,以後エクストルーダ・ベッドが並行で加熱される G-code が出力される.
気をつけるべき点は,
・python を修正時は Cura を再起動しないと反映されない
・python のエラーがあっても何もメッセージ等が出ず,plugin が無効化されるだけ
→なんか方法があるはずだけど,自分が知らないだけかも
・execute に渡される data は,G-code 1行が 1要素ではなく複数行が 1要素になってるので,初めに data の内容をダンプして確かめたほうが良い
2019年12月15日日曜日
エリーゼ イカリングプロジェクト (2)
でそれが届いたので本番出力開始! 糸引きがひどいと言われる PETG だが,ウチの場合はフィラメントが当たりなのか Cura のプリセット値が優秀なのか,糸引きはほぼ問題なかった.しかし,レイヤー間の結合がとても弱く,ちょっと力を入れただけで簡単にレイヤー剥離を起こしてしまう.特に今回は肉厚 1mm の円筒なので,特にレイヤー間の結合力が問題になる.今回はレイヤー高さを 0.2mm → 0.12mm (つまり Cura の Super Quality 設定) に変えることで解決できた.ただしこれは出力に時間がかかるので,後でパラメータを煮詰めるか.
で,カバーレンズ出力開始.無色透明のフィラメントを使用しても,出力したパーツはすりガラスのようになってしまうが,むしろこれは狙った効果.というのも,本当に無色透明のパーツになってしまったら,中の LED が丸見えになってしまう.
で,出来上がったものを改めてヘッドライトカバーに合わせてみると... なんかすごい隙間がある.実は試作段階ではヘッドライト左側でしか試着してなかったので,右側だと許容出来ないほどの隙間が空いている.左右で微妙に形が違う,ロータスあるあるwww
仕方がないので隙間を埋めるような形に設計し直して再出力.これでもまだ隙間埋まりきっていないけど,まぁ妥協できる範囲ということにしておくwww
で LED 組付け.直接ヘッドライトカバーに接着でも良かったんだけど,次分解するとき接着剤べったりだとめんどくさそうなので,リングを作ってそのリングと LED カバーレンズを接着する.こうしとけば次はカバーレンズとこのリングを破壊すれば済む.
というわけで完成してめっちゃテンションが上ってたんだけど,数日経って冷静になってみると
「これ,イケてる...よね? イケてるのか? ギリ ok? うーん???」
と疑問が湧いてきた.
というのも,点灯時は問題ないんだけど,消灯時は白い部品が非常に目立つ.その目立つ部品が 3D プリンタで作った (表面の粗が目立つ) 部品なので,なつやすみのこうさく臭が...(;´д⊂)
なので,70%完成してたけど一旦全部破棄した(汗) 上で「こうしとけば次はカバーレンズとこのリングを破壊すれば済む」って書いたけどいきなりフラグ回収された
(;´д⊂)
で作戦変更.LED カバーレンズは黒色のフィラメントで出力する.透過色じゃないので光が透過しないが,スリットを入れることで対応.LED が見えてしまうが,LED 蛍光体の黄色がいいアクセントになるんではなかろうか.と思い込むことにした.
2019年12月13日金曜日
Ender-3 Pro ステッピングモーターのキャリブレーション
で計測した結果がこれ.大体
y = (-0.75 / 142)x + 0.1
といったところか.
ちなみに X, Y の誤差は同じくらいだった.今まで作ったものは Z 方向の誤差はそんなになかったので,Z の誤差は今回は測っていない.
で,この誤差をどこで設定するのかというと,Ender-3 のメニューで設定する方法と,スライサ (Cura) のスタートアップコードに埋め込む方法がある.今回は楽な後者でやってみる.
メニューの,Cura のプリファレンス→Cura を構成する
→左の方の プリンター→プリンターの設定 ボタン→G-Codeの開始
に .gcode のスタートアップコードが設定できるので,上記のように M92 コマンドを追加する.
X, Y パラメータに設定する数値は 1mm あたりのステッピングモーターのステップ値で標準が 80 なので,80 * 142 / (142 - 0.75) ≒ 80.425 を設定した.
これでもう一度テストパターンを印刷して計測したところ,バッチリ (設計値 +0.1 -0.0) の範囲に収まったヽ(´ー`)ノ
しかしこれとか,70mm くらいの物で0.5mm くらい誤差が出てたんだよなぁ.うーん.
2019年12月8日日曜日
エリーゼ イカリングプロジェクト発動
で,届いたやつをヘッドライトとあわせてみると... どうも直径が小さく,ヘッドライトレンズにかぶってしまう範囲が大きい.ハイビーム側も同様.これは買ったサイズを間違えたのではなく,上記の GRP キットでも元からそういう想定っぽい.
これではヘッドライト照射範囲が狭まってしまうのでボツかなぁ... と思ったところで,LED のサイズをワンサイズ上げて,3D プリンタで LED カバーレンズを自作出来ないか? ということで,やってみた.
ということで試作カバーレンズの山々(笑) 赤なのは試作なので安い PLA を使っているから.
既存の部品に組み合わせることを考えると,出力パーツサイズの誤差は 0.1mm 以内,は欲しいところだが,どうもこのサイズで 0.5mm ほど小さめに出力されてしまう.なので,一度出力した物のサイズを計測して,設計サイズとの誤差分を設計に反映,ということで最低 2回の試作が必要.
で,あらかた設計が固まったので,ヘッドライトカバーに合わせてみた.
ウヒョヒョ,だいぶいい感じ.ヽ(´ー`)ノ アリエクで買ったカバーレンズは無駄にゴツいけど,自作カバーレンズは 1mm と薄く作ったので,LED のサイズをワンサイズ上げることが出来た.
心配していたなつやすみのこうさく感も,そんなになさげ.
ということで,なんとか完成できる目処が立ったので,本番カバーレンズ出力用の無色透明のフィラメント (PETG) を発注した.
2019年11月24日日曜日
3D プリンタでネジを印刷する
→需要あるかわからんけど公開した.
Fusion360 でネジ山を作る方法はここに書いてあった.三脚のネジの規格は 1/4inch でパラメータは画像の通り.「クラス」というのはユルユルかキチキチからしいので,ゆるゆるの 1B を選択する.
で,一度出力してみたら,ネジがきつすぎて入る気がしない(汗 これは 3D プリンタの精度の限界なのかなぁ.
仕方がないのでネジ穴を少し広げようと思ったのだけど,一発でできるソリューションはないみたい.
なので,手動で画像の 4面を「プレス/プル」で 0.3mm (直径でいうと 0.6mm) 広げた.
これでもかなりきつかったけど,なんとかねじ込むことが出来た.
PlayStation Camera の三脚への固定も,問題なし.
だけど流石にネジみたいな精度を要求する部品の出力は 2万円のプリンタには厳しかったか.タップ持ってたらタップ立てたほうが数倍早いwww
2019年11月23日土曜日
無からの創造
お題は,どっかにいった時計の電池のフタ.単なる板といくつかの突起があるだけなので題材としてはかんたん.
と思ったら 3D モデリングソフトは付属してなかった.なので個人使用は無料の Autodesk Fusion 360 を使ってみた.
立体の作り方は基本的には, XY 平面に 2D 図形を描き,それを Z 方向に平行移動することで立体が描ける.そうして出来た立体の一つの面を新たな平面として 2D 図形を描き…,というふうに突起を足したり,もしくは立体を減算することで穴を開けたり,というふうに作る.
というわけで,時計の電池部分のサイズを測りながら作ったのがこれ.フタをロックするツメ部分は測りようがなかったので適当に.
出力完了.出来上がったものがなかなかの出来で,なんかピッタリ嵌りそう.
とは行かなかった.採寸ミスで 2つの突起の間隔がちょっと狭くて入らない.なのでカッターで削ってみたけど,ツメ部分もユルユルでうまく固定できない.あとフタ部分が全体的に小さかった.
というわけで Ver.2 作成.フタ部分のサイズをわずかに広げて,ロックするツメ部分のサイズもちょっと大きくする.
あと ver.1 で 2つの突起が片方折れてしまったので,接触面積を増やして補強した.
今度は完璧にピッタリ嵌まったヽ(´ー`)ノ
これ出力する樹脂が黒色だったら,全然違和感無いんじゃないかな.
2019年11月21日木曜日
3次元に進出
で届いたので開封の儀.大抵の 3D プリンタと同様に,半組み立て式になっている.まぁこれはこれで,大昔にラジコン組んだときみたいで楽しい.
ちなみにフィラメントは付属してないと思ったので 1kg の PLA セットのやつを買ったのだが,(量は少ないものの) フィラメント付属してた.後々 ABS 使うつもりなので,PLA いらなかった(;´д⊂)
めでたく完成.3D プリンタもコモディティ化が進んでいるのか,どれも似たような感じだけど,こいつを選んだのは一応フレームがしっかりしてそうだったから.実際組んでみても値段の割にものはしっかりしてそう.
組立説明書は微妙に説明が足らなくて,例えば出力ヘッドのケーブルをどう取り回すのか書いてなかったが,写真のようにフィラメントを通すチューブに束ねるのが正解っぽい.
で早速サンプルの犬の人形を出力してみた.高さ 5cm くらいのこれを出力するのにピッタリ 3時間かかった.意外と遅いのね.
実際に出力されたのを見ると,意外と解像度が細かくてびっくり.これだけの精度のパーツを 2万円の機械で作れるのはすごいわ.
動作音は,インクジェットプリンタより少し静かなくらい.押し入れに突っ込んでも,夜中に印刷するのは音が気になるかも.
まぁオモチャとしてはたいへん遊べそうな予感.これは買ってよかった.












































