スポンサーサイト

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

TinyGクローンを作ってみる。

組み込み系マイコンを使用した割りとお手軽なCNCコントローラーの一つ、TinyGのクローンを作ってとりあえず、パルスを出してみました。

TinyG_Clone.jpg

Arduinoを使用するGrblや、LPC1768/69を使用するSmoothieボード、そしてこのATXMega192A3を使用するTinyG。
この3つはオープンソースとして、回路図からファームウエアまで公開されています。

私の場合、モータードライバ部分は別体としているので、コントローラーのみの基板を作成。


作成といってもユニバーサル基板に、MCUを作動させる電源、水晶、パスコン等々とUSBシリアル変換モジュールを取り付け、I/Oを外側に引っ張り出せるようにした簡単なものです。



国内入手性の悪いATXMega192A3以外の部品すべて秋月電子さんで入手可能。
USBシリアル変換モジュールはシリアル通信のみなので、小さなFT231XUSBシリアル変換モジュールを使用してみました。






この状態で、TinyGのファームウエアをダウンロードし、AtmelStudio6.1を使用しソースコードをコンパイル。
コンパイルしたバイナリファイルをAVRISP mkIIを使用し書き込み、です。

ATXmega192A3への書き込みは、Arduino等に使われるISPインターフェースではなくPDIインターフェースとなってますが、AtmelStudioでAVRISP mkIIを使用すると自動的にPDIインターフェースと指定。



TinyGを使用するにはフロントエンドとなるソフトウエアを使用します。

コマンドラインを入力のCoolTermとGUIを利用したtgFXが利用可能ですが、今回はtgFXを使用。




設定パラメーターをしっかり把握していないせいで多少てごずるもなんとかサンプルのGコードを作動させ、パルスを出力できました。
出力されたパルスは、設定が悪いのかどうなのか解りませんがパルス幅がとても小さく1μs以下。
最大出力周波数が50kHxとなっているので、立ち上がりエッジを検出するモータードライバならなんとかなりそうですが、駆動の遅いドライバICなどは難しいかも。。


Smoothieボードもそうなのですが、CNCコントローラーとしての能力は6軸まで制御とかなり高いのですが、フロントエンドとなるソフトウエアがまだまだ取っ付きづらい印象なので、Smoothieボードといっしょにゆっくり作動チェックを行っていきたいと思ってます。



この手のCNCコントローラーの最大のメリットといえばパラレルポートを使用せず、USB接続なのでノートPCなどでもCNCマシンの制御ができること。

現状、パラレルポートを使用したLinuxCNCやMach3のほうが使い勝手は良いと思われますが、将来的にはReprapのようにスタンドアロン型のCNCコントローラとしての発展を期待しています。。





オシロにてStepパルスを観察してみました。

上からx軸ステップパルス、500μs、y軸ステップパルス500μs、x軸ステップパルス500ns、y軸ステップパルス500nsです。

x軸ステップパルスにトリガーを掛けてあるので、y軸ステップパルスははっきり出てません。

ステップパルス幅は780ns。





追記。

海外通販にてATXmega192A3を購入しましたが、A3Uに比べてかなり割高。
もしかしたら、USBインターフェースが付いている、A3uや256A3uでも動くんじゃない?とか思って同時に購入。。
同じように変換基板に貼り付けてコンパイルしたものをAVRSPIMk2にて対応する設定にて書き込んで試したところ、、、、どうも、動いているご様子。。
多分、USBインターフェース回路は同一ピンでプログラムから指定して使用するトレラントとなっているのでは?との憶測。

詳細を調べなければ、ですが、もし同じように動くのであればArduino使用のGrbl+500円程度でコントローラー部は作成が可能。(自作で、ですが。。)




おおお!忘れてた。
TinyGだと、、、、、



のように、Androidタブレットを使用してのコントロールも。。
結局、USBを使って仮想シリアルにてGコード、その他コマンドを送ることができれば、コントローラはなんでも?よいのでは。。

私にフロントエンドとなるプログラムを書く能力は微塵もないので、とても残念ですが。。。






と、ゆうことで?TinyGでLチカしてみました。。



tgFXを使い、出力に余ってた74hc541を取り付けLEDを駆動。(多分バッファICは必要ない)
モーター制御用の出力ピン全てにLEDをつけてあります。

使い慣れてくると、2Dの描画ながら、結構面白いtgFX。
ちなみに、LチカしてるMCUはATXmega256A3U。
多分正常に動いてるんではないかと。。

加加速度設定ができるので、実際のNCマシンを駆動させると面白いと思います。。



マイコンで、一番最初にやるLチカ。こんなに重要です。。


10/1追記。
tgFXの設定にてLoPowerIdleとHighPowerIdleとモーター停止状態にモーターを励磁維持するかしないかの設定がありますが、この設定は単純にモーター停止状態時にモータードライバのイネーブル端子を利用して励磁状態をON、OFFしてます。
カレントダウンとはちょっと違います。
この出力ピンを利用してオープンドレインとし、モータードライバのVref電流を操作して励磁と弱励磁との切り替えのカレントダウン化すると。。。

まぁ、機械の構造にもよりますけど。。

更に追記。
最小ステップパルス幅が小さいので、モータードライバICを選ぶコントローラーだと、、、。
ファームウエア内のパルス幅を触れれば、、、ですが、そうでなければ74hc123などを使い、パルス幅を大きくしなければ。。


さらにさらに追記。

なんの具合かわからんけれどもtgFX作動が不安定な時がある。TinyG自体のもんだいなのかもしれないけど、よくわからん。。
スポンサーサイト

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

PocketNC P5は第五次元にデスクトップCNCを取り

http://hackaday.com/より。

PocketNC P5 takes desktop CNC to the 5th dimension

元サイト
http://www.pocketnc.com/products

5軸の小型CNCだそうです。

加工範囲が小さければ、また、加工する材料が硬くなければ結構小さく作れるものですね。。

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

利用可能な新しいエネルギアバージョン

http://dangerousprototypes.com/より。

New Energia version available

元サイト
http://energia.nu/

機械翻訳、引用。
エネルギアは、テキサス·インスツルメンツMSP430ベースのLaunchPadへの配線とArduinoのフレームワークを持って来ることを目標に2012年1月にロバート·ウェッセルズによって開始されたオープンソースの電子プロトタイピング·プラットフォームです。エネルギアはピータービゴでmspgccコンパイラを使用し、配線とArduinoのフレームワークに基づいています。エネルギアは、処理に基づいている統合開発環境(IDE)が含まれています。

なんだそうです。

ローンチパッドとかテキサス・インスツルメンツのMSP430が、Arduinoライクに使えるってのは便利かも。


組み込み系マイコン、取っ付きづらいのですが、ArduinoっぽいIDEを使うことで敷居が低くなり、とても便利です。。


STM32を使用したMapleなどなど、色々なMCUでArduinoライクな開発環境があります。
秋月とかで扱っている格安ボード、STM32VL-DiscoveryをMapleIDEを使用する記事を上げている国内サイトもあります。。



とりあえず私はArduinoIDE、AtMegaで基本的なことを覚えないと。。

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

BeagleBone用CNC翻訳

http://hackaday.com/より

BeagleBone Black does CNC with RAMPS





あと2,3年もすると、このくらいのことはMCUで済んでしまうのかもしれませんね。



LinuxCNCでPluto-pとか、MesaCardとか、Mach3でSmoothstepperとか外部パルスジェネレーターを触ってみて、PC-CNCでの一番のネックはその辺なのでは、、、と、思ってます。
一応、Pluto-pとMesaCardで使用するパルスジェネレーター部分はオープンソースとして公開されてますが、プログラマブルなものに疎いのでなかなかファイルを開く気にならなくて^^;

もしかしたら、UIとGコードトランスレーター位ならBeagleboneくらいで十分?!

Arduinoを使用したGRBLやTinyGとかでも、ハードウエアロジックでのパルスジェネレーターがあれば、かなり使える?の?かも。。

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

ステッピングモータ・ドライバ L6470を複数デイジーチェーン接続





ステッピングモータ・ドライバ L6470を複数デイジーチェーン接続

Omnivoreより。


北の国から電子工作(仮)さんの作成されたライブラリを元に複数のL6470ステッピングモータードライバを一つのMCUの使用で制御できるスケッチを公開されてます。

通常、どのオープンソースや安価なCNCコントローラーはモーター駆動用の信号はStep/Dirctionなので、シリアル・インターフェースなL6470はStep信号を入力出来る状態に設定し、Direction信号をマイコンで受けてシリアルデータを送信とゆうふうにしなければならないと。。。
また、その場合、どの程度信号の遅れが出るかなどなど、プログラマブルなものが超苦手な私にとっては検討も付きません。。

もちろん、LinuxCNCのようにDirection信号がStep信号のどれだけ前に出るか、設定出来るようなコントローラーソフトウエアを使用すれば問題無いとは思います。。。


L6470はモーターのパラメーター設定が面倒ですが、電流制御方式のモータードライバICと違いよりなめらかな回転で、駆動音も小さいです。
利用価値は非常に高いICだと思ってます。。

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

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

あきらひとし。

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

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

メールフォーム

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

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