OSOYOOの3.5インチTFT HDMI タッチパネル液晶パネルを試す。

TwitterのTLで流れていたOsoyooの3.5インチTFT HDMIタッチパネル液晶を試してみました。

この液晶パネル、RaspberryPi用を謳っているのですが、他の小型液晶パネルのラズベリーパイ専用とは少し違い、HD画質までの信号を受ける事が出来、表示できます。また、HDMIケーブルで繋いだ場合、オーディオジャックが付いているのでアンプ等々を繋げばきちんと音も出ます。

TFTLCDパネル自体が480x320ピクセルしかないので、高い解像度の信号を入力した際に細かい文字とか表現できずに潰れてしまいます。用途次第ですね。

一応RaspberryPi用として設計されているので、タッチパネルはRaspberryPiに繋がないと使えません。
RaspberryPiに重ねると、Piの基板から電源を引き込むので、液晶パネル側のUSB電源にUSBコネクタで電気を供給しなくて済みます。

tft005.jpg

コレは1080iで出力した所。一応マウスでアイコンをポインティングできますが、メニューの文字は識別不可能レベル。チョイと実用には??だけれども、ラズパイカメラ繋いで画像表示させたり、Pythonで大きめにGUIを作り制御用のソフトを走らせたり、グラフを見たりには使えそう。
慣れればある程度かもしれません。

TFT007.jpg

コレは1280x1240で表示。1080iよりも、わかりやすい、、、かな。
tft006.jpg

1280x1024のメニュー。
カタカナ表示は読み取り可能、英文字はちょいと潰れ気味。
この解像度もやっぱりなんらかのアプリケーションを作動させる時に対人間のGUIインターフェースとして、、、。

tft003.jpg

WiiUのHDMI出力を繋いでみました。実質画素数は480x320なのですが、とても綺麗に写ります。

TFT004.jpg

この状態でSplatoonをしてみましたが、敵?があまりにも小さく照準がを定めるのが非常に難しく、、難易度が上がってしまいました。
基本ゲームなので、フォント等が大きめに作られているので、表示上の文字が潰れて見えないことはありませんでした。
また、リフレッシュレートも多分遅くは無く、チラつく事もありませんでした。

tft009.jpg

で、HDMI出力の有るマザーボードでのLinuxCNC。
今まで触ってきた液晶パネルのように、AXISのウインドウが収まりきらない事も無く、普通表示されます。
文字とかは一部見づらいのですが、数字等はなんとか。
Gコード等を別PCで作り、ただ単にGコードプレーヤーとして、Gコードのスタート・ストップ等細かい操作をしない状態でつかうのであれば、この程度のモニタでも十分に使えるのでは?

TFT008.jpg

ボードの裏側。カニチップが付いてます。このRTD2660Hとゆうデバイス、Webで検索すると結構使われているようです。

参考
RTD2660H HDMI/VGA/NTSC/PAL Driver Board

HDMI/VGA/AV RTD2660H Video Converter Board

HDMI/VGA/AV RTD2660H Video Converter Board - wiki

このあたりのボードと、対応したもう少し大きめの液晶パネルを組み合わせると丁度よいサイズのモニタが作れそうです。

今回はAmazonで購入。Aliとかで調べてみましたが極端な価格差はありませんでした。






スポンサーサイト

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

中華VFDとスピンドル。

中華通販もしくはebay等で売られている中華VFDとスピンドルを駆動させてみました。
VFDは110Vの物、それにともなってスピンドルも。
この会社のVFD、海外では安価なことで広く使われているようで、CNCZoneや、その他サイトに設定方法について色々と書かれています。

LinuxCNCもHALのコンポーネントとして、このVFDのサポートをしてますし、知りませんでしたが、Mach3,4も、プラグインで、Machの画面上からスピンドルのOnOff、回転数変更ができるプラグインがあるようです。

このVFD多機能で、設定項目が多く、外部コントローラーを使用してかなり複雑な作動ができるご様子。
NC用途用としては、とりあえず回転数が割りと簡単に変更できることが必要なので、マニュアルを参考に可変抵抗にて回転数を可変させてみました。

動画上、音くらいでしか、スピンドルが回転しているかの確認ができませんが、ちゃんと回ってます。

RS485を用いると、各種設定や作動の操作ができるようですが、まだ、そんな段階ではないので、試しておりません。
USB-RS485ブリッジなインターフェースが海外通販等々でも、とても安価に販売されています。

国産のインバータで、単相100Vの1.5kWくらいの物、見当たりませんが、有るのでしょうか?







一応、ブログを始めた当初のに決めた記事番号1000番で更新停止とゆうのがとうとう来てしまいました。
さて、どうしましょうかね。
 

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

HandWheelManualPulseGeneratorをLinuxCNCに入力する。

前記事 LinuxCNCのArduinoでのモーション以外のインターフェース。にて、LinuxCNCのPythonによるユーザーコンポーネントを使用したLinuxCNCへのデータ入力を試してみたわけですが、ソースコードが公開されていることも有り、今海外通販でわりとと安価に入手出来るHand WheelManualPulseGeneratorの出力信号をLinuxCNCのHALに入力、PyVCPを使用し表示してみました。



動画上右側がパルスカウント値、左側は接続に使用したPSoC5LP内での数値をただ、+1してるものを確認のために表示させてます。

前記事内のリンクに有るPythonで書かれたLinuxCNCのユーザーコンポーネント、HALファイル、PyVCP用のXMLファイルの内容を書き換えただけです。
ADC入力部分に渡す数値を、PSoC5LPのUDBで生成されたQuadDecoderのカウント数値に置き換え、他の余分な入出力部分を削除しました。

Linux側、マイコン側のUARTでの送受信のフォーマットさえ守れば、Arduinoを使おうが、PSoCを使おうが、大体の数値入力は可能だと思われます。

ArduinoではなくPSoC5LPを使用したのは、ペリフェラルに小規模のPLDを使うことができ、エンコーダー入力のカウントをハードウエアで行うことができるから。
数十Mhzレベルのクロックで作動するハードウエアカウンタなので、作動クロック以下の周波数でのカウントの取りこぼしがありません。

他MCU、私が触ってるSTM32シリーズのタイマ/カウンタにも、QuadEncoderの読取り用の仕組みが付いているので、同じ作動をさせることは可能だと思います。

今回はBeagleboneBlack/Greenでの作動はしてません。最初、PSoC5LPに付いているUSBに直接接続できるUSB_UARTを使用しようと思いましたが、私のWindowsの環境化で上手くドライバをインストールすることが出来ず、こりゃ、Linuxでも、、、と思い秋月で売ってるFTDIのFT232のモジュールを使用。BeagleboneBlackにてテストしようと思ったのですがこれもまた、上手くドライバをインストールすることが出来ず、、、Orz,,,.
結局LinuxCNCがインストールされているPCにての作動となりました。
手持ちのUSB UARTなデバイスがFTDIのモノしか無かったために、BeagleboneBlack/Greenでの作動は試すことができませんでした。
BeagleboneBlack/Greenも、ArduinoIDEをインストールしておけば、ArduinoIDEのパッケージ内にFTDIのUSBドライバ等入ってるかも?とは思います。入ってませんでした。。
中華Arduinoクローンに使われているCH340とゆうUSB UARTは、特にドライバ、ArduinoIDEをインストールせずとも認識、使用ができたので、今の所憶測でしかありませんが、CH340を使えばBeagleboneBlack/Greenでの作動も出来ると思われます。




自作NCや、市販のNCフレームの使用時の精度確保、基本的には各軸を動かすモーターがきちんと設定されたステップを刻む事と機械自体のガタやバックラッシュを押さえる事、フレームの剛性によってモーションの正確さを担保するものだと思うのですが、NCは数値制御コントローラーなので、LinuxCNCやMach3にはバックラッシの補正も有りますが、送りネジの補償も可能です。

参考URL
Mach3 Z Axis Screw Mapping, version 1.2 (PDF)
Screw compensation files, axes and joints.(LinuxCNCフォーラムより)
Screw Compensation


もちろん、作動速度によるモーションプランの有効誤差云々等々、正確なモーションに関しては「どこまで?」とゆう疑問もありますが、そもそもの基準となる計測ができていないと、その誤差がモーションによるものなのか、フレームの特性に依るものなのか、はたまた刃物のたわみによるものなのかの区別もつきません。

今回接続したエンコーダーは、単なるハンドパルスジェネレーターですが、コレを精度が高いリニアエンコーダー、リニアスケールとすると、補正値の計測が可能で、駆動モーター用のパルス列司令に対する移動量を測ることが出来ます。

また、モーションに掛かることなので、今回のUSBUARTのデータ入力ではアレですが、LinuxCNCの場合、モーションループを1ms単位で、NCコントローラーがフィードバックループ出来るので、MesaのPCI、PCIeでのFPGAカード等をとリニアスケールを利用すれば、位置フィードバックもできぬことでは無いと思います。


把握しきれない程の機能と自由度が有るLinuCNC、私も機能の極一部しか使ってませんが、単に安価に導入できるソフトウエアNCコントローラー、、、、、ってだけではないのです。


私はハードウエアもソフトウエアも不得手で、さっぱりなのでこの程度ですが、双方出来る人が触ると、相当凄いんだろうなぁ、と思ってます。機械、電気、ソフトウエアハードウエア、、、相当な分野横断が必要になりますが、高機能なこのようなソフトが公開されているとゆうことで、、、また、Web上へのフィードバックもあれば、尚の事、、と思います。




追記

BeagleboneGreenのボード上に有るUART器を使い(USB-UART変換を介さず)、この記事内のPSoCを繋ぎ軽くテストをした所、データ転送が出来てるご様子。Beagleboneでも、PySerialを使ったUARTでのデータ入出力は可能です。




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

中華NanoとCMOSカメラOV7670(FIFO無し)と小型液晶パネルST7735Rで、、ライブカメラ。



ebayやAliで安価に手に入る、ArduinoNanoクローンと、CMOSカメラのOV7670(FIFO無し)、そして、小型TFT液晶パネルののST7735Rを使ってのライブカメラを作りました。

実は元ネタが有り、この動画を見て、この動画のコメント欄のソースコードを利用させていただきました。


ソースコードはGithub上に有り、ソース内に有る回路図通りの配線をしました。

結構なフレームレート(動画では10fpsと、、)での液晶画面へ表示されています。

ソースコードの使い方は元動画コメント欄のリンク先のGithubに行くと表示されるReadmeに書いてあります。


カメラ自体の最大速度は30fpsのようで、更に最大解像度は640x480ですが、液晶パネル自体の解像度が160x128となっており、カメラからの取り込み解像度もソレに合わせて160x120となっているご様子。
更に、ATmegaの作動速度もネックとなり10fpsとなってます。

ただ、この描画速度、割とパラパラとした画像ではなく、ちゃんと動画として見れるので、用途によっては実用だと思います。
このOV7670(FIFO無し)のモジュールとして販売されているもの、M12とゆう規格(Sマウント?)のレンズが付いている物が大半なので、防犯カメラ用の広角レンズ等々も使えるようです。

私個人としては、レーザー加工時に直接レーザーの光を見ないでレーザーが射出されているのを確認する用途として、、。
もちろん、カメラのレンズの前に、光の強さを調整するようなフィルタを取り付けなければなりませんが、視力を失う事を考えれば、カメラ代替が効きますから、、。。


ちなみに、作例どおり作っても上記の通り動きますが、カメラのOV7670からのデータ線とタイミング用のクロック線は3.3V出力のため、5V駆動のATMegaの入力Highのスレッシュホールド(High入力とする電圧の下限値)電圧との差が少ないので、5Vロジックでの入力時よりも誤動作する確率が高いです。
また、カメラ設定用のI2C互換のSCCB(Serial Camera Control Bus)とゆうインタフェースも、一応Nanoからの送信Onlyなようなのでアレですが、相互通信用のレベルシフタ(信号線2本なので、N-chFETを使っても)でレベル変換しておくと良いでしょう。
ですので、余裕をもたせた安定的な作動を、、となると、3.3V→5Vのレベル変換ICを噛まして置いたほうが安心です。

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

久々にGRBLを。。

少し思う所があり、久々にGRBLを触ってみました。

GRBLを入れたのは最近数百円程度で、購入できる中華ArduinoNano互換の小さな基板。
もう、ATMega328とUSBシリアルICを購入してユニバーサル基板で組むことすら、、ってくらいの価格で今、ebayやAliで出回っています。
この基板にGRBLのファームウエアをインストールするのですが、多分、他サイト、ブログでも記事となっていると思いますが、、、


Flashing Grbl to an Arduino
上記リンクページに各種環境からの書き込み方法が記載されてます。

今回私はWin環境から作業を行いました。
上記ページ内リンクにてXLoderをダウンロード、解凍。

https://github.com/grbl/grblにて、ファームウエア(現在のMasterBranchはGrbl v0.9j Atmega328p 16mhz 115200baud with generic defaults (2016-03-17))をダウンロード。ソースコードから、ATMega328用にコンパイルして、生成されたバイナリファイルで、HEXファイルです。

XLoderを起動し、ダウンロードしたHEXファイルを指定し、デバイスはDuemilanove/Nano(ATmega328)を指定。中華NanoのUSBCOMポート番号を指定しUploadボタンを押すだけです。
ボーレートはテキトウに。。


とりあえず作動確認が出来ればOKなので、Universal-G-Code-Senderのページを開き、1.0.9をダウンロード。
ダウンロードされたファイルを解凍して開き、Javaで書かれているようなので、.UniversalGcodeSender.jarのファイルをダブルクリックで起動。

中華Nanoを繋ぎ、USB seialのCOMポートを指定し、ボーレート(Baud:)115200に指定しOpenボタンを押すとPCとのシリアル通信が始まります。

かなり前に触ったときに比べて、GRBLもUniversalGcodeSenderも安定している印象。

さてさて、今回GRBLを触ってみているのは、最近秋月電子で取扱の始まった東芝製フォトカプラTLP2361を使ってステッピングモーターへの司令用の信号、Step/Dir EnableをGRBLがインストールされたNano基板と絶縁したかったから。

USB接続なGRBLがインストールされたNano基板、電気的にPCと繋がっています。
今回使用したフォトカプラTLP2361、リンクした商品ページを見れば解ると思いますが最大データ転送速度15MBdとなっており、フォトカプラの類では結構高速。高速タイプでよく使われる6N137と同程度のデータ転送速度で、データ自体の遅延も、同程度。

入力LED側のアノードにGrblをインストールしたNanoの出力を1kΩの抵抗を介してつなぎカソードはNano側のGND。別電源を用意して、出力側に5VとGNDを。コレで出力側出力ピンにて、絶縁された出力がロジック反転で出てきます。
反転したロジックは、Grbl側の設定で、InvertMaskとゆうのがあったので、ここのbitを立てて設定し反転すると、元々出力される理論値と同じとなるはずです。

上記5V1kΩの入力で、ほぼ、データシート記載の標準値、H/Lの遅延50ns、L/Hの遅延40nsをオシロスコープにて確認出来ました。

このフォトカプラ、オープンコレクタ、オープンドレイン出力と違い、インバートロジック出力なので、出力側に電源と、電源にパスコン(セラミックの0.1μF程度)を取り付けるだけで、絶対最大定格10mA迄(実際の使用は半分程度?)取り出すことが出来るので、ロジック入力な、モータードライバ等々、USBの電源電圧以上の物をUSB接続された機器にぶら下げるときに、USBポート、PCの安全確保の為に使うのにとても便利です。秋月電子などで取り扱って頂けるのはホントに有り難いです。

あと、この手の物でUSB接続な物で気になっていた所なのですが、PCから電源を取っている、とゆうことは、PCからモーター迄グランドが繋がるって所。
電気の回路として、+から-への電流のループ(カレントループ)はノイズ等々の視点から見ても、短い方が良いので、電流のループを一旦Grbl迄として、フォトカプラにて絶縁、信号のみの転送として、モータードライバ以降は別の電流ループとしたいと。。

もちろん、モータードライバをコネコネ触っていると解るのですが、モーター自体コイルなので、モーターに急峻な動きをさせるときに、電源電流と逆向きに、電流を流そうとする、逆起電力によるサージのように見えるモーターから電源に戻る回路に載る電圧の立ち上がり等々、モータードライバIC自体にモータードライバICに掛けている電圧以上の電圧が電源に戻っている事もしばしば。

このブログで主に取り上げているステッピングモーター自体、構造としてモーターとしての効率が悪い部類でなので、逆起電力で発生するサージのようなものの電圧自体は、効率の良いDCブラシモーター、ブラシレスモーターのソレに較べて低いと思いますが、それでも、モーター電源電圧以上となりうる場合が有るので、用心に越したことは無いと思うのです。

モータードライバやマイコン、その他電子部品。安価に入手できて、Web上に作例が沢山ありますが、動けば良いと、過電流保護や電源の逆接続等々の安全装置部分を端折った作例が多いのもまた事実で、何が足りてて何が足りてないかを見極めることができるだけの力が必要なのかも。
今回作ってみた物、どう考えても中華Nano基板よりも、数個のフォトカプラの方が入手した価格は上な訳で、アレなのですが、安定作動を保証する産業用の電子回路等々は沢山の試験と安全に振った回路の為に、あのお値段になるのだなぁ、と。

もちろん、コレは回路図のみならず、公開されているMCU等のソースコードとかも、時と場合によりけりで、???となる物もあります。

何事も見極める目を養うのは大事ですね。。


ところでGrbl、Reprapとかのファームウエアと違い、SDカードやMMCカードからあGコードを読み込み、Gコードをモーションに、、とゆう、スタンドアロン的な使い方が出来ません、が、Grbl自体、PC上に有るGコードのファイルの文字をアスキーコードでUSB UARTに載せて送信しているだけ(フロー制御はしてると思いますが)なので、別マイコンにて、SD/MMCカード内に置いたファイルを読取り、随時UARTにフロー制御しながら送信する物を作れば、PCレスでの作動も可能になると思います。



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

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

あきらひとし。

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

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

メールフォーム

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

リンク
最新記事
カテゴリ
スポンサードリンク
スポンサードリンク 
スポンサードリンク
オンラインカウンター
現在の閲覧者数:
検索フォーム
RSSリンクの表示
最新トラックバック
最新コメント
月別アーカイブ