スポンサーサイト

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

ラインドライバ出力をフォトカプラでIsolate

LinuxCNCで使うMesaAnything I/O CardsのDサブ25ピンのドーターカードである、7I85Sがラインドライバ入出力であったため、I/Oドーターカードから先、どうしようかと思い検索してたら、オリエンタルモーターの「オープンコレクタとラインドライバの違いってなんですか?」とゆうページに辿り着きました。

産業用に使われるStep/Dirのパルス列制御で使われるモータードライバの多くは、オープンコレクタや、ラインドライバ入力に対応しています。オープンコレクタ出力は、機器間での、電源電圧の違いを吸収出来たりと良い所はあるのですが、やはり差動入出力の方が断然にノイズに強く信頼性が有ります。

基本的にラインドライバ入出力はRS422の規格に準じており、使い方により相当な距離の信号の転送が可能です。
また、少々規格自体が違いますが、USBやLANの信号転送も差動入出力です。

今回は、AM26LS31、AM26LV31等のRS422準拠のラインドライバICの差動出力を使い、6N137とゆう割と安価で高速でロジック出力なフォトカプラの入力LED側の駆動をしてみました。

やさしい データ転送基礎講座5.絶縁とそのドライバ/レシーバのページの記述によると、差動の信号は平衡といい、ラインドライバの差動出力をフォトカプラで受ける事は厳密には擬似平衡 回路とゆうようです。
このページの[図.17] 両側絶縁と片側絶縁の図、(b)のように、フォトカプラと対抗させて電源が反転した時にフォトカプラを破損させないように対としてダイオード1N4148を入れ、抵抗も必要な抵抗値を半分とし、上下にひとつづつ取り付け、抵抗値は上下に120Ωで240Ωと120Ωを並列にし60Ωとしたものを上下に120Ωとしたものを試してみました。

この抵抗値、AM26LS31のデータシートにはHighレベル出力電圧は最低値しか書いて無く、また、AM26LV31のデータシートには一応typicalは載っているのですが、出力電流によって変動しそうなので、一応電源電圧以上になならないであろうとゆう憶測^^;で抵抗値を算出してみました。
データシート上では100Ω程度の終端抵抗を使用した時を基準としているようです。


6N137のデータシートに載っているRLは1kΩ、パスコンは0.1μFを使いました。


差動出力の出力信号のみで、グランドはフォトカプラのLED部分には繋いでませんが出力を確認しました。
シグナルグランドをフォトカプラの出力側に繋いでいないとゆうことで、ラインドライバ出力、フォトカプラのLED側の入力を入替えることで、ロジックの反転が可能です。
また、NCコントローラー、パルスジェネレータ側が3.3Vでモータードライバ側に5V欲しい、、、とゆうような時でも、フォトカプラ側の電流制限抵抗を入替えることによりロジックレベル変換も容易です。逆に、NCコントローラー側への信号入力時などには、差動ドライバは使用せず、フォトカプラだけを使用して入力電圧に合ったフォトカプラのLED入力側の電流制限抵抗を使用することによってロジックレベル変換が可能です。

もちろんフォトカプラを使うことによって信号の遅延も起きますが、オシロスコープで見た感じ100nS程度。
全てのモータードライブ用の信号にフォトカプラを使用すると全体的に同じように遅延するので、問題ないレベルだと思います。

もし、モータードライバへの信号を長く取るような場合、差動信号をツイストペアとなる信号線を使うとよりノイズに強くなると思います。

通常、モータードライバの電源電圧はモーションコントローラーや、パルスジェネレーター等の電源電圧より高いはずなので、フォトカプラ等で絶縁しておくと万が一の時にPC、モーションコントローラー、パルスジェネレーターを保護してくれます。また、絶縁することでカレントループを小さく、、。

DiffdrivePhotoCuppler.jpg

こうゆう保護回路的なもの、色々とコストアップに繋がるので最近のオープンソース系のモノには付いていない場合が多いですが、差動転送や、絶縁などなど、時と場合によってはとても重要になることも有ります。




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

回路図で学べるFPGA入門 とゆう本。

かなり前の記事CPLDの参考。にて、CPLDを使うにあたって参考にした書籍を紹介させていただきましたが、その中の「FPGA入門 回路図とHDLによるディジタル回路設計」とゆう本がつい最近「回路図で学べるFPGA入門 回路図は読める人のためのHDLガイド」として、新たに出版されています。
ただ本の題名を変えただけでなく、FPGAによるモーター駆動の記述等々、追加されています。

で、そのモーターの駆動の中にステッピングモーターのフルステップ駆動とマイクロステップ駆動に関する記述があります。


 この本全体の記述は、XilinxのFPGAを対象jに書かれていますが、開発環境であるIDEは違えど、AlteraのFPGAでも、同じように回路図、VHDL、VerilogHDLでの記述ができるので、違う部分を読み替えることで、問題なく同じ作動をさせることができます。

この事は、そのFPGA特有のグルーロジック、ハードウエアで作られた機能部分を使わない記述となっており、容量さえ足りればCPLDでも問題なく作動させることができます。
実際、私がこの本の前の版の物を読んで触ってた時はxilinxのCPLDで全く同じことをしてました。。

この本の記述で素晴らしいと思う所は回路図と、VHDLとVerilogHDLの全く同じ動きをするソースが書いてある事です。
VHDLや、VerilogHDLなんてサッパリ解らなくても、回路図で入力し、解説を理解すれば割と容易に読み解くことができます。
また、VHDLやVerilogHDLを学ぶ際にも、比較対象となる回路図とかがあるので、そうゆう先々でも、利用価値があるのでは?と思います。

特に堅苦しい記述でもなく、ロジック回路を「使う」基礎的な本だと思います。


あ、そうそう。この本の中に確か再トリガ可能なワンショットタイマーってゆうのがあって、コレを上手に使うとカレントダウン信号の生成が出来るようになります。カレントダウンについては左リンク内のSECさんがパラレルポートインターフェースとSLA7078のステッピングモータードライバキットに組み込まれていて、回路図等も公開されていますが、FPGAを利用した物も作れます。。






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

しなぷすさんの本「Arduino 電子工作」が出版されます。

Twitter上等でお世話になっており、このブログの左側リンク内に有るページ「しなぷすのハード製作記」の中の人、しなぷすさんが「Arduino 電子工作」とゆう本を書かれました。

しなぷすさんのページ自体も、その作動の理屈から丁寧に解りやすく書かれていますので、今回のこの本の内容にも期待してます。


私が色々なマイコンやFPGA、その他電子デバイスを節操無く触る原因?として、しなぷすさんが、「基本マイコンどれもいっしょ」と仰ってくれたから。

今現在割と安価に入手しやすいArduinoを題材とされています。








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

トランジスタ技術のMax10 FPGA本が出版。

CQ出版のトランジスタ技術2016年4月増刊として、(1)MAX10(2)ライタ(3)DVD付き! FPGA電子工作スーパーキットが出版されます。

このブログでもMax10をLinuxCNCのI/O,パルスジェネレーターとして使ったPluto-Pとして作動させたり、FPGAとゆうよりもプログラマブルロジックデバイスとして使用してます。

時代が進み、このようなプログラマブルなロジックデバイスの容量がソフトウエアCPUを載せることが出来るくらい大規模となり、また、このMax10、従来のFPGAのように、起動時に初期設定データを格納するコンフィグレーションROMが内蔵されていて、大変お手軽に使うことが出来ます。

NC用途としては、5Vロジックとの接続、、、となりますが、レベル変換ICなどを使いロジックレベル変換を適切に行えば問題なく使用できます。

FPGAやMCUを使うにあたって問題となるのは書き込み器。。この本に付属の基板と、秋月で追加の部品を購入すると、書き込み器も作成出来るみたいです。



よく、MCUとFPGAが同じプロセッサとして比較対象とされますが、マイコン、MCUは固定されたロジック回路による演算回路、I/Oで、決まった命令を随時実行していく物。FPGAやCPLDはマイコン等の演算部分を形作るロジック回路をプログラムするもの。

基本MCUは命令を一つづつCPU部分で処理していきますが、ロジック回路は回路が複数あれば、同時進行で作動していきます。
NCコントロールとか、複数の作動が一度に行われているような用途などには、統括コントローラーとしてCPUを使い、その下にぶら下がる形でロジック回路で、、って場合が多い気がします。

昔はロジックICの組み合わせで作ってたものを、PC上のロジックによる回路図の作成によってこのようなプログラマブルなロジックデバイスで同等に作動するってのは、とても便利です。









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

Altera MAX10 FPGAの私用基板でのLチカ

AlteraのMAX10FPGAの自己消費用基板を中華PCB屋さんに発注。作動テストのためにLEDを取り付けてLチカしてみました。



基板自体、パスコンを取り付けたブレイクアウトボードです。
デバイスは10M04SCE144で、ピン配置はこれより容量の大きい物と同じなので、使い回しが効きます。
一番小容量の10M02は、電源ピン配置が10M04以上の容量のものとかなり違うので使い回しが効きません。
また、ADCを内蔵しているシリーズのSA品番の物でも使えるようにADC用の電源部分にローパスフィルタを取り付けてあります。

使用目的として、容量の大きなCPLDとしてしか現状使えないのでこんな感じの基板でも。
RAMを載せて、、だとFPGA-RAM間は高速通信となるので、デバイスの性能を目一杯使うとなるとこのような配線パターンでは少々マズイのかもしれませんが用途が用途なので^^;

最近の魅力的なデバイスは、軒並みBGAとなり、このMAX10のようにピンの出ているものも少なくなってきています。
BGAパッケージの基板への実装や、UEWによる配線はとても難しそうなので、私の手の出るデバイスはここまでなのかなぁ、、と。
BGAパッケージとなると、多分4層基板となってしまうので基板自体のコストもネックです。

$5のRaspberryPiZeroのような、既にBGAパッケージが実装された基板を使うのが関の山、、でしょうか。。

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

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

あきらひとし。

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

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

メールフォーム

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

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