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

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

6
デジタルオシロスコープがまだそれほど高価なのはなぜですか?
私は趣味の電子工学の初心者ですが、なぜデジタルオシロスコープがこれほど高価なのか疑問に思っています。 安価なGHzのCPU、USB 3、ADSLモデム、DVB-Sレシーバー、Blu-rayプレーヤーのすべてが顕著なクロック周波数/サンプリングレートを備えている時代には、なぜデジタルオシロスコープが帯域幅の信号をサンプリングできるのか不思議に思う10MHzは依然として非常に高価ですが、100MHzはすでにハイエンドです。 これはどのように説明できますか? ADCと上記のデバイスのデジタルオシロスコープとの違いは何ですか?

7
ADCで負電圧を測定するにはどうすればよいですか?
私は10ビットADCを内蔵したPICマイクロコントローラーを使用しており、-1〜-3ボルトの範囲の電圧を測定したいと考えています。 反転モードでオペアンプを使用して電圧を正にしてからマイクロコントローラのADCに供給することを考えましたが、ここでは負の電源でオペアンプに電力を供給する必要がありますか?現時点ではマイナス電源を使用したくありませんが、この構成を実現できるかどうか疑問に思っていましたか?手伝ってもらえますか?


3
ADC入力用に0〜10Vのアナログ信号を0〜2.5Vに変換する方法
0Vから10Vの範囲のアナログ信号があります。ADCで線形に0〜2.5Vにスケールダウンしたい。 抵抗分圧器を使用すると信号品質に影響するのではないかと心配しています。これは本当ですか?そうでない場合、分圧器にはどの値の抵抗を使用する必要がありますか?
25 adc 

6
シリアルプロトコルの区切り/同期技術
非同期シリアル通信は今日でも電子機器に広く普及しているため、私たちの多くはそのような質問に時々出くわしたと思います。電子デバイスDと、PCシリアル回線(RS-232または同様のもの)で接続され、継続的に情報を交換する必要があるコンピューターを検討してください。すなわち、PCそれぞれコマンドフレームを送信しており、それぞれステータスレポート/テレメトリーフレームで応答しています(レポートはリクエストへの応答として、または独立して送信できます-ここでは実際には関係ありません)。通信フレームには、任意のバイナリデータを含めることができます。通信フレームが固定長パケットであると仮定します。X msDY ms 問題: プロトコルは継続的であるため、受信側は同期を失ったり、進行中の送信フレームの途中で「結合」したりする可能性があるため、フレームの開始(SOF)がどこにあるかはわかりません。Aデータは、SOFに対する相対的な位置に基づいて異なる意味を持ち、受信したデータは破損する可能性があり、永久に破損する可能性があります。 必要なソリューション 短い回復時間でSOFを検出するための信頼性の高い区切り/同期スキーム(つまり、再同期に1フレーム以上かかることはありません)。 私が知っている(そして使用している)既存のテクニック: 1)ヘッダー/チェックサム -事前定義されたバイト値としてのSOF。フレームの最後のチェックサム。 長所:シンプル。 短所:信頼できません。不明な回復時間。 2)バイトスタッフィング: 長所:信頼性が高く高速な回復で、どのハードウェアでも使用可能 短所:固定サイズのフレームベースの通信には適していません 3)9番目のビットマーキング -各バイトに追加ビットを追加します。SOFでマークされたSOF 1とデータバイトには次のマークが付けられ0ます。 長所:信頼性が高く、高速な回復 短所:ハードウェアサポートが必要です。ほとんどのPCハードウェアおよびソフトウェアでは直接サポートされていません。 4)8番目のビットマーキング -上記の一種のエミュレーション。9番目ではなく8番目のビットを使用し、各データワードに7ビットのみを残します。 長所:信頼性の高い高速リカバリは、どのハードウェアでも使用できます。 短所:従来の8ビット表現と7ビット表現の間のエンコード/デコードスキームが必要です。やや無駄だ。 5)タイムアウトベース -定義されたアイドル時間の後に来る最初のバイトとしてSOFを想定します。 長所:データオーバーヘッドなし、シンプル。 短所:それほど信頼できません。Windows PCなどのタイミングの悪いシステムではうまく動作しません。潜在的なスループットのオーバーヘッド。 質問: 問題に対処するために存在する他の可能な技術/解決策は何ですか?上記のリストで簡単に回避できる短所を指摘できますか?システムプロトコルをどのように設計しますか(または設計しますか)?
24 serial  communication  protocol  brushless-dc-motor  hall-effect  hdd  scr  flipflop  state-machines  pic  c  uart  gps  arduino  gsm  microcontroller  can  resonance  memory  microprocessor  verilog  modelsim  transistors  relay  voltage-regulator  switch-mode-power-supply  resistance  bluetooth  emc  fcc  microcontroller  atmel  flash  microcontroller  pic  c  stm32  interrupts  freertos  oscilloscope  arduino  esp8266  pcb-assembly  microcontroller  uart  level  arduino  transistors  amplifier  audio  transistors  diodes  spice  ltspice  schmitt-trigger  voltage  digital-logic  microprocessor  clock-speed  overclocking  filter  passive-networks  arduino  mosfet  control  12v  switching  temperature  light  luminous-flux  photometry  circuit-analysis  integrated-circuit  memory  pwm  simulation  behavioral-source  usb  serial  rs232  converter  diy  energia  diodes  7segmentdisplay  keypad  pcb-design  schematics  fuses  fuse-holders  radio  transmitter  power-supply  voltage  multimeter  tools  control  servo  avr  adc  uc3  identification  wire  port  not-gate  dc-motor  microcontroller  c  spi  voltage-regulator  microcontroller  sensor  c  i2c  conversion  microcontroller  low-battery  arduino  resistors  voltage-divider  lipo  pic  microchip  gpio  remappable-pins  peripheral-pin-select  soldering  flux  cleaning  sampling  filter  noise  computers  interference  power-supply  switch-mode-power-supply  efficiency  lm78xx 

2
この文脈での「ハーフビット」の意味は何ですか?
RS-232仕様では、ストップビットは1、1.5、または2ストップビットになります...どうして半分のビットを持つことができるのでしょうか? また、一部のADC演算では、ICの仕様/データシートで0.5ビット精度を使用しています。誰かがこの主題について詳しく説明できますか?
21 adc  rs232 


5
高電圧DC電圧(最大1000V)を測定するための回路
私は最終年度のE&E学生であり、最大1000 V DCの非常に高いDC電圧を測定できなければならないパワーメーターを構築しようとしています。入力電圧範囲が0〜2.5 Vの単純な12ビットADCで測定しています。アプリケーションには単純な分圧器とオペアンプバッファで十分ですか、それとも別のタイプのフロントエンドアナログ回路が必要ですか電圧は高いですか?


4
14ビットADCの有効ビット数
14ビットADCがあります。ただし、データシート(5ページの表2を参照)を見ると、有効ビット数(ENOB)は常に 12ビット未満です。 DACが12ビットの精度しか持たないのに14ビットADCであると主張するのはなぜですか?意味がない場合、2つの余分なビットを持つことのポイントは何ですか?
18 adc 

9
膨大な数のアナログセンサーをリアルタイムで読み取る
ギターのような首を持つMIDIのようなコントローラーを構築しようとしています。その首には、圧力センサーの巨大なマトリックスがあります。コントローラーは3つのストリングをエミュレートします。 これが機能する方法は次のとおりです。電源(3.3Vまたは5V、おそらく今のところは問題ありません)に接続されている3枚の長尺の両面銅テープ(首まで幅0.5 cm)があります。これらのストリップには、圧力に基づいて抵抗率を変化させるベロスタットの層があります。ベロスタットの上部には、何かに接続された銅テープの列またはセルの別の層があり、ベロスタット層を介して電圧の読み取り値を吐き出します。首の長さは約40 cmなので、少なくとも80列あります。 首に沿ったチャートの列として銅テープの下部の3つのストリップを想像すると、センサーは測定方法に応じてセルまたは行のいずれかになります(列を多重化することもできると思ったので、ただし、これを簡単にする特別な条件がいくつかあります。これはギターのようなコントローラーなので、すべての相互作用を測定する必要はありません。コントローラーの本体に最も近いタッチのみが重要です。また、8ビットの解像度でも十分に正確である必要があります。とにかく、255の圧力レベルはおそらく必要以上です。 難しい部分: 測定は、ハンマーオンなどを検出するのに十分なリアルタイムyである必要があります(サンプルレートをどれだけ高くする必要があるかわかりません-良好な測定と再生可能性のために数kHzで推定)およびコントローラーのデジタル出力はMIDI(3つの独立したチャンネル-文字列ごとに1つ)またはRaspberry Piで処理できるデジタル信号。 今、私の知識は本当に限られているので、仕事に適したツールを考えることができませんでした。しかし、私が知っていることは、それは可能です。非常によく似た手法を使用する同様の異なるコントローラーがあります(私が気づくまで、実際にリバースエンジニアリングしました。特許があり、その方法に関する情報は思ったほど難解ではありません)、それはROLIと呼ばれますシーボード。 TL; DR: 約240個のセンサー 同じ回線で動作する80のグループに分離できます これはリアルタイムのアプリケーションです。タッチされるたびにすべてのセンサーから圧力を取得する必要があります(いくつかの条件が適用されます。上記を参照) 事前に感謝します、私はそれが読むことがたくさんあることを知っています。私はどんな提案にも感謝しており、あなたが私が作り出すために着手した恐ろしい混乱を達成するのを手伝うことができれば非常にうれしいです! 私がこれまで考えてきたこと: 行と列を多重化し、MCP3008以上のADCで各セルを読み取り、位置信号の最小の相互作用のみを最終信号にプッシュする(デイジーチェーンまたはツリーのような)ATmegas通信のオーバーヘッド。また、初期のモデルにはリボンポテンショメータが含まれていましたが、デザインが悪い(何度か試行しましたが、十分にクールではなかった)ため、私はそれを破棄しました。 編集/更新: これまでのところ良い提案をありがとう!彼らのおかげで、問題をより明確に表現できるようになりました。 80行×3列の圧力センサーのマトリックスがあります。人間がセンサーマトリックスと対話しているとき、近接している複数のセンサーがタッチを検出しますが、これは列に沿っている場合のみです。カラムは機械的に分離されています。センサーの抵抗は100Ω〜1kΩです。これらのセンサーはすべて、8ビットの深さで読み取り、処理する必要があり、結果は少なくとも1 kHzのレートで送信する必要があります。したがって、1回の読み取り/処理にかかる時間は1ミリ秒未満である必要があります。列ごとの最終出力は、float32では4バイト、uint8では1バイトである必要があります。float32は、列に沿った最初のインタラクションの平均位置を示します。相互作用は、特定のしきい値を超える圧力を持つセンサーの連続クラスターとして定義されます。これが処理がミックスに入る場所です:読み取り値がしきい値を超えるまで、列は下方向に走査されます。これは、インタラクションの開始としてカウントされます。すべてのセンサーの圧力と位置は、最初のセンサーまで記憶され、最大(おそらく)最大4つの連続センサーでしきい値を下回ります。記録された相互作用のすべてのセンサーから、2つのセンサーのみが処理されます-最高圧力(最低抵抗)を読み取るセンサーと、そのすぐ上または下にある最高センサー。浮動小数点位置は、圧力で重み付けされた2つのセンサー位置を平均することで計算されます。相互作用の全体的な圧力は、0と255の間にクランプされた両方の圧力を加算するだけです(unit8の両方の圧力をuint16に追加し、丸めることなく2で除算し、不要なビットを破棄します-これは高速です)。これはすべての列で発生する必要があります。15バイトのサイズの結果は、SPIを介して、シンセサイザーとして機能する小さなコンピューター(Raspberry Pi B3)に送信されます。私は、送信方法については設定されていません。SPIが仕事にふさわしいツールではない場合、Raspberry Piで処理できる通信の方法を採用しても構いません。これは音楽とインタラクティブなアプリケーションであるため、レイテンシは非常に重要です。 私の正確な質問は次のとおりです。これは、銀行を壊すことなく単一のマイクロコントローラーで解決できますか?趣味のプロジェクトのために数百ドル相当のICを買う余裕はありません。どのハードウェアをお勧めしますか?警戒する必要がある非自明な警告はありますか? これまでの回答から得たアプローチは、各列に個別に電力を供給し、SPIを介してArduinoに接続された5つの16チャンネルADC(ADS7961)で行を読み出すことでした。これは、最も簡単で安価なアプローチではないか、1 kHzを超えるレートに達するのに十分な速さではないのではないかと心配しています。 免責事項:私は通常、理論化学者であり、電気工学に関しては恐ろしいアマチュアです。私が知っていることはすべて自習であり、専門的なバックグラウンドがありません(これが私がより知識のある人々から助けを求めている理由です)。しかし、私はソフトウェアに関する私のやり方を知っています。ソフトウェアに関することなら何でも、十分な時間をかけて考えます。また、私はドイツ人ですので、時折文法の欠陥を許してください。

1
AVR 1.1V内部ADCリファレンス過電圧
ADCに内部1.1Vリファレンスを使用し、アナログ入力が1.1Vを超えた場合、たとえば2.5Vとすると、それはマイクロコントローラーにとって有害で​​すか?または、ADC値は単純に1.1Vで(0x3FFに)クリップしますか? 便宜上、ATMega328データシートの抜粋ブロック図を含めています。

6
マイクロコントローラーで高電圧を読み取る方法
マイクロコントローラーを使用して、〜50Vなどの高電圧を読み取りたい。これをマイクロコントローラーのA / Dラインへの入力として使用する予定です。しかし、もちろん、マイクロコントローラーの入力に高い電圧をかけないでください。 高電圧を読み取るにはどうすればよいですか?主なことは、読む前に電圧を下げる必要があるということです。この電圧を下げるとき、何を考慮する必要がありますか? 前もって感謝します! 編集:PIC18データシートで、「アナログソースの最大推奨インピーダンスは2.5 kOhms」と書かれています。これは、抵抗分割器などで電圧を下げる方法にどのように影響しますか?

2
アナログ入力ピンを介した4ビットバスアドレスの選択:モンテカルロシミュレーションで重複するアドレス値が表示される
ATtiny44マイクロコントローラーを使用して、修士論文の小さなセンサーPCBを設計しました。アプリケーションにはこれらのボードのうち約200個が必要で、16個は常にローカルにコントローラーボードに接続されています。ネットワーク全体は次のようになります。 コントローラーとセンサーボード間で通信するために、私は自分の1ピンバスを作成しました(タイミングベース)。唯一の問題は、センサーボードにデータをコントローラーボードに送信するときに、ネットワーク内の位置を知るためのアドレスが必要になることです。 ATtinyには1つのピンしか残っていないので、4つのジャンパーの設定に基づいてアナログ電圧を生成するジャンパーベースのDAC回路を思い付きました。センサー回路は値(47、470、1k、3k、4k7、10k、100k、および220k)を使用し、生産のために最適化したかったため、DACには以下の値(基本的には100k、50k、20k、および10k)を使用しました)。これにより、ジャンパー設定に基づいて0 Vから760 mVの間の値が得られます。ATtinyの内部1.1 Vリファレンスを備えたアナログ電圧として正確に読み取る必要がありました。起動時にATtinyはこの電圧を読み取り、その位置を知る必要があります。 この回路のシミュレーション – CircuitLabを使用して作成された回路図 理論的には、これは正常に機能します。抵抗の許容差を考慮すると、LTspiceでモンテカルロ解析を行って、重複領域がないことを確認しました(すべて1%BTW)。以下に、この分析の写真を見つけることができます。 今、私はこれらのボードのいくつか(幸運なことに200ではありません)を生産しましたが、いくつかは(特にすべての許容値が一度に再生される上位アドレス領域で)正確な読み取り値を取得できませんでした。すべての可能な解決策を測定し、最終的に私の問題を見つけました。私の最初の分析には、各コントローラーボード上のMC7805で12 Vからローカルに生成される5 V電源電圧の許容誤差は含まれていませんでした。データシートごとに、MC7805の出力電圧は4.8〜5.2 Vです。 これを理解した後、モンテカルロ分析を修正しました。これは次のようになります。 あなたが見ることができるように、私はこの電圧がこのアドレスを意味するだけであると断言することはできません素敵な重複領域があります。基本的に、noで始まるすべてのアドレス。8は、誤った読み取り値を取得する可能性があります(より高いアドレスの誤った読み取り値の可能性が高い) 私は考えていない、すでに(私は生産のために最適化したい論文用として)ボード上で使用されているものとは異なる抵抗値を追加したいです。 私は考えていない DACの抵抗ネットワークを供給するために電圧リファレンス(例えば、ツェナーダイオード)を追加したいです。 私はできませんそれ以上のコントローラボードを変更(およびそこより正確な電圧レギュレータを使用します)。 私がすることができますまだPCB設計/センサボードの概略を修正します! (プログラムによって、または回路を変更することによって)アドレスで常に正しい読み取り値を取得するようにするにはどうすればよいですか?

2
PSoCの混合信号PCBレイアウト
アナログセンシングアプリケーション用のPCBを開発しています。PSoC3の内部ADCを使用します。いつものように、アプリケーションは非常にスペースに制約があるため(11mm x 21mm)、PCBレイアウトで妥協する必要がありましたが、これは大きなPCBではできなかったでしょう。 このボードは、調整された6Vから供給され、2つの5Vリニアレギュレータが含まれています。デジタル電源用のMCP1702、およびアナログ電源用のMIC5205。ボードは5つのA1324ホール効果センサーを検出しています。各ホール効果出力信号は、100nF + 1k RCフィルタでフィルタリングされます。1つのセンサーはPCB自体にあります(右下)。他の4つは、右側の6ピンコネクタに差し込みます。 チップはSPIスレーブとして機能していますが、ADCのサンプルはSPIトランザクション間で常に取得されるため、SPIはアナログ信号と干渉しません。 残念ながら、アナログ信号にはまだノイズ(12ビットで約1.5 LSB)が見られますが、レイアウトを改善するために別の方法でできることはないかと思います。 画像を新しいタブで開いて、より高い解像度で表示してください。 追加: MCP3208を使用して行った他のPCB設計、および同じデュアル5v電源、同じセンサー、同じRCフィルターは、12ビットで目立ったノイズを達成しませんでした。 PSoC3のADCはデルタシグマタイプです。このバージョンのPSoCは12ビットに制限されていますが、別の部品番号には16ビットADCがあります(ただし、サンプルレートは低くなります)。 私はノイズを気にしているので、12 ENOBに向けてもう少しプッシュしたいと思います。理由は精度ではなく、速度測定です。現在、このレベルのノイズにより、ロボットの正確な位置と速度の制御が不可能になっています。 追加: 回路図。申し訳ありませんが、少しcr屈ですが、値を読むことができます。

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