• ベストアンサー

マイコンのA/D変換器で5v以上の電圧を読みたい

車載バッテリ(12[v])や安定化電源(3[v]~15[v])の電圧をマイコンのA/D変換で読みたいのですが、並のA/D変換器はすべて5vが上限ですよね?... 抵抗による分圧法だと、電源電圧が変動すると全くもって使い物になりません。 ・比較的大きく変動する電源電圧を読む方法はありませんでしょうか? ツェナーダイオードを使えば読めるのではないだろうか?と自分では思っているのですが、 ・ツェナー+抵抗の組み合わせで抵抗側の電圧をA/Dかけるのは無茶な行為なのでしょうか? ・また、A/D変換器を破損しないような保護回路等はありませんでしょうか? ...過去にPICのA/D12vを誤って印加してしまいましたが、後に5vを与え直したら何事もなかったかのように動作したという妙な経験があります。 よろしくお願い致します。

  • 科学
  • 回答数6
  • ありがとう数7

質問者が選んだベストアンサー

  • ベストアンサー
  • walkingdic
  • ベストアンサー率47% (4589/9644)
回答No.5

>電圧変動は最大14.5[v]付近まで上がりますが、最大電源入力15[v]のOp-AMPだと、 そういう場合は一度抵抗による分圧をしてからOPアンプにより減算なり部分的な拡大なりを行います。

gouranga
質問者

お礼

勘違いしていました。 5[v]が最大のA/Dなのに15[v]を電源に印加すること自体が少し無意味でした。 この方法が一番妥当ですね。参考になりました。 有難う御座いました。

その他の回答 (5)

回答No.6

No2,です。 そうじゃないんです。 サンプルするときにチャージでされるのです。 そのADには+RefのほかにーRefはありませんか? この範囲で使用できますが。 (もちろん分圧してですけど)

gouranga
質問者

お礼

A/Dは専用IC等ではなく、一般的なPIC/H8等を想定して会話しています。 もう少し自力で調べてみます。

  • sst7485
  • ベストアンサー率51% (61/118)
回答No.4

>抵抗による分圧法だと、電源電圧が変動すると全くもって使い物になりません。 私もこの意味がよく分かりませんが。 次の3点に問題はありませんか?確認して下さい。 ・ADの基準電源は安定していますか?  マイコンの電源と共通で構いませんが、  ノイズ等の影響を受けないように工夫して下さい。 ・ADは逐次比較型ですか?  積分型ではサンプリングに時間が掛かる為、  不安定な電圧は正確に測定できません。 ・ADの入力インピーダンス。  分圧抵抗が影響するほどインピーダンスが低いのなら、  OPアンプのボルテージフォロワを入れればいいです。 >比較的大きく変動する電源電圧を読む方法はありませんでしょうか? 抵抗で分圧して、素早く読み込むのが普通です。 それ以上のことは読み込んだデータをどのように活用したいかにより、ソフトで対応します。 >ツェナーダイオードを使えば読めるのではないだろうか?と自分では思っているのですが、 >ツェナー+抵抗の組み合わせで抵抗側の電圧をA/Dかけるのは無茶な行為なのでしょうか? 測定範囲をずらすだけでよいのなら、使えない方法とも言えません。 でもツェナー電圧は誤差が大きいです。 >また、A/D変換器を破損しないような保護回路等はありませんでしょうか? ツェナーダイオードで保護すればいいです。

gouranga
質問者

お礼

抵抗による分圧法だと、抵抗そのものの精度による誤差を心配していたのですが、もう一度考え直してみたらそれも勘違いだったようです。 >また、A/D変換器を破損しないような保護回路等はありませんでしょうか? ツェナーダイオードで保護すればいいです。 ここは、ショットキのことでしょうか?

  • walkingdic
  • ベストアンサー率47% (4589/9644)
回答No.3

>「A/D変換器で12v付近前後の値を読めるような回路はありますか?」 12V付近を拡大してということですね。 であればオペアンプ回路でその部分を拡大するしかないでしょう。 オペアンプは使ったことがないのでしょうか? ちょっと言葉では説明できないのですけどネットには沢山情報があるからそれを見てください。 単純に言えば、簡単には12Vから8Vを減算すれば8~13Vの範囲の測定が出来ます。範囲を狭めるのであれば2倍にするとかすればよいですし。

参考URL:
http://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%9A%E3%82%A2%E3%83%B3%E3%83%97
gouranga
質問者

お礼

減算>拡大ですね。私の考えていることそのままです。 理解してくださって嬉しいです。 車載用途だと、電圧変動は最大14.5[v]付近まで上がりますが、最大電源入力15[v]のOp-AMPだと、上辺で直線性が損なわれる恐れがあるような気がしたもので..

回答No.2

抵抗で分圧すればいいだけです。 たとえ20Vまで計れるADだったとしても、 車載バッテリに直接繋ぐことはやりません。 ADのの前にはサンプルアンドホールドという回路が あって、そこにチャージ出来なければならないので、 マイコンのAD入力端子にコンデンサーを付けておくと 良いでしょう。

gouranga
質問者

お礼

サンプルアンドホールド自体が容量性のものだと思ってましたが...

  • walkingdic
  • ベストアンサー率47% (4589/9644)
回答No.1

>抵抗による分圧法だと、電源電圧が変動すると全くもって使い物になりません。 この意味がわかりません。何か間違いがあるように思いますけど。 入力インピーダンスを高くしたい場合にはOPアンプにて電圧変換しますけど、結局それは抵抗分圧とほとんど考えは同じですから。。。 >ツェナーダイオードを使えば読めるのではないだろうか? こちらの方が何をやろうとしているのか、、、、 もしかして測定範囲を5~10V見たいな形にしようということでしょうか? それはちょっと、、、、目的がわかないのでそんなやり方でいいのかわかりません。 >・また、A/D変換器を破損しないような保護回路等はありませんでしょうか? 過大電圧に対する保護はダイオードが一般的ですね。

gouranga
質問者

お礼

単刀直入に申しますと、 「A/D変換器で12v付近前後の値を読めるような回路はありますか?」 という意味です。 なんか微妙な説明で申し訳ありません。

関連するQ&A

  • ツェナーダイオードの特性について

    はじめまして。 3.3V入力のマイコンA/Dで10V以下の電圧を常に監視させる回路を作成しています。 マイコンへは3.3V以上にならないように抵抗分圧で電圧を落とし入力し、A/Dで電圧値を判断させるように考えています。 またマイコン保護として分圧後にツェナーダイオード(3.3V)を入れています。 実際に作成し確認するとマイコンのA/D端子へ設計値どおりの電圧値が入力されていないことがわかりました。(設計値より低め) ツェナーダイオードだけをとってみると、マイコンA/D端子へ入力される電圧がほぼ設計値どおりになりました。 この現象の原理についてご教授頂けないでしょうか? 電圧入力---抵抗分圧---ツェナーダイオード(対GND)---マイコンA/D端子へ

  • ツェナーダイオード

    リード品 ツェナー電圧5.1V のツェナーダイオードが生産中止となり、代替品を探しています。 今の所上記2項目を満たすものが見つかっていません。 ツェナー電圧の違うツェナーダイオードにて代替えするようなことは可能でしょうか。抵抗とかで電圧をかえたりだとか・・。 また上記の2項目を満たせるようなものがあれば教えてください。

  • ツェナーダイオードの定格サージ逆電力の考え方

    ツェナーダイオードを電源入力部に、サージ吸収用として使用しようと考えているのですが、PRSM(定格サージ逆電力)確認の仕方が分かりません。 以下に例を示しますので、助言をいただけたら幸いです。 例えば、 ツェナーダイオードの特性 ・動作抵抗 Rz[Ω] ・PRSM   WPRSM[W] ・ツェナー電圧 Vz[V] 回路の抵抗1  R[Ω] において、回路使用のツェナーダイオードの電力損失WがW<WPRSMとなるかを確認したい次第です。 回路は →1kVサージ        (B) 電源入力部---抵抗1---¬---内部へ (A)             |                |                |                △(ツェナーダイオード)                |                |                GND                (C) とします。  電源入力部に1kVのサージが入力されたとき、 サージは抵抗1→ツェナーダイオードをとおり、すべてGNDへ流れていくと思いますが、このときのツェナーダイオードの電力損失はどう考えればいいでしょうか? (A)-(C)間に1kVの電圧がかかるので、 この経路を流れる電流Iは  I = 1k[V]/(Rz+R)[Ω]・・・・式1 ツェナーダイオード((B)-(C)間)にかかる電圧Vは  V = 1k[V] - I×R・・・・式2 とし、 ツェナーダイオードの電力損失W=I×V (?) それとも、ツェナーダイオードの両端 (B)-(C)間の電圧はツェナー電圧Vzで一定なので、  W=I×Vz (?) 逆に(B)-(C)間の電圧は式(2)で計算したV を使い、動作抵抗Rzと計算し、  W=V×V/Rz (?) ツェナーダイオードの動作抵抗Rzの、計算上での使い道がよく分かりません・・・・ どなたか、解説・説明のほどよろしくお願いします。

  • 3.3vマイコンのA/Dで5v変換

    3.3v動作のマイコンのA/Dで0~5vをサンプリングしたいのですが 乾電池駆動を前提とするとどうしたらよいでしょうか。 5vでマイコン駆動も可能ですが別なデジタル系部品が3.3v駆動しかないこともあり そちらをレベル変換で接続するよりもアナログ側での変換が適当かと思い3.3v駆動を前提としています。

  • 電圧DC 0-10VをPWMに変換する回路について

    電圧DC 0-10VをPWMに変換する回路を作りたいと思っています。 入力 DC 0V-10V 出力 DC 10V 1kHz PWM 0-10Vを分圧で0-5Vに変えてPICにアナログ入力し、PICで1kHz PWMを作りトランジスタで10Vに変える回路は出来ました。 しかし、もう少しシンプルな物が作れないかと考えています。 タイマーIC555でPWMを作る回路のボリューム部分を0-10V入力に変えればいいのか等思っていますが、具体的な回路がわかりません。 出来れば、DC0-10Vを1kHz PWMに変えるIC等あればいいのですが。 アドバイスをお願いします。

  • 電圧レベルスケール変換

    初めて投稿します。0~3.3Vの電圧を2.5V~7.5Vに電圧レベルをスケール変換させるにはどうすればよいのでしょうか。逆のような回路は抵抗分圧+ボルテージフォロアで実現する、といった回答はあったのですが、ご存知の方にご教示いただければと思っています。電流的にはリファレンス電圧としての使用なので10mAもあれば十分なのでオペアンプでいけるのかなと思っているのですが今ひとつわかりません。宜しくお願いします。

  • PICのA/D変換の入力が何故か0Vになってしまいます・・・

    現在、PIC12f675を用いて下記のようなことをしたいと検討しているのですが、 中々思った通りに動いてくれません。 どなたか分かる方がいらっっしゃいましたらアドバイスお願い出来ないでしょうか? 「開発環境」 ・CCSのCコンパイラを使用 ・PICは12f675 「内容」 アナログ入力端子に任意の電圧を加えて、RS232CでPC上にその電圧を表示する。 現在、アナログ入力端子(AN0)に電源電圧から分圧して0.5Vや1Vなどの電圧を加えているのですが、 何故か入力端子の電圧をテスターで測定すると0Vとなり、PC上でもやはり0Vと表示されてしまいます。 何故、任意の電圧を加えても全て0Vとなってしまうのかが分かりません。 おそらくプログラム上でのミスがあると思うのですが・・・ 検討中のプログラムを下記に書きます。 ***************************************************** ///// 初期設定 ///// #include <12f675.h> #device ADC=10 #fuses INTRC_IO, NOWDT, PUT, NOPROTECT, BROWNOUT /////RS232C使用宣言///// #use delay(CLOCK = 4000000) #use rs232(BAUD = 9600, XMIT = PIN_A2, RCV = PIN_A1) //GP1=受信 GP2=送信 //// メイン関数 void main() { // A/D初期設定 float data; setup_adc_ports(AN0_ANALOG); //AN0をアナログ設定 setup_adc(ADC_CLOCK_INTERNAL); //ADCのクロック設定(内部発振) set_tris_a(0); output_A(0); while(1) { set_adc_channel(0); delay_us(50); data = read_adc(); data = (data * 3.0) / 1024; printf("電圧 = %1.3fV\r\n",data); } } ***************************************************** 申し訳ありませんが、アドバイスお願いします。

  • A/D変換器についての質問

    こんにちは。 大学での授業で習ったA/D変換器の問題について質問です。 問1.入力電圧範囲が-5V~5Vまでの12ビットのA/D変換器で分解能は10/2^12=2.44mV 変換結果が10進数で256のときの入力電圧を逆算して求めよ。 解答 10進数で0から2^12=4096までの数字が-5Vから5Vまでの10V の範囲に対応する電圧は 10×256/4096-5=-4.375V・・・(1) 実際の入力電圧は-4.375V±0.00122Vの範囲 という答えなんですが(1)の部分の計算がどうしてそうなるのかわかりません。また±0.00122というのはどこから出てきたのでしょうか? 教えてください。 問2.入力電圧の範囲が0Vから4Vまである10ビットの逐次比較型A/D変換器について分解能は0.5Vである。 変換結果が2進数で0010111001であるとき、入力電圧の値を求めよ。 解答 与えられた2進数を10進数に直すと、185 4×185/1024=0.7226V・・・(2) となっていますが、問1の(1)の部分では‐5しているのに、なぜ問2では引かないのでしょうか?

  • 【電気】接地抵抗計の印加電圧って何Vですか? 接

    【電気】接地抵抗計の印加電圧って何Vですか? 接地抵抗測定で接地側と機器側があって接地側に印加電圧を印加するところをどちらが接地側かわからないので片方に印加したら、高いΩが出たので、反対側に印加し直して接地抵抗測定をしていました。 普通に平気に機器側に印加していて平気な顔を測定員がしていたのでん?と思いましたが、別に機器側に接地抵抗計の印加電圧を掛けても正しい接地抵抗値が出ないだけで電気的には大丈夫なのですか? 教えてください。

  • 抵抗だけを使ってDC電源の電流値と電圧値を変えたい

    3.3V1.5A電源を3.3V0.3A電源に変換するやり方 → 11Ωの抵抗を使う。(この抵抗値を求める計算には1.5Aという値は使われない) それを更に2.3V0.3A電源に変換したい場合 → 0.3A時に3.3333Ωの抵抗を使うと1Vを消費させられる。 ・・・このやり方だと2つの抵抗を使うだけで電流値と電圧値の両方をコントロールできるという事になりますが。 つまり、2つの抵抗を直列で繋ぎ、抵抗と抵抗の中間部分から接点を取ると2.3V0.3A電源を取れるという事ですか? つまり、このやり方の場合、抵抗の性質である電流調整と分圧を同時にこなすという体裁になるという事ですか。 このやり方は理屈上、正しいですか? 抵抗の比重: 11Ω : 3.3333Ω = 3.3 : 1 = 1 : 0.3030 1 - 0.303 = 0.697 3.3V × 0.697 = 2.3V 1つ解せない事があるのでが、 抵抗を使うと電圧降下が可能で、降下させる電圧は 電流(アンペア)×抵抗値(オーム)=電圧(ボルト) で求められるという事ですが、 上記の例で言うと 0.3A×11Ω = 3.3V となり、抵抗だけで全Vを消費してしまう計算になるのでは? 辻褄が合わない気がするのですが、どのように理解すれば良いですか? 例えば 1A2Ωだと2Vを消費(つまり電圧を2V下げられる)。 1A7Ωだと7Vを消費(つまり電圧を7V下げられる)。 という事ですが、でも、3.3V1.5A電源を3.3V0.3A電源に変換する為に11Ωの抵抗を使うという場合、電圧は下がらず電流だけを下げられるんですよね? 抵抗というのは電圧に関しては分圧する性質しかないので抵抗の両端から電気を取ると結局電圧は下がっていないという話じゃないのですか? それに、 “それを更に2.3V0.3A電源に変換したい場合 0.3A時に3.3333Ωの抵抗を使うと1Vを消費させられる。” という部分で、2個目の抵抗を使った時点で更に電流の低下が発生して0.3A未満の電流になってしまわないですか?