<< 2024/04 >> | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
|
16F886 で電圧ロガー
12/02/05 02:05 / 電子工作
ここ最近、ずっと基本的な処理のコード(MPASM で文字列関連のサブルーチン)を作っていたのですが、ようやく出来たので電圧ロガーを作ってみました。
ブレッドボード上に 16F886 と ADM232 と LCDユニットを付けて、RA0 に入力された電圧を LCD と RS232C に出力しています。 凄い基本的な構造ですが、これが出来ると、各種センサーなどを取り付けて処理が出来るようになります。 最初はブレッドボード上に作っていたのですが、いつまでもブレッドボードの上に残しておく訳にもいかないので、電子回路CAD を色々と物色。 いくつか試してみたのですが、P板.com で無料配布されている CADLUS Circuit にしました。 CADLUS Circuit でブレッドボード上に作った奴を書いている様子。 出来あがったものを Bitmap 出力(LCD部は省略) さて、自分的なメモも兼ねて復習することがあります。 電子回路初心者の私は「電圧を計測するには、対象のプラスとマイナスを PIC に繋げないと駄目だよね?、PIC のデータシートとか見てると、RA0 とかに入力できるって書いてあるんだけど『マイナスはどこに繋げればいいの?』」という疑問がずっとありました。 テスターなどを使っていると当然、このような発想になるはずです(だよね?) マイナスを繋ぐと、1つの基板上に電源が2つ。 しかも片方は 12V です。PIC の耐圧は 5V 位と聞いているので、繋げたら壊れそうです。(実際に繋げたら壊れると思うので、実験の際には安定化電源を繋げて 5V 以下でテストしていました) んで、答えは「GNDに落とす」 良くわからんのですが、これで良いようです。 おそらく、きっと、未知のPICパワーが働いて・・・では無くて、キルヒホッフの法則?とかいう奴で、ちゃんと戻るようです。電子の動きって凄いね! 「マイナスとGNDはちゃうよ!」ってどっかで読んだ気がするのですが、多分こういうことなんだろうと思います。 まぁ、理論はわからんのですが実践で動いているので、多分オッケーです。 実際あちこちのサイトを見ていたのですが、この説明が無いのが殆どだったんですよ。電子回路の初歩の初歩なのかもしれませんが、ここで相当悩みました(^-^; しかし、もう一つ問題があります。 マイナスをどこに繋げれば良いかはわかりましたが、PICに掛けられる電圧は 5V くらいです。 12V を突っ込んだら壊れます。(やってないけど、多分壊れるでしょう) その前に1つ復習 PIC のデータシートなどを見つつ、アナログ入力を行う場合、基準電圧という物がありました。 外部から入力させることもできるようなんですが、PIC電源電圧を基準にすることも出来るようです。 電源電圧を正確に 5V にすれば、5V が基準電圧となります。 次に PIC16F886 の A/D変換の精度は 10bit です。 つまり、A/D 変換すると、0 〜 1023 の範囲でデジタル変換されるということになります。 この二つを合わせて考えると 0V の時は 0 が出るよ。5V の時は 1023 が出るよ。 ってことになります。 デジタル1に付き 0.0048V ってことです。 ここ重要です。 さて話は戻りまして、PICには 5V しか入力できない。 5V までしか計測できないんじゃ意味が無い。 どうするべ?と考えた時に「入力を5V以下に減らせばいいんでない?」ってことになります。 ここで回路図には載せてありますが「分圧」ってのを使います。これは何となく覚えていました(一応、工業高校の電気科です) 抵抗を2個並列に繋ぐと、それぞれの「抵抗の比率」によって電圧が分割されるって奴です。 回路図には 10KΩが2個並列接続されていますので、単純に電圧は 1/2 になります。 片方はGNDに落ちているので、消えていきます。 もう片方は PIC の RA0 に繋がっているので、電圧がかかります。 比率ってのが重要ですね。これが「-5V される」だと使えませんが「1/2 になる」ことを利用すれば、10V が入力されると 5V になる訳です。 ここで、A/D変換に話がまた戻るのですが、 0V 〜 5V で 0 〜 1023 です。 1:0.0048V です。 しかし入力は 1/2 にされています。逆を言えば「本当に計測したい電圧は PIC に印加されている倍の電圧である」ということになります。 つまり 0V 〜 5V で 0 〜 1023 は同じですが、比率の方は倍になり 1:0.0096V になります。 更にひっくり返すと 1023 の時は 10V になるってことです。 おぉ、分圧ってすげぇ・・・ しかし、デメリットもあります、比率が倍になると、精度は半分になるってことです。 (実際には、小数第三位まで必要になるというケースは余り無いと思うのですが、10bit A/D の場合は、精度は 0.0048V なので、それ以上の精度にする場合は 12bit A/D が必要になる訳です。) さて、これで 10V まで計測できるようになりました。 しかし車用のバッテリー電圧を計測する場合は、最低でも 15V〜16V必要です。 チャーコンを見ていると 20V 位を出力している場合もありますので、余裕を見て 25V とします。 この場合、1/5 にする必要があるので、R1 を 10KΩ、R2 を 40KΩにすれば、最大 25V 入力された場合でも、PIC には 5V しか印加されないことになります。 ただし、精度は 1:0.024V です。でも充分な精度です。 凄いな分圧!(2回目) なんか、凄い初歩の初歩に感動しているんですが(^-^; あ、一応念の為なんですが「実際にこうしてみたら動いた」というトライ&ゴー方式なので「理論的に合っているかは、わかりません」 あとアセンブラコードは、恥ずかしくてまだ出せません。 まだ、こんなレベルなのでコメントだらけでハズカシー(笑) [更新日付:2012/02/05 02:05:14]
トラックバックを見る(0) Log Link [https://akisoftware.com/cgi-bin/blom.exe?akisoft+sl+7eb8a404afc3cd276ec140803e744ed904fef0ab] TB Link [https://akisoftware.com/cgi-bin/blom.exe?akisoft+tb+7eb8a404afc3cd276ec140803e744ed904fef0ab] 記事へのコメント コメントはありません |
@AKISoftOfficialをフォロー
掲示板 サポートBBS PMailServer BBS アクセスの多い記事
最新記事(カテゴリ別)
PMailServer2 Version 2.53 をリリースしました。
04/08 00:50 フリー版からの製品版移行時の MTA 並列数について 02/17 23:52 メールサーバーの開発を始めて20年 02/07 21:46 PMailServer2 Version 2.52a をリリースしました。 12/26 14:02 PMailServer2 Version 2.52 をリリースしました。 10/01 10:48 PMailServer2 Version 2.51b をリリースしました。 09/19 01:43 PMailServer2 Version 2.51b(仮) Memo 09/12 00:33 PMailServer2 Version 2.51a をリリース、及び脆弱性についてのお知らせ 09/05 01:15 PMailServer2 Version 2.51a Memo 08/21 00:48 アドレスV125(K5)のスターターリレーの交換 08/04 10:10 最新コメント
コメントはありません
UUアクセス数
今日は 83回
昨日は 432回 トータル 305371回 3ヶ月記事別ランキング
プロフィール
Z80から68系、8086系を経由して
Pascalに移行。現在は Delphiをメインに C/C#も囓ってみたり。 「無い物は作れ」の精神で年がら年中なにかを作っています。 すぐ自前で作りたがるので無駄に工数が上がったりして自爆してみたりもします。 好きな物は麺類とお煎餅 Blom内検索
BLOM Version 1.39 ©2007-15 A.K.I Software all rights reserved. |