マイコンを使用してアナログ電圧信号を処理する方法とは?

このQ&Aのポイント
  • マイコンを使用してアナログ電圧信号を取り込み、デジタルフィルタなどの処理を行い、規格値と比較・判定を行う検査装置を作りたいと考えています。
  • サンプリングは5~10KHZで、必要なチャンネル数は約40チャンネルです。パソコンは使用せず、マイコンのみで処理したいと考えています。
  • 測定電圧はDC±10Vで、測定精度はフルスケールの±2%程度です。測定は40チャンネル同時に行い、判定出力(OK, HI-NG, LOW-NG)も必要です。
回答を見る
  • 締切済み

マイコン

アナログ電圧信号を取り込み、デジタルフィルタ等の処理をした後、規格値との比較・判定を行なうような検査装置を作りたいと考えています。 サンプリングは5~10KHZ位で、必要チャンネル数は40チャンネル位です。 どのようなものを使用すれば可能でしょうか? パソコンは使用せず、マイコンのようなものでやりたいのですが、 無謀でしょうか? 測定電圧はDC±10Vです。 測定精度はフルスケールの±2%程度を考えています。 測定は40ch同時です。ただ、サンプリングレートが確保できれば ch切替式(マルチプレクサタイプ)でもOKです。 判定出力(OK,HI-NG,LOW-NG)も必要です。 よろしくお願いします。

noname#230358
noname#230358
  • 開発
  • 回答数3
  • ありがとう数2

みんなの回答

noname#230359
noname#230359
回答No.3

皆様のアドバイスで一通りの必要情報は網羅されています。 20年程前に、このようなことばかりをやっていた者で、老婆心ながら少しだけ補足を。 まず、「同時」と「切替え式でもOK」とありますが、切替え式の特徴をよく把握する必要があります。 切替えを行うと、一定の安定待ちを行う必要があります。近年では高速でマルチプレクサ内臓の良いA/Dコンバータが安価であるようですが、こんな所でつまずいたりします。1回路あたりのサンプリングレートは10Khzとありますから、1回路のサンプルのピッチは100μsecと十分余裕です。ですが、これを40回路同時に行うとなると、どんなに変換速度の速いA/Dを使ってもマルチプレクサが安定するまでの時間が足りません。(どれ程必要かは、近年のICのスペックを知らない物でなんとも...)計測器であれば、リニアリティや温度補償など、アナログの知識は確固たるものが必要です。数回路ずつ括ると、括りの単位で回路特性が変わったりします。これも頭の隅において損はありません。 判定方法も、もっと詳細が解らないとコメントができません。 1サンプル単位でのジャッジなのか、一定のバッファ後に纏めて判断なのか、トリガが来た瞬間に即座(割込み処理)なのか... 以前は、良品のVTRの信号を20μsec程度のピッチでスキャンしておいたデータを、ラインに流れる基盤の計測信号と比較し、GO/NGなどジャッジしていました。波形状況を見てトリガをかけ、サンプルするなどかなり高度な計測でしたが、クロック8Mhzの8bitCPU1個でやれました。代わりに、サンプリングスタートから終了までの間は他の処理は一切しないでよいように、前後で全ての準備を行うようなシーケンスが必要となります。 近年、デジタル回路の性能は高速・高度になり、容易に実現できそうではありますが、計測に関しては1スキャンすら取りこぼすことは許されません。要求される全シーケンスをトータルで検討し、その実現を、回路の動きからCPUのプログラムフェッチ速度まで、通信の割込みで発生するイレギュラーなタスク、自分がCPUになり代わり、1マシンサイクル単位で追いかけて行ける知識が必要です。 専門家に任せるしかないのですが、その専門家の技量や商魂も入り乱れ、価格は1桁変わってくるでしょう。それをフォローするのは、予備知識による仕様出しか、信頼関係かのどちらかになります。 散文で失礼しました。

noname#230358
質問者

お礼

ありがとうございます。 思っている以上にハードルが高そうなので、ひとまずアナログ回路での 対応で考えます。

noname#230359
noname#230359
回答No.2

毎度JOです。 投稿内容から結論として可能だと思います、スペック(機器として)は 1)AD入力40CH 2)100μs以内に全チャンネルがサンプリング出来る事 3)ADへの入力は、±10V→0~5Vへのコンバーターで実現 4)ADコンバータの分解能は8ビット(1/256) 精度≒0.4%  マイコンIC単体で40CHは出来ませんので、複数のAD変換ICとの組み合わせとなります。 補足要求として、 測定する対象がわかりませんが、毎秒(10K X 40データ)400000個の判定結果が生成されますが これをどのように処理するか? 判定する為のデータは、どのように取り込むか? 1)初めから定数として決まっていて、プログラム上でこれと比較 2)パソコンなどと通信(RS232Cなど)して、比較するデータを確定する   判定(OK,HI-NG,LOW-NG)の出力形態は? 1)LEDなどで、チャンネル毎に表示 2)パソコンなどと通信(RS232Cなど)して、判定結果を通信で送る これらをご自分でなさるには、マイコンに相当の習熟が必要になります、また回路設計には相応の技術が必要になります、 専門の業者に委託されたほうが無難かと思われます。 毎度JOです。 一つ確認したいのですが、サンプリングするアナログ信号は「変化」するのでしょうか?? 5kHz以上の速度で変化する信号ですと、エイリアシングが発生して、正確にサンプリングできません http://www.mech.tohoku-gakuin.ac.jp/rde/contents/course/controlII/digicont.html >>どのようなICが候補としてありますか? 開発する立場として一言 CPUについては、極論すればなんでもOKです、ADコンバータを内蔵しなくとも、外部に持てばよいわけです。 発注者側よりCPUの指定をしないほうが良いです、これは開発者により得手・不得手のCPUがある為で、 使い慣れたCPUであれば、開発期間の短縮・開発設備は豊富にある・スフトウエアの安定感など、 開発者の実績のあるCPUであれば、結果として成功します。 ADコンバータについては、100μS以内で8ビットX40サンプリングできれば何でもよいので、 1)20μs以内でサンプリングできるコンバータ、4回路入りX10個 2)10μs以内でサンプリングできるコンバータ、4回路入りX5個 3)ビデオ信号をサンプリングできる物であれば、デコード回路との併用で、1個で済むかもしれません ADへの入力は、±10V→0~5Vへのコンバーターで実現するのですが、この回路にLPFなどの積分回路・ゲイン調整などの機能を持たせる事もできます。 開発経費については、既存の製品が流用できない場合、すべての回路を1から設計しプログラムも有りますから、百万単位になると思われます。 成功の秘訣は、開発する側と十分な検討・コミュニケーションをとって、スペック上では、譲れる所は譲って、譲れないところは譲らない!!! 開発全般についてもそうなのですが、発注側が「わがままを言えば言うほど」高い(価格的に)物になってしまいます、何をおいても十分な検討・話し合いを。

noname#230358
質問者

お礼

回答ありがとうございます。 判定する為のデータは外部からRS232Cで初期設定し、このデータとの比較です。 出力形態は判定出力(TTLなど)で、 データ確認のため要求によりRS232C等の通信でデータを外部へ取り出したいと考えています。 どのようなICが候補としてありますか? 製作に当っては最終的には外部業者に頼ることになると思いますが、 どのようなものになるかイメージが知りたいのでよろしくお願いします。 また、外部に開発依頼するとしたら費用はどのくらいが目安でしょうか?

noname#230359
noname#230359
回答No.1

専門分野でないのでアドバイスできませんが、下記が必要かと思います。 ・測定電圧(DC○~○V) ・測定精度(フルスケール±%) ・40CHは同時測定か。それともCH入力を順次、切り替えることでも対応出来るか。 数点程度なら、変位センサ等を使いますが、40CHとなると‥。 当然、OK,HI-NG,LOW-NGも必要ですよね?

関連するQ&A

  • アナログマルチプレクサ

    8チャネル・アナログマルチプレクサについての質問です。 MC14051B という8チャネル・アナログマルチプレクサを使って複数の入力電圧を測定しようと考えています。 しかし、うまく動作しません。測定回路中に以下のように用いました。 ・3本のディジタル入力ピンに000~111までの信号を入力 ・8本の入力チャネルに直接0~5Vの電圧 ・DC供給電圧として+5Vと-5V 改善しようといろいろと調べましたが、初心者の自分にはどうにもできません。 使い方が間違っている点、注意すべき点などご指摘ください。 よろしくお願いします。

  • Sin波をAD変換ボードを通してAD変換したときの波形図。

    Sin波をAD変換ボードを通してAD変換したときの波形図。 AD変換ボードの操作に慣れようと思って、周波数発信機を用いて60Hz、600Hz、6kHz、60kHz、600kHzのsin波を測定しているのですが、60Hz、6kHzのときは、きれいなsin波が測定できるのですが、それ以外の周波数の場合には、sin波が測定できません。一応サンプリング周波数を変えてやってみたのですが、それでもダメでした。60Hzと6kHzの測定はサンプリング周波数1000Hzで取ることができました。こんな現象が起きるのにはサンプリング周波数以外にも何か理由があるのでしょうか? なお、供給する電圧は、2~3V程度の信号を使用しています。 使用しているAD変換ボード:分解能16bit、最高サンプリング速度100kSPS、バイポーラ:±10V 添付図は、電圧は違いますが同じ回路を使用した場合の60Hzと600Hzの波形です。

  • 離れた場所の電圧を測定し、マイコンへ送る方法は?

    マイコン初心者です。 離れた場所(10m位)にある 3ヶ所の電圧を測定し、離れた場所のマイコンにほぼリアルタイムで送りたいです。 実現方法を教えて下さい。 マイコンAを測定対象付近に設置して、離れた場所にあるマイコンBにシリアル(RS-232C)にて、 データを送る方法を考えましたが、もっとスマートな方法がありますでしょうか。 上記のアイデアを実現する技量も無いです。合わせて教えて頂けませんでしょうか。 (測定開始の信号を送るので双方向通信が必要ですし、シリアル送出中のデータの取りこぼしは困りますし・・・) 測定対象は電圧の制御対象なので、リアルタイム性は強く求められます。 マイコンを測定対象付近に一つ設置する方法は、コンソールから多芯の太いケーブルを引き回さないといけなくなるので避けたいです。 宜しくお願い致します。

  • サンプリングレートの一括変換

    ビットレート64Kbps、サンプリングレート22.05KHz、1CH(モノラル)のファイルが非常にたくさんあるのですが、このファイルをサンプリングレート44.1KHz、2CH(ステレオ)に一括変換したいのです。 フリー、シェアウェア問わずご存知のソフトがありましたら教えてください。 なぜ、変換する必要があるかといいますと、録音機材は22.05KHz以上のサンプリングレートを使えず(しかも1CHのみ)、再生機器は44.1KHz以下のサンプリングレートでは再生できず、しかも2CHのみです。 よろしくお願いします。

  • H8Sマイコンの機能に相当するAtmelのマイコン

    現在、H8S2368マイコンというのを使用しているのですが、Atmelのマイコンでそれに相当するようなマイコンをご存じでしたらご教授頂きますようお願い致します。 なお、H8S2368マイコンの仕様は http://japan.renesas.com/products/mpumcu/h8s/h8s2300/h8s2368/index.jsp こちらのサイトで次のようになっていました。 低電圧高速動作 3.0~3.6V/33MHz動作 最小命令実行時間:30ns ROM/RAM 512kB/32kB:H8S/2368F 384kB/32kB : H8S/2364F 384kB/24kB:H8S/2367F 256kB/32kB : H8S/2362F 256kB/24kB : H8S/2361F 256kB/16kB : H8S/2360F 256kB/16kB:H8S/2365 -  /16kB:H8S/2363 シリアル通信機能強化 SCI×5ch(I2C×2chオプション) 等 どうぞ、よろしくお願いいたします

  • 可動腺輪型直流電流計で計器を作った時の外部抵抗。

    可動腺輪型直流電流計(フルスケール200μA,内部抵抗70Ω)を使って1~5の計器を作成するとき回路に接続する外部抵抗Rを求めたいのですが、どのように計算すればよいのでしょうか?新しく作成した計器は元の電流計の目盛をそのまま新しい計器の目盛として読み替えるものとしてです。 1.フルスケール200mAの直流電流計として使用。 2.フルスケール200Vの直流電圧計として使用。 3.フルスケール200Vの交流電圧計として使用。  但し個々の整流器は順方向の抵抗を20Ω、逆方向の抵抗は無限大である。 4. 2で作った直流電圧計で交流100Vを測定するといくらを指示するか。 5. 3で作った交流電圧計で直流100Vを測定するといくらを指示するか。 ※1は外部抵抗と並列、2は外部抵抗と直列、3は整流器4個をブリッジ型にしたものと外部抵抗が直列です。 どうか外部抵抗Rと計算方法を教えてください。お願いいたします。

  • PICマイコンとFPGAのどちらが良いか知りたい

    技術にうといマネージャです。PICマイコンとFPGAのどちらが良いのか教えてください。 作るもの; 1)アナログ電圧2chと距離を測るエンコーダ1ch(一種の距離センサ)の合計3chの入力情報 2)ステップ1;アナログ2ch分をエンコーダからの信号をトリガーにしてAD変換する。 ステップ2;3ch分をまずメモリに蓄える。 ステップ3;縦軸;2chのデジタル化した電圧値、横軸;エンコーダからの距離情報で、横5インチ、縦4インチ程度のカラー液晶に表示する。 結果は、真ん中付近にピークのある山形データとなる。例えば富士山。 ステップ4;2chデジタル化した信号(縦軸)と横軸の値から、信号処理をする。例;ピーク値の位置(富士山の頂上)の距離のところにカーソルを合わせる。その部分の波形の半値幅を自動演算する。 ステップ5;事前に用意したデータベースの半値幅のデータと比較し、測定した半値幅がある種のランクであることを判断する。 例えば、半値幅10mmは種類Dと判断。(種類種類をは20種類。A~Uまでとか) ステップ6;その結果の種類を液晶画面に表示。 開発費用は十分。改良も結構行える。 自分で作成するのは、 案1)上記のアルゴリズムだけ 案2)アルゴリズムとCあるいはC++で作成したプログラムの両方。 アトは社外のメーカに発注。 製造数量は年間100セットが最大。 知りたいこと; 上記のことは 案1;PICマイコンをベースにする 案2;FPGAをベースにする。 のどちらが良いか知りたい。 又、選択の根拠は何か知りたい。 例;使用するプログラム規模。演算速度。メモリ量、液晶表示機能。

  • AVRマイコンのパワーセーブモード時の消費電流

    AVRマイコンのパワーセーブモード時の消費電流について質問させて頂きます。 パワーセーブモード、パワーダウンモー時の消費電流を測定すると、 ・パワーセーブモード時消費電流:92.5μA(電源電圧:3V、動作クロック:31.25kHz、WDT無効) ・パワーダウンモード時消費電流:0.2μA(電源電圧:3V、動作クロック:31.25kHz、WDT無効) になりました。 AVRマイコンのマニュアルを見ると、 ・パワーセーブモード時消費電流:7μA(WDT無効) ・パワーダウンモード時消費電流:0.2μA(WDT無効) との記載があり、パワーセーブモード時消費電流においてマニュアル値と実測値で大幅な相違があります。 何らかのミスを犯していると思われますが、原因を推測できる方がいらっしゃいましたら、ご教示下さい。 AVRマイコンの型番は、『ATMEGA48V』になります。 よろしくお願い致します。

  • お買い得なオシロスコープ

    下記条件で測定可能なオシロで安価(50万円以下くらい)なモデル、またはお奨めのメーカーをご存じの方よろしくお願い致します。 1. 4ch 2. 250kHzでサンプリング 3. 0.04ms(1000ポイント) 秒間 記録 上記で、波形を保存でき、タイマートリガ機能(決まった時間毎に記録出来る)の付いたモデル ちなみに、被測定対象は AEセンサ→プリアンプ→ディスクリミネータ→オシロの構成にて 100kHz未満の超音波を測定し、FFTしたいと思っています。

  • PICマイコンについて

    PICマイコンについての質問です。 現在LCDドライバをPICマイコンで動かして液晶に表示させようとしてます。 PIC16F1619のCuriosityを使用してます。 この条件では、液晶は表示され問題なかったのですが、メモリの大きい PIC16F18346に置き換えて同じプログラムで動かそうとしたところ、 (もちろんMCCで必要な部分の設定はし直したことろ)、デバッグはOKになったものの 全く液晶に表示されませんでした。 おかしいなとおもってロジアナで波形を確認したところ、CS、A0、SDO、SCKの 波形が異なっていました。プログラムが全く同じなのにこんなことはありえるのでしょうか? 原因はそれだとは思いますが、わかりましたら、ご連絡願います。よろしくお願いいたします。