スポンサーサイト

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

LinuxCNCで位置決め用のカメラを設定する。

linuxcnc_camera.png

上記の画像のように、LinuxCNCのAxis_GUI内に市販のUSBWebカメラを利用した位置決め用のカメラスクリーンを入れてみました。

LinuxCNCのWiki内の記述Embed Live Video to Axisでは、現状Liveイメージで配布されているdebianのLinuxCNC2.7のAxis_GUIにカメラスクリーンを入れることは出来ますが、画像のようにカメラ画像にオーバーレイするようにターゲットスコープ状のモノを配置することが出来ませんでした。

で、LiniuxCNCのフォーラム内を掘ってみると、CamView for Wheesy and Jessieとゆうスレッドが有りました。
2ページ目の下から2つ目の書き込み内のcampy.zipをクリックしダウンロード。
解凍した中にあるCamPY_READ.MEとゆうテキストファイル内に記してあるようにすれば、、、、、LinuxCNCのGUI内にエッジファインダーとして使えるカメラスクリーンを表示することが出来ます。

具体的には?各種ソフトウエアをインストールし、セットアップ用のCamPy_setup.pyとゆうスクリプトを実行、使用するConfigファイルのフォルダ内に解凍したディレクトリ内にあるcamview.gladeをコピー又は移動。
iniファイルの[DISPLAY]セクションに
EMBED_TAB_NAME = Camera
EMBED_TAB_COMMAND = gladevcp -x {XID} camview.glade
と記述するだけです。

外部ソフトウエア?とゆうかプラグインとゆうか、そんな感じで使うソフトウエアは、video4linux2とゆうようで、USB接続のカメラをコントロールするソフトウエアのご様子。


上の方のLinuxCNCのWiki,Embed Live Video to Axisにも書いてありますが、640x480程度の画像でも、使い方によりけりで結構正確な位置決めができるのでは?と思います。
もちろん、画像自体をモーションコントロールに使用することはできませんが、決まった位置への移動の他に、長さの解っている2点間をカメラのエッジファインダーで位置を計測、コンピュータ内の移動量と照らし合わせてキャリブレーション、とゆう使い方をすると良いと思います。
この事は単純にLinuxCNCに限らず、GRBLその他のNCコントローラーでもターゲットスコープをオーバーレイするUSBウェブカムで撮れるソフトウエアを使うことにより、キャリブレーションや正確な位置決めが行えるのでは?と思います。

ちょいと話しは逸れますが、RaspberryPiにUSBインターフェースを介さずに直接繋げるPyCameraが有ります。
USBインターフェースを使用せず、直接つなぐことで、結構なフレームレートでの表示が可能です。
PiCameraのAPIがPython等でしっかりしているので、上手に使うことが出来れば、、、とも思います。
スポンサーサイト

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

PSoC5LPのGRBL

以前の記事にてSTM32のGRBLや、LPCのGRBL等々、元々のATMEGAでのGRBLの他MCUへの移植がGithubに上がっているのを紹介してみましたが、今回はPSoC5LPでのGRBLです。

bdring/PSoC_Grbl

Buildlog.Net Blog上で公開されてる作成記事?のソースが上記GithubのURL先に有ります。

作例は秋月電子で取り扱っているPSoC 5LP Prototyping Kitを使用しています。
このキット単体で書き込み器も付いているので、コレ一枚買うだけでPSoC GRBLになります。
また、開発環境であるPSoC CreaterはCortexMシリーズのMCUにしては珍しいメーカーご謹製で、Webサイトからダウンロードして使用出来ます。もちろん書き込み量の制限はありません。
このボードを素で使用するならば、I/O 電圧が5VとなっているのでArduino等を使っていた方は使いやすいのでは?と思います。


PSoC 5 Port Of the Grbl 1.1 CNC Controller


ブログ内の記事には、ロジックインプットのデバウンサの実装や、3軸のみならず、多軸化するような記事も。






デジタル信号を扱うようなモノを作ったり信号を云々するような用途にPSoC5LPはとても便利です。

ブログにはカレントダウン信号生成やLCDパネルによる表示を追加したりとゆうものが書かれてますが(多分記事通りやれば動く)、Github上には基本となるGRBLのソースコードが上がってるのみです。












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

BeagleboneBlackのHDMI出力の解像度変更

一つ前の記事「OSOYOOの3.5インチTFT HDMI タッチパネル液晶パネルを試す。」で使用したHDMI入力の出来る液晶パネルを取り上げましたが、ホントの所RaspberryPi3で使いたかった訳でなく、BeagleBoneBlackで使えないかしらん?と思い購入してました。

BBTFT7.jpg

BeagleboneBlack、PCと接続してMobaXtermにてX11Forwardingにて表示、リモートコントロールしてましたが、スタンドアロンでテスト用のNCコントローラーとして使う事ができればなぁ、と。
単純に、BeagleboneBlack側を何も設定せずにHDMIに繋げば、表示出来る最大解像度で表示はできます、が、文字等とても小さく、頑張っても読めないくらい。

BeagleboneBlackのHDMIに関してはこのブログ内の記事にて、過去にHDMI-VGA変換器を使ってディスプレイ表示や、秋月で売っているTFT液晶モジュール、ATM0430D5を使ってのディスプレイ表示などをしましたが、BeagleboneBlackのHDMIに関してRaspberryPi程メジャーではないためかWeb上の情報が極端に少なく、また少々前の記述が多かったので困りました。

色々とコネコネ探しましたが、結局の所elinux.orgBeagleBoneBlack_HDMI内のModesetting driverの記述通りに。
英語が不自由なので、その記述をWeb翻訳した所、難解?な翻訳で理解ができませんでしたが、実際の所この通りに。

その部分の、、多分このように伝えたかったのであろう訳(意訳?)を書いておきます。


最新(2017-04-09現在)のDebianイメージのデフォルトは、xorgのxorg-video-fbdevドライバを使用しています。
このドライバはxrandrを使用して解像度を変更することはできません。解像度を変更したい場合は、xorgコンフィグレーション /etc/X11/xorg.confを変更してxorg-video-modesettingドライバを使用します。多くの以下の手順は、あなたがmodesettingドライバを使用していると仮定します。
訳終わり。

とゆうことで、xorgのコンフィグレーションである /etc/X11/xorg.confファイル内のfbdevドライバを使用している所をmodesettingドライバを使用するようにすればいいとのこと。modesettingと書くと分かりづらいですが、ModeSettingドライバ、です。


ですが、私にはサッパリわかりませんでした。
ググる先生に問い合わせた所?出て来るページはuEnv.txtを書き換えるものばかり、、。

かなり探してDFLとゆうページに。
このページ内のBeaglebone Black (BBB) xorg.conf with Samsung S22B300とゆうページにほぼ回答となる記述が有りました。
このページの記述では、サムソンのHDMI入力の有るディスプレイの1280x1024解像度の記述ですが、コレを1024x768解像度に書き直したものがコレです。

/etc/X11/xorg.conf

Section "Monitor"
Identifier "Builtin Default Monitor"
Modeline "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync
EndSection

Section "Device"
Identifier "modesetting"
Driver "modesetting"
EndSection

Section "Screen"
Identifier "Screen0"
Device "modesetting"
Monitor "Builtin Default Monitor"
DefaultDepth 16

SubSection "Display"
Depth 16
Modes "1024x768_60.00"
EndSubSection
EndSection

Section "ServerLayout"
Identifier "Builtin Default Layout"
Screen "Screen0"
EndSection

ブログにベタ書きなので、表示段階でインデントがおかしくなってると思いますが、インデントをちゃんと入れると見やすいはず。

具体的に書くと、コンソールを開きsudo suして、nano /etc/X11/xorg.confと入力Enterキーを押してテキストエディタにて元の記述から上記の記述に変更、コントロールキー+xで変更を保存、再起動で前記事で使った小型液晶パネルの解像度のデフォルト値が上記の解像度に変更、表示されます。

Modeline "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync とゆう記述は、CTVコマンドを使い別コンソールを開いて

ctv 1024 768 60
と入力しEnterで出力される記述そのままです。
1024x768 60Hzです。

800x600 60Hzの場合には、
ctv 800 600 60
と入力します。

Modelineを変更したならば、Section"Screen"内のSubSection"Display"内のModesの記述も、Modelineで指定した解像度に変更します。コレが間違ってると、解像度が変更されません。
よく見ると、参照参照しているので、参照元と参照先が違うと解像度が変更されなかったりGUIが表示出来なかったりします。
このconfファイルは、HDMIモニタを繋いだBeagleboneのUSB入力をPCに接続させ、MobaXtermなどでX11forwardingでGUI操作にてコンソールを開いて書き換えることが出来るので、HDMI出力の表示ができなくても、OS自体は動いているので変更が可能です。

これで先のBeagleBoneBlack HDMIのページの記述通り、ModeSettingドライバを使用するようになりましたので、ページ内のForcing A Resolution(解像度の強制変更)ができるようになります。
ただ、X11forwardingでは記述内の
export~
が上手く行かなかったのでHDMIで表示している側のモニタ、BeagleboneBlackに繋いだマウスとキーボードでxrandr(エックスアールアンドアール)を実行しました。

下記画像は、上記confファイルに書き換え、再起動、コンソールを開きコンソールの表示フォントが小さいので大きく変更、の後、xrandrと入力Enterすると、使用できる解像度が出てきます。

コンソール、ターミナル、テキストエディタの文字サイズの変更はRaspberryPiのRaspbianのDebianで使用されているソフトと同じ物なので、RaspberryPiで検索すると沢山出てきます。
画像の文字サイズは16。

BBTFT6.jpg

BBTFT8.jpg

直上の画像、最後の行、
xrandr --output HDMI-0 --mode 800x600 --rate 60.
としてEnterを押すと、直下の画像のように強制的に表示解像度が変更出来ます。
BBTFT9.jpg


数枚、比較対象として、800x600と1024x768の表示の画像を置いておきます。



解像度800x600 60Hz
BBTFT10.jpg

解像度800x600 60Hz
BBTFT11.jpg

解像度800x600 60Hz
BBTFT12.jpg

解像度800x600 60Hz
BBTFT13.jpg

解像度1024x768 60Hz
BBTFT4.jpg

解像度1024x768 60Hz
BBTFT5.jpg

640x480も試してみたのですが、今回は?上手く行かず。


試してはいないのですが、HDMI入力の有る、更に、HDMI-液晶パネルブリッジが解像度の高い画像をスケーリングできる物がベアな基板と液晶パネルですが、もっと画素数が多い物もebayやAliで沢山売っているので、上記の記述で解像度の変更ができると思います。

また、普通の液晶ディスプレイでHDMI入力の有るものでも、同様だと思われます。

RaspberryPiのように、単純にフレームバッファを挟んでの解像度の変更が??なので、直接的な解像度の変更です。

タッチパネル部分は、、今回の液晶パネルの場合、xpt2046とゆうタッチパネルインターフェースなので、DLFとゆうページ内の記事にも接続方法等がある記述も有りますし、他ソースでも沢山あるので、多分作動させることが出来るでしょう。

また、DFLとゆうブログ、フレームバッファについての記述も有るので、もしかしたらRaspberryPiのようにフレームバッファを噛ましたディスプレイ表示も出来るのかもしれません。

当然の事ながらHDMI出力の無いBeagleBoneGreen 、GreenWirelessではこの記事は役にたちませぬ。











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

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

あきらひとし。

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

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

メールフォーム

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

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