オリジナルプロッタ eddyWrite の吟味
オリジナルプロッタ eddyWriteにつきまして、前回は逆運動学を用いて文字や図形の直交座標からスライド量(半径)、回転量(角度)を割り出しての描画に挑戦いたしました。
しかしeddyWriteはクルクル回りながら描画するのが味わいがあるという結論に至りました。
ほっほっほ。 https://t.co/aYYTQW5tKs
— 河野太郎 (@konotarogomame) March 4, 2020
ここではeddyWriteの味わいの上昇を目指してもろもろ吟味いたしましたので報告させてください。
目次
サーボ停止信号調整
eddyWriteのペンのスライド機構には360°連続回転サーボを用いております。
360°連続回転サーボは普通のサーボでいうところの
90度入力でサーボ停止、0〜89度入力で時計回り、91〜180度入力で反時計回りに回転で
回転スピードは90度から離れるほど早くなるという仕組みになっております。
しかし使用しているうちに停止位置の値が若干ずれて、描画停止中にスライダが動き出すことがありました。
そこでeddyWriteに停止位置調整用ボリュームを追加し、停止時の角度を80~95°で調整できるようにいたしました。
これで正確な停止信号を360°連続回転サーボに供給できると同時に正確な速度でのスライドが実現できるようになりました。やったね 😆
リミットスイッチ追加
スライダが行き過ぎてサーボが損傷しないようにリミットスイッチを追加しました。
スライダが移動してこのスイッチに触れるとeddyWriteは停止します。
これで描画の際に異常動作しても安心です!
このイカしたリミットスイッチ、実は前回ロータリーエンコーダを摘出したダイソーのマウスからとったんです。クリック検出ボタンですね。
300円で購入したダイソーマウスからロータリーエンコーダとリミットスイッチを摘出し完全に元をとらせていただきました。
分解能向上
前回 eddyWriteにロータリーエンコーダを追加し、せっかくスライド位置を正確に取得できるようになったので
ここでは描画の分解能の向上を試します。
メモリが足りなくなってきたのでマイコンのコアをArduino UnoでおなじみのATmega328P からATmega2560に変更いたしました。
これまではATmega328P 搭載のAdafruit Metro Mini 328を使用。
技術の発展
半径の分解能 / 1周の分解能
16/100 → 32/100 → 100/200 pic.twitter.com/aCEoeopyUf— HomeMadeGarbage (@H0meMadeGarbage) February 27, 2020
ATmega2560のマイコンに変更しました。メモリが32KBから256KBにパワーアップ!
半径の分解能を180分割まで上げて描画してみました。
なんか怖ーよ。。
↓こちらも半径の分解能180の 1周の分解能200で描画
もすこしだな pic.twitter.com/mAgf7swOLk
— HomeMadeGarbage (@H0meMadeGarbage) March 9, 2020
なんかなー
味わいが薄いというか。。。
結論
eddyWriteは半径の分解能84の 1周の分解能100ぐらいでの描画が最適!
描画時間も短いし。
現状の筆ペンのペン先の柔軟性をスプリング代わりにしてる機構だと 分解能は変に追いかけない方が味わい深いという結論に至る。
マイコンまで変えたけど。。。
この無駄足はいつかガチの機構を実現した時にでも役立つでしょう。きっと