Fusion360 CAMポストプロセッサのカスタマイズ


スクリーンショット 2017-02-08 20.26.03Fusion360のCAM機能でCNC工作機械を動かすためのGコードを作成する処理をポスト処理と呼びます。その時に使っている機械に合わせたGコードを作成する必要があります。ホビーユーザーであればMach3かUSBCNCを使っている人が多いと思います。私はMach3を使っています。Fusion360にはMach3用のGコードを作成するポストプロセッサが用意されています。このファイルをカスタマイズする方法を紹介します。 続きを読む

Nikon万能投影機からArduinoへデータ読み込み


前にも書いたネタかもしれませんが、やり直しているので忘備録的に記事をアップします。Nikonの万能投影機の座標をコンピュータに取り込んで自動でDXFデータを作成するためのプロジェクト。以前はRhinocerosのplug-inのGrasshopperにデータを入れて処理をしていましたが、色々と使いにくいのでmacOSかRasPIのPythonでDXFを書き出すプログラムに変更しようと作り直してます。 続きを読む

Amazon LinuxでPython3を使う


%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-12-23-9-11-18

AmazonのLinuxでPython3を使う、ということだけでえらくハマりましたので、その手順を紹介します。Python2.7は標準で入っているのですが、Python3は自分で入れる必要があります。Pythonのインストールは簡単ですが、ライブラリをインストールするpipでハマりました。

続きを読む

フライス盤 Wabeco FS-1200の購入


11200
フライス盤を入れ替えました。今まで使っていたのは寿貿易のFM-100。現在この機種は廃盤になっりwebカタログからも姿を消しています。私はこの機種を10年近く前に購入し最初はフライス盤として、次にCNCフライス盤に改造。その後、別にCNCフライス盤を購入したのでノーマルに戻して、ボール盤のように使ってました。加工精度の要求も厳しくなり色々と不満も出てきたので買い換える事にしました。

続きを読む

ATmega32U4をMacから使う


ATmega32U4 Mac

ATmega32U4 Mac


ATmega32U4マイコンボード

このボードはスイッチサイエンスで販売しています。 ATmega32U4 価格も比較的低価格でArduinoのように使うことができるマイコンボードです。最大の特徴はキーボードやマウスとして認識されるデバイスを作れることです。Arduino Leonardでも同じ事ができるらしいのですが、価格がこちらが安いので気軽に使えます。 ただしMac OSから使う場合にはちょっとクセがあります。ここに解説のページがあるのですが、Macユーザにはあまりやさしくありません。というわけで、その手順を紹介します。コードを書くにはArduino IDE(ver. 1.6.5)を使いました。

書き込みソフトウェアの準備

プログラムの書き込みはArduino IDEからは出来ません。terminalから行う必要があります。さらに標準では入っていないコマンドを使うので、そのコマンドをインストールすることから始めます。 「Macへのdfu-programmerのインストールはhome-brewで」こちらの記事が参考になります。 Home-brewを使いdfu-programmerをインストールすることになります。 Home-brewを入れていない場合はこちらを参考にしてインストールしてください。 インストール後はbrewコマンドでdfu-programmerをインストールします。インストールするためのコマンドは次のようになります。 $ brew install dfu-programmer コードを入力してreturnキーを押すとコマンドが実行されます。なんか色々と表示されますが、インストール完了したっぽいメッセージが表示されればインストール完了です。

サンプルプログラムを書き込む

マイコンボードに書き込むサンプルプログラムをスイッチサイエンスのサイトからダウンロードします。サンプルプログラムはこちら(http://trac.switch-science.com/wiki/32u4bb)のページにあります。このページの「お試しファームウェア」というところにリンクがあります。そのページを開くとhexファイルの中身が表示されます。ページの一番下に「Original Format」というリンクがあるのでそこからhexファイルをダウンロードします。ダウンロードしたhexファイルを適当なフォルダに入れます。 ターミナルでそのフォルダに移動します。例えばデスクトップにHelloArduino.hexを保存したのであれば $cd これで自分のホームディレクトリに移動します。Finderで見ると家のアイコンのフォルダの事です。

スクリーンショット 2016-07-04 7.00.50

私の場合は上図のmkbtmというフォルダ(ディレクトリ)。 $cd Desktop「リターン」 でDesktopに移動します。 $ls でファイル一覧を表示します。先ほどダウンロードしたHelloArduino.hexが表示されているはずです。 最初にATmega32U4に書き込まれているプログラムを消去します。USBケーブルで接続します。すでに文字を出力するプログラムが書き込まれているとターミナルの画面に勝手に文字が表示されてしまいます。その時にはボード上のリセットキーを押します。リセットボタンを押すと一定時間ボードが停止します。そのすきにプログラムを書き込みます。 次のコマンドで現在書き込まれているプログラムを消去します。 $dfu-programmer atmega32u4 erase 消去に成功するとそれらしいメッセージが表示されます。エラーが起きるとERRORとか表示されます。protectがどうのこうのと表示されたらforceオプションをつけて消去します。 $dfu-programmer atmega32u4 erase –force 消去後に新しいプログラムを入れる事ができます。 $dfu-programmer atmega32u4 flash HelloArduino.hex でプログラムを書き込む事ができます。1秒ごとに文字列が入力されます。

Arduino IDEで自分のコードを入力する

次にコードをArduino IDEで作りコンパイルして自分独自のプログラムを書き込んでみます。 とりあえず以下のようなコードを書きます。 スクリーンショット 2016-07-04 7.15.16 スイッチサイエンスのサンプルとして載っているものとほぼ同じです。違いがわかるように出力される文字の最後に「?」をつけてみました。ボードの種類はArduino Leonardにしておきます。他でも良いのかも? スクリーンショット 2016-07-04 7.16.58 Arduino IDEの検証ボタンをクリックしてコンパイルします。これでhexファイルが作られたのですがファイルの場所が非常にわかりにくいです。私の環境では次の場所になりました。 /private/var/folders/hp/hzg1s7hn1lv5l4yvxj3mlh380000gn/T/build861154714147673710.tmp/ 途中の英数字を羅列したようなフォルダ名は何の事かわかりません。人によって違うものかもしれません。とりえず上記のフォルダに移動します。 $cd /private/var/folders/hp/hzg1s7hn1lv5l4yvxj3mlh380000gn/T/build676234921307526154.tmp/ $ls でファイル一覧を表示させてみましょう。つぎのような画面になると思います。 スクリーンショット 2016-07-04 7.27.06 ATmega32U4test.cpp.hexが目的のファイルです。Arduino IDEでの保存名+.cpp+.hexというファイル名になります。 $ dfu-programmer atmega32u4 flash ATmega32U4test.cpp.hex で書き込みます。書き込んだ後は一度USBケーブルを抜いて挿し直す必要があるようです。 ちなみにキーボードのカーソルキーと同じ動きをするためには次のようなコードになります。カーソルキーの上と下に相当するキーコードをボードから送信しています。

スイッチサイエンスの商品説明ページにはシルク印刷が間違っているとの記述がありますが、現在は直っているようです。内部にプルアップ抵抗が入っているのでINPUT_PULLUPを指定すると外部に抵抗をつける必要がありません。スイッチをつけてGNDに落としてあげましょう。

CNCフライスの設計 25.リミットスイッチ(Z軸)


スクリーンショット 2016-05-30 6.46.25

各軸にリミットスイッチを取り付けます。この目的はリニアガイドやボールネジの破損防止です。リミットスイッチを原点に使う人もいますが、私は使った事がありません。理由はメカニカルスイッチやフォトインタラプタに1/1000mmの繰り返し精度を期待するのが無理だろうという理由です。加工時の原点はセットした材料に合わせて出しています。

続きを読む

CNCフライスの設計 23.軽量化


スクリーンショット 2016-03-27 6.45.55

前回重量を計算してみましたがさすがに重すぎます。目標は全体で100kg前後だったのですが大幅オーバーの175kg。

軽量化して目標値に近づけます。軽量化はフレームを20mm厚から15mmに変更。X軸、Z軸まわりで15mm厚の部分を10mmに変更といった具合で進めます。

 

続きを読む