3Dマウス⑥ 組み立て
2023.02.13
前回の3Dマウスの記事はこちら
https://randol-news.net/art/00581.html


前回作ったパーツでは組付けがきつ過ぎて、
かなりの量をやすりで削らないと填まらないという事件があったので、
クリアランスに余裕を持たせて再印刷しました(;´Д`)
組み立て途中の画像では光造形の物とFDMの物が混在してるけど、
細かいことは気にしない。



まずはロータリーエンコーダーのホイールを組み立てます。



軸受けはかなり小さいパーツなので、
3Dプリンターの印刷ではきれいな六角穴は厳しいです。
そのため強引に差し込むとTPUのグリップが効きすぎるので、
シャフトに300度くらいの熱を与えて穴を成型しなおします。



きれいに成型できました。



シャフトを挿してもキツ過ぎず、適度なテンションになりました。



他のパーツを合体させます。



外側から6mmのイモネジ2本で締めます。



こんな感じでしっかり固定。もうはずれません



ベアリングの軸受けをTPUで作っていますが、
あまりにも小さいパーツなので穴が正確に造形できていません。



強引にシャフトを突っ込んで、先ほどのように熱を加え成型しなおします。



こんな感じまで挿しときます。



軸受けもキレイに成型できました(*'▽')



ホイールにシャフトピンを挿しこむ。



上蓋にあてがって、上からシャフトピンを押す。
このとき力を変な風に入れると印刷したパーツが折れてしまうので、
かなり気をつかう(;´Д`)



上にはロータリーエンコーダーのカバーを付けるので、
シャフトピンは飛び出ないようにしっかり入れる。
設計上では2mm程度は奥まってさしこめるはずだと思って押し込んだら、
思ってた通り入った。 Good



急遽用意したボタンを固定するフレーム。
2個あるフレームは形がそっくりに見えるけど、
上蓋のアーチに合わせているので実は微妙に違う。
間違って取り付けないように突起を用意して
分かるようにしてみた。



こんな向きでスイッチを固定する。
ネジはM2の10mm。
結構穴がきついのでナットが無くても動かなそう。
動いてもネジの頭を内側に持ってきているので抜けないように設計している。
ナットを付けない場合は8mmで十分。
コストを抑えるなら8mmだね。



Arduinoをベースパーツにはめる。
Arduinoサイズの個体差を考えてスペースに余裕をもって設計したけど、
少しやり過ぎたかと後悔。0.5mmほど小さくしてもいいかもしれない。



配線はこんな感じ。
ボタンの部分の配線を追加。



USBコネクタを上から押さえつけます。
M2の4mmを使いますが、本音は3mmを使いたいけど売ってない(;´Д`)
4mmネジ、スプリングワッシャー、ワッシャーで調整。
下穴は1.6mmのピンバイスで調整してみたけど、
無くてもしっかり噛みそう。



Arduinoの上にジョイスティックの台座を置く。
これはArduinoを上から押さえつけて動かなくする役割も持たせている。



スペーサーをジョイスティックの背面にあてがう。
このとき半田がスペーサーの厚みより高い場合はカット。
中華おばちゃん手工業なので、絶対に均一にはできてない(;´Д`)



スペーサーが外れないように、台座に載せてネジ止め。
ネジはM3の6mm



なかなかいいじゃない(*'▽')



高さや、角度を調整したい時は、
↑のようにワッシャーを挟んで調整できるなと考えていた。
先に結論を書いておくと、私はこの位置にワッシャーをいれることで
ジョイスティックの可動域がちょうど良くなった。



ケースにつけたホイールにロータリーエンコーダーを取り付ける。
結構デリケートな造形だから隙間を多めに作って設計してたけど
光造形(レジン)で作ったのはうまく入らない。
リューターで削って対処。
次のバージョンでは0.1mm程度スキマを増やそう(;´Д`)
ちなみにFDMで作った方は正確にできててスコっと入った。



スイッチを付ける。向きがあるので切り欠きに合わせて装着。



M2の4mmを使って固定。ここもM2の3mmがベストだったんだけど、
手に入らないのでワッシャーとスプリングワッシャーで調整。
レジンだとネジ山が崩れる印象が強いが、
無理にトルクをかけなければちゃんと効く。



ボタンに配線をハンダ付け。



ロータリーエンコーダーが外れないようにカバーをかける。
無くても外れないかもしれないけど、一応設計して用意したので使おう。



溝にきっちり填まると余程のことがない限り外れないだろう。



ケースのネジ受けにナットを入れる。



そのまま入れただけだと逆さまにしたら落ちてくるので
ナットに瞬間接着剤をちょこっとつけて外れないようにした。



ボタンの配線(デュポンコネクタ)を接続。



ケースとベースをドッキングさせてM3ネジ2本で締め上げ。
ところがネジの頭が収まらない。
つまり穴が小さいことにここで気が付く(;´Д`)
5.5mm必要なんだけど、5mmでデザインされていたようだ・・
ドリルで揉んで穴拡張。
次のバージョンは6mmにしとこう(;´Д`)



プロトタイプ完成。
光造形で作ったケースにゆがみが出ていて、
FDMで作ったベースの円ときれいに一致しない。
おそらくは2次硬化の時に歪んだものと思われる。
次のバージョンでは変形を予防するための加工と、
ベースをドッキングさせたまま二次硬化できるように工夫をしようとおもう。

ま、なかなかいいじゃない。そこそこ思い通りに出来上がっていると思う。
リミットスイッチはいろいろ種類あるけど、板バネの先端が特殊なものにしてみた。
これが意外と押しやすい。



動かしている様子を撮影してみた。
ちょっと小さく作りすぎたかな?という感がいなめない。
ジョイスティックをもっと横に寝せたほうが使いやすかったかも・・
といろいろ思わせるところが出てくる。
ま外装はしばらく使って課題がまとまったら、造形しなおすか・・・(;´Д`)

さて、あとはファームウェアだなぁ・・
今の段階ではボタンの機能が無い。
それを追加してみて少しずつ修正を加え熟成させよう。

次の3Dマウスの記事はこちら
https://randol-news.net/art/00585.html
CHAT GPTに技術的なことについて聞いてみた。
2023.02.11
最近評判のCHAT GPTですが、技術的な話を問いかけたらどうなるのか検証してみました。
回答が正確であるかを判断するために分かっていることをあえて質問しています。

正直なところすごい。作ってくれたプログラムはそのまま修正しなくても動く(;´Д`)
今回はわざと意地悪にDelphiとArduinoの連携で質問してみましたが、
両方の文法やライブラリをしっかり理解しているようで、間違いの無いコードが返されました。

某掲示板に質問するくらいならCHAT GPTに投げかけた方が
絶対適切な回答が得られます(;´Д`)

では質問と回答は以下の通り。

Q FDM式の3Dプリンターでノズル詰まりが良く起きる原因を教えて。
A 3Dプリンターのノズル詰まりは、いくつかの原因が考えられます。以下は一般的な原因です:

 フィラメントの硬化:
  長時間使用しない場合、フィラメントは硬化し、ノズルから通りにくくなります。

 ノズルの汚れ:
  フィラメントの硬化物や残留物がノズル内に溜まることがあります。
  これはノズル詰まりの原因となります。

 ノズルの温度が低い:
  ノズルの温度が低い場合、フィラメントが正常に溶けないため、ノズルが詰まります。

 フィラメントが不適切な直径を持っている:
  フィラメントの直径が大きすぎると、ノズルから通りにくくなります。
  また、直径が小さすぎると、フィラメントが正常に溶けない可能性があります。

 これらの問題を解決するためには、定期的にノズルをクリーニングし、
 フィラメントを正常な状態に保つことが重要です。また、ノズルの温度を適切に調整し、
 フィラメントの直径を適切に選択することも大切です。

Q 3DプリンターでABS素材を使って印刷する場合、反りをなくす方法は?
A ABS素材で印刷すると、反りが発生することがあります。
 この問題を解決するためには、以下の方法があります:

ベッド温度:
  ABSは高温で印刷する必要がありますが、
  ベッド温度が高すぎると反りが発生します。
  ベッド温度を適切に調整することが重要です。

 ベッドアドハーズメント:
  ABSはベッドとの接触面積を最小限にすることが重要です。
  ベッドアドハーズメントを使用することで、
  ABSとベッドとの接触面積を最小限にすることができます。

 印刷速度:
  ABSは印刷速度が遅いと反りが発生します。印刷速度を適切に調整することが重要です。

 上層の設計:
  ABSを印刷する際には、上層の設計が反りに影響することがあります。
  上層の設計を見直し、反りを最小限にするよう調整することが重要です。

 これらの方法を試して、ABS素材で印刷する際の反り問題を解決することができます。

Q 3Dプリンターでデルタ型と直行型、どちらが精度がいい?
A 3Dプリンターには、デルタ型と直行型があります。
 どちらが精度がよいかは、使用目的や製造物によって異なります。

 デルタ型3Dプリンターは、三角形のアーム構造を採用しており、
 印刷中に構造のバランスを維持することができます。
 このため、デルタ型3Dプリンターはより高い精度を実現することができます。
 また、デルタ型3Dプリンターは小さな部品の作成や精密な構造の印刷に適しています。

 一方、直行型3Dプリンターは、直線的なアーム構造を採用しており、
 シンプルで安価なため、広い範囲に普及しています。
 直行型3Dプリンターは印刷速度が速いため、大量生産に適していますが、
 デルタ型3Dプリンターに比べて精度は劣ります。

 結論として、精度においてはデルタ型3Dプリンターが優れていますが、
 使用目的や製造物によって直行型3Dプリンターが適している場合もあります。
 使用目的や製造物に合わせて、適切な3Dプリンターを選択することが重要です。

Q Arduinoのコーディングでledを10個使い、1秒ごとに順番に光らせる方法を教えてください
A 以下のコードは、Arduinoで10個のLEDを使用し、1秒ごとに順番に光らせる方法を示します。



 このコードでは、LEDのピン番号を配列で定義しています。
 また、setup関数では、全てのLEDのピンを出力に設定します。
 loop関数では、for文を使用して順番にLEDを点灯・消灯するように設定しています。
 各LEDの点灯・消灯には、digitalWrite関数を使用しています。
 また、delay関数を使用して1秒待つように設定しています。

Q Windows上で動かすDelphiで作ったプログラムとArduinoとでデータのやり取りをするには、
 ArduinoとDelphiにそれぞれどのようなコードを書けばいい?


A


Q Windows上のDelphiプログラムからArduinoと繋がっているサーボモーターを動かすようなプログラムはできますか? 動かす角度を自由に指示したいです。

A
3Dマウス⑤ 外装の設計・造形
2023.01.29
前回の3Dマウスの記事はこちら
https://randol-news.net/art/00577.html



ファームウェアがだいぶ進展したので
外装をテスト用ではなく実用に向けて設計してみます。



まずUSBケーブルはL字型を採用。これで煩わしいケーブル問題は大幅に軽減。
上蓋との連結はM3ネジ2本で行うことにした。
本音を言えば3本でやりたかったけど、
いろいろと干渉することが分かったから仕方なく(;´Д`)
まぁ、問題ないっしょ。



L字コネクタに合わせて干渉しないように上蓋にカットをいれます。
カットしたところのフタも用意。上蓋と一体化させて造形させます。



ジョイスティックのデュポンコネクタが邪魔になっていた件。
下に折り曲げれば上蓋が干渉せず入ることが分かったので、
1本ずつラジオペンチで曲げて対処。



ボタンはつけなくていいかな~~なんて思っていた時がありました。
でも、ムリ(;´Д`)
ジョイスティックのテストでぐりぐり動かしているとボタンの必要性が沸々と湧いてきます。
まず、ジョイスティックを押しながら方向を操作するのは厳しい。
つまりパンを操作するときは別のボタンを用意するべきかなと思い至りました。
あと、ポイントを複数選択するときにシフトキーを押しながら行いますが、
いちいちキーボードに手を移動してたら面倒で仕方ない。
そのボタンも無いと不便かなと。
つまり最低でも2個は追加しないと実用に乏しいと判断。
ではどんなボタンをどんなふうにつけるのかと考えるに
ORBIONで採用されてるボタンも考えたけど、ちょっと大きすぎてスペースが無い。
あと、やっぱりクリック感がほしいと思いました。
そこでリミットスイッチを採用することに。安いし入手性もいい。
場所は、ロータリーエンコーダーとジョイスティックの間に並べて装備。
リミットスイッチのレバーは上蓋から露出させて直に押すようにします。
使いづらかったらレバーに何か装着しますかね。



ロータリーエンコーダーは上蓋で支えることに。
リミットスイッチも上蓋で。
造形が複雑になるのでFDMだとちょっと苦しいけど、
印刷さえできてしまえば、説明書なしでもすぐに組み立てられるくらい
シンプルなデザインじゃないかなと思う。



印刷は本気モード(;´Д`)
0.2mmノズル装着でベッドの高さもしっかり調整。
強度と長期実用を踏まえABSで印刷。
反り防止のための対策はきっちり。
本来ならば、メッシュベッドを使うべきところだけど、
メッシュベッドはラフトが前提になってしまいます。
ラフトって反りは軽減するけど底面が乱れまくるのよね。
今回は精度重視の印刷なので、ガラスベッドを使いました。
印刷位置が左奥寄りになってますが、
Cetusのようにフレーム片持ちの3Dプリンターは
フレームから遠く離れたところの振動が大きくなりがちです。
印刷物が荒れるので、それを回避するため
なるべく左奥にまとめて印刷を行います。
これも少しでも精度を高めるための工夫です。



完璧です。
7時間のロングランだけども反りはゼロ。
糸引きもなし、底面上面の塗り残しなし。
0.2mmノズルはいいね。仕上がりが美しい。
ただし、詰まり安く、印刷に時間が掛かり、
設定も煮詰めるのにめちゃくちゃ時間が掛かるけど(;´Д`)



バシっと設定が決まっているうちに細かいのも全部印刷してしまいます。



いいね、射出成型みたい(*'▽')



一番の問題は上蓋。
FDMの限界に挑戦といわんばかりの形。サポートは必須になってしまいます。
何回か試したけど、逆さまで印刷したほうがサポートの処理がしやすく
倒壊の心配がなかった。
内側にはロータリーエンコーダーの部分がちょっと制度が必要なので、
サポートがごちゃごちゃつくと整えるのは困難だなと・・。
どうせ磨くのなら外周の方が楽でいいので、
今回は逆さまに印刷したほうがいいと考えた。



でもFDMでこの印刷はやっぱり厳しい。
積層痕が強烈に見えてくる。
球状は0.1mm積層をやめて0.05mm積層ができるならその方が良いと思う。
確実に印刷できるようにするには、パーツを分割して接着剤で連結する形の方がいいかもしれない。
つまりFDM専用のデータを考えるべきと思った。



サポート面が荒れていたので軽く研磨。
ABSなので簡単に削れる。PLAとは違うのだよ、PLAとは(;´Д`)
研磨すると白く変色してしまう。すると積層がより目立って印刷の荒れが目立つ。
でも予定通り。



光硬化パテで積層の隙間を埋めていく。
ついでに積層割れが原因で起きた印刷ミスをプラモ用接着剤やパテで修正。
1日太陽にあてておけばカチカチです(*'▽')



待っている間に光造形で印刷。こちらもサポート跡がすごい(;´Д`)
見た感じはミスはなさそうだ。



裏面もきれいに印刷できているように見えるが、
角が丸くなったり膨らんだりする現象が起きている。
光造形といえども完璧ではないね。



FDM式、SLA式両方で印刷したものを研磨した様子。
FDM式は400番の耐水ペーパー、
SLAは削れやすいので600番の耐水ペーパーで磨きました。
硬さはレジンの方がある感じ、ABSは柔軟さを感じる。
だけど、1mm厚のパーツなので、
力をいれるとABSは積層割れが起きそうな感じ、
レジンの方は力入れて磨くと割れそうな感じ。
もう少し厚みを付けるべきだったかな(;´Д`)



後々積層割れが起きたらイヤなので内側から対策をば。
3Dプリンター用の電熱ヘラで表面をなぞります。
一度溶けて再溶着するので積層割れの恐れが軽減します。
これを施した後は、驚くくらいフニャフニャ感が消えました。



サーフェイサーを吹いてみた。
左が光造形(レジン)、右がFDM(ABS)
双方、もう少しやすり掛けが必要なことが分かる。
ABSの方は穴の縁をもう少し修正できるかも。



ある程度整ったので塗装。



左が光造形(レジン)、右がFDM(ABS)。
ABSは磨きが足りなかったかな・・少しデコボコが残ってる。
200番で整えてから400番すればよかったかな。
球面だから加減がよくわからん(;´Д`)
まぁ、実用十分だけど。



パーツがそろった(;´Д`) ↑はABS用に用意したパーツ類。
今回ABSとレジンの2種類で印刷したけど、精度的に割と正確なのはABSの方。
上蓋は曲面が多かったので荒まくったけど、
ほかの部品は±0.1mm程度誤差を容認できるなら何も問題はない仕上がり。
0.2mmノズルを使っている効果が絶大、



それに比べレジンはミクロの世界ではかなり美しいけど、
1mmとかいう大きいレベルでゆがみが出ることがある。
ひどいときには3mmも長さが合わないことも。
底板のパーツは綺麗な円になりませんでした。光硬化パテで修正しました。
塗装したから今じゃわからないけどね。
一長一短だなぁ(;´Д`)

次の3Dマウスの記事はこちら
https://randol-news.net/art/00582.html

- CafeNote -