ドップラーセンサー用のケースを設計

以前作ったESP32のテスト用の基板以前買った秋月のドップラーセンサを適当に組みあわせてFusion360でケースを設計、出力してみました。

組み合わせた基板はこんな感じでいきあたりばったりです。

でも、基板に合わせてこんな感じのケースを設計しました。

こんな感じで基板を載せます。

蓋をしてネジ止めするとそれっぽくなるのが3Dプリンタのいいところです(笑)。

ネジ穴はM3x6のネジのネジ部を実測して、2.8mmの穴を開けて、入れやすいようにC1で面取りしただけで、いい感じにネジ止めできるようになります。何度も開け閉めするものでなければインサートナットを挿入しなくてもいいので楽ちんです。

TTGO T-Cameraの画像をngrok経由で取得

NAT配下のWebサーバ等をインターネットからアクセスできるようにトンネリングをするngrokというサービスがあります。

これを使って、3Dプリンタの監視画像をインターネットから取得できないか試してみました。

テスト環境は以下のとおりです。

まず、ngrok公式サイトからサインアップをします。サインアップすると、「Setup & Installation」という画面に移行しますので、これに沿って操作していきます。

まず、ngrokのダウンロードですが、Linux(ARM)のURLをコピーして、wgetでzipファイルを取得します。(下記はURLを書き換えてありますので、必ずURLをコピーしてください)

ダウンロードしたら、②、③に沿って展開とトークンの取得を行います。トークンの取得は③のところのコマンドラインをコピー&ペーストして実行するだけです。

トークンを取得したら、 ~/.ngrok2/ngrok.yml にある設定ファイルを作成します。

1行目の内容はトークン取得で作成されている内容です。2行目以降が追加した内容になります。

作成したら、

で起動します。

という感じで状態が表示されます。この状態でインターネット側から https://b3d16323.ngrok.io にアクセスするとBASIC認証が求められ、設定したユーザー名とパスワードを入力すると、TTGO T-Cameraへアクセスすることができました。アクセスすると上記の状態の下にHTTPリクエストの状態がリストで表示されます。なお、b3d16323の部分は起動する度にランダムに変わります。有料プランにするとこの部分を固定にすることができるようです。

実際にGet Stillをクリックすると、

という感じで実際に画像を取得できました。なお、ストリーミングについては異なるポート(81/TCP)でのアクセスが必要なのですが、ngrokのコンフィグファイルでは複数のポートの設定も記述できるものの、ポートごとに異なるURLが割り付けられます。このため、うまくいきませんでした。有料プランにするとURLを指定できるので、うまく行く方法があるのかもしれません。

TTGO T-Cameraを3Dプリンタ監視用に

TTGO T-Cameraを3Dプリンタの監視用に使ってみました。

まず支柱を設計して、3Dプリンタで出力しました。

Ender-3の左手前に共締めして取り付けるとこんな感じです。

3D Benchyを出力してみました。

PCからブラウザ上でストリーム表示させるとこんな感じです。

VGAサイズくらいであればスムーズに表示されます。スマホからでも表示可能。

暗いのでノイジーですが、UXGAでのキャプチャもこの通り。魚眼レンズなので近くても全景が入ります。画像は歪んでしまいますが、ちょっと状況を確認するには十分な出来になりました。

TTGO T-Camera 出力画像を180度回転

現在のT-Cameraのソースだと、USBコネクタが上に来る向きで天地が合う形になっているので、結構扱いにくい(一方で、USBケーブルを挿した状態で置きやすいというメリットもある)。

で、カメラモジュールで反転させる機能があるのではないか、と探してみたところ、やはりあった。

これを使えないか探しまくった結果、カメラを初期化している

の後に、

と入れれば画像が回転できることがわかった。よって、先に入れたOLEDの表示を回転させる

は削除できる。
でも、USBコネクタが上のほうが便利な場合もあるので、

とすることで反転するようにソース修正した。

TTGO T-Camera LiPO電池を接続してみました

リチウムイオン電池のコントローラ(IP5306)が搭載されているTTGO T-Cameraですが、回路図をみるとD4というダイオードが入っていて電池からIP5306に向かってしか電流が流れないので、一見充電できないように見えます。

しかし、よくみるとこれ、「2A FUSE」と書いてあります。つまり、フットプリント流用のためにダイオードのシンボルになっているようです。さらに、その右下を見ると分圧回路があり、電池の電圧がESP32で確認できるようです。そこで、電池の電圧をモニターしつつ、LiPOをつないでみることにしました。つないだのは手持ちのトイドローン用の500mAhのものをコネクタを付け替えたものです。

ソフトウェアは表示画面に3ページ目を追加してモニターするようにしてみました。

単純にIO35の電圧を読んだだけでは高インピーダンスで外部/内部のノイズの影響を受けているのか、スッチングノイズを拾っているのかわかりませんが、かなりブレがあります。本来ならまずはR43にコンデンサを抱かせたいところですが、面倒なので50ms周期で32回の平均を取っています。(1005のコンデンサなんて手持ちにないし・・・。そもそもESP32のADCの入力インピーダンスってどのくらいなんでしょうね。100kΩでは大きすぎるのかも?)

一方、充電電流を見てみると、PCにつないだ場合には入力側で0.4Aくらいでしたので、電池への充電電流もせいぜい0.5Aくらいで1C程度ということで問題ない範囲(本当はもう少し減らしたい)かと思ったのですが、Ankerのモバイルバッテリーにつないだところ、0.8Aくらい流れていて2C近い電流が流れてしまうようです。IP5306の中国語のデータシート(こちらの通販サイト?にあるもの)を見ると、最大1Aで充電するようですので、ちょっとまずいかもしれません。データシートをみても充電電流を調整する方法はなさそうです。

バッテリーで動作するWiFi IPカメラというのも悪くないですし、どうしたもんでしょうね。

TTGO T-Camera用ケースを作成

以前買った、TTGO T-Camera用ケースを作成しました。

添付されていたバッテリー用ケーブルを手持ちのLiPoバッテリーに接続して使えるようにしたのですが・・・・改めて回路図を確認したら、充電できない回路になっていました。(追記:回路図ではそう見えるのですが、回路図のシンボルと実物が違っていました。実際には充電可能です。)

・・・というわけで、バッテリーなし仕様の蓋を付けて完了としました。

あとはスタンドはホルダーを作成して3Dプリンタのそばに設置するのと、デフォルトのファームウェアがSoft APモードとなっていてカメラの画像を見るためにはスマホのWi-Fi設定を変更しないといけないので、これをSTAモードに変更してLAN内からアクセスできるようにしたいと思います。

3Dプリンタのベンチマークをしてみた(2)

引き続き、条件を変えてベンチマークしてみました。

今度は積層ピッチ0.1mmで出力してみました。他は標準のままです。

前回同様に出力されたものを手順書に沿って評価してみます。

1.寸法精度

XとYの誤差の平均が0.1以下になっていることから、この項目のスコアは5となりました。

2.正確なフローコントロール

針状の部分で評価します。

この項目では針の部分の長さが30mm以上あれば2.5、糸引きがなければさらに2.5ということなので、上記のように糸引きしているので本項目のスコアは2.5ということになります。

3.正確な抜け特性

今回は4本抜けましたので本項目のスコアは4ということになります。

4.オーバーハング

オーバーハング部分の出来具合を見ます。

上の方になるほどオーバーハングがきつくなっています。写真では一番上の15度の部分は荒れています。20度の部分はギリギリOKでしょうか。本項目のスコアは4ということになります。

5.ブリッジ

積層ピッチ0.02mmの時と違って、全部のブリッジが下に触れることなく形成できています。そのため、本項目のスコアは5ということになります。

6.XY方向の共振特性

筐体のリンギング特性を見ます。X方向とY方向の2方向があります。

積層ピッチ0.02㎜の時に見えていた6ミリピッチのムラは見えなくなっています。しかし、さらに細かいピッチのムラは健在です。本項目のスコアは0となります。

7.Z軸のアラインメント

積層ピッチ0.02mmの時よりもだいぶいいとは思うのですが、やはりピッチムラがあります。送りねじの精度だとこちらにも出てくるはずなので、違う要因なのでしょうか??
本項目のスコアは0となります。

まとめ

各項目のスコアを足すと、20.5ということになりました。

平成最後の日

平成最後の日ということで、「平成」と「令和」をそれぞれ3Dプリンタで出力してみました。

あまり深い意味はなくて、ビットマップをSVG変換してFusion360に取り込んで出力する方法を確認した際の題材にしただけです。

それぞれの文字は平成・令和それぞれが発表された際に各官房長官が持っていたものです。それぞれの写真のうち、できるだけ正面に写っているものを探して、文字の部分をGIMPで切り抜きます。平成の文字の方は墨が少し変な風に飛んでいましたので、その部分は画像処理で修正をかけました。そのうえで、色域で範囲選択、選択範囲をパスに変換した後で、SVGにエクスポートしました。それをFusion360で読み込んで3Dプリンタ用のデータにしています。

本当は地の部分は白にして、文字の部分を黒にできないかなぁ、と思い、gcodeファイルを小細工してみようと思ったのですが、エクストルーダーのデータも絶対座標で書かれていて、レイヤー単位の切り貼りくらいではダメそうでした。強引に途中でフィラメント交換することも考えましたが、STOPさせた状態ではZ軸が結構軽く動いてしまうことと、冒頭でテーブルの端を1往復してノズル先端の状態を調整するのがないと綺麗に出力されなさそうなので諦めました。Curaで本体のレイヤーの範囲(とskertの有無)を指定をしてgcodeを出力できるとそういう用途が広がるのになぁ、と思った次第です。

3Dプリンタのベンチマークをしてみた

たまたま見かけた記事から3Dプリンタのベンチマークをしてみました。

ベンチマークのためのSTLデータや評価手順などは github.com にあり、熱溶融積層型のデータはこちらにあります。

3DプリンタはEnder-3です。ノーマルからの改造個所はスプールホルダを外部に設置したうえで、記事にはしていませんがフィラメントを引き出す際の負荷が軽くなるような工夫を追加しています。その他には、出力には影響ないでしょうが、ヘッド部分のファンが糸引きしたフィラメントを吸い込みにくいようにファンガードを設置しています。使用したフィラメントはPRILINE製のPLAフィラメント(たぶんこれ)です。

早速、まずは標準設定(積層ピッチ0.2mm)で出力してみました。

出力されたものを手順書に沿って評価してみます。

1.寸法精度

XとYの誤差の平均が0.1以下になっていることから、この項目のスコアは5となりました。

2.正確なフローコントロール

針状の部分で評価します。

この項目では針の部分の長さが30mm以上あれば2.5、糸引きがなければさらに2.5ということなので、上記のように糸引きしているので本項目のスコアは2.5ということになります。

3.正確な抜け特性(とでも訳すんでしょうか)

最初の写真の手前側の凸の部分はピンと周りの間に設計上は隙間があって抜けるようになっていますが、実際には寸法精度などにより全部は抜けません。これが工具などを使わずに手だけで抜ける個数を調べます。今回は3本抜けましたので本項目のスコアは3ということになります。

4.オーバーハング

オーバーハング部分の出来具合を見ます。

上の方になるほどオーバーハングがきつくなっています。写真では一番上の15度の部分は荒れていますが、20度の部分はギリギリOKでしょうか。だとすると本項目のスコアは4ということになります。

5.ブリッジ

上記の感じだと1番上のブリッジは垂れて2番目のブリッジに触れてしまっています。2番目のブリッジは垂れていますが、3番目のブリッジには触れていません。そのため、本項目のスコアは4ということになります。

6.XY方向の共振特性

筐体のリンギング特性を見ます。X方向とY方向の2方向があります。

主に目盛りのセンターの長い部分の影響を受けたリンギングをみるのだけど、センターに関係なくX方向もY方向も6ミリピッチのムラが出ています。また、さらに細かいピッチのムラも見えています。本項目のスコアは0となります。
6ミリピッチはモータかモータのタイミングベルトのスプロケットあたりなんでしょうか?細かいピッチはタイミングベルト由来でしょうか?

7.Z軸のアラインメント

本来はZ軸の送りねじのピッチむらを見るものだと思うのですが、ピッチむらどころではない残念な感じですね。送りねじの精度がかなり悪いのかもしれません。本項目のスコアは0となります。

まとめ

各項目のスコアを足すと、18.5ということになります。ちなみに、Prusa i3 MK3 で 22.5 、Makerbot Replicator 2 で 18 ということだそうです。

2万5千円の3Dプリンタとしては健闘しているのでは、と思います。

TTGO T-Cameraを開封レビュー

Twitterで見かけたESP32 WROVERとセンサー色々搭載のTTGO T-Cameraを購入してみました。(⇒Aliexpressのページ

ESP32 WROVERにカメラ、人感センサ、温度・湿度・気圧センサなどのセンサ、0.96インチのOLEDディスプレイ、I2Cでの外部拡張端子がついて、魚眼レンズタイプで17.6ドル(今はさらに下がって16.5ドル)で入手できる上に、githubでArduino環境のソースコードまで手に入ります。

梱包は比較的簡易なものでしたが、このようなポリプロピレン製のケースに入っているので、潰れて送られてくる、ということはなさそうです。

ポリプロピレンケースの中に入っていた製品はこのように帯電防止の袋に入れられて密封されていました。

開封するとこんな感じで、電池を接続するためのケーブルも添付されていました。ここにLiPoをつないで充電ができるといいのですが、そこまではまだ調べていません。

裏面はこんな感じです。

MicroUSBの端子がついているので早速適当なUSBの電源アダプタにつないでみると、こんな画面で崩れて表示されてしまいました。

この状態でも無線APとして動作していて、スマートフォンで接続でき、ブラウザで 2.2.2.1 に接続するとカメラ画像の取得などができました。

電源をPCから取ると、このように正常に表示されました。ACアダプタやモバイルバッテリーは軽負荷時にノイズが大きいので、その影響だったのだと思います。
しかし、温度表示が39.61℃と異常な値が表示されています。カメラ右下についているのがBME280だと思いますが、ESP32の自己発熱でかなり温度が上がってしまうのでしょうか??
温度がおかしいと、気圧や湿度も補正できないはずなので、残念です。

・・・と思ったら、バージョンアップ(?)により役に立たないBME280は削除されているようです。

ま、とりあえずおもちゃ入手レポートでした。(なんかおもちゃばっかりですが・・)

追伸

IPS液晶搭載の後継モデルが出ていました。人感センサとスイッチがなくなっているようですが、カラー液晶、MicroSDカードスロット搭載、BME280復活となっています。スイッチが残っていればUIとかも付けられるかな?と思うのですが、スイッチ無しなので用途がいまいち思いつかないところです。(バッテリー駆動するなら不要なときは液晶をOFFにしたいですし)