FC2ブログ

スポンサーサイト

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

RaspberryPiとLinuxCNCのリンク、メモ

RaspberryPiではBeagleboneBalck(Green)のようにCPUと独立して動くプログラマブルなリアルタイムユニット(RPU)が無いので、外部にリアルタイムで動くユニットが何かしら必要になります。


PICnc-V2

LinuxCNCからフォークされたMachinekitで使うPICを外部リアルタイムユニットとして使用。

spi-fpga-driver

RaspberryPiやBeagleboneBlackがSPI通信を使ってPluto-PとゆうFPGAボードを外部リアルタイムユニットとして使うPluto_spi_stepperとPluto_spi_servoのファームウエアとMachinekit側の設定ファイル等々。MESA7I90HD Parallel/SPI Anything I/O cardのhm-2stepper-7i90HDとゆうLinuxCNC側のini、HALファイルも。

RaspberryPi公式フォーラム内LinuxCNCスレッド

RaspberryPi上でLinuxCNCを動かす事を目的としたスレッド。
ビルドされたRaspberrypi用のLinuxcncのイメージがあったかも(うろ覚え)

RaspbianXenomaiBuild

LinuxCNC公式のRaspbianベースのXenomaiリアルタイムカーネルパッチの当たったLinuxCNCイメージの作成ページ。

HM2_RPSPI

LinuxCNC公式manualページ。RaspberryPiのSPI用のHM2ドライバ。このページによると72ピンのI/Oを持つMESAの7i90を最大5枚(360I/O)接続可能。推奨はRaspberryPi上に2つ有るSPI通信器に各一つづつ。(筆者未確認)

Parallel robots, machine tools and more内のLinuxCNC on a Raspberry Pi

RaspberrypiへのLinuxCNCのインストールの記述。
preempt-rtなRTカーネルパッチらしい。


LinuxCNCで使うリアルタイムカーネルパッチもRTAIやPreempt-rt、Xenomaiなどなど、有るのでちょいと注意が必要。
LinuxCNCフォークなMachinekitはXenomai。

現在のPCへインストールできるライブイメージが公式にUPされている2.7の場合、RTAIリアルタイムカーネルパッチ。
大本のLinuxCNCの場合、ゆくゆくはpreempt-rtへの移行を進めている様子。

現在テスト段なDebian Stretch、RT-PREEMPT、LinuxCNC 2.7.x用の画像のテスト内にあるライブイメージでは記述の通りPreempt-RT。

このPreempt-RT、どうも今までのRTAIなリアルタイムカーネルパッチで極端にレイテンシが少ないIntelAtom系のマザーボードではレイテンシが逆に大きい結果。
LinuxCNC公式フォーラム内では、i3とか割と新し目のCPUの載ったマザーボードではソコソコのレイテンシとなる御様子。
MESAの7I92M I / Oイーサネットカードを使う場合、Rtpreemptなリアルタイムカーネルパッチ。

以前Raspberrypiを使ってLinuxCNCを作動させた時にはPluto-P向けのFPGAのファームウエアをIntelのMAX10用のコンフィグファイルに書き直し作動。



安価にボード単体にてLinuxCNC or Machinekitを使いたいのであれば、BeagleboneBlack(Green)が最安。
RaspberryPiは外部に何らかのリアルタイムユニットとなるMCUorFPGAが必要になる、が、Beagleboneを使った時よりもGUIの表示はスムーズ。


ただ、LinuxCNC自体、処理の遅れ(latency)には厳しいけれども、PCの処理としては最新PCが必要なほど重い処理をしているわけではないので、古PCに軽いOS、パラレルポートさえ有れば動かぬこともないので、、、。


BeagleboneBlack(Green)には、外部I/Oピンが沢山。
元々Beagleboneに使われるTIのSitaraプロセッサ自体がNC制御その他モーター、機械駆動系のコントローラーとして使用してもらう前提で開発されたプロセッサ。
だからCNC制御コントローラーに向いている。



そもそも、Mach3,4でなく、LinuxCNCを使うってのは、、、、根本的な所での違いは1ms単位のフィードバック制御ができる所で単なる3軸Gコードプレーヤーで有るのならばGRBLでも良いような気はしないでもない。

LinuxCNCのドキュメント、MESAのIOボード、IOボードに繋ぐドーターボードのインターフェースを見ていると、DCモーターや3相モーターとエンコーダーを繋ぎ、サーボ制御自体をPC上(LinuxCNC上)で行うこと(フルクローズドループ制御)ができる事がLinuxCNCの一つの大きな特徴。
スポンサーサイト

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

コメントの投稿

非公開コメント

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

あきらひとし。

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

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

メールフォーム

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

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