スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Mach4 preリリース?事前販売?

完全ではない、Mach4の販売が開始されてるようです。
http://www.machsupport.com/software/mach4/

どの辺が完全でないかは解りませんが、インストールできるPCが一台だけで固定されるのとどうも、パラレルポートを使用する際にパラレルポートプラグインが必要。

とゆう縛りがあるのですが、販売価格は通常価格$200が$140なんだそうだ。

パラレルポートのプラグインが$20なので、$160ほど。

ページ内では8月31日までになってるので必要な方はお早めに。。


Mach3でもそうですが、Mach4もプラグインを利用すると各種Gコードを生成出来るみたい。(よく判らんが)

他CAMにてGコードを生成して、、とゆう使い方じゃなっくって、図面を入れれば加工できます的な方向に。
これは3Dプリンタ以降、ってゆうかその前からの傾向でNCシステムに図面orデータを突っ込めば加工出来るように、、、とゆう方向性ですね。

ただ、事細かに加工しようとするとGコードを細かく見て修正してく事も必要に。。


どちらが良いか解りませんが、オープンソースのLinuxCNCと商用ソフトのMach、このまま双方UPDATEされることが望ましいと思います。。
スポンサーサイト

テーマ : 自作・改造
ジャンル : コンピュータ

GRBLがバージョンアップ

ハードウエアにArduinoを使用したGRBL、バージョンアップして、v0.9になりました。
ソースコードを大巾に書き直し、かなりのスピードアップが図られたようです。


機械翻訳コピペ^^;

GRBL - アルドゥイーノ/ AVR328マイクロコントローラ用の組み込みGコードインタプリタとモーションコントローラ
GRBLは妥協のない高性能、CNCフライス用のパラレルポートベースのモーションコントロールへの低コストの代替手段です。それは、それがATMEGA 328スポーツなどバニラのArduino(Duemillanove /宇野)上で実行されます。

コントローラは、正確なタイミングと非同期操作を実現するためにAVR-チップのすべての巧妙な機能を利用し、高度に最適化されたCで書かれています。安定した、ジッタフリー制御パルスの30kHzの最大維持することができる。

これは、標準準拠のGコードを受け入れ、何の問題もなく、いくつかのCAMツールの出力でテストされています。アークは、円、らせん状の動きは、完全に、並びに、他の全ての主要なGコードコマンドをサポートしている。マクロ関数、変数、およびほとんどの固定サイクルがサポートされていませんが、私たちはGUIがとにかくストレートGコードに変換することで、より良い仕事をすることができると思います。

GRBLに先駆け表情でフル加速管理が含まれています。つまり、コントローラは、将来に18の動きを見上げると滑らかな加速とジャークのないコーナリングを実現する前に、その速度を計画することを意味します。

ライセンス:GRBL V0.9は、GPLv3のライセンスの下でリリースされたフリーソフトウェアです。GRBL、V0.8前のバージョンでは廃止され、寛容なMITライセンスの下でリリースされている。これは、他人のコードは許容しながらGRBLは常にオープンソースのプロジェクトになりますが保証されます。

詳細とヘルプについては、私たちのチェックアウトWikiページを!あなたは情報が時代遅れされていることが判明した場合、私たちはそれを編集するか、私たちのコミュニティに通知することによって、それが更新さ保つためにしてください!ありがとう!





V0.8からV0.9の更新の概要

重要:デフォルトのシリアル通信速度は現在、115200です!(最大9600まで)。そして、あなたの設定が上書きされます!バックアップを持っていることを確認してください。
NEWスーパーステッパーアルゴリズムスムース: ステッピングドライバの取扱いの完全オーバーホールを簡素化し、ISRティックあたりの作業時間を短縮する。その名前が示す、動か(AMASS)アルゴリズムをスムージング新しい適応マルチ軸ステップとよりスムーズな操作が(詳細はstepper.cソースを参照してください)。ユーザーは、すぐに自分のマシンがどのように移動するかの大幅な改善と全体的なパフォーマンスが表示されるはずです!
安定性とロバスト性アップデート: GRBLの全体的な安定性は、このバージョンのために注目されている。プランナーとステップ実行をインターフェースは完全にリアルタイムでプランナーバッファから「小切手アウト」の手順、中間段階のセグメントバッファを導入することにより、堅牢性と清廉用に書き直されています。これは、私たちが今恐れず、最高限度だとGRBLをドライブできることを意味します。新しいステッピングアルゴリズムとプランナーの最適化と組み合わせることで、これがために翻訳された10倍に5倍私たちのテストでは、全体的なパフォーマンスが向上!また、安定性と堅牢性のテストは簡単に140万(はい、取ることが報告されている人のチャンピオンのように)線g-コードプログラムを!
(×4)+高速化プランナー:プランニングの計算は、4倍以上の計算を合理化し、バッファの未改善可能な部分を見つけて、それらを再計算サイクルを無駄にしないためにプランナーポインターを導入含まれていた、エンド·ツー·エンドの業務を最適化することで、より改善された。
コンパイルできるArduinoのIDE!:経由今ダウンロードして変更してもよく、GRBLのソースコードにコンパイルされ、すべてのプラットフォーム上で動作するはずのArduino IDE、を介して直接フラッシュする。それを行う方法の詳細についてはウィキを参照してください。
Gコードパーサーオーバーホール:完全にGコード規格に100%の-complianceのグランドアップ*から書き直さ。(* NISTの標準の一部は時代遅れと任意のビットは、私たちはより多くの意味を作るためにいくつかのマイナーなものを変えています。相違点は、ソースコードに概説されています。)また、私たちは、Gコードを分割することを可能にする措置を講じたいくつかの将来の発展のアイデアや改善のための鍵である個別の独立したタスクにパーサ、。
独立した加速度と速度の設定:各軸はユニークな加速と速度パラメータで定義することができ、GRBLが自動的に移動した方向に応じて経路を介して最大加速度と速度を計算します。これはShapeOkoのz軸のように、非常に異なる軸特性を持つマシンに非常に便利です。
ソフト制限:チェックし、任意のモーションコマンドがそれを実行する前に、ワークスペースの制限を超えた場合、およびアラームアウト、検出された場合。それが出erroring前フィードホールドを強制的のような別の安全機能は、しかし、ハード制限とは異なり、位置は失われない。注:これはまだ機械原点がどこにあるGRBLが知っているので、ホーミングのためのリミットスイッチを必要とし、新しい最大軸移動量の設定は、マシン用に正しく設定。
プロービング: G38.2ストレートプローブおよびG43.1 / 49工具オフセットGコードコマンドがサポートされるようになりました。シンプルなプローブスイッチが5(グランドに常開)宇野アナログ端子に接続する必要があります。プロービングサイクルは、ピンの状態変化を検出したときにGRBLは戻って、ユーザにプローブ位置を報告します。
工具長オフセット:プロービングは、工具長オフセット(TLO)なしでは意味がないので、私たちはそれを追加しました!(linuxcnc.orgによって記述)G43.1ダイナミックTLOとG49 TLOコマンドがサポートされるようになりましたキャンセル。G43.1ダイナミックTLOは、通常のG43 TLOのように動作します(サポートされていません)が、添付のオフセット値と付加軸の単語が必要です。GRBLはそのメモリ内に工具オフセットのデータベースを追跡し、維持する必要がないように、私たちは、これをしなかった。おそらく将来的には、このバージョンの工具データベースをサポートしていますが、しません。
改善されたアーク性能:円弧半径が大きいほど、より速くGRBLがそれをトレースします!現在アーク弦寛容ではなく、固定のセグメント長の点で円弧を定義している。これは自動的にtrueアークからセグメントの半径方向の最大誤差は0.002ミリメートルの超正確なデフォルトの弦許容値を超えることはないような弧セグメントの長さをスケーリングします。
CPU端子マッピング: GRBLは、1280や2560のような他のAVRアーキテクチャと互換性を持つようにするための努力で、新しいcpu_map.hピン設定ファイルはGRBLが彼らのためにコンパイルされることを可能にするために作成されている。これは、現在のユーザーに支持されているので、あなたのマイレージは変わる場合があります。バグ間で実行した場合、私たちに知らせたり、より良い私たちに修正を送ってください!事前に感謝します!
新GRBLシミュレータ!(@jgeislerよると@ashelly):コンピュータ上で実行可能ファイルとしてコンパイルしてもよいGRBLメインソースコードから完全に独立したラッパー。いいえアルドゥイーノは必要ありません。それはArduinoの上にあったかのように、単純にGRBLの応答をシミュレートします。多くのことのために使われる可能性:ダミーAVR変数を使用すると、出力は何に書き込むことができますようになどのGUI、グラフィックス、新機能のデバッグのための前処理が移動する多くは、やり残したが、潜在的に非常に強力で、GRBLがどのように機能するかをチェックアウトする必要があります。
設定可能なリアルタイムステータスレポート:ユーザーは、彼らが発行したときにGRBLバックレポートし、リアルタイムデータのタイプをカスタマイズすることができます'?'を 状況報告。機械位置、作業位置、プランナーバッファ使用のシリアルRXバッファの使用率:これには、次のようなデータが含まれます。
ホーミングルーチン更新:関係なく、リミットスイッチの位置のすべての否定的な空間でのワークスペースの音量を設定します。プロのCNCの共通。しかし、行動は、しかし、コンパイル時のオプションで変更される場合があります。現在、フラッシュのスペースを削減し、シーク時の最大速度を可能にするために、メインプランナーステッパモジュールに直接接続されています。
任意のリミットピン共有:リミットスイッチは、他の目的のために貴重なI / Oピンを解放するために同じピンを共用するために組み合わせることができる。組み合わせることで、ユーザーが同時にいない家に共有ピンの軸をconfig.hの中でホーミングサイクルマスクを調整する必要があります。心配しないでください。ハードリミットとホーミングサイクルはまだ彼らは以前と同じように動作します。
オプションの変数スピンドルスピード出力:のみconfig.hのファイルを使用してコンパイル時のオプションとして利用可能。'S' Gコードコマンド用のPWM出力を有効にします。この機能を有効にすると、ピンD12上のハードウェアPWMにアクセスするにはD12ピンを有効にするZリミットD11ピンとスピンドルを交換します。今D12上のZ制限ピンは、それ以前と同じように動作するはずです。
追加のコンパイル時の機能オプション:行番号の追跡、リアルタイムの送り速度の報告。
v1.0の開発を予定ジョギングコントロールと送り速度/スピンドル/クーラントオーバーライド。(V0.9では、送り速度オーバーライドのためのフレームワークは、その場でインストールされるには至っていないそれを完了するための唯一のマイナーな詳細です。)


引用終わり。




PCでのパルスジェネレーターでは、ジッタの発生する要素がありますが、ジッタフリーを謳ってますね。

まさか、数百円のMCUで3軸CNCコントローラーが手に入るとんでもない時代になりました。


また、V1.0の開発を予定と書いてあるので、期待してしまいます。。




新しいGRBLを使ってのShapeOkoの駆動動画ですね。
結構なスピードで駆動させてますが、これは送りにベルトを使ってるのでステッパモーター1回転当たりの送り量が単純に送りネジを使った場合より大きいから、だと思われます。
ステッパモーターのマイクロステップの分割数が気になるところですが、通信速度とその他コードの変更で、かなり速くなったのだと思われます。。


あとは、PC側の通信ソフトウエアの出来次第、、なのかな。。



そのうちためしてみたいとおもいます。。



テーマ : 自作・改造
ジャンル : コンピュータ

STK682-010の出力波形





OnSemiのSTK682バイポーラステッパモータードライバのドライバボードを作ってみました。

このドライバICはLV8727と同じく最大1/128マイクロステップが可能ですが、LV8727との違いはロジック電源出力が無いのと、1/10、1/20マイクロステップが無いこと、最大電圧が36Vまで、と、自動カレントダウンが内蔵抵抗を触る事ができないので、設定電流からの比率が変更できない、最大モーター電流が3A迄、と、機能削減されております。

複写機等々の組み込み用の物を一般市場に出している感じ。

しかし、用途、使い方によっては自作系NCに十分使えるのでは?と思い基板化してみました。。

モーター電流は結構綺麗な波形をしてて良い感じです。。

これから各種テストをします。

テーマ : 自作・改造
ジャンル : コンピュータ

LinuxCNCのLatencyHistgramとLatencyPlot

LinuxCNCにはLatencyTestとゆうものがあります。Latency(レイテンシ)とは、遅れとか遅延とかゆう意味らしいです。

CNCマシンとして、信号の遅れ(振れ)は切削形状に大きく関わってくると思うのでこの遅延は少なければ少ないほど反応が速いってことになります。

この遅延、PCのCPUのスペックが高ければ、また、細心のマザーボードであれば少ないのか?と思われるかもしれませんが、PCにある各種ペリフェラルとか機能とかの割り込みに起因するようで、チョット前まで販売(まだ在庫がある所があるかも)してたIntelAtomプロセッサの載ったマザーボードが安く、さらにこのLatencyも少ないです。

新しいマザーボードとかは機能が豊富過ぎて逆に???だったり、メーカー製PCだと、省消費電力設定がBiosレベルで切れなかったりでなかなかに微妙です。

LinuxCNCのLatencyTest、Latencyの最大値のみが表示されてどの遅延が度のタイミングで、どれくらいの頻度で起きるか、といったことはさっぱりわかりませんでしたが、LinuxCNC2.5、2.6のインストールイメージには/usr/binフォルダ内latencyhistgramとlatencyplotとゆうLatencyを測り、その名の通りヒストグラムとグラフに表示できるソフトウエアが入ってます。

シマリス技研さんに教えていただきました。

シマリス技研さんも、制御用PCの選び方とゆう記事にてLatencyTestについて書かれてます。


画像はクリックすると別ウインドウで大きな画像で開きます。。


latencyhistgram1.jpg

CNC制御用でないちょっと古めのPCのLatencyHistgramの画像です。
CNC用に省消費電力設定や、各種機能をBiosレベルで切ってないのであまり良くない結果だと思います。
CNC制御に必要ない各種機能を切ったり、isocpusでCPUを専有すればなんとかなるのか?

latencyhistgram2.jpg
このブログの記事中に何度か出てきたIntelのマザーボード、D2700MUDの物です。
CPUはIntelのAtomプロセッサD2700です。
現在このPCは3Dプリンタ用として使用してます。
省消費電力設定とかをBios設定レベルで切ってあり、CPUのアイソレートもしてあります。
多分かなり優秀なレベルかと。。
ただ、このマザーボード、サーバー用途用として販売されてたらしくLinux用のグラフィックドライバが提供されておらず、OS側の標準ドライバで、、、なので、その辺がちょっと不満。。

MesaカードやPluto-Pを使ってテストをしていたPCなのですが、その辺を使用せず現在はパラレルポート出力です。


latencyhistgram3.jpg

メインのCNCルーターの制御用に使ってる極初期のC2Dが載ってるG41TM-E43とゆうマザーボードの物です。
LinuxCNC2.4にはLatencyHistgramが入ってないのでDVDRからのブートです。
ので、Isocpusはしてません。
飛び抜けて大きい遅延もなく、結構安定してます。
このマシンは主にMach3を使って運用してます。
もちろんパラレルポート出力。

latencyhistgram4.jpg
これは上のマシンのLatencyTest。
Isocpusしてあります。
LinuxCNC2.4をインストールしてあるので、LatencyHistgramや、LatencyPlotが入ってないので^^;
このマシン不思議なことに余りこれ以上にLatencyは悪化しません。。

latencyhistgram5.jpg
つい最近格安中古で買ってきたPCです。
Isocpuしてあるのに、この有り様T.T
普通のPCとして使う分にはスムーズに動いて問題ないのですが、CNC用途としては使えません。。
LinuxCNCの設定ファイルやHalファイルを作ったり試してみるのには使えるかな?ッて感じです。


このテスト、たぶんLinuxCNCだけでなくパラレルポート出力のMachにもかなり影響があるのでは?と思います。
それは、Latencyが大きく、信号のジッタの幅が大きければそれがそのまま、出力される信号の振れ幅として出てくるからです。

Machはオープンループな制御が基本ですので、SmoothStepper等、外部パルスジェネレーターを使用した場合、USBの遅延を考慮した分のデータをバッファしてるはずなので、上記のようなPCのLatencyに影響されにくいのでは??と思います。これはUSBCNCの類も同様と思いますが、問題はパルスジェネレータである外部のMCUやFPGAの性能や、プログラムの処理の仕方になってくるのかな?と思います。

テーマ : 自作・改造
ジャンル : コンピュータ

LinuxCNCのHALコンポーネントを使用しての温度入力。

取り敢えずの取り敢えずで、LinuxCNCを使用しての3DプリントをしてみましたがLinuxCNC自体で制御してるのはステッパモーターのみで、エクストルーダーの温度制御自体はシマリス技研さんのやり方に乗っかった形の温調ハンダゴテのヒーターと回路をそのまま使う方法。

元々、ReprapのマザーマシンとしてRepStrapとしてLinuxCNCを使用した3軸CNCマシンが使われていたので、LinuxCNCだけでも、エクストルーダーの温度制御が出来るはず。

とは思ってたんですがLinuxCNCでのデータ入力は結構面倒なのを知ってたので先送りにしてました。^^;

LinuxCNCはリアルタイム制御を売りにしているかなり硬派なCNCコントローラーソフト。。
モーション系の信号は信号出力するデバイスのフィードバックを確認して作動してるので、(パラレルポートの場合フィードバックはエミュレート)データをバッファしているUSBとかは基本サポート外。モーション系以外の反応速度が遅くても良い信号(各種AD値やデータ、MPG等)の入出力はUSBを使用して出来るようですが。。


RepStrapとして使われてた時の情報がまだWeb上にあるので、今回はソレを利用させていただき以前の記事「LinuxCNCのパラレルポートでADCとサーミスタを使い温度入力、閾値にて出力。。」のLinuxCNC側の部分のインストールを覚書程度に^^;





ハードウエア自体は記事中のgihubのリンクにある物をほぼそのままの作りました。
が、githubの記事のHAL Module(HALコンポーネント)のインストールの仕方が

「LinuxCNC元作業ディレクトリのsrc / HAL /コンポーネントにコンポーネント/ディレクトリの内容をコピーし、いつものようにビルドします。」(機械翻訳)

となってるので???です。

src/hal/components なんて、どこにある??となってしまいますが、最初からLinuxCNCがインストールされているUbuntuのディスクイメージでは、こんなファイルありません。
実は、何もない素のUbuntuからインストールするときにLinuxCNCのソースファイルをダウンロードして、コンパイルするのですが、その時のソースファイルの事だと思われます。。

じゃぁ、後からコンポーネントをインストール出来ないのか?とゆうと、そうゆうわけではありませんでした。。

また、このブログ上では公開してなかったのですが、NE555を使用し、パラレルポートでの温度入力も試してみました。
温度の値の補正までは行かなかったのですが、数値は入力されていました。
参考ページ:
TEMPERATURE PID CONTROL - PART DEUX
RepStrap CNC sous LinuxCNC

こちらのコンポーネントは、temperature2frequency.comp内 LinuxCNCのコンポーネント記述で使えない関数があり、このコンポーネントはインストール出来ませんでした。関数を数式に治せば多分行けるのではないかと思います。

このコンポーネントがなくても、実際のハードウエアを使用した入力では問題ないのでハードウエアを作って試してみても面白いかもしれません。




LinuxCNC自体、各種HAL(Hardware Abstraction Layer)コンポーネントの色々な機能を使用して作動しています。
一般的な3軸フライスタイプとかは、LinuxCNCをインストールした状態ですでに各種HALファイル、Iniファイル等が入っており、あとは実際の加工機に合わせて記述を書き直し使います。

初期状態で入っている設定内のものならインストール時にあるHALコンポーネントで事足りるとは思いますが、自己で作成したコンポーネントも利用出来るようです。

ここで「できるようです」と書いているのは私が実際に作成したコンポーネントを使ったわけではないからです。
さらに、コンポーネント自体に使われている関数や書式がLinuxCNC自体のバージョンにより微妙に変わっているので、サンプルとしてLinuxCNCのドキュメントやWikiにあるコンポーネントファイルでも、そのままインストールできたりできなかったり、、、。(たとえば、Wiki内にあるShift Register Port Expander内にあるコンポーネントファイルなどは2.5ではインストールできませんでした。。)

コンポーネントをインストールするには通常のLinuxCNCのみではなく、linuxcnc-devをインストールする必要があります。
LinuxCNCの開発者用には、コンポーネントをコンパイルしてインストールするCOMPコマンドが入ってます。

システム管理のSynapticパッケージマネージャーを開いてlinuxcncで検索、検索結果の中のlinuxcnc-devの前のチェックボックスを選択にして、インストール指定をし、摘要ボタンを押すとインストールされます。

もう一つの方法として、端末を管理者権限でapt-getしてインストールする方法があります。
詳細はComp HAL Component Generator(英文)に詳しく書いてあります。


Githubのcdsteinkuehler/LinuxCNC-RepRapからファイルをzipファイルでダウンロード。

Ubuntu内のホーム内ダウンロード内にダウンロードされるので解凍。

解凍されたフォルダ内のcomponentsフォルダをホーム内に移動。

components内のADC2Temp.compとI2C.compをホーム内に移動。

ホーム内にマウスの右クリックのフォルダの作成を使ってフォルダを作成、名前をhaにする。

作ったhalフォルダ内にthermistors.hを入れたままcomponentsフォルダを移動。

端末を開き、

sudo comp --install ADC2Temp.comp と入力、改行。

パスを入力。 すると、インストールされます。

このhalフォルダを作成することでPCを騙して?るんだと思います。たぶん^^;

ホームフォルダ内にADC2Temp.comp と thermistors.h を置いておくとインストールできません。

あとはもうひとつのコンポーネント、I2C.compのインストール。

comp --install I2C.comp と入力、改行。。

で、インストールされるはずです。。


NE555を利用した温度入力の方は上記のテスト用コンポーネント以外、そのままの記述で入力できたと思います。


あとは、ハードウエアに合うように、HALファイルやiniファイルカスタムGUIのxmlファイルとかをいじるだけです^^;


使用したOSは10.04でLinuxCNCは2.5です。




HALコンポーネントを自分で作れるようになると、色々と出来る用になると思うのですがプログラマブルなものが苦手な私としてはなかなかに手がでませんT.T


動くユーザーコンポーネントとLinuxCNCのバージョンとかを教えてくれると有り難いです。。また、動かないものも。。

テーマ : 自作・改造
ジャンル : コンピュータ

ライセンス
アクセスカウンター
プロフィール

あきらひとし。

Author:あきらひとし。
木工用CNCルーターフレームと、ステッピングモータードライバを作ってみました。
たぶん記事は一般的な人には殆ど必要のない事ばかりなの、かも。

モーターは回るだけでも楽しい。制御(速度、トルク、位置)できるともっと楽しい!

メールフォーム

名前:
メール:
件名:
本文:

リンク
最新記事
カテゴリ
スポンサードリンク
スポンサードリンク 
スポンサードリンク
オンラインカウンター
現在の閲覧者数:
検索フォーム
RSSリンクの表示
最新トラックバック
最新コメント
月別アーカイブ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。