ラベル MDX-15 の投稿を表示しています。 すべての投稿を表示
ラベル MDX-15 の投稿を表示しています。 すべての投稿を表示

2016年12月21日水曜日

(経過報告)MDX-15/20のコントローラをmbedLPC1768でつくる

これはmbed Advent Calendar 12/22の記事です。

<mbed LPC1768でやったこと>

年明けにMDX-20を購入しました。


それまではiModelaを使っていたので、



これと同じような作業環境を求めていろいろ調査していました。

MDX-20を使う
fusion360のCAMデータをMDX-15/20で使用する
MDX-15/20のCOM端子解析


MDX-20付属のアプリでは、板材からの部品の切り出し(CADで設計してCNCで出力)するようなことは想定していないため、fusion360で設計し、原点設定と、Gコード、RMLコードを出力するアプリを探して環境を整えてきました。

ただし、下記3点の不満は解消できません。

1.細かな原点調整ができない(特にZ軸)
2.制御用パソコンが占有される
3.パソコンとMDX-15/20の接続がCOM経由で、データフロー制御を行う
 最近のPCにはCOMポートがない。またUSB-Serial変換でフロー制御を行えるものは少ない

”1”については、探し出したパソコンアプリで対応できるのですが、ロータリーエンコーダでの操作感にはかないません。専用のコントローラも用意されていないので、MDX-20を直接制御して解決できないかと考えました。

幸い、MDX-20への指示はCOMポートで入力し、コマンド体系もRML言語として公開されていたので、解析は容易でした。

3か月くらいかかりましたが、以下の仕様のコントローラが完成しました。

1.ロータリーエンコーダによる原点調整
2.切削開始原点(ユーザ原点)の設定
3.制御用パソコン不要(USBメモリから切削データを受け取る)
4.ドリルの現在位置をmm表示する



今のところブレットボードで組んだ状態ですが、自分用で1台あればよいのでユニバーサル基板で本組します。







設計データを残すために回路図CADでのPCBデザインまで作業します。
(ハード、ソフトのデータは全部の作業が終わってから公開します)

おおむねの予定は、
1月:ユニバーサル基板での組み立て
2月:PCBデザイン検討
3~8月:プリント基板の製造、動作確認(現状予定なし)

プリント基板の製造は考えていませんが、おおむね10枚以上の希望があれば検討します。
その場合の予価ですが、

1.プリント基板のみ:4000円
2.プリント基板+部品:3万円
3.完成品:4万円

買いたいという人がいれば、このブログにコメントを入れておいてください。

2016年10月10日月曜日

mbed LPC1768で作るMDX-15/20 controler



161008より作成中



<PC-MDX間のシリアルケーブル接続表>
MDX-15/20 COM端子接続図

PC Dsub9Pin

MDX Dsub25Pin
PinNo
信号名
説明
信号方向
PinNo
信号名
1
CD
Lo:送信許可
Hi:送信禁止
20
DTR
2
RxD
受信(未使用)
2
TxD
3
TxD
送信
3
RxD
4
DTR
不要
5,8
CTS,DCD
5
GND
7
GND
6
DSR
未使用
4
RTS
7
RTS
Hi固定 *1
6
DSR
8
CTS
不要 *2
20
DTR
9
*1PC 7Pin6Pinと接続すれば、パソコン側の制御は不要

*2MDX-15/20側の20Pinと接続されている。パソコン側での認識不要


<参考・リンク>
RS-232Cコネクタ・信号方向資料

RS-232Cフロー制御の解説

2016年10月1日土曜日

fusion360のCAMデータをMDX-15/20で使用する

<履歴>

161230 RMLデータ用プロファイルの追加
161231 ポストコンフィグファイル(cpsファイル)の探し方を追加

<概要>


3D CAD/CAMソフトのfusion360が出力するCAMデータ(Gコード、RMLコード)をrolandのMDX-15/20で利用する方法をまとめました。

ポイントは3つ。
1.MDX-15/20自体はGコードを利用できない
  GコードをRMLコードに変換するアプリが必要

2.MDX-15/20に直接Gコード、RMLコードを流し込む必要がある
  rolandが提供するアプリには、Gコード、RMLコードを直接扱うツールがない

3.MDX-15/20での原点設定を行うアプリがない
  Z軸の設定は本体ボタンで行う必要があり、微調整ができない。
  X,Y軸の調整はMDX-15/20付属のアプリで可能だが、Gコード、RMLコードのファイルを扱うことができない。

この3点に対応するアプリを見つけることが必要になります。

<fusion360側の対応>

CAMデータを作成するためのスクリプトを追加します。
autodiskのwebにあります。

3167_rolandrml.cps : RML用スクリプト。MDX-15/20の選択ができる
              このスクリプトでは最初の各軸の初期位置の設定にバグがあります。これを修正したスクリプトをこちら(3167_roland rml - test.cps)に保管してあります。(161230追加)

161231 cpsファイルを追加
3167_roland_rml-controler.cps(最初の原点復帰処理でZ軸を0指示したもの)
詳細は下記の161231の追記を参照

3166_rolandiso.cps : Gコード用スクリプト。MDX-40などGコードを解釈するrolandの機器用
              (このスクリプトを元に改造を行う必要がある。これは次項で説明)

fusion360へのスクリプトの設定の仕方は、 3168_settings Roland RML.prg で確認できます。


<Gコードデータの利用>

Gコード転送、原点設定アプリとして、NC-MODELA(使い方もこのwebにある)を使用します。使い方は、



このツールで扱えるGコードに合わせるためfusion360のスクリプト(3166_rolandiso.cps)を改造する必要があります。改造したスクリプトはこちらにあります。(このフォルダにはfusion360のCADデータから、GコードのCAMデータまでそろっています)

・補足
 NC-MODELAで扱えるGコードの種類に制約があるのと、Gデータは1行に1つの制限があります。この制限に合わせるためのスクリプト改造が必要になります。

・使い方
 fusion360でCADデータを作成し、上記のスクリプトでCAMファイルを出力します。
 NC-MODELAでMDX-15/20の原点設定を行った後、同じソフトでGコードデータをMDX-15/20に出力します。



<RMLデータの利用>

RMLの転送には、DropOutを使います。ソフトはこちら(Roland UK web)にあります。



原点出しには、MPG for MDX-20を使います。ソフトと説明はこちら。(bet*ak9*9のブログ VPANEL for MDX-20もどき)


いずれのアプリもMDX-15/20との接続にはMDX-15/20のPrinter Driverから接続するのが良いです。こうすると両方のアプリを同時起動して使うことができます。

161231追記
<ポストコンフィグファイル(cpsファイル)の探し方>
MDX-15/20用のRML形式の出力データを作るcpsファイルを探すのに苦労したので記録する。

まず、fusion360CAM画面にして


ポスト処理の窓が開くので、フォルダとコンフィグファイル名を確認する





エクスプローラでcpsファイルを探す。
ここで、“隠しファイル”のチェックを入れないと、cpsファイルのあるフォルダが表示されない。また検索でも無視されるので注意。




google driveのファイルの説明

366_rolandiso_NC-MODELA.cps
NC-MODELAで扱うRMLファイルを出力させる。
NC-MODELAは1行1命令でないと受け付けないのでそのための処理を行う

3167_rolandrml-test.cps
Z軸を一番上(機械原点)に移動させるコマンドの指示がmm単位?になっているのを、MDX-20が扱うパルス数に変更したもの。
MDX-40用のコードがパルス数指示になっているのに、MDX-20,15のみ小数点を含む実数になっている。これが不具合なのか意図したものかは不明。(mm単位にしても、MDX-20のZ軸可動範囲の60.5mm とは合わない)




3167_rolandrml-controler.cps
 上記のcpsファイルに対して、Z軸も“0”指示としたもの。相対指示モードでのコマンドなので、Z軸も移動させない。(意味の無いコマンドとなる)このファイルは、自作したコントローラで使用するために用意したもの。

それぞれ都合に合わせて使い分けること。