カテゴリー「CNC」の4件の記事

2018年4月14日 (土)

CNCマシン(3)遅れていたが、遂にプリント基板初切削に成功

 このところ順調に20日程度の間隔でアップしてきた記事が今回は遅れている。道草を卒業してCNCマシンの工作にやっと戻れたのに、ちょっとしたことでまた止まってしまったからだ。それでもその後やっとプリント基板の初切削に成功した。基板も動いて長年の念願がかなった。

前回のBluetoothによるUSBシリアルのワイヤレス化について(3/12/2018)
 本題に移る前に、先の道草の報告をしておこう。USBシリアルデータをBluetoothで送り、CNCマシンをワイヤレスで動かす話である。

 いくつかの障害を越えて、前回までにRaspberryPi Zero W(以降raspi0W)のUSBシリアルポートは、Bluetoothを通して、別のPCの仮想シリアルになった。接続の開始に少しコツがいるが、送受信とも安定して動いた。ただ、少し画面の展開が遅いのが気になる。Grbl_ble

 残るは、実機のテストである。raspi0Wの基板をCNCマシンの横に持ち込んで、USBケーブルをRaspiのホストUSBソケットに接続する。少し離れたPCではBluetoothの仮想シリアルポートをCNC制御ソフトCandle(Grblcontroller)のシリアルポートに指定する。このPCでCandleが動けばワイヤレス化は成功である。

念のため、PCのTeratermでCOMポート(com10となった)を立ち上げる。すると例の、
Grbl 0.9j['$' for help]
>

という、ArduinoのGRBLのWelcomeメッセージが出た。$などのコマンドのレスポンスも正常だ。良いぞ。次はいよいよCandleの始動である。立ち上げたあと、設定で、bluetoothのCOMポートを指定する。

 うーむ、つながったような、つながっていないような。画面では、ジョグダイヤルの画面部分が黒くなり接続しているようだが、反応はない。そのうちエラーメッセージが出て、画面の制御部分がグレーになる。たまにスピンドルが回り出すが、止めることは出来ない。

 こういう制御系でこの安定性ではとても危なっかしくて使えないのだが、根がしつこい性分である。あきらめきれずロジアナを持ち出して、シリアルデータをCNC2418のコントロールボードから採って調べてみた(ストロベリーリナックスがおまけにつけてくれた極小プローブが役に立った) Dsc01408

 その結果、シリアルデータは正しくPCからここまで送られているが、Candleがレスポンスを返していない。懸念したとおり送受信の反応が遅すぎ、タイムアウトとなっている公算が強いことが分かった。

 データの中継をしているRaspiでのPythonプログラムの問題である。プログラム上は単純に来たデータを送っているだけで余分なことは何一つしていない。従って、これをさらに高速化するには全く別のことを考えないといけない。残念ながらこれ以上は無理だ。ここは潔く諦めるべき時だろう。 Grblstart

 ということで、このUSBワイヤレスプロジェクトは、これで一区切りとする。PythonとBluetooth、それにRaspiでのリダイレクトの勉強が出来ただけでも収穫だと考えよう。

PCB(プリント基板)制作の進行に戻る(3/15/2018)
 MDF板の彫刻以来、止まっていたCNCマシンの工作を再開する。Easelで作ったMDF板の切削はとても順調に出来たが、こちらが主力でやろうとしている基板切削は、基板データの制作途中で止まったままだった。

 基板の回路は、これまで幾多の挑戦をしてきたDC-DCコンバーター基板である。KiCADで設計データは大体できていたが、サイズが問題だった。今まで汎用の表面実装基板で作ったものより小さくすることが難しくて、そのままになっている。 Ws000001

  久しぶりにKiCADを立ち上げ、コンバーター基板の小型化を再開する。DC-DCコンバーターは、これまで3個以上の基板制作をやってる。少なくともこれより大きくしたくない。入出力間のピン間隔が20.32ミリ(mil規格で8ピン)、全体のサイズで25X15ミリ以下が目標である。

 一時的に嫌気がさして先に進まなかったのだが、時間を空けたのが良かったのだろう、何故か順調に手が動く。ほどなく目標のサイズにすることが出来た。このソフトに慣れてきたのかもしれない。配線チェック(DRC)も問題ない。最後のステップ、べたアースにして状態を見る。

 あれえ、出力側のピンの周囲のべたアースがおかしい。ここはかなり部品を寄せたところだが、べたアースのパターンは前のピン位置のところを基準に描かれ、このままではショートしてしまっている。

 うーむ、前の部品データが残っていて悪さをしているようだ。そう言えばピンを移動した時、パーツエディターではピンのフットプリントと形状枠がずれておかしなことになっていた。この部品(2ピンヘッダー)を一旦削除し、新しいデータを持ってきたが、事態は改善されない。

 KiCADの不具合に間違いないが、今これにかかわっている時間はない。プリント基板エディターのデータをすべて消去し、回路図エディターからネットリストや部品抽出を再度やりなおし、そっくり基板エディターのデータを作り直した。

 何回目かの手順なので作業が早い。すぐ基板が完成した。べたアースはどうだ。大丈夫だ。余計なものはついていない。前のデータのミスも見つけられたし(片側のピンヘッダーがmil規格でなかった)、KiCADの習得にもなった。言うことはない。そう、所長は究極のプラス思考人間である。

Gcodeを出す工程に移る。聞きしに勝る複雑な工程に四苦八苦(3/19/2018)
 次はいよいよ難関のCAMデータ変換である。いやいや、これがこんなに大変とは思っていなかった。KiCADのガーバーデータ(基板情報を網羅したもの)からCNCマシンの制御コマンドGcodeに移すのは、膨大な手順が必要である。 Ws000002

 ひとつひとつが複雑な手順で出来ているので、沢山の設定が必要なのはわかる。しかし、途中の工程が多すぎる。でも、悪戦苦闘したおかげで今までちんぷんかんぷんだった事情がだいぶ理解できるようになった。ガーバーデータなどというCAM技術用語をそれなりに駆使できるほどになったのは大したものだと自画自賛する。

 面倒な理由は他にもある。KiCADからGcodeを出すには定番のルートというものがなく、多くのやり方があって何を選べば良いのかわからないことだ。素人にとっては複数の手段があることはかえって難しくする要素である。

 しかし、泣き言を言ってもいられない。せっせとウェブサイトを逍遥し、一番楽そうな方法を探求する。検討の結果、FlatCAMが一番主流なようなので、これで先に進むことにする。こういうのは善悪を抜きにしてやっている人の多い道を選ぶというのが一番という「ずるい」考え方でもある。

 FlatCAMの解説は色々あるが、ここあたりが一番詳しくておすすめである。こちらも詳しいが、ちょっとわかりにくい。

べたアースのGcodeが難しい(3/22/2018)

 べたアースの切削がやはり最大の難関だった。境界部分の切削パスは、カッターの切削幅だけを注意していれば良いのだが、べたアースを指定すると、どこにも接続されない島が残る。この残った部分を削除する、いわゆる、べた抜き銅箔部の削除(noncopper削除)手順が思ったように働かない。

 ゾーンを指定すると、その部分の島の部分を削除するパスを作ってくれるはずなのだが、ゾーンの範囲がうまく決まらず、ソフトがハング状態(ゾーンを調べまわっているのか)になったり、とんでもなく広い部分がごっそり指定されたりする。

 結局、KiCADから FlatCAM、さらに CandleのGcodeまで行き来してやっと切削できそうなGcodeデータが揃った。 べた抜き銅箔は、ゾーンではなく切削パスを追加する手順がFlatCAMにあるので、これをせっせと島になった部分に書き込んで、切削データを揃える。

 いやいや、一癖も二癖もあるフリーソフトである。何とか出来上がった。実際のデータをCandleに持ち込んで、エンドミルをつけない運転(カメラリハーサルか)を開始した。ふーむ、予想通り動いているようだ。 Ws000000

 それにしてもこの熱中ぶりは自分でも驚くばかりである。難しいから面白いのか、夢中でデータをいじる。うっかりすると、エンドミルを基板深さまで打ち込んで、いきなり走り出すGcodeを吐いたりするので、油断はならない(あっという間に刃を折っておしまいになる)。

基板(PCB)の初切削は思ったより順調。しかし穴あけができない(3/25/2018)
  リハーサルがうまく行ったので、本番の切削に進む。最後の工程である。基板切削なのでZ軸の補正をするheightmap機能が活躍する。切削の範囲は小さいのでheightmapのデータ収集は簡単に済んだ。 Dsc01411

 いよいよ、Vカッターを付けてPCB(プリント基板)の切削である。最初はカッターの位置をきっちり基板にあてなかったこともあり、遠慮めの切削となって銅箔を削るところまでカッターが行かなかった。

 切削の深さを少し増やし、Z軸の原点をさらに近づけた2回目は、うまく行ったのだが、掲載写真の通りY軸のステッピングモーターが最後の最後で空回りし、外周の切削が基板を横切ってしまって失敗した。3回の試行でほぼ考えているような基板が削れた。スピンドルは全速ではなく60%で音は殆ど気にならない。 Dsc01413

 切り離しまで行って重大な誤りに気付く。ドリルビットに換えようと手持ちのプロクソンのミニリューターのビットをとりだしたら、何とここのシャンクサイズは3.0ミリだった。CNCマシンは3.175ミリである。3ミリのコレットチャックの持ち合わせはない。

 やれやれ、このドリルビットは使えないのか。これは大誤算である。ドリルビットはこれを流用することにしていたので何の用意もしていない。あわててアマゾンで適当なドリルビットのセットを発注する。アマゾンだからすぐ着くと思っていたが送られてきた書類の到着予定日を見て目を疑った。

 何と、10日以上もかかるという。アマゾンだけど販売している会社は中国だった。うーむ、注文の時に良く調べるべきだったが、もう遅い。まあ、余り慌てても仕方がないので、到着までやり残していた工作で時間をつぶすことにする。

中国からドリルビットが届くまで、他の工作で気を紛らわす(3/27/2018)

 やり残している工作はいくらでもある。まず、このあいだESP8266でワイヤレス化したロボットアームの暴走抑止である。制御系の電池がへたるとアームが暴走するのを止めたい。このあいだ全てのモーターが動き出して、大騒ぎになった。

 この原因はわかっている。これまで参考にさせていただいたプログラムがもともと負論理だったが、これをそのままにしたので、3V以下でも動くモータードライバーに0のデータが送られて、すべてのモーターが全開になるというオチである。

 これを逆にするソフトの改修である。サーバー側の改修だけで済むはずだ。でも気持ちが悪いので、クライアント側のリモコンからもすべて負論理から正論理に換えることにする。作業は面倒なだけで単純な作業だ。

 ところが動かしてみたら全く不審な動きをする。動かそうとする部分が動かなくて他のアームが動く。えー、そんな器用なことを誰がする。あらためて慎重に工程を確認した。サーバー側のESP8266のコンパイルがテスト用にだけ済んで、本番のロボットアーム基板に換装するのを忘れていたことがわかる。 Dsc01415

 やれやれ年は取るものではない。コンパイルのときは、必ず最初のメッセージなどにコンパイルの記録を残しておくという鉄則を怠った咎めが早速結果に表れた。自戒、自戒である。

 次は、ブレッドボードに組んであったクライアント(リモコン側)をまともなケースに組み込む工作である。久しぶりにサーキュラーソーを持ち出して、基板の端を切り、ケースの上蓋にタクトスイッチの穴を開ける。これはこれで面白い。 Dsc01416_2

 電源スイッチは、最初手持ちのスライドスイッチですますつもりだったが、ウェブで小さなロッカースイッチを見つけて、急に気が変わり、Aitendoで沢山のロッカースイッチが売られているのを発見し、急遽、足を延ばして買いに行ったりした。

 こういうものは実際に手に取って調べるのが一番確実だからだ。Aitendoはウィークデイだったが、前にも増して客が多い。品数も増えたようである。付近には、全く別の電子部品の小売店ができたりして町が何となく以前と雰囲気が変わってきた印象だ。 Dsc01418

 やることがなくなって、レーザーカッターの準備まで始める。お馬鹿なことに買ってあったレーザーは0.5Wの一番小さいレーザーユニットだった。慌てて5.5Wの別のユニットを注文した。$100以上する。道理で最初に払った金額が小さかったわけだ。

届いたドリルビットは初回でポッキリ。スピンドルが回っていなかった(4/8/2018)
 ビットが届いた。基板に両面テープを貼り(基板カットまでしてしまったので)、マシンにセットして、以前の合わせ位置を頼りに位置決めをする。ジョグを動かして合わせるが、目視ではなかなか合わない。

 リハーサルを何度も繰り返し、何とか許容範囲に納まったので、意気込んで切削開始ボタンを押す。あれ、スピンドルが回らない。えー、という間もなくドリルビットは目的地まで動いて、静かに下がって行き、リセットスイッチを押す暇もなく、たわんだところでソフトはエラーで緊急停止した。 Dsc01414

 ステッピングモーターが高負荷で止まったらしい。リセットなど押す余裕など全くなかった。真っ赤なエラーマークを解除し、祈る気持ちでZ軸を上げたが、残念ながらドリルビットは数ミリのところで折れていた。

 スピンドルが回らなかった原因は、Gcodeではない。リハーサルのときに用心してモーターの回転を止めるため接続コードをはずしてあり、それを開始前に確認するのを怠った、誠に単純なチェックミスである。 Dsc01419

 まだ、ひとつも穴を開けないうちにドリルビットを失う。情けなさに何故か思わず笑いがこみあげてくる。やれやれ、あれだけ用心していたのにこのざまだ。たかだか一本¥100のビットだが、このあいだ1 万円以上入った財布を落とした時よりはるかにショックが大きかった。

 それでも気を取り直し、ビットを取り替えて(0.6 -> 0.5mm)工作をすぐ再開する(俺も懲りない男である)。今度は全速でスピンドルモーターを回しながら再開。無事、穴あけに成功した。それはそうだ、穴開けといっても今度の基板はわずか6か所である。 Dsc01421

 ただ慎重になりすぎ、穴あけの深さが足らなくて全部貫通していない。基板は作業盤からはずしてしまったので、リューターで、0.5mmの貫通と、ピン穴用の1mm穴あけをやる。これで、すべての工程は終了した。当研究所の初の基板切削は、ほろ苦い出発となったが、とりあえず一段落である。

一気に実装。よーし、一番性能が良いぞ(4/9/2018)

 基板切削終了のところでブログの記事にしようと思っていたのだが、部品のハンダ付けを試しに始めたところ、止まらなくなった。プリント基板は迷うことがないので次から次に進む。既に部品はビニール袋にすべて用意してあったのでなおさら止まらない。12個の部品実装はあっというまに終わった。 Dsc01422

 ここまできたら動くのを確認したい。これも我慢できない。ブレッドボードに基板を差し(これが使えるようにmilピッチにこだわった)、早速、これまでの基板とダミーロードのセメント抵抗も持ち出して実験を開始する。

 あれ、電圧が一定しない。一旦上がった出力電圧は、そのまま下がってしまって電源電圧と同じになる。早速、実体顕微鏡で仔細にハンダ付けをチェックする。すぐ不良個所が見つかった。電圧調整用の半固定抵抗のピンのひとつがどうもくさい。試しにピンセットで強く押すとピンが外れた。ここをしっかり固定しなおす。 Dsc01423

 よーし、所定の電圧が出た。さあ、これからが本番だ。ダミー抵抗で負荷をかけてテスト開始。これまでの自作基板では、250mAくらいまでは良いのだが、400mAを越えると出力が9Vを維持できなくなる。(7V程度に落ちる)

 さあ、こんどのやつはどうだ。うむ、250mAではこれまでのものと同様全く問題ない。400mAはどうか。やった。良いぞ。9Vに近い8.8Vで頑張っている。

 市販の大容量をうたったDC-DCコンバーターでも400mAを越えると、この程度の電圧降下はあるし、自作にしては上出来である。胸を張ってブログに報告できる。 Dsc01424

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

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年2月 2日 (金)

CNCマシン(1) 初切削の目前で電源故障。代品はすぐ届く

 予想通り、がた老AVR研究所のブログはCNCマシン導入一色の制作記となった。久しぶりの大型プロジェクトである。今まで夢でしかなかった表面実装チップを変換基板なしに直に実装する基板が自前で出来るのである。

 自分は化学系ではないので基本的に薬品(特に液体)を使うのは苦手で、どうしてもプリント基板が必要な時は、海外発注で何とかすませてきた。それが、自宅で自由に銅箔面を削って基板を作れるのである。

 しかも、今度のCNCマシンはかなり強力な(5.5W)レーザーカッターまでつけた。安いので、はずみでポチったのだが、これを使えばこのあいだのロボットアームもフレームから自作できるかもしれない。夢は限りなくふくらむ。ただ、実際に動かすまでやらねばならないことは数限りなくある。

 以下は、この2週間の活動記録である。残念ながらまだ切削はできていない。

ダイヤルゲージでフレーム面の水平を調べる(1/16/2018)
 ダイヤルゲージをスピンドル軸に固定し、水平レベル(Z軸)を測定する。何のために買ったのか思いだせないダイヤルゲージだが、取り出してみたら、ウェブに出ているみら太氏のような高級品ではなく最小読み取り目盛りが0.01mmの普及品だった。

Dsc01313  スピンドルへの固定は、手持ちのあり合わせですませる。当て板に使っていた蒲鉾板の端切れに6ミリの穴を開け、そこにダイヤルゲージを固定し、木材接着用のクランプで板をスピンドルモーターの空洞を使って固定する。簡単に固定できた。

 ジョグで工作面上を動かし測定する。工作面(作業盤)はV-slotなので溝がある。Y軸の移動のときはダイヤルゲージがそこで引っかかり、送りねじが空周りを始めたりして慌てる。モーター保護のためカップラーの締め付けを強くしていないためである。リミットスイッチを早くつけなければ。

 測定の結果、X軸方向が結構歪んでいて1ミリ以上の誤差があることがわかった。単調変化なので、これはXZ軸のフレームの左右が傾いているからに違いない。一方、Y軸の誤差は微妙だ。全体では0.3ミリ以下なのだが、最初の1/4部分で0から0.3に上がり、その後、変化しない。

 この理由はわからない。組み上げる時、動きをスムーズにするために作業盤の裏の軸受けひとつに、薄いスチロール板(0.2mm)を挟んで締め付けているが、これが原因とはどうみても考えられない。工作面のV-slot盤そのものが曲がっているのかもしれない。

 まともな水平出しをしていないので、測定はこれ以上綿密にやらなかった。ただ、問題が残っている。歪みがわかったあとの対策である。X軸は、もういちどフレームのブラケットを緩めて調整する余地が残っているが、Y軸は原因がわからないので直しようがない。シャフトが歪んでいる?(まさか)。

製図板でレベル出し。けっこう歪んでいた(1/17/2018)

 プロが使う水平出しの工具、定盤(じょうばん)はとてもじゃないけど手が出ない。でも何とかしようと安物のべニアの製図板(それでも¥5000した)をウェブで注文していた。これが来るまで少し日数がかかり、今日届いた。

 早速、出来上がったマシンのフレームを緩めてスピンドルモーターのついたXZ軸一式をはずし、床に置いた製図板に水平面のフレームを置く。Y軸のステッピングモーターの軸もはずし、フレームだけにして4隅を押しながら、がた付きを見る。

 結構がたついていた。コーナーブラケットを一旦全部緩め、どの隅を押しても他が浮かないことを確認しながら、少しづつ締めて行く。フレームのがた付きがなくなったら、Y軸の軸受けもすべて少しゆるめ、滑りを確認しながら、軸受けそのものを慎重に締めて行く。

 滑りは以前に比べて大幅に改善されていた。しかし、軸受けの固定を強めて行くと、必ず滑りが悪くなる。軸受けそのものの精度が余りない上に、固定はV-slotの溝で自由度があるからだ。これからの調整は完全に「かん」の世界である。

 幸い、たまたま3つまで締めて全く問題なく最後の4つ目でおかしくなったので、この軸受けを紙やスチロール(クリアファイル)板をさらに足して少しづつ締めて行くと、殆ど変わらない滑りが得られた。もしかすると、このひとつを遊ばしておいても精度に問題がなかったのかもしれない。

 そろそろ素材を用意する段階だ。仕事の帰り、久しぶりに秋葉原に寄り、買い物をした。これまで手をくわえて見ていた生基板を千石電商で両面と片面基板を1枚づつ入手する。秋月は10枚単位でしか売っていない。色々試したいので少量づつ買うことにした。ついでにリミットスイッチ用に超小型のマイクロスイッチ(¥100)を買い増した。

 最近、千石は店舗を大幅に統合し本社の売り場階が増えたが、どうも慣れなくていけない。スイッチとコネクターなどは同じ階ではなく、地下と2階に分かれてしまって混乱する。所長にとっては全く縁がないエレキギターの部品が結構大きな面積を占めているのも気に入らないところだ。

Ws000006 heightmapという機能があった。早速、工具を作る(1/19/2018)
 当研究所のCNC導入の大きな目的は、薬剤を使わないプリント基板の切削にある。ほとんどの工作は基板制作になるはずなので、工作面の平面出しは薄い銅箔を削るので非常に重要だ。ただ、買ってきた生基板を見ていると、この板だけでも結構歪んでいるではないか。

 これを平面にするのは大変だなと感じていたのだが、ウェブの中でみなが話題にしているのに、最初その意味がわからなかったheightmap機能というのが、これを解決するカギであることを知った。

 Z軸は、切削の前に、このあらかじめ採っておいたheightmap情報を元に補正し、常に一定距離で削れるようにする仕掛けである。これなら少々元が歪んでいても削り出す深さは一定に保てる。とても合理的な方法だ。

 基本的な平面出しが一段落したので、早速、ウェブサイトを参考に見よう見まねでA5ピンを使ったheightmap機能の実験に取り掛かる。Z軸プローブは、商用AC用の1.6mm単線の切れ端を使う。被覆を入れるとちょうど3ミリ、エンドミルの口径にピッタリである。

Dsc01316  やすりで切断面を磨くとちょうど良い感じである。最初、プローブケーブルをひとつ隣のピンに刺して、Zプローブを実行させ、生基板にゴリゴリ言いながらプローブが刺さったときも銅なので大きな被害はまぬがれた。

 間隔や、広さを指定し、スタートボタンを押すと、生基板の上をスピンドルの先端につけたプローブが少しづつ動いて距離を測っていく。順調に進んでいるようだ。見ているだけで楽しい。画面に少しづつ結果がカラーで表示されていく。よーし無事終わった。

 測定結果は、フレームの水平出しをやったおかげでダイヤルゲージの時より大分良くなった。それでも0.3ミリ程度の誤差があるようだ。この程度なら補正出来るだろう。ついでに、マーティ氏が経験したA5端子のESD対策のダイオードを基板にハンダ付けする。

Normaladpter  確かにグランドから浮いたICの端子を長く引き回すのは静電気を引き込みやすくICそのものを壊す危険がある。残るはレーザーカッターの時の12V電源のグランド対策だが、レーザーはまだ動かさないのでこれは後回しにする。いやいや先達がすべて問題を先に見つけて指摘してくださるのでとても安心だ。

 レーザーカッターも、厳密には光の焦点の関係でZ軸にうるさいはずだ。しかしheightmapがこれを解決してくれる。出来上がったheightmapは色とりどりで美しい(変化があるということで本当は良くない)。誤差は0.3mm以下になったが、素材の固定は結構難しい。相当、余白が必要だし、余り強く締めると反って歪みが出てくる。

 このところホームセンターに行っては、集塵装置や、防音ボックスを物色している。しかし、これという気にいったものは見つからない。まあ、地下のオープンスペースが作業場所になると思うので、そう神経質になることはない。ここでは、これまでに派手に音や粉塵を出している。

いよいよ初切削かと意気込んでいるときに思わぬ障害(1/21/2018)

  生基板も買ってきたし、そろそろ試しの切削を決行しようかと思ったとたん、電源が突然おかしくなった。電圧が全くでてこない。少々ケーブルをいじるが全く反応なし。みら太氏のところにも不良品が最初行っているので余り驚かないが、とにかくステッピングモーターが回らない。電圧は0V。

 そういえば、テストの時、スピンドルモーターが連続ではなく間歇的にしか回らないので最初はそういうものだ思っていたが、やっぱり問題があったのだ。ACアダプターの故障に間違いない。24V、5.62Aという妙な定格である。

 先方にクレームの電子メールをとりあえず打ったが、返事はすぐには来ない。とにかく先に進みたいのでウェブで代替品を探す。ところが、頼りにしている秋月には、24Vで4A以上は、アダプター形式のものはなく本格的な電源装置ユニットになる。しかも¥5000近くする。

 とにかく電源が来なければ先に進めない。もっと安い所はないかさらにネットで調べる。すると車のバッテリーの充電用(トラックは24Vらしい)のAC電源ユニットが異様に安いのを発見した。安いのは¥2000台からある。一応みな安定化電源をうたっている。

Normaladpter_1_2  恐らくこれも中華製品で、CNCマシン同様、どこかのオリジナルの製品がコピーされ市場に出回っているようで、みな恐ろしく似た形をしている。あまり安いのは危ない(代替品がまた壊れたのではしゃれにならない)ので、少し値段の高い¥3600のものにする。

 CNCキットの販売元から、早速レスポンスがあった。実際に電圧が出てこないという証拠の写真が欲しいという。こんなもの必要ないと思うが(いくらでも演出できる)、まあ求めに応じる。LINE風のやりとりが面白い。

Dsc01317  しかし、このクレームシステムは合理的だ。通常のメール以外に、発注番号をキーにしたLINE風のやりとりがウェブサイトの掲示板として出来ており、写真も送れるし、なにより窓口が一本になっているので混乱することがない。

KiCADに挑戦。こいつがまた難物。何とか1枚できたけれど(1/25/2018)
 車用品のAC電源ユニットを発注はしたもののこれもすぐ来るわけではない。はやる心を抑えきれず、近くのホームセンターで60X30(cm)のMDF板(5ミリ)を3枚に切ってもらって練習に備えたり、プリント配線のデータの準備をしたりして電源が来るのを待った。

 プリント基板の切削も良いが、普通の加工しやすい素材で本来のフライス盤の機能も確かめておきたい。どうせならソフトについているサンプルの簡体字の漢字パターンでなく、自前のデータを作りたいと、適当なソフトを探したが、これはとてもじゃないが簡単には準備できないことがわかる。

 Fusion360というのが定番のようで、マーティ氏やみら太氏のブログには詳しく出ているが、恐ろしく機能が豊富でちょっとのことで使いこなせそうにない。それにしてもソフトの世界はこのところ様変わりだ。非営利ならこのソフトが一年単位で無料で使える(更新可能)。昔なら数十、いや数百万円はしたであろう3Dモデリングソフトが自由に使える。良い時代になったものだ。

 基板CADの定番EAGLEは直接Gcodeを吐き出せるというのだが、今さらEAGLEを勉強しなおすというのもちょっと気が重い。もう少し簡便なCADプログラムはないか。調べるうちにKiCADというのがフリーソフトでは最近非常にもてはやされていると聞いたのでインストールしてみた。

 ところがこいつが意外に難物だった。ユーザーインターフェースがちょっと変わっているのか、どうも操作が慣れない。操作勝手はむしろEAGLEより使いにくい。まあ、フリーソフトだからということもあるが、なにかハングするようにソフトが止まるので面食らう。

Ws000008  やっとのことで、トランジスター1石でLEDをドライブする回路を作り、何とかべたアースで基板を作ることまで成功した。いや、これはちょっと大変だ。

非金属用のZ軸プローブを作ってheightmap(1/27/2018)
 車用品の店からAC電源ユニットが届いて、水平出しのテストを継続する。ただ何度もやってさすがに飽きてきた。懸念した通り生基板をクランプで強く締めても、やはり基板はかなり歪んでいる。当て板をしいて測りなおすが、あまり効果はない。

 それはそうと、制作の参考にさせてもらっているマーティ氏のCNCにかける熱意は素晴らしい。みら太氏は他に大型の二酸化炭素レーザーカッターを自作されているベテランで、このところ中華CNCの記事は少ないが、マーティ氏はたくさんの製品をこの中華CNCで制作されておりとても参考になる。

Normaladpter_5  このなかでスピンドルモーターの回転数測定で古いPS2マウスから部品を集めたという記事に触発されて、こちらもジャンク箱からいくつもあるマウスを取り出して分解したら、使い易そうなマイクロスイッチが3つも入っているのを見つけた。

 ちょうどMDF板を買ってきて、非金属用のheightmapを出したいと思っていたところだ。これでZ軸プローブを作ることを思い立った。アクリルの端材にマイクロスイッチの2ミリの穴をあけ、スピンドル軸は3ミリの長めのビスで代用できる。

Normaladpter_4  実は写真では良くわからないが、アクリル板の接着で大失敗している。瞬間接着剤の乾きが早く、天板のアクリル小片が正確に固定されていない。2回やったが2回とも不満な結果。もっとも、接着の効果を試すのには役に立った(べらぼうに接着力は強い)。

 テストする。うまく動いた。ただ、マーティ氏が指摘した通り、スイッチのヒステリシスは結構ある。でも、heightmap測定では一方向でしか測っていないので問題ないはずだ。これでハード関係の整備は殆ど終わった。あとは、切削データの準備である。

AliExpressから代品到着(2/1/2018)
 皮肉なことに、車用品のACアダプターが届いて数日もしないうちに、AliExpressから新しいACアダプターが届いた。早速、梱包を解く。出てきた製品は前の製品と全く違うタイプだった。容量も6Aに増強されていた。勿論問題なく動いた(写真右が代品)。

Normaladpter_2  いやみっぽく「故障品は返送しようか。送料着払いで」とメールしたら「not much reseach value」なので要らないと返事が来た。まあ、中国では良くあることなのでいちいち原因解析などしておられないのだろう。それにしても、クレームのメールを出したのが20日で、届いたのは30日、まるで日本の通販並みの速さだ。

 しかも、とても誠実だ。中国だといって馬鹿にしてはいけない。向こうの英語は正直言ってかなり怪しい感じだし(まあ、自分も余り褒められたものではないが)、発送前にテストしておけばわかった不具合だと思うけれど、少なくても担当の女性(名前がElizabethなので)のトラブル収束に向ける誠意を感じた。やはり中国恐るべしである。

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

2018年1月15日 (月)

遂にCNCマシンキットを発注。細かい工作をしながら待つ

みなさま遅まきながらあけましておめでとうございます。
 おかげさまでこのブログは発足以来10年にもなりました。最近は記事の更新間隔が広がり、アクセス数も漸減しておりますが、自分として電子工作は定年後のライフワークとして欠かせない活動のひとつとなっています。

 このブログも少しは人の役に立っていることを感じる時がたまにはあり、自分の好きなことで人に喜ばれることは無上の喜びでもありますので、止める気は今のところ全くありません。この自己満足を満たしつつ、細く長く続ける所存でありますので今後ともよろしくご支援のほどを願っております(コメントがとても励みになります)。

 さて、今年は表題にありますように、とうとう念願のCNC(コンピューター制御)工作機の開発に挑むことにしました。当研究所の究極の目標のひとつでもあります。年末からこれまでの活動経過を以下にご報告します。

年末に意を決してCNC工作マシンに取り組むことを決定(12/27/2017)
 遂に中華CNCフライス盤キットを発注した。これまで欲しい欲しいと思っていたコンピューター制御の工作機械である。

Dsc01311_2  フライス盤とは高速で回転する刃物(ビット)で素材を切削し部品を作る機械のことで、プロの世界では、古くからコンピューター制御で自動的に作ることが当たり前になっている。最近はアマチュアの世界でも普及が広がってきた。

 しかし、ちょっと前までアマチュアが手の出せるCNCフライスは、どんなに安くてもキットで10数万円した。自作するのはもっと大変だった。市販のミニフライス盤を改造するにしても、相当な工作の熟練度と経験を持たないと近寄れない世界であった。

 それが中国製のCNCフライス盤キットならフレームからモーター、制御基板など全部合わせて、なんと数万円で手に入るのだ。ネットには続々と制作記が掲載され、評判も悪くない。

 情報が豊富になったので、中華キットでも不安がなくなってきた。これはもう作るしかないだろう。この制御コンピューターがArduinoというのも時代を感じさせる。やってみたいのは、プリント基板制作である。いわゆる乾式プリント基板である。

 発注先は、この前のオシロと同じAliexpressに決めた。沢山のショップが同じようなものを売り出している。良く見ると少しづつ微妙に違っていて同じではない。これを比較するサイトもあったりして選ぶのに参考になる。先月あたりから、色々物色して、多数の人が選んだCNC2418で、買うところは、一番安心できそうな、ここに決めた。

 発注の時、ついでに5.5Wのレーザーユニットもつける。フライス盤がCNCレーザーカッターに早変わりだ。3ミリくらいまでのアクリル板の切り抜きが出来るという。これまで実用品にこだわってきた電子工作だが、こんどのプロジェクトは究極の実用化である。 Ws000003

 ロボットアームなど、いくらこだわっても所詮は玩具である。一方、CNCマシンはこれをもとに、プリント基板や、ケースを自作できる。実用という意味では、「しかけ」を再生産する「しかけ」ほど実用的なものはない。

 価格は何とレーザーユニットも含めて$148、送料$50、あわせて$200たらず。関税がかかるにしても、日本円で2万5000円以下である。本当にこんなに安くて良いのか、画面の前で一抹の不安がよぎる。

 しかし、ここまで来て引き返すわけにもいかない。自分ひとりで興奮しながら、深夜、購入のボタンを押した。手元に届くには暫く日がかかりそうだが、楽しみに待つことにしよう。

参考にさせてもらったサイト。
CNC制御の自作レーザーマシンや、ルーター(フライスまで行かないか)マシンの全体俯瞰には、次のサイトがおすすめ。
自作CNCマシン・レーザーカッターについて

中華CNCマシンの制作や調整は以下の2つのサイトが細かくて懇切丁寧。必見である。
みら太な日々

マーティーの工房日誌

中華CNCマシンの比較は以下が詳しい。結局ここと同じものを選択。
念願のCNCフライスをついに注文……ただし、激安の中華CNCだがな

(無断引用ご容赦)

秋月電子で安いLDOを見つけた。秋月のLDOが勢ぞろい(12/29/2017)
 キットが来るまでには日数がかかる。調べたいことは調べつくした。何か手を動かしていないと落ち着かない性格になっている。ということで、これまでやりのこした細々とした工作で、気を紛らすことにした。

 ロボットアームのリモコンは、まだブレッドボードの上の仮ごしらえである。いずれケースに入れるつもりだが、せめて電源だけでもバッテリーにしようと、部品箱にころがっているリチウム電池を取り出した。

 リチウム電池は、満杯のときが4.1Vで、公称が3.7Vだ(危険水位は3.6Vでこのあと急激に下がる)。3.3Vディバイスのためには、いわゆるLDO(low drop out)3端子レギュレーターの出番である。

 当研究所には、既に沢山の3.3V用のLDOレギュレーターが揃っている。レギュレーターによっては、発振したり、なかなか定電圧にならなかったり微妙にやっかいな部品である。しかも、過去にはレギュレーターを2つも焼損させて「復讐」を受けたりしている。

 最近のディバイスの電源電圧は3.3Vが多い。RaspberryPiやESPシリーズなど、これらは消費電流が多くて、電源の容量不足で問題が続出し、ネットが一時この話題で大いに賑わったことがある。

 このとき、ねむいさん達が推奨していた3.3V用の強力なレギュレーター、ADP3338が、秋月でも売り出されているのを発見した。しかし高い。ひとつ¥300もする(DigiKeyではもっと高かった)。

 どうしようかなと、さらに秋月サイトを眺めていると、LDOのジャンルで、日本無線のNJM2845というチップが目に止まった。こいつは最大出力が0.8Aと少し低いものの(ADP3338は1A)、最小ドロップ電圧が0.18Vという優れものである(ADP3338は0.19V)。価格はなんと1/6の¥50。これは買うべきだろう。

Dsc01310  それに、LT1963というLDOも売り出されていた。これは小さいけれど1.5Aも出せる強力なLDOで、ねむいさんがかなり前に推奨していたことがある。しかし、これも少し高くひとつ¥200もする。でも何となく気になったので、暮れの秋葉原に出て、これら話題のLDOをまとめて買ってきた。

 買ってきてとりあえずNJM2845のブレッドボード用のミニ基板を作る。こういう工作は楽しい。簡単にできた。早速、ロボットアームのリモコンボードに使ってみる。うむ、これまで、LD3985や、AMS1117では、電池電圧が3.9Vを下回るとリセットを繰り返して動かなくなったリモコンが、快調に動く。

Dsc01308  まあ、AMS1117は最小ドロップ電圧が1.0V、LD3985は、最大出力電流が0.15Aといずれもスペック外になるのだが、同じLDOと銘打っても、こんなに差があることに驚いた。ADP3338ならもっと安定するのだろうが、これは先のお楽しみということで先に進む。

ESP8266の省電力化はうまくいかない(12/31/2017)
 ロボットアームのESP8266は送受信とも電池駆動である。ネット機器は一般に大飯喰らいで、Xbeeなどは数十mA、WiFiのXbeeなどは百mAを越す。ESP8266でもWiFi接続時は同じくらい消費する。そのため、当然、電池駆動などの時のため節電モードが用意されている。

 ESPシリーズ(ESP8266やESP32)はこれまで動かすことに専念してきたので、省電力化の機能は横目で見るだけだった。手が空いたので、少しは省電力化しようと調べてみた。このサイトの情報が良くまとまっている。

 それによると、3つのモードのうち、使えそうなのはlight sleepである。ただ、今度のロボットアームは、送受信とも常にネットで相手の状況を調べている。こういう常時ネットと交信するシステムでは余り効果がないように思われるが、こればかりはやってみないとわからない。

 省電力の設定そのものは、リセットを伴うdeep sleep以外はソースコードに手を入れる必要は殆どない。単に設定のAPI関数、 wifi_set_sleep_type(LIGHT_SLEEP_T) を入れるだけである(モデムスリープはMODEM_SLEEP_T)。

 deep sleepはプログラムがリセットされるから、プログラムの構造を変える必要があり、立ち上がりのトリガーをコーディングしなければならない。今度のプログラムではこれを使うことが出来ない。

 送受信とも、このlight sleepでテストしてみた。結果は全く影響がなかった。sleepを入れる前、受信側(サーバー)は交信前で、93~98mA、送信側(リモコン側)は、108mA程度で、交信が始まると、受信側が120mAに跳ね上がり、送信側も、134mAに上がる。

 sleepを入れると、受信側は、交信中で136mAとかえって悪化してしまう(送信側は変化なし)。休止するための何らかのオーバーヘッドがあるのだろう。プログラムの構造を考えずに、こういうステートメントを入れても効果がないことが良くわかった。

 測定は、電源に0.5Ωの抵抗を挿入し、両側の電圧をオシロで100mV/divで測った。今度のオシロは測定機能も充実していて、平均電流や、RMS(二乗平均)値も出してくれる(上記数値はすべてRMS値)。

 さらに、測定量が多いので、時間軸を拡大してもちゃんとデータを持っている。前のオシロでは、持っているデータが少ないので、少し詳細を見ようと、時間を広げると、すぐ波形が凸凹になって絵にならなかった。

 落ち着いた大晦日。電流の計測で、日がな、ゆったり時を過ごす。東京では雪が降ったそうである。こちらは雨だったと家人が言う。都心の方が雪というのも面白い。

めげない性格。何とかクライアント側を半分にする(1/4/2017)
 何事もなく新年を迎えた。近くの神社に初詣に行き、箱根駅伝を見てしまうとやることがない。CNCキットは正月中なので来る気配はない。で、年末挫折したESP8266の省電力化をあきらめないでしつこく続けることにした。

Dsc01305  要するに、断続的な観測以外の用途では、deep sleepは使えないし、無理に入れてもリセットなどで結果としてトータルとしては電力増の可能性がある。light sleepもネットが動いているときは殆ど無力だ。

 従って、UDPパケットがくるのをひたすら待つサーバー側は、省電力にすることは難しい。調べる間隔を延ばせば、反応が遅くなるだけだ。残るはクライアント側のリモコンスイッチのところである。

 少なくても、スイッチを押すまでは送信を休止していれば、少しは減るのではないか。再び、オシロに火を入れて測定開始である。まず、何もしない時の電流量は、先に紹介した通り100mAを越えている。一定の間隔(17ms)で常時パケットを送る仕様なのでこんなものだろう。

 そこで、スイッチを押したときのみUDP送信をするようにソフトの修正を行った。これがはまったのである。うまく動かない。電池が不足してコアダンプを始めたり、memcpyの標準関数がおかしくなったり、さんざんな目にあう。

 久しぶりの疑似コーディングで考え直す。スイッチを押した後の処理が難しい。うまく止まってくれない。フラグやスイッチはなるべく使いたくない。苦労の結果、前の状況を残しておくロジックで省電力化に成功した。電流量は60mAと半分近くになった。

 オシロで調べたところでは、最初、フルにネット接続をしているようだが、暫くすると休止モードに移行し(ベースの電流ががくっと下がる)、消費電流が低くなる。しかし、WiFiネットの継続のための内部のヘルスチェックの交信が入るようで、たとえアプリで送信を止めていてもこれ以上、下げるのは無理なようだ。

遂にCNCマシンキットきたー(1/9/2018)
 そうこうするうちに、思ったより早く暮れに発注した中華CNCマシンキットが到着した。AliExpressは注文確定から入金報告、出荷の有無などを逐一メールで報告してくれる。運送会社はEMSでこれも荷物の状況をかなり詳しくサイトで確認できる。

 ついでに発注したレーザー光線防眩ゴーグルは、本体より早く日本に到着していたようだが、受け取ったのは同時だった。外出中に家人が受け取ったのだが、関税は全く請求されなかった。送り状には、¥744と明記があるのだが、配達員は何も請求しなかったという。忘れたのかもしれない。Dsc01306

 荷物を記念撮影する。写真で見ていたのだが、思ったより小さい。しかしかなり重い。梱包も中国からにしては、歪みも殆どなくきれいな荷姿だ。さて、これから苦難の道が始まる。しかし、これは楽しみでもある。

 しばらく当研究所のブログはこの話題が続き、電子工作どころではなくなるが、まあ、AVRと銘打って今は殆どAVRをいじっていない。気儘にやることを勘弁して頂きたい。さきほどの先人たちの克明な制作記があるので何の不安もなく作業を開始できる。みら太さんの制作記事が一番詳しくてわかりやすい。

 梱包を解く。ありゃ、レーザー光線防眩ゴーグルが添付されていた。機材そのものは彼のキットとは微妙に違うところがあるが、大筋では同じ。X軸の動きが、彼のは渋かったようだが、こちらは、全く問題なくスムーズだ。反対にY軸がいまいち動きが悪い。レベル出しが必要なのかも知れない。

何とか動いたが、これからが大変(1/14/2018)
 残念なことに、我が家には水平を出せる定盤のような設備はない。床のフローリングも水平なようで、細かく歪んでおり、スマホの水平レベルアプリで調べても、これを頼りに水平を出すのは意味がなさそうである。

Dsc01307  実は当研究所では、ずいぶん昔、みら太さんが使っているダイヤルゲージを購入している。何のために買ったのか今になると思い出せないのだが、これを使えば相当精密な水平レベルを実現できそうだ。しかし、問題はフレームのレベル出しだ。色々考えた末、べニアの安い製図版を買って、ここで水平にすることにした。ネットで発注したが、到着まで10日近くかかるとメールが入った。

 待っていられないので暫定的な水平出しで我慢して、組み立てを急ぐ。4日ほどかけて無事完成した。組み立て過程は、これまでの複数のサイトの説明で十分なのでここでは省略する。最初は、このマシンの主要枠材、v-slotの取り扱いに難渋したが(後入れナットがうまく入らない)、これも慣れてくるとだいぶ楽になった。

 フレームが組みあがった。ステッピングモーターと、送りねじの接続で一苦労する。送りねじの長さが、X軸とY軸で微妙に違い、最初、逆につけてつながらない、つながらないと焦っていたり、基板の取り付けでフレームがずれているのに気が付かなくて(ここのずれは他と関係しない)、もうちょっとで取り付け穴を広げそうになったり、ドタバタはあったが特に大きな問題はなく組みあがる。

 電子回路の配線は、単にモーターのケーブルを基板につなぐだけである。あっけなく、終わった。さあ、今度はソフトの準備だ。実は、ソフトのインストールが一番てまどった。付属のDVDからPCに持ち込もうとするとエラーが出る。しかも英文用のGRBLはDVDで立ち上げようとするとアプリケーションエラーで止まる。

Dsc01312  あちこちいじったが、中文用のGRBLがDVDから動くことがわかった。紹介ネットサイトでおなじみのgrblControlの画面が出た。とりあえずこれでモーターの試運転まで行くことにする。USBをつないでUARTを接続、画面が変わった。

 動いたー。jogという手動のボタンで上下左右に動かす。いやあ感激、感激である。GRBLインストールのトラブルは、原因究明より大もとのサイトから正式のソフトをダウンロードしてめでたくHDDから起動できることを確認した。なんと全てオープンソースなのだ。これが中華製品躍進の理由かもしれない。

 とりあえず動いたというだけだが、ブログはこのへんで一段落しよう。残るは、防音ボックスと集塵装置の整備である。Fusion360のための64ビットOSの準備も待っている。ひょっとすると、このあたりの整備の方が本体より高くつくかもしれない。

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

その他のカテゴリー

Arduino | ARM | AVR | CNC | EAGLE | Edison | ESP32 | esp8266 | FPGA | FreeRTOS | Node | Processing | python | Raspberry | STM8S | Xbee | 電子工作