« 2018年1月28日 - 2018年2月3日 | トップページ | 2018年3月11日 - 2018年3月17日 »

2018年2月18日 - 2018年2月24日の1件の記事

2018年2月21日 (水)

CNCマシン(2) 切削を始めるも、Raspi Zero Wへ思わぬ脱線

 中華CNCマシンCNC2418のプロジェクトは順調に進んで、遂に初切削(ただしMDF板の彫刻)に成功したのだが、プロジェクトは突然違う方向にそれてしまった。本人も驚く脱線ぶりである。どうしてこんなことになったのか。詳しいいきさつは本文で。

Normaladpter_9 エンドミルの種類が多すぎて迷う(2/2/2018)
 CNCマシン導入の元々の目的はプリント基板の切削なのだが、初切削にふさわしい基板データがまだ用意できていない。こういうこともあろうかと練習用にMDF板を買ってあった。これで切削の練習をして経験を積みながら基板データの完成を待って、本番切削に進もうという計画である。

 ところが、CNCキットの付属エンドミルは基板切削用のVカットのカッターで、サービスについてきたエンドミル10本も、これと全く同じものだった。練習はMDF板の彫刻である。Vカッターは彫刻には使えない、別のエンドミルが必要だという(これは見映えがしないだけということがあとでわかったが)。

 というので、ウェブで初心者にも使えそうなエンドミルを物色する。ところが、エンドミルと一言で言っても、膨大な種類があり何を選んで良いのか全く見当がつかない。価格もてんでんばらばらである。10本¥1000台から、一本が¥3000以上(勿論、趣味向けでも)のものまであり途方に暮れてしまった。

 何を彫るのかが決まっていないのだから当然と言えば当然なのだが、それにしても値段の幅が大きすぎる。Aliexpressなどの中華サイトだけかと思ったら、国内のアマゾンや、楽天、ものたろーなどの国内サイトも似たようなもので、安いものも沢山ある。

 少なくとも中華サイトは何が送られてくるか予想がつかないので注文する気にならない。基板切削用のエンドミルといえば、オリジナルマインドという日本のホビー用CNCフライス盤を作っている会社の「土佐冒典(とさまさのり)」というエンドミルがピカ一のようだ。しかし、高価で¥3000近くする。ただし今探しているのは彫刻用のエンドミルなのでこれはまだ相当先の話だ。

CAMソフトEASELでMDF板の彫刻に挑む(2/5/2018)
 迷った挙句、アマゾンでとりあえず1ミリから2ミリの安いエンドミルセット(タングステン 10本¥1650)を適当に注文し(どうせすぐ何本も折るだろう)、それが来るまでMDF板の彫刻の準備をすることにした。Dsc01399

 作業盤にMDF板を両面テープとクランプで固定しで、もういちどレベル出し(heightmapによる)をする。今度はケント紙(0.5ミリくらい)を低いサイドの側に挟んでMDF板をクランプで固定し、heightmapを出してみる。おお、誤差は0.3ミリ以内におさまった。これで彫刻の準備は整った。

 何を初切削するかが問題である。このCNCキットには、中国簡体字の彫刻サンプルがついていて、皆さんはこれを試験切削に使われている。所長にはちょっと変なこだわりがあって、これを初切削のデータにしたくないと思っていた。中華製品にすべてが飲み込まれていくような感じに反発があったからだ。

 とはいえ、自前の彫刻用CAMデータの用意があるわけではない。今までKiCADで基板用データの開発ばかりやっていて、そこまで手が回っていない。慌ててみなさんのサイトを再び訪れて、適当なCAMソフトを探す。しかし、これも沢山種類があって何が良いのかすぐには決められない。

 泥縄的に調べた結果、どうもEASELが一番楽にCAMデータが作れそうな感じだったのでこれを選んだ。このソフトは、ダウンロードするのではなく、ウェブ上のアプリケーションになっていて、Fusion360のような壮大な3Dモデリングソフトではなく、2D(というか2.5D)ソフトであり、出来ることは限られている。

 しかし、出来上がった図形の切削の部材とエンドミルの種類を画面上で選んで、出来上がりを確認できるところが素晴らしい。ここでVカットのカッターと普通のエンドミルの基本的違いを知ることができた。要するにVカッターは深く掘れば彫るほど切削幅が広がるというだけの違いである。1stvcut0206

 元々このソフトは、自社のデスクトップCNCマシン(Shapeokoというらしい)の付属ソフトだったようで、文字は英字だけで日本語対応はしていない(と思う)。まあ、テスト用なので深入りせず、EASELのシンボルマーク(と思う)のテレビとYGataroという文字を選んだ。

EASELのデータでCNC初切削に成功(2/6/2018)
 いよいよ切削だ。スピンドルにコレットチャックでビットを挟めるER11を装填する。やけに固いと思ったら、ウェブ上ではこのチャックは熱嵌合と言って、チャックを高熱にして、はめ込むのだそうだ。今さらそれを知ってもそんな大掛かりなことはすぐにはできない。Normaladpter_8_3

 それでも、少し力を入れるとシャフトに少しづつ入っていくようなので、10ミリ近く入ったところで試しにスピンドルを回してみた。いやだめだ。80%の回転数から機械全体が振動するくらいの回転むらが起きる。ER11とスピンドルの回転の中心が合っていないからだろう。

 騒音というより機械に影響が出るくらいの振動なので折角買ったER-11だが、あわてて元のカプラーに戻した。その後もう一度トライして、今度は軸が合ったようで、最大回転でも全く問題なく回転するようになった。かなり奥まで入れたからかもしれない。Normaladpter_7

 注文したエンドミルはまだ届いていない。キット付属のVカッターを装填する。Vカッターの切りしろはEASELの出来上がり画面で確認しているが、本当に画面のような彫刻ができるかどうかはわからない。ドキドキする時間である。

 ソフト(Candle)を起動し、EASELで作ったCAMデータを読み込む。このCAMデータは、一度テキストエディターで、スピンドルの回転数を全速のS1000から、S600に落としたデータだ。騒音を気にして細工をした。

 スタートボタンを押す。スピンドルが回り始めた。回転は60%なので音は全く静かである。何度かシミュレーションした通り、Vカッターが進んでいく。5分足らずで削れた。トラブルなし、木屑というより、木の粉がこんもり、切削あとに残った。Normaladpter_4

 もっと木粉が飛ぶと思ったが、MDF板の木粉は周囲に止まっている。掃除機で吸い取ると、出ました、出ました。EASELの出来上がり予想画面と全く同じような彫刻部分が鮮やかに浮き出た。いやあ、感激の瞬間である。早速記念撮影する。遂にがた老AVR研究所はCNCによる切削という新しいページを加えた。

KiCADの開発に戻るが満足できるデータが出来ない(2/8/2018)
 アマゾンからエンドミルが到着した。しかし彫刻の第二作のデザインがなかなか見つからない。凸版的なロゴを作って自宅の門の照明部分に飾ると面白いと思っていたのだが、これは結構難しい。一方、KiCADのプリント配線基板の切削データは、まだまだ満足すべきレベルに達しない。

 前回も書いたがKiCADの操作が、あのEAGLEに勝るとも劣らず難しいのだ。題材は、このあいだのトランジスタの回路基板ではなく、以前苦戦した表面実装基板、DC-DCコンバーター回路にして実用化を狙ったのだが、次に紹介するような落とし穴に次々とはまり、先になかなか進めない。

●配線幅を変えられないのは定義していないだけ
 配線の線幅を決めるサイドメニューで、ネットクラスで規定するもの以外の幅に指定できない。何故だ何故だと騒いでいたら、デザインルール定義の中の「グローバルデザインルールのカスタム配線幅」に欲しい線幅を入力するとサイドメニューにそれが反映されることがわかった。こんなの教えて貰わない限り絶対に不可能な作業手順である。

●カーソルが外へ出て行かない
 KiCADのプリント基板エディターは、ほとんどのコマンドが右クリックでサイドメニューを出し、さらに下位のメニューに行く構造になっているが、そのメニューを全部閉じてからカーソルを画面外に出そうとすると、その前のオペレーションを引きずり外へ出て行かないときが度々ある。

必ずではなくて、時々なるので、これはどうもバグくさい。試行錯誤の末、画面上の何もない所でダブルクリックを無駄打ちすると解消することを発見した。スタックされていた複数の操作が溜まっていて解消されていない感じだ。

●配線がうまく行かないときのエラーメッセージが出ないことが多い
 大抵はネットリストに反する配線をしようとしたときか、またはDRC(デザインルールチェック)に反する配線をしたときに起きる。エラーメッセージが画面下部に出る時もあるが、殆どは単に配線が完成しないだけで何の反応もない。慣れないうちは何が原因かわからず頭を抱えていた。

●ライブラリの読み込みや検索を不用意にかけるとメッセージなしで応答が返ってこない
 CPUに負担のかかる処理は普通、砂時計などの処理中サインが出てユーザーにその状況を教えるものだが、KiCADでは何のメッセージもなく、まるでフリーズしたかのように動きを止めてしまう。何も動かないのであせって他の処理を次々にやってさらに混迷を深める事態になる。

●部品ライブラリの構造が今一つ理解しにくい
 これは慣れていないだけとも言えるが、ライブラリの構造がパブリックなものと自分用のもの、そのプロジェクト個別のものとに分かれており混乱する。新しい部品を作るのに四苦八苦した。Ws000008_2

 以上は、主だった暗礁だけで、まだわからないことは沢山ある。それでも悪戦苦闘の結果、何とか、それらしい基板設計図ができた。しかし寸法を測ってみると既存の手配線の表面実装基板に比べてあまり小さくなっていない。あれだけ苦労して作ったのにちょっとがっかりである。

 小さくする手段が見えない。べたアースは簡単に出来るし、出来栄えは悪くないと思うのだが、どうも切削に向かう気力が生まれてこない。

突然、RaspberryPi Zero Wを発注してしまう(2/9/2018)
 そんなとき、とあるサイトでArduinoのUSBケーブル部分をBluetooth化したArduino基板が紹介されているのを見つけた。ご存知のように中華CNCマシンの制御基板はArduinoである。(本家はここ

 現在CNCマシンのArduinoのUSBケーブルは、すぐ脇にあるノートPCにつながれ、ここでCNC制御ソフトCandle(GRBL)が動いている。一方、EASELやKiCADなどの制作ソフトは、4~5m離れたメインPCにあり、試し切削のときは、USBメモリでデータを持ち運んだ。

 ネットワークドライブでつなげば、少なくともUSBメモリのような原始的なことはしないで済むのだが、USBケーブルをBluetoothで無線化すれば、メインPCにCNC制御ソフトを入れて動かすこともできる。

 CNC切削の手元に制御できる画面がないのは緊急時に困るが、それはそれとして、USB接続の機器を無線化できるというしくみに何故か心が強く惹かれてしまった。

 そういえば、最近売り出されたRaspberryPi(以降 Raspi)の新しいシリーズに、WiFiとBluetoothがついているRaspi Zero Wというのがあってこれは10ドルという破格の価格だ。日本でも少し高いが通販で手に入る。

 無線機能のついているRaspi 3でUSBとBluetoothをつなぐシリアルのブリッジを作るのはどうみても無駄な気がするが、このRaspi Zero Wなら千円ちょっとである。それに対して、bluetooth化したArduinoは¥5000近く。しかも、今手持ちのCNCマシンのArduinoはモータードライバーと一緒の基板に組み込まれているので、これを活用することは出来ない。

 CNCの基板切削への意欲より、このUSBをBluetoothでワイヤレスにしたいという意欲の方が優り、気が付くとスイッチサイエンスの販売予約のボタンをポチっとしてしまっていた。Raspi Zero Wは、国内ではまだ高いが(ケースなどを抱き合わせで買わされて¥3000以上)、スイッチサイエンスだけは10ドルに近い、¥1300台で一人一台の予約販売をやっている。

RaspberryPi 3でbluetoothシリアルの実験(2/10/2018)
 予約販売というのだから少し日がかかるだろう。待ちきれずに、同じ機能を持つRaspi3で、USBの無線化を実験し始めた。USBと言ってもArduinoのUSBはシリアル変換ICが入っておりUSBの中身は、単なるシリアル通信である。

 やり方をすべて解説してくれるサイトは見つからなかったが、Bluetoothのシリアル化(SPPプロファイル定義)は沢山のサイトに解説があったので、情報には不足しなかった。しかし、これが結構難儀したのである。

 要は、RaspiのホストUSBで、USBのシリアルデータを受け取り、BluetoothのシリアルディバイスにリダイレクトするスクリプトをRaspiで動かせばそれでOKなはずなのだが、まず、BluetoothのシリアルポートがWindows10でうまく動かない。Ws000006_2

 Win10のBluetoothドライバーは、昔買ったドングルについていたBlue Soleilというサードパーティのもので、シリアルポートを開くことは簡単に出来、PC上にはcom10という仮想ポートができた。しかし、Raspiとつながらない。

 ペアリングまでは順調に進むのだが、肝心のシリアルの接続がOKにならない。Rasp側のBluetooth仮想シリアルデイバイスrfcomm0がactiveになったり途中で切れたりする。切れたあともrfcomm0が居座り、なかなか消去できず、ペアリングそのものもおかしくなる。

 何度か繰り返すうち、Windows側はcom10だけでなく、時々、com4とかcom5というポートが現れて、どうもbluetoothの下位部分はつながっても上位のシリアルポートの部分がうまく動いていない感じがする。

 Bluetoothのトラブルシューティング情報の中に「Win10は標準でBluetoothのドライバーを持っている」という文言があり、ここで閃いた。もしかするとBlue Soleilのドライバーがぶつかっているのかもしれない。Ws000009_2

 このドライバーをアンインストールして再度試してみたら、ピンポーン!これがあたりだった。ぴったりCOM4とCOM5がディバイスマネージャーに「Bluetooth標準シリアル」として登場した。不思議なことに、これで、Raspi側のシリアルディバイスのrfcomm0も安定して途中で切れたりすることもなくなった。

 Linux(UNIX)のすごいところは、こういうディバイスファイル(/dev/XXX)が出来れば、コーディングなしに、パイプやリダイレクトという考え方でデータのやりとりができるところである。このあいだのウェブカメラ /dev/videoなどと全く同じである。

Usb

echo "Hello World" > /dev/rfcomm0 

とやれば、Windows側のCOM4にHello Worldが送られる。TeratarmなどでCOM4を開いておけば、このメッセージが出る。

Tertermで、キーボードを打つと、PCからデータが送られてディバイスファイルに貯められ、

cat /dev/rfcomm0

で、Raspiの標準出力(ここではコンソール)に出力される。

と、簡単そうに書いたが、Linuxに凝っていたのはもう20年近くも前のこと。こういう単純な操作すらすっかり忘れていた。暫くはGoogle先生に頼りきりで、夢中になって勉強する。

Ws000007_2  それでも、RaspiにこのあいだのESP8266のリアルタイマークロック(DS3231)のUSBシリアル出力をRaspiにつなぎ、リダイレクトでBluetoothのシリアルを経由してPCのTeratermに時刻が表示されたときは感激した。これで残すはRaspi内のスクリプトの作成である。

RaspberryPi Zero Wのインストール(2/13/2018)
 スイッチサイエンスのRaspi Zero Wは、会員のみの予約販売で一人一個までという厳しい条件である。会員になるのは無料なので会員になって注文した。届くまで暫く待たなければならないだろうと覚悟していたのだが、申し込んだら2日もしないうちに発送の連絡が入った。なーんだ。

 ほどなく郵便でRaspi Zero Wが届いた。早速インストールにとりかかる。RaspiのOSは最近、jessieからstretchというコードネームのバージョンに上がったようだ。今回は今のところ単なるブリッジが用途なので、8GBのSDカードに指定通りカーネルイメージを入れることにする。

 このカーネルイメージのダウンロードは時間がかかった。混んでいるのだろう。200KB/秒程度の速度しか上がらず、1.4Gを落とすのに2時間余りかかった。最初、ウェブ記事を参考にキーボードやディスプレイなしでインストールしようとしたが、どうもうまく動かない。

 Raspi Zero WのHDMIコネクターはミニということもあってディスプレイにつながらない(マイクロは持っているが)。仕方がないので量販店に駆けつけて調達し、画面を見てみたら、画面上のダイアログでキーボードの入力を待っていた。

 こうなれば以前のRaspi3からキーボードを持ってきて先に進むしかない。結局、キーボードなしのインストールは実績を積むことが出来ず、普通のインストールとなってしまった。Normaladpter

 やっと、Raspi Zero Wが立ち上がった。Raspi3に比べれば画面は相当遅く、全体にのったりとした動きだ。CPUの数も少ないし、クロックも低いので当たり前と言えば当たり前だ。まあこれは、こういったガジェット(小物)用だから問題ない。

 このあとはRaspi Zero Wのスクリプトの制作の話になるのだが、紙数も増えてきたのでこのあたりで一区切りとしよう。

| | コメント (4) | トラックバック (0)

« 2018年1月28日 - 2018年2月3日 | トップページ | 2018年3月11日 - 2018年3月17日 »