|
電子工作etc
【PIC18F1320】
■ガス検知器(TGS2450)
★概要
感ガス素子(金属酸化物半導体)を使用したガス検知器を作成しました。
素子には、秋月電子通商で300円で購入した「TGS2450」を使用しました。
<TGS2450:硫黄化合物ガス検知>
【特徴】
・低消費電力(電池駆動可能)
・ 硫黄化合物系ガスに対して高感度
・低コストかつ長寿命
・反応物質:
:メチルメルカプタン◎
:硫化水素◎
:エタノール○
:アンモニア○
◎は特に高感度
・検知対象濃度:0.1ppm以上
・ヒーター電圧:DC1.6V 138mA (8msON/242msOFFの繰り返し)
・1.6Vを連続で与えるとヒーターが簡単に壊れます。指定デューティを守ってください。
・センサ抵抗値:5.62kΩ〜56.2kΩ(パルスで電圧を印加し、抵抗値を検出します)
:ヒーターによって加熱され、センサ抵抗値が安定するまで数10秒〜数分かかります。
・直径:9.2mm
【応用】
・硫黄化合物系ガス検知器
・口臭チェッカー
・空気清浄器・換気扇コントロール
![]()
★動作原理
感ガス素子部を加熱するために、ヒーター抵抗(RH:1-4pin)の両端にヒーター電圧(VH)を印加します。
VH は250msec周期中8msec のみ印加され、残りの242msec は0V とします。
また、センサ信号(Vout)を出力するために、感ガス素子抵抗(Rs:1-3pin)と負荷抵抗(RL)の両端に回路
電圧(Vc)を印加します。
つまり、センサ信号はRsとRL の分割電圧となりますので、センサ抵抗に応じてセンサ信号も変化します。
なお、VC もVH 同様断続的に印加する必要があります。
![]()
TGS2450のタイミングチャートです。但し、公表されているデータではありません。
販売元のフィガロ技研のホームページを辿ると姉妹製品のTGS2442がありました。
そのタイミングチャートから想定したものです。
![]()
ガス感度特性
![]()
★回路図
最小限の構成にしました。
検出データは、RS232CでPCへ送るようにしました。
![]()
★ソースリスト
ソースリストはここです。
★動作確認
いつものブレッドボードで確認しました。(検出前)
![]()
臭いを検出しLEDが点灯した所です。
![]()
検出データをPCのハイパーターミナルで表示してみました。
検出前はほぼ一定の電圧を出力します。
![]()
臭いを検出すると電圧が変化します。
![]()
プログラムではこの変化を検出し、LEDを点灯させたり、ブザー(PWM)を鳴らせたりしています。
【PIC16F874】
■メモリユニット(PIC外付け128kbyte)
★概要
PICの内臓RAMでは少し物足りないような場合には、外付けで容量を増やします。
今回は、東芝のTC551001を利用し、128kbyteを一気に増やしてみました。
確か、秋月電子通商で500円で販売していたと思います。
★動作原理
128kbyteだと、アドレスの線が17本も必要となるので、PIC16F874(40pin)を使用しました。
このメモリユニットに書き込んだり読み込んだりするためのインターフェイスはRS232Cとしました。
次のようなコマンドを用意しました。
<コマンド>
・”c”→メモリ(128kbyte全部)をチェックする。
・”f ”→メモリ(128kbyte全部)を指定された文字で埋める。
・”a”→アドレスをセットする。
・”r”→データを読み込む。読み込み後アドレスはインクリメントされる。
・”w”→データを書き込む。書き込み後アドレスはインクリメントされる。
★回路図
![]()
★ソースリスト
ソースリストはここです。
★動作確認
さすがにPIC16F874は40pinだけあって大きいですね。
![]()
ハイパーターミナルを利用して、動作を確認しました。
”c”コマンドで、128kbyte全部のメモリが正常に動作しているかをチェックします。
”f”コマンドで、データ”$”で128kbyte全部を埋めます。
”a”コマンドで、アドレス”123456”を設定します。
”r”コマンドで、アドレス”123456”の番地のデータを読み込みます。
”a”コマンドで、アドレス”123456”を設定します。
”w”コマンドで、アドレス”123456”の番地にデータを書き込みます。
”a”コマンドで、アドレス”123456”を設定します。
”r”コマンドで、アドレス”123456”の番地のデータを読み込みます。
”r”コマンドで、アドレス”123457”の番地のデータを読み込みます。
![]()
如何ですか?
データロガー等に適用して、大量なデータを蓄積するのに便利ですね。
【PIC16F84】
■マイクセレクター
★概要
無線仲間に移動運用をアクティブにされる方がいます。
その時には、複数のメンバーで1台の無線機を使って運用することになります。
でもマイクが1本だといちいち席を替わるかマイクを渡すかしなければなりません。
そこで4本のマイクを接続して送信スイッチ(PTT-SW)を押した人のマイクを優先させることが出来ないかと
相談を受け作成したのが本マイクセレクターです。
★動作原理
回路図からも判断できるようにとてもシンプルな構成にしました。
@4つのPTT-SWのどれが押されるかを監視する。
A押されたPTT-SWに対応したマイクからの信号をONにする。→アナログスイッチ(4066)をONにする。
B押されたPTT-SWに対応したLEDを点灯させる。
CPTT出力をONにする。→トランジスタ(2SC1815)をONにする。
★回路図
![]()
※4066の10kの抵抗は、1kに変更してください。
★ソースリスト
ソースリストはここです。
★動作確認
基板に実装したところです。
![]()
これをケースに組み込む部分は無線仲間(JA3WGH局)が担当して頂けました。感謝!
![]() ![]() ![]()
【PIC16F88】
■デジタル電圧計(真空管B電圧用)
★概要
以前に真空管アンプ用別電源を作成しましたが、電圧計が付いていないので、今回、高電圧を測定可能な
デジタル電圧計を作成しました。測定範囲は0V〜999Vとしましたので、大概の真空管装置(ラジオ、アンプ等)
で使用可能です。
★動作原理
回路図を見ても分かりますように、とても簡単な構成としました。
先ずは、入力電圧を抵抗で分圧(約1/200)します。
つまり、1000V→5Vにします。
その分圧した電圧をPICでA/D変換し、7セグメントLEDで3桁表示します。
使用したLEDは、秋月電子通商で200円で購入しました、7セグLED 超高輝度赤色3文字(カソードコモン)
です。
PICの能力上は、1023Vまでいけるのですが、4桁目は使用していません。
ソフトウエアでは、A/D変換を100usec周期で10回取り込みその平均を求めます。
そして求めた結果を7セグメントLEDでダイナミック点灯させます。点灯の周期は約1msecにしましたので殆ど
ちらつきはありません。
★回路図
![]()
★ソースリスト
ソースリストはここです。
★動作確認
電源がOFFの状態です。0Vです。
![]()
電源がONの状態です。無負荷状態では338Vでした。
![]() ![]()
【PIC16F88】
■VUメータ(デジタル処理+アナログ表示)
★概要
VUメーター(VU Meter)は、元々、音響機器に於いて音量感(volume unit)を指示するための測定器だそうです。
【開発当時の規定】
インピーダンス600Ωの回路において1khzの正弦派を加えて1mWの電力を消費したときに0VUとする。
VUメーターの指示範囲は-20から+3で単位はdBである。信号が発生してから針が既定値に達するまでの
時間は300msecである。
今回は、信号をPICでデジタル処理し、針式メータで表示させてみました。
★動作原理
出来るだけハードウエアは単純にし、ソフトウエアで処理をしました。
・入力信号を、先ずはトランジスタで10倍に増幅します。
・次にダイオードを2個使って倍電圧整流します。
・整流された電圧をPICのA/D変換機能で取り込みます。
・1msec間隔で300回データを取り込んでその平均を求めます。
・その結果を10ビットのD/A(ラダー方式)でアナログ電圧に変換します。
・この電圧をオペアンプのボルテージフォロアでインピーダンス変換し、針式メータを振らせます。
★回路図
![]()
★ソースリスト
ソースリストはここです。
★動作確認
入力にはCDプレイヤーを接続しました。
![]()
どこかのメーカのパワーアンプから外したメータを接続してみました。
![]() ![]()
トランジスタのアンプ部と倍電圧整流部です。
![]()
PICとD/A変換の接続部分です。
![]()
ブレッドボードで使えるようにD/A変換部をユニット化しました。
![]()
電子工作etc
|