2019年1月17日木曜日

ドリルチャック付きモーターを買ってみた

電動ハンドドリルはBlack&Deckerのマルチ電動工具を持っていたんですが、トルクは高いけど基本木工用なので回転数が低く、取り回しも大きくて重いので悪いため、小型のリューターみたいなものがあったらなあ、と思っていました。
さらにできれば固定して切断とかにもさっと使えたらいいなぁ。もちろんできるだけ安く。

いくつか候補があったんですが、決め手となったのは以下の点です。


  • ドリルチャック自体の取り外しができる(軸に直打ち込みではない)
  • 軸が太めで曲がりにくい
  • 12V程度で動作する
  • トルクが十分にある(と思える)
  • 作業台に固定するために使えそうな金具が付属している


そこで、この商品を買ってみました。
AUTOTOOLHOME DC12-24V ミニハンドドリルキット

併せて、
PWM速度コントローラー と ダイヤモンドカッティングディスク を購入し、古いノートパソコン用のACアダプタ(19V)をつないでみました。
補足:ノイズ対策用として0.1uFのセラコンをモーター両極端に接続しています。

キットにはL字型のモーター固定用金具が同梱されているんですが、これが丈夫っぽいものの、

  • 机とのつけ外しは4本のネジ止め
  • ネジ穴は小さめ(Φ3くらい)
  • ネジ穴はモーターにかぶっており、長いネジは使用できない
  • 短いネジを使っても、モーターが邪魔でドライバーが使いにくい
  • モーター天面側(軸側)でネジでモーターと金具を締結するのだが、ドリルチャックを取り外さないと金具が抜けない

このため、手持ちで使ったり机に固定して使ったり使い方を変えるたびにドリルチャックを外すしてその都度センター出しをするか、回しにくいネジ4本をつけ外すかしないといけないことになりとっても効率が悪いため、蝶ネジ2本でさっとつけ外しができる工夫をしてみました。とても便利。

真ん中の白っぽいのは机の天板。6mmのクッション材で
上側の金具を浮かせ、天板との間に隙間をつくり、モーター
固定L字金具が滑り込ませられるようにしている。
M6の2本のボルトが蝶ネジで止まっており、これらを
締め付けることでL字金具が机に固定される。


 また、速度コントローラの基板は3Dプリンタで作ったホルダーでモーターに固定してみました。
モーターの径は自分はとても握りやすいと思いましたが、女性には少し太すぎるかもしれません。



キット内容は

  • モーター(リード線も何もついてない)
  • モーター軸を固定する金色の軸受け(なんていうんだろ?)
  • ドリルチャック(0.3~4mm対応)
  • 10本のドリル(0.5~3.0mm。なぜか9本しか入ってなかった。まあいいけど)
  • モーターを固定するL字金具(と、接続用ビス2本)

以上。
そういえばモーターの端子部近くに赤ポチがマジックでついていたけど、こっちが+極だったっぽいです(ドリルの回転方向的に)。一切説明なし。

組み立て方としては、

まずドリルチャックにモーター軸受けを刺し込み(テーパーがついています)、ハンマーでコンコン叩いて挿入します。

次にモーター軸受けは、2個のイモネジでモーター軸を締め付ける形なので、軸受けの穴をのぞき込んで両側のイモネジをギリギリまで入れ、軸がなんとか通るようにしてから、軸を挿入して交互に少しずつ締め上げていきました。

この方法が正しいのかわかりませんが、結果として、速度コントローラーによる全回転数可変域で特段のブレもなく、滑らかに回転してくれています。

実際上記のダイヤモンドディスクでガラスエポキシの基板をカットしてみましたが、非常に気持ちよく切れてくれます(切断時にはマスク必須!!)。

結論として、とてもいい買い物をしました。

これ、垂直の台座つくってボール盤として使えるようにできないかなぁ。


2019年1月11日金曜日

Arduino:OLEDに好きなビットマップを表示してみる

前回の通りOLEDの表示にはAdafruitのライブラリを使ってるわけですが、どうやら好きなビットマップを表示することが可能っぽい。のでやってみることにしました。

準備


  • テキトーなビットマップファイルを用意します(128x64ピクセル以下)
  • 2値化します
  • ネガ反転します
  • bmpで保存します
  • 純正?ツールをインストールします(該当ページ

作業


  • ツールを立ち上げ、File → Load Imageで読み込みます。
  • Byte orientation [Horizontal]
  • Size は、ファイルを読み込んだ時点でそのビットマップのサイズになっていますが、そのうち Width は8で割り切れる数(切り上げ)に設定します
  • pixels/byte [8]
  • File → Save outputでテキストファイルが保存できます。

とりあえず、
C:\Users\user\Documents\Arduino\libraries\Adafruit_SSD1306
の中の、splash.hを書き換えて表示してみることにしました。

ファイル内の splash1_data の配列が、128x64のOLEDの場合の起動時のタイトル画面なので、ここの配列を先ほど保存したテキストファイルの該当部分に書き換え、すぐ上の
#define splash1_width  128
#define splash1_height 64
の部分を元のビットマップのピクセル数に書き換えます(蛇足:widthは、ツール内では8単位で切り上げましたが、ここは元のピクセル数で良いようです(初期値も82だし))。



Arduino:Wemos ESP32 Lolinを動かしてみる(途中)

なんだこれすげえ安(ry

Wemos Lolin ESP32という感じの型番でAliexpressで売ってたコレなんですが、ESP32ベースで単色OLEDディスプレイ付きで1200円くらいなんですよ!(当時)

まあパチモンらしいんですけども。。。

ESP32ベースなのでWifiと接続できちゃいますし、ESP32には技適マーク付きで国内使用も問題なし!これはいい!ということで1個購入してみました。

例によっていろいろ先人の知恵を拝借するわけですが、結論から言うと残念ながらOLEDパネルの部分は初期不良で動作しなかったのです……。現在ショップに問い合わせ中なんですが、

私:すいません。先日購入したものが動かなかったのですがどうしたらいいですか?(ショップによって違うであろう対処方法について聞いたつもり)
店:写真撮って送ってください。
私:(外付けのOLEDを接続して、ESP32部分は動いているが、内臓のOLEDは動いていないことがわかる写真を送付)
店:なるほど。それで我々はどうしたらいいですか?
私:動作するものを送るか、返金処理してほしい。
店:(現状回答なし)←今ココ
というわけで、待ちの状態です。どうなるかなー。

で、上述の「外付けのOLEDを接続して動作確認」の部分ですが、最初は先日書いたUNO R3の時に使ったAdafruitのライブラリとテストプログラムを使ったんですが動かなかったのです。
で、まずは動くことを確認せねば、ということで、wemos とかでググりまして、
こちらのページにたどり着きました。
ここの情報で

  • ESP8266 Oled Driver for SSD1306 の中の SSD1306ClockDemo が使えそうなこと
  • 内蔵OLEDを制御しているI2Cピンアサインは SCL/SDA=IO4/IO5であること

を教えていただきましたので、ブレッドボードで信号を引き出して外付けのOLEDパネルに接続したところ、外付けは動いてるけど内蔵は動いていない、という状況が確認できた、ということになります。

さて、今後WemosでなくてもESP32+OLEDの組み合わせでモニターとして使っていきたいと思うと、どうにかして文字列を画面に表示できるようにしておきたいわけです。

で、Adafruitのライブラリは上記で失敗していますし、簡単にググったところによると最新のAdafruitのライブラリではディフォルトのI2Cポート以外に設定するのは難しい、みたいな記載を見つけました。

そこで調べを進めると、どうやらSSD1306のライブラリ自体で文字まで表示できる模様。

ああ、、、元ネタどこのページで拾ったのか忘れてしまった……。

ですが、結論としては、これで表示した文字って等幅フォントではなくプロポーショナルフォントだったんです。それってちょっと使いにくいような……。

ということで、Adafruitのライブラリを使えるようにする調査をもう少しまじめにやってみました。結論として、


  • Adafruit_SSD1306.hの↓の部分の修正(128_64をイキにする)


  • ssd1306_128x64_i2c.inoの修正
  1. (下の画像に入ってないけど)#define OLED_RESET 4→0
  2. (Wire.begin()→Wire.begin(5,4)
  3. display.begin(~,0x3D) → 0x3c) 


これで動きました!
スペシャルサンクス←ココ

ただ、どうもAdafruitのライブラリは、フォントをメインメモリ上に置いちゃうらしくてメインメモリを圧迫してしまう可能性があるので、これをSPIFFSに移動することはできないかなー、とか考えています。


2019年1月8日火曜日

Arduino:DigiSpark(TINY85)を動かしてみる

なんだこれアホみたいに安い


すごい小型ですごい安い。御覧の通りUSBに直で刺せるわけですよ。
なんか面白そう!(安いし)ということで、2個買いました。
で、動かそうとしたのですが、ちょっと変則的な感じで、OLEDの数倍苦労しました。

まずは、先人の知恵に乗っかるわけですが、この中にも紹介されている、digisparkのwikiを先に見たほうが結局いいかもしれません。

手順:(wikiにほぼ同じことが書いてあります)
  • IDE側で環境設定がまず必要です。こちらは上記サイトの通りで問題なし
ArduinoIDEを起動して、ファイル-環境設定-設定タブの「追加のボードマネージャのURL」に「http://digistump.com/package_digistump_index.json」を追加
  • 次に、ツール-ボード-ボードマネージャに入り、Digistump AVR Boards by Digistumpを探してインストールします
  • Arduinoが1.66以降の場合はドライバをダウンロードしてインストールする必要があります。そのドライバの場所や注意点などは、とても詳しいYoutubeのビデオがありますのでこれを是非見てください。Youtubeの自動翻訳、マジ神ですな。
  • ついにテストプログラム(wikiにあります)を書き込んで動かすわけですが、この基板の場合変態的な落とし穴があります。
  1. まず、基板をUSBから外します(刺したままだと書き込めません)
  2. IDEの「書き込み」ボタンを押します。
  3. コンソール(ウィンドウ下部)に「今だ刺すのだ!」的なコメントが出るので、基板をUSBに刺します。
  4. 基板にソフトが書きこまれ、そのまま動き出します。
と、いう感じなのですが、上記サイトもwikiもここまでくればサクっと動いている一方で、私は書き込みボタンを押すとエラーが出てしまって「刺し込み待ち」の状態になってくれませんでした。デバイスドライバを削除して再インストールしたりもしてみたのですがダメ。

結論としては、ArduinoのIDEをいったん全て閉じ、もう一度起動してみたらすんなり動きました(基本すぎる)。

容量も小さいけどこの小ささは何か使えそうだなぁ。




ArduinoでOLEDディスプレイを動かしてみる

Aruduino UNO R3(相当品)
なんだこれすごい安い。

ということで買ってみました。
別に秋月電子で買ってあったOLEDディスプレイを動かしてみようと思います。

とはいえ、基本的には先人のあとをくっついて回ることにより、なんだこれレベルで動いてしまうわけですが、OLEDのライブラリのリビジョンが上がり、上記解説サイト様の懸念されている通りヘッダファイルをいじらないで動作できてしまいましたので、ポイントを備忘録代わりに書いておこうと思います。
上記解説サイト様の手順で行くと、

  • ライブラリの準備
  • Adafruit_SSD_1306のインストール
  • Adafruit-GFX-Libraryのインストール

までは同じです。

  • ライブラリのヘッダーファイルを編集

は、飛ばして、

  • スケッチ例の動作確認

の通りに、AdafruitSSD1306-ssd1306_128x64_i2cを開きましたら、

ここんとこ(黄色のとこ)のI2Cアドレスを、OLEDディスプレイの裏面の実装状況と、解説サイト様の「I2Cアドレスの確認」の項を参考に変更するだけです。
そしたらもう動いてしまいます。素敵。

あと注意点としては、USBバスパワーでUNO単体なら動きますが、こういった外部デバイスを動かす際は外部電源をつなぎましょう、ということでしょうか。

とりあえず今回はここまでです。




2019年1月4日金曜日

2018年 買ってよかったものとか~

あけましておめでとうございます。

さて、今回は昨年中に買ってよかったなあ、と思うものを備忘録代わりに並べていきたいと思います。

デジタルノギス 1080円
精度はちょっと疑問付きですが、安くて必要十分!

デジタルマイクロメーター 720円
正直安っぽいですが、激安なのでむしろプラス!
こんな値段で買えるなんて。。。

3Dプリンタープラットフォームシート(3枚) 2248円
3Dプリンタの印刷品質が劇的に向上します。
ノリだとかケープだとか色々やったことがありますが、もう最初からコレ買っちゃったほうが早いし手間ないしむしろ安いです。
もう2kgくらい印刷してますが、まだ1枚目が十分機能しています。

LEDライト付きルーペ(30倍)429円
輸送にちょっとトラブルがあったけど、誠実な対応をしていただいて、結果問題なし。
モノはこの値段では考えられないほど良いものだと思います。

LED電球(E17)4個 1399円
これは仕事には関係ないものなのですが、とても良かったのでご紹介。
LED電球ってこんなに安くなってたんですねぇ・・・。寿命はわかりませんが。
残念ながら通常の電球ソケット(E26)にはそのままつかないので、E26>E17変換アダプター(2個)149円を別に購入して使用しています。
十分明るく、(おそらく)消費電力も低いので、寿命が期待通りなら問題ないだろうということで階段のところの常夜灯にしてしまいました。夜も安全。

なお、こちらに挙げた商品はみんなamazonですが、中国からの直送の可能性があります。残念ながらたまに輸送事故(届かない/遅い)がある場合もありますが、間にamazonが入って対応してくれますので安心です。
とはいえ、当方が性能等を保証はできませんので、購入の際は自己責任でお願いいたします。

それでは、まったり更新していきますので今年もよろしくお願いいたします。