タグ付けされた質問 「adc」

ADCは、A / Dコンバータです。このデバイスは、アナログ信号をデジタル形式に変換します。これは主に、アナログ測定を行うためにデジタル回路によって使用されます。

1
12ビットADCを使用する場合の設計の要点
私は現在、12ビットADC(MCP3208)をRaspberry Piに(他のいくつかの低速I / O関連のものに加えて)接続しているボードを設計しています。それは主にアナログセンサー(温度センサー、IR距離センサーなど)に接続されますが、必ずしも12ビットの解像度を必要とするわけではありませんが、追加の情報が必要な場合もあります。 私はアナログ回路の経験があまりなく、関連する基礎となる数学と物理学をよく理解していません。 私はADCに関するいくつかの設計ガイドを読んでいますが、アンチエイリアシングフィルター、高インピーダンス信号用のADCドライバー、アナロググランドプレーン、特定のパターンでトレースをレイアウトしてノイズを低減し、高速デジタルエレクトロニクスをできるだけ分離したままにすることについてよく読んでいますスイッチングノイズ、高精度電圧リファレンスなど、まだ十分に理解していないものをADCから削減できます。 それで私が疑問に思い始めたのは、12ビットADCを使用するのが理にかなっているかどうかです。回路設計が最適ではないために2つのLSBが失われる可能性があるため、正しく実装する専門知識がない場合は、 10ビットADCで行く。または、最適な回路設計は、12ビットの領域では、私が信じているほど重要ではありません。 ノイズを減らすために常に実装する必要があるものは何ですか(明らかなバイパスキャップがある場合)?私のような混合信号アプリケーション(ADCと通信するGHzプロセッサを持っている)のノイズの最大の原因は何ですか?高精度のアプリケーション(14-16ビット+)でのみ実際に必要なものは何ですか? 気をつけなければならない理にかなった本質的なことを本当に知りたいです。

2
小型DC扇風機から誘導される電気ノイズの低減
小さなブラシレスDCファンからADCに誘導される電気ノイズを低減/排除するための標準的な方法は何ですか?以下の参照用に、このウォールウォートとこの 5Vリニアレギュレータも使用しています。 私のベースラインシステムは次のようになります。 私の頭の中にはいくつかのオプションがあり、どれが一番いいのか疑問に思っています。 私の最初のアイデアはこれです[オプションA]: 私の2番目のアイデアはこれです[オプションB]: 私の3番目のアイデアはこれです[オプションC]: おそらく私がまだ考えていない他のオプション、およびこれらのオプションの順列と組み合わせがあります。これらのオプションの長所と短所は何ですか?どのオプションを選択し、その理由を教えてください。

2
ADC接地の接地
高速で高解像度のADC、特に並列出力を備えたADCは、通常、別の電源ピン(DRVDD、(ドライブvdd)またはOVDD(出力vdd))を備えています。デジタル出力信号が切り替わります。 ほとんどのADCデータシートでは、デバイスの真下に切れ目のない単一のグランドプレーンを推奨し、OGNDとGNDを可能な限り最小のインダクタンスでこのプレーンに接続します。 1つのボード上にこれらのADCのいくつかがある状況があります。PCBに複数のADCがある場合でも、「単一の途切れのないグランドプレーン」の推奨事項が依然として適用されるかどうか疑問に思っています。 私たちの設計では、GND(VDDのグランド)用とOGND(OVDDのグランド)用に1つずつ、2つの別個のグランドプレーンを使用し、これら2つのプレーンをPCBのエッジ近くに接続しました。ジャック。 任意のアイデア、実世界の例、または参照ドキュメントへのリンクは高く評価されます。

2
未使用のアナログ入力をどうするか?
ATmega328p atmelマイクロコントローラーを使用するアプリケーションに取り組んでいます。私は28 PDIPバージョンから始めましたが、今は32 TQFPを使用したいと思います。Altiumプロジェクトをコンパイルした後、2つの追加の入力があることに気付きました。 データシートによると、これらの入力はADC7:6であり、「A / Dコンバータへのアナログ入力として機能します。これらのピンはアナログ電源から給電され、10ビットADCチャネルとして機能します」。 一部の人々がADCを使用し、浮動入力を持っているときに未知の結果を得ていることをオンラインで読みました。私が読んだのはプルダウン抵抗をアクティブにすることですが、それらを構成する方法がわかりません(I / Oポートに属していないため)。また、私のアプリケーションではA / Dコンバーターもまったく使用していません。 ベストプラクティスは何ですか?外部プルダウン抵抗を接続する必要がありますか?Altiumエラーを無視しますか?

6
正確な場合、半桁はどういう意味ですか?
テスト機器(またはA / Dコンバータ)の精度が高い場合に、somoneが「3と1/2桁」のようなものを言うとき、それは何を意味するのだろうと思います。いくつかの例を挙げて、これを少し説明できますか?
10 adc  measurement 

6
PICマイクロコントローラーで-2 V〜+2 Vのアナログ信号をサンプリングするにはどうすればよいですか?
300ビット未満の周波数のアナログ信号から読み取り値を取得するために、10ビットADCを備えたPICマイクロを使用しています。ただし、そのアナログ信号の範囲は-2 Vから+2 Vです。信号を調整して使用可能な範囲にするにはどうすればよいですか(ADCへの入力が正である必要があると想定しています)。負の電源。

4
HALを使用したSTM32 ADC変換
stm32から「新しい」HALライブラリを使用する方法を学習しようとしています。 単純なADC変換を行おうとすると、1回だけ機能しますが、変換が停止します。変換終了フラグが設定されていないと思います。STM32f429I Discoveryボードを使用していますが、これにはボードにSTM32f429ZIが搭載されています。 私はsprintfが悪い習慣であることを知っており、割り込みでADCを作成する方が良いことを知っています。指摘しないでください。これは質問には関係ありません。ここではHALをテストしています。 では、問題はなぜEOCフラグが設定されていないのか、それを機能させるために何ができるのかということです。HALに関する優れた資料が非常に少ないため、グーグル検索はあまり役に立ちません。 これがコードです: __IO uint16_t ADCValue=0; void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc); int main(void) { char str[15]; /* Various initializations */ HAL_ADC_Start(&hadc1); while (1) { if (HAL_ADC_PollForConversion(&hadc1, 1000000) == HAL_OK) { ADCValue = HAL_ADC_GetValue(&hadc1); sprintf(str, "%d", ADCValue); BSP_LCD_DisplayStringAt(130,30, (uint8_t*)str, LEFT_MODE); } } void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) { ADCValue = HAL_ADC_GetValue(&hadc1); } …

1
ADコンバーターの差動入力のインピーダンス
現在、かなり高速なADC / DACコンバーターチップをFPGAに接続してRFを送受信することを試みていますが、コンバーターを実行して、信号発生器とテスト用のオシロスコープを接続することが今の私の主な目標です。 私はデジタルの世界から来ています。私はあらゆる種類のデジタル回路を実行し、マイクロコントローラーで簡単なタスクを行うためにADコンバーターを使用しましたが、差動でインピーダンスなどのいくつかの要因に敏感なアナログ高速信号に関しては、基本的に何を考えているのかわかりませんmやって。 このプロジェクトで使用したいチップはAD9862です。それはかなり古いですが、それほど高価ではなく、はんだ付けも簡単であり、参照プラットフォームとして使用しているUSRPのいくつかのモデルでEttus Researchによって使用されています。より良いチップの提案があれば教えてください! 今私が気にしている主なことは、全体のアナログ領域です。AD9862には、オプションでバッファリングできる2つの差動入力があります(これは私がやるべきことです)。データシートには、入力バッファのインピーダンスが200オームであると記載されています。次に、私がやりたいことは、これら2つのADチャネルを50Ωインピーダンスの不平衡SMAコネクタに取り出し、後で信号発生器または無線フロントエンドを接続することです。ですから、そのためにバランが必要です。 Ettusもそれを行いました。AD- / DA-Converterに異なるフロントエンドを接続するためにベースボードに接続できるドーターボードがいくつかあります。今、私がまさに望んでいることを実行するBasicRXドーターボード(以前は最も簡単なドーターボード)を見ると、彼らがADT1-1WTと呼ばれるバランを使用していることがわかります。これを調べると、データシートには75Ωのインピーダンスがあることがわかります。それは完全に間違っていませんか?50オームの不平衡から200オームのバランストランスが必要だと思いました。 また、入力は50オームの抵抗で終端され、出力はコネクタ以外のコンポーネントなしで直接AD(VINP_A / VINN_AおよびB)に送られます(右?または、 10pFコンデンサ?メーリングリストで、ローパスフィルターの値が50Ωのこの回路図で間違っていることをどこかで読みました。これは、AD入力の200オームの入力インピーダンスとはまったく一致しません。誰かがそれを私に説明できたら最高です!私にとって、すべての値は完全にオフです。 また、PCB上のトレースはどうですか?また、反射や定在波を防ぐために、適切なインピーダンスが必要です。だから私はそれらを一致させる必要があると思いますか?したがって、バランの出力は、AD入力に向かう差動インピーダンスが200オームの差動トレースである必要があり、バランの反対側では、SMAコネクタに行く50オームのトレースが必要ですか? 誰かが私にこれについていくつかの光を当てることができれば、それは素晴らしいでしょう!これらはすべて、電気工学を専攻してコンピュータサイエンスを専攻した場合にのみ大学で学んでいるように見えます。これはすべて私にとって素人的な趣味なので、今はちょっと迷っています:(

1
合成されたROMコアを使用した単純なテストベンチのシミュレーション
私はFPGAの世界にまったく新しいので、4ビットの7セグメントデコーダーという非常に単純なプロジェクトから始めようと思いました。私が純粋にVHDLで書いた最初のバージョン(それは基本的に単一の組み合わせselectであり、クロックは必要ありません)は機能しているようですが、ザイリンクスISEの「IPコア」の要素を試してみたいと思います。 今のところ、「ISE Project Explorer」GUIを使用しており、ROMコアを使用して新しいプロジェクトを作成しました。生成されるVHDLコードは次のとおりです。 LIBRARY ieee; USE ieee.std_logic_1164.ALL; -- synthesis translate_off LIBRARY XilinxCoreLib; -- synthesis translate_on ENTITY SSROM IS PORT ( clka : IN STD_LOGIC; addra : IN STD_LOGIC_VECTOR(3 DOWNTO 0); douta : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ); END SSROM; ARCHITECTURE SSROM_a OF SSROM IS -- synthesis translate_off COMPONENT wrapped_SSROM …

2
Bluetoothシンプルオシロスコープ
私は、少なくとも2MHzの信号を測定できるシンプルなオシロスコープを作ろうと考えていました。それで十分であり、PCまたはAndroidデバイスに接続されます。最初に、USBを使用して「オシロスコープ」をPCまたはAndroid USBホスト対応デバイスに接続し、転送速度が約12Mbpsになるはずですが、Bluetoothまたは別のRF方式で実行したいと考えています。Bluetooth-UARTモジュールの中には、2Mbpsの転送速度とWi-Fiモジュールが約300Kbpsにしか対応していないものがあります。12MSPS ADCからのサンプルをバッファリングするための512K RAMメモリがあるので、2Mbpsでは次の時間がかかります。 512000 K b yT E S2000000 M b p s / 8 b i t s= 2.048 、S 、E 、C 、O 、N Ds512000 Kbytes2000000 Mbps/8b私ts=2.048secoんds\frac{512000\ Kbytes}{2000000\ Mbps/8bits} = 2.048 seconds したがって、512KバッファをすべてBluetooth経由で送信するまで、2秒のサンプルが失われます。USB経由でそれは約330mSであり、それは多すぎると思います。これを回避する方法はありますか?USBオシロスコープはそれをどのように行うのですか?

1
ATMega328外部AREF接続
ATMega328データシート、セクション24.9.1: 外部基準電圧がAREFピンに印加されている場合、内部基準電圧オプションは使用できません。 Arduino リファレンスページから: あるいは、外部基準電圧を5K抵抗を介してAREFピンに接続し、外部基準電圧と内部基準電圧を切り替えることができます。AREFピンに32Kの内部抵抗があるため、抵抗は基準として使用される電圧を変更することに注意してください。2つは分圧器として機能するため、たとえば、抵抗を介して2.5Vを印加すると、AREFピンで2.5 * 32 /(32 + 5)=〜2.2Vが生成されます。 ATMega328データシートは、表29.16 ADC特性の「内部32k抵抗」リファレンスを確認しています。リファレンス入力抵抗= 32 kOhm。 とはいえ、上記の2つの発言は互いに相反するように思われます。私はいくつかのセンサーが0-5Vフルスケールを出力し、他のセンサーが0-1.8Vフルスケールを出力するアプリケーションを持っています。1.8Vセンサーをサンプリングし、5Vセンサーの内部AVCCリファレンスに切り替えるときに、1.8V AREFへの切り替えの分解能が向上すると、アプリケーションにメリットがあります。 Arduinoのリファレンスページでは、5kOhmの直列抵抗を介して1.8V AREFに結合し、内部の32kOhm抵抗による分圧器を考慮に入れれば、これで問題ないことを示唆しています。これはArduinoリファレンスからの悪いアドバイスですか、それとも実際にこの種のことをするのは一般的な習慣ですか?Atmelの声明は、外部電流制限抵抗なしでAREFに適用される外部電圧に制限されていますか(そうであれば、内部32k抵抗が与えられている理由)? 余談ですが、1.8V信号を最大5Vにスケーリングするために適切に構成されたオペアンプで同様の結果を達成できることは明らかですが、オンボードADCでも同様に処理できる場合、追加された複雑さと部品は無駄に見えます。変更可能な電圧リファレンスを利用する。同様に、感知された信号が1.1Vを超えないことを確信できれば、内部基準電圧を利用できます。繰り返しになりますが、基準を設定するために低電圧センサーに電力を供給している1.8Vレギュレーターを使用する方が私にはよりエレガントに思えます。

3
Arduino Nano:アナログ入力で微小電圧を測定
Arduino Nanoの 10ビットADCで0v〜40mVをできるだけ正確に測定する必要があります。1秒あたり約1つのサンプルしか必要ありません。 AREFピンをグラウンドより40mV上に保持し、すべてを適切にシールドし、ハードウェアとソフトウェアでローパスフィルターを使用し、適切に平滑化された電源を使用する予定です。 どんな精度が得られるでしょうか? 精度を向上させるために他に何ができますか?
9 arduino  adc 

2
アナログ入力を使用してArduinoの電源電圧を測定する
5vバッテリー(ステップアップモジュールに3.7v)を使用してArduinoに電力を供給していて、電圧を測定する必要があります。バッテリーが大電流を供給しているとしましょう。AnalogInで電圧を測定しても安全ですか?このように: 私が尋ねている理由は、ArduinoのADCアーキテクチャと制限についてあまり知らないためです。だから通常、私は安全のためにそうします: 最初の図の接続はADCにとって安全ですか?前もって感謝します! 注:同様の質問がここで行われました:(DC電力使用量の監視)が、バッテリーの高電流負荷の質問には答えません。

2
Arduinoは切断されたピンに入力値を持っています
Arduinoは初めてです。たぶん基本的な質問です... このプログラムをロードすると: int mval = 0; void setup() { Serial.begin(9600); // set up the LCD's number of columns and rows: } void loop() { mval = analogRead(1); Serial.println(mval); delay(1000); } 300と400の間で変化する値を取得します。0にする必要があると思うときは、その入力に何も接続されていないということです。 何か案は??USB経由でラップトップに接続されているarduino UNOです。

4
DCモーター電流の検知
私は、DCモーターを流れる電流を小さな抵抗に流し、その両端の電圧を測定しています。このアナログ電圧をマイクロコントローラのADCに与えて、信号処理を行う必要があります。私の問題は、マイクロコントローラが絶縁された電源で動作し、検知される電圧が非絶縁側にあることです。アナログアイソレーターを使うのは良い解決策ではないと思います。これに対する1つの解決策は、非絶縁側で外部ADCを使用し、ADC出力をデジタル絶縁することですが、このADCは、モーターが他の方向に動作しているときに負の電圧を取ることができません。助けてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.