スポンサーサイト

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

RaspberryPi2でMachinekit/LinuxCNC!!4

今回RaspberryPi2で外部パルスジェネレータ、i/oインターフェースとして使用したPluto-Step/Servoのコードを書かれた方のブログにて、2014/6の追記にて、「新規プロジェクトへ選ばないでください」と有ります。Pluto-Servo: EMC2 Servo Controller
何処かに書いて有ったはずですが、現在、ハードウエアが無いので今のハードウエア上での検証が出来ないため、とゆう理由だったと思います。

ただ、安価に、最大312.5kHzの割と高速?なステップパルスを出力できるハードウエアは安価なものでもPCI/PCI-E接続のMesaカードくらいしかないので、、、。また、RaspberryPI2には高速でパルスを出力できるハードウエアも、PCIインターフェースもありません。
もっと安価に作成できるであろうPICnc-V2にしなかったのは私が現在のPICのIDEを上手く使えないってのも有りますが、この最大ステップ周波数の上限が今回使用したSPI-FPGA-DRIVERよりも低く、入出力出来るI/Oの数も少なく、エンコーダー入力、PWM出力のPC内でのサーボループで動くサーボ制御が出来なかったからです。

基本、LinuxCNC公式のページ内にあるPlluto-P Driverと、作動と設定は全く同じです。

ただ、AlteraのMAX10を使用するに当たり、開発環境であるQuartusPrimeがv15からしか対応していないので、QuartusⅡv13で作成されたVerilogHDLのファイルでは、少々変更が必要でした。
この部分はまた後日。。


とりあえず、RaspberryPi2のMachinekit側から。
spi-fpga-driver内にある記述どおりにすればLinuxCNC/Machinekitのドライバであるコンポーネントはインストール出来るはずです。
私はGitHubのクローンを作らず、Zip形式でダウンロード。

sudo apt-get install unzip
にて、解凍コマンドを入手、解凍して、カレントディレクトリを解凍したデレクトリに移動して

sudo comp --install pluto_servo_rpspi.comp
sudo comp --install pluto_step_rpspi.comp

しました。

これでLinuxCNC/Machinekitへこのコンポーネントがインストールされます。
もちろんOSのイメージはRaspberryPi2でMachinekit/LinuxCNC!!3内のリンク内にあるOSイメージを使用しました。

BeagleBoneBlackのeLinux内のMachinekitのディスクイメージでは、このcompコマンドは使用できませんでした。
compコマンドを使用するには、machinekit -dev 等のデベロップメントなlinuxCNC/Machinekitが必要です。
また、今公開されているBeagleboneBlack/GreenのMachinekitのディスクイメージはカーネルやLinuxCNC自体のバーションが違うようで、今回使用したspi-fpga-driverのコンポーネントのインストールに失敗しました^^;


で、初期設定のiniファイルとHALファイルですが、spi-fpga-driverのページ内にあるRaspberryPI用のコンフィグと書いたフォルダ内のby_interface.pluto.pluto_inchとゆうフォルダ内に有るHALとiniファイルで動きます。Machinekit or LinuxCNCとゆうデレクトリ内の初期設定の入ったデレクトリ内にこのデレクトリをコピーすると、LinuxCNC/Machinekit起動時のConfigSelect画面にてこの初期設定の選択画面が出てきます。

で、Pluto-Servoの方なんですが、そのままでは動きません。
raspi-pluto-servo.hal とゆうをテキストエディタで開き、3行目の

loadrt trivkins

の次の行に

loadrt tp

とゆう記述を追加します。

これで動きました。

もちろんハードウエアが無い事には双方動きませんが、LinuxCNCの起動、操作画面までは開けるはずです。

FPGA側はまた後日。
FPGAの書き込みや、設定はは最近発売されたMAX10のFPGA基板付属の本に詳しくかいてあるので端折ります。。



LinuxCNC/Machinekit、初期設定ファイル、一つ間違っただけでも、LinuxCNCはきちんと起動しませんし操作画面までたどり着けません。

単純にアイコンをクリックして立ち上げると、何が問題で立ち上がらないかサッパリわかりません。

しかし、コンソールから

linuxcnc -d

と-dのオプションを付けて起動させると作動ログがコンソール内に表示されるようになります。

初期設定ファイルに問題が在ると、コンピュータ内のLinuxCNCが使うタスクがエラーが出た時点で次付きと終了(kill)されていきます。
最初にkillされる寸前に何が問題になったか?ってのがきちんと表示されています。(たとえば、~.hal:3:とか。後は理由も書いてあります)


MCUとか、まぁ今回触ったFPGAでもそうですが、エラーは英語ですが、IDEに大抵出ているはずです。。






















スポンサーサイト

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

コメントの投稿

非公開コメント

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

あきらひとし。

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

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

メールフォーム

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

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