TIの回路シミュレータTINA-TIが使い易かった件

超微小電流を検出するための回路を検討するのにTIの回路シミュレータTINA-TIを使ってみたところ、思いのほか使い易くて感心した話です。
TINA-TIはTexas Instrumentsが提供しているSPICEベースの回路シミュレータで登録すれば無償で使うことが出来ます。

回路シミュレータはマイコン技術者の必須ツール

マイコンが高性能になってソフトウェアで信号処理が出来るようになってもアナログ回路の知識が無くては実用的な回路は組めません。

例えばマイコンの出力でモーターを動かす場合のモータードライブ回路、センサの入力をA/D変換して取り込む部分にはアナログ素子を使った回路が必要です。
0~3.3Vの電圧を取り込むだけなら入力電圧を直接マイコンのピンに接続してもA/D変換した値を得ることが出来ます。
ただしノイズ等で範囲外の電圧が加わってもマイコンを壊さないための保護回路や正確な電圧を取り込むためのローパスフィルター・入力インピーダンスの整合を考慮して実用的な回路を組むためには簡単なアナログの知識が必要となります。

かく言う私もアナログ技術を専門的に勉強したことは無く基本的なオペアンプの使い方や入力インピーダンスについてはインターネットで収集した情報と試行錯誤で得た経験で対処できるようになりましたが、オペアンプを使ったフィルター回路(アクティブフィルター)を設計する場合に理論的な計算式から定数を求めることは出来ません、というかそんな面倒なことは今更やりたくありません。

回路シミュレータを使えばアナログ回路を設計するための難しい理論を知らなくても入力信号と出力の関係をグラフで確認しながら回路設計が出来るためデジタル回路が得意なマイコン技術者でもアナログのインターフェース回路まで自分で設計できるようになります。

回路シミュレータの役割

アナログ信号の入力に良く使われているアクティブフィルターについてはWeb上に様々な回路例や定数を求める計算サイトを提供されている親切な方がおられるのでそれを利用すれば基本的な回路設計が出来ます。
しかし実際のOPアンプは出力電圧電流の制限、入力バイアス電流、入力オフセット、周波数特性、位相遅れ等様々な動作に影響を与える特性があります。
端的な例だと理論的にはOPアンプを使ってフィードバック制御でモータードライブが出来ますが実際には出力電流の制限、発熱の問題でOPアンプを使ったモーターのドライブ回路は全く実用に適していません。

試作回路を組んでテストする前に回路シミュレータで実際のICを使った回路の動作特性をチェックしておくことで失敗の確率が減り開発を効率的に行うことが出来ます。

回路シミュレータを使っても実際の回路と全く同じにはなりませんがデバイスモデルは良く出来ているのでかなり精度のよいシミュレーションが可能となります。

回路シミュレータは簡単に使えるか?

有用で出来れば使いたい回路シミュレータですが設計の補助的ツールとして使う場合が多いので、使い勝手が悪いと使うのが面倒になります。

最近はちょっとした基板CADにも回路シミュレータ機能は統合されていますが使い勝手が悪く、つい使うのが億劫になっていました。
使いたいアナログICが最初から入っていることは殆ど無いので、そのICのデバイスモデルを探してきてシミュレータに組み込んで使うことになりますが、その手順が結構面倒なのです。

TI提供のTINA-TIが想定外の使い易さだった件

検討していたのはイオン数を測る測定装置が特殊なOPアンプを使うものでした。
イオンが保有する電荷は電気素量

e =1.6021766208(98)×10−19 C

単位なので イオン一個単位で検出しようとすれば サブa(アト 10−18)単位の電流 を測定する回路が欲しいところです。
実際にはアトという単位はOPアンプのデータシートで使用されることはなくそのような回路は実現不可能ですが少なくともf(フェムト 10−15  )オーダーの分解能を持つ回路が必要となります。

そのような回路を実現するためには出来るだけ入力電流が小さいOPアンプが必要なので、DigiKeyのリストで入力バイアスの小さい順に並べるとTIのLMC6041という入力電流Typ. 2fAのOPアンプが最上位に出てきます。

このLMC6041 を回路シミュレータで使うためのデバイスモデルがTIのサイトで見つかり、このデバイスモデルを基板CADのシミュレータに組み込むための情報を検索していると「TIの回路シミュレータTINA-TIなら簡単にLMC6041のデバイスモデルが使える。」と書いてあるのが目に留まりました。

「新しいシミュレータの使い方を覚えるのは面倒だけど、とりあえずインストールして使ってみようか。」と軽い気持ちでダウンロード&インストールして使ってみたところ、
何度かの試行錯誤はありましたがヘルプを見ることなく回路の入力から過渡解析の結果をグラフに出力するところまで出来てしまいました。

今まで使っていたシミュレータで手間取っていた信号源やコンデンサ、抵抗のパラメータを変更して再解析する手順も簡単ですっかりこのシミュレータのファンになってしまいました。

お勧めの回路シミュレータ

余り高度な使い方は出来ない私ですが今まで使った回路シミュレータの中でこのTIのTINA-TIはダントツお勧めのシミュレータです。

TIが提供していないパーツのデバイスモデルを組み込むための手順は調べていませんし、それなりに面倒だと思いますが、ベーシックなOPアンプLM358を作っていたナショナルセミコンダクタや高機能なA/Dコンバータを作っていたバーブラウンも今はTIの一部門になっているのでTIのアナログICだけでもたいていのことは出来そうな気がします。

この回路シミュレータを使った結果としてTIのアナログICを多用することになってしまうのがTIの営業戦略だと思いますが設計者としては簡単確実に望み通りの動作をする回路が出来さえすればよいのですから有り難いことです。

最近は各社から電子部品の3Dデータが提供されていて基板CADのフットプリントに組み込むことで基板の3Dモデルが出力出来てケースとの干渉を簡単にチェックできるようになった結果、コネクタ等は3Dモデルのある部品を優先的に選定するようになってしまいました。

アナログ素子も回路シミュレータで簡単に動作確認ができる部品を優先的に使っていくようになると思いますので他のメーカーにも使い易い回路シミュレータの環境作りに頑張ってほしいものです。

 

格安ロジックアナライザのインストールと使い方

格安ロジックアナライザHiLetgo 24MHz 8チャンネル USBロジックアナライザ)の使い方とインストール

HiLetgo 24MHz 8チャンネルUSBロジックアナライザは取説などのドキュメントは付属していません。
判ってしまえばとても簡単に使えるツールですがUSBドライバのインストールと使い方にわかりにくいところがあったのでメモしておきます。

PulseViewのダウンロード

フリーの汎用ロジックアナライザソフトPulseViewがこのロジックアナライザに対応しています。
sigrokのサイト
からpulseview-NIGHTLY-32bit-static-release-installer.exeをダウンロードします。

PulseViewのインストール

ダウンロードしたインストーラを実行して指示通りにインストールします。
インストールで特に引っ掛かることはないでしょう。

USBドライバのインストール

まずUSBケーブルでロジックアナライザとPCを接続し、デバイスマネージャーでデバイス名を確認します。
私の場合はUnkownDevice#1と表示されましたが環境によっては異なる名称で認識されるかも知れません。

次にプログラムメニューから USBドライバインストール用プログラムのseirok->Zadigを起動してOptions->List All Devices を選択してチェックを入れます。

デバイスリストの中から先ほど確認したデバイス名を選択します。
※ここを間違えると別のデバイスドライバを上書きしてしまうので注意して下さい。

DriverにWinUSBを選択してInstall Driverをクリックすればデバイスドライバがインストールされます、確認してウィンドウを閉じて下さい。
※上図はインストール済みのデバイスドライバを上書きしているので最初の時とは表示が少し違っています。

デバイスの選択

PulseViewを起動してDemoDeviceになっているところの右をクリックしてConnect to Deviceをクリックします。

※ここで苦労しました :roll: 
Step1. Choose the driver からfx2lafw(generic driver … )を選択して

Step2. で USBを選択し

Step3. Scan for devices using driver above をクリックします。 

Saleae Logic with 8channels というデバイスが表示されるので選択してOKボタンをクリックします。

測定の基本設定:チャンネル、サンプル数、サンプリング周波数、トリガ

チャンネル
測定が必要なチャンネルにチェックを入れます

サンプル数
収録するデータ数を設定します。測定開始後サンプル数に到達したら測定は自動的に停止します。

サンプリング周波数
サンプリング周波数を設定します、サンプリング周波数が高いほど速い信号の変化を監視できますがサンプリングしたデータ数も大きくなるので監視したい信号に合わせて選択します。

トリガと信号の名称、色
信号名をクリックするとトリガメニューが表示されます。
トリガが設定されていない場合はRunボタンをクリックすると同時に測定が始まり、トリガが設定されていれば全てのトリガ条件を満足したときに測定開始となります。
信号名、色の設定は任意です。

測定開始と終了

Runボタンをクリックすると測定を開始し、収録したデータ数がサンプル数に到達するかStopボタンをクリックしたときに測定が終わります。

格安ロジックアナライザのテスト

格安ロジックアナライザHiLetgo 24MHz 8チャンネル USBロジックアナライザ)を見つけたので購入してテストしてみました

結論としては数MHzまでの信号を見るのには十分に使えますし、コンパクトで使いやすくフリーのソフトもとても使いやすくて気に入りました。
テスター以下の価格ですし、ロジアナで信号を確認することは初心者にとってとても勉強になるので、ものづくりコンテスト電子回路部門に取り組む高校生などに勧めたいと思います。
テストクリップは付属していませんので「ICテストフック」は別途購入
※Amzsonで210円@10くらいからありますが安いものはロジックアナライザのケーブルに挿すピンが付いてないのでケーブルをハンダ付けする必要があります。

プッシュボタン付きロータリーエンコーダのテスト

実験用に格安プッシュスイッチ付きロータリースイッチを購入しました。(エンコーダのようにAB相のパルス信号を発生するタイプ)

データシートもついてないのでネットで相当品の情報を探しピン配置図は見つけることが出来ましたが

タイミングチャートは見つからなかったので格安ロジックアナライザで調べて見ることにしました。

PulseViewで調べたタイミングチャートが下図で、つまみを回転させるとエンコーダと同じA・B相のパルス信号が発生していることを確認できます。
PulseViewの使い方は簡単でサンプリング周波数(20KHz)とサンプリング数(1M)を設定しRunボタンを押せば信号のトリガが発生したところからデータサンプリングを開始します。
※メニューが無く、最初はトリガの設定をどこでするのかわかりませんでしたがチャート左の信号名(D0,D1)をクリックすれば名称と色、トリガ設定メニューが表示されます。

次の図は信号を拡大したものです、赤丸で囲んだ部分でチャタリングが発生していることがわかります。
※2相エンコーダ信号の場合は原理的にチャタリングの影響は無いのでチャタリング対策は必要ありません。