問題タブ [adc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
arduino - Arduino ですべての ADC をオンにする方法
私はArduino UNOに取り組んでいます。ADCピンをオンにする必要がある時点で立ち往生しています。私を助けてください、私はArduinoが初めてです。
microcontroller - ADC トリガーでの PIC ウェイクアップ
ADCの読み取りにPIC24F16KA101を使用しています。ADC 信号はランダムに来るので、Mcu をスリープ モードにします。信号がしきい値を超えたときに MCU を起動するのが好きです。これをグーグルで検索すると、これに関連する多くのトピックが見つかりましたが、この問題を明確にするのが好きです. この問題の解決策をいくつか見つけましたが、消費電力を最小限に抑えた解決策が必要です。
ADC を最大周波数でサンプリングします (信号はランダムな高周波パルスであるため)。MCUが起動しているときにシステムクロック(私は32MHz FRCPLLを使用しています)に基づいてAdcクロックを使用し、スリープに入る前にADRC内部クロックに変更して、adcがスリープモードでサンプリングするようにします。このようにして、しきい値がより高い場合に、(ADC 割り込み優先度を CPU 優先度よりも高く設定することによって) モジュールをウェイクアップできることを願っています。しかし、このためには、adc を使用して継続的にサンプリングする必要があります。
コンパレータ モジュールに同じ Adc 入力を提供し、処理を行わない間 MCU をスリープ モードにして、ADC をオフにします。モジュールは、入力がコンパレータのしきい値より高くなるとウェイクアップし、ADC を開始します。この場合、コンパレータはスリープモードで動作すると思います。しかし、いくつかの重要な信号情報を見逃す可能性があるのではないかと心配しています (コンパレータ割り込み後に adc をオンにするのに時間がかかるため)。
もう1つは、タイマーを使用して指定した間隔でADCをサンプリングすることですが、信号がランダムであるため、信号を見逃す可能性があります。
どちらが良いでしょうか、またはこれに対する他の解決策はありますか? 助けてください....また、内部ADRC発振器の周波数を知りたいです。
filtering - ADCを使用する場合のフィルタのカットオフ周波数の決定方法(フロー:アナログ信号からADCへ、ビットからfir_filterへ、filtered_outputへ)
- ノイズを除去するには、FIR フィルターを使用する必要があります。私が取得しているアナログ フィードバック信号に加算される可能性のあるノイズの周波数がわかりません。
- 私の装置はアナログフィードバック信号で構成されており、ADC を使用して値をデジタル化しています。現在、FIR フィルターを適用してノイズを除去する必要があります。環境または何らかの種類のアナログ信号に追加されたノイズがどのノイズなのかわかりません。 ADCが原因でノイズが発生しますか?
- これを vhdl でコーディングする必要があります (この部分は簡単に実行できます)。
私の主な問題は、周波数を決定することです。
前もって感謝します !vhdl で作業している一部の人はフィルターについて知っているかもしれないので、vhdl にタグを付けます。
comparator - PIC マイクロコントローラのコンパレータが継続的に割り込みを生成するのはなぜですか
PIC18F46K22 で 2 つのコンパレータ モジュールを使用しようとしていますが、コンパレータの 1 つが継続的に割り込みを生成しています。
アイデアは、アナログ入力の変更でプログラムを起動することです。2 つの DAC は、アナログ入力値よりわずかに高く、わずかに低い基準値を提供します。これらは、コンパレータの正のピンに接続されています。アナログ入力はマイナスピンです。
割り込みルーチンでコンパレータからの割り込みが発生した場合、コンパレータ モジュールとコンパレータ割り込みを無効にし、割り込みフラグをクリアします。
メイン ラインでは、アナログ出力値を 2 つのリファレンス DAC にサンプリングし、コンパレータとコンパレータ割り込みを再度有効にします。
問題は、これを行うたびに、コンパレータがすぐに割り込みを生成するため、プログラムがスリープしないことです。DAC からの参照値を増やしてみましたが、それでも割り込みが発生します。
なぜこれが起こるのか誰にも分かりますか?
avr - ATmega2560 ADC チャネル
私は ATmega128 を使用してきましたが、現在 ATmega2560 を少し調べています。すでに 128 で ADC を試しました。2560で試してみたところ、変更時以外は問題ありませんでした。このコードは codevision で書きました。単一のチャネルのみを使用する場合は問題なく動作しますが、チャネルを変更すると動作が不安定になります。何が問題ですか ?
ここにコード
Main 内のプロセス関数は次のようになります。
温度センサー TMP36 を使用して ADC3 を入力し、20 C で出力電圧は約 .7 V です。ADC 3 のみを基準電圧 2.56 V で使用した場合、ADCH と ADCL から取得される値は 0x118 です。同様に、ADC1 を通常状態で 2.48 ボルトを出力する電圧源に接続しました。基準電圧5ボルトでADC1のみを使用した場合、ADCHおよびADCLからの出力は509です。また、電圧の変化に伴い、ADCHおよびADCLレジスタもそれに応じて変化します。コードに示すように、ADC1 と ADC3 を 2 秒と 3 秒間隔で読み取る関数を呼び出したところ、同じ電圧で ADCH と ADCL の内容が上記とは異なりました。ADC3 の ADCH,L は 137 ~ 140、ADC1 の ADCH,L は 340 ~ 352 でした。