SVX日記

2004|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|

2005-07-03(Sun) イエローちゃん進捗

  昨日はライツアウトを救出失敗したトコロであるが、気を取り直してイエローちゃんを進捗するのである。

  すべての部品は基板の上に実装され、ガワの加工もすべて完了しているのだが、ちょっと躊躇するのが、このふたつの接続である。ハンダ付けしてしまうと、その後のハンドリングが非常に悪くなるからだ。常に基板にガワがくっついてきてしまうので、回路の修正もやりにくい。しかしながら、つないでしまわないコトには、逆に電源の供給なんかが面倒だ。ICクリップとかがプラプラするし、コードがモジャモジャの状態では、非常にテスト作業がやりにくい。まぁ、折衷案としてピンヘッダなどを利用して、接続と分離を簡単に繰り返せるようにするというテもあるが、これしきのコトでコネクタっつーのもオオゲサでねぇ……。

  ……と、かなりウダウダと口上を述べ、しっかり躊躇し終わったので、いよいよ接続するコトにするのである。おりゃ。

  画像の説明

  といっても、ガスセンサへの接続だけは、ちょっとタンマ。先日述べたようにセンサに「連続的に電圧をかける」と破壊してしまうからだ。このガスセンサは300円と非常に高価なので、こいつを壊してしまうと財布へのクリティカルヒットとなる。よってフツーの抵抗器をガスセンサに見立て、十分にシミュレートしてから実際の接続を行う予定なのである。具体的には、最終的にセンサに接続するための線を少し長めに引き出して、先端に部品の足をハンダ付けしてブレッドボードに接続する。この状態でファームウェアの開発を行っていくのである。

  A/D変換処理はちょっと置いといて、メータのPWM制御、ヒータ及びセンサへの断続的給電を行うプログラムをPICに書き込む。で、テスト。うむ。ちゃんと針が振れるわい。よっしゃよっしゃ。ほんじゃ、オシロでヒータ及びセンサへの給電時間を確認してみよう。あまり長く電圧をかけるコトだけはやってはいけない。壊れると300円、壊れると300円、壊れると300円……。

  ゲッ!! 44msも電圧をかけてしまっているぞ!! しかもヒータにもセンサにもだ!! 各々8ms、5msしか電圧をかけてはイカンのに!! 44msも……44ms? 44msってPWMサイクルじゃん。あ……そーか。PWM制御ループの中で割り込みフラグを見てるんだから、44ms未満でスイッチングできるわきゃないわな。ほんじゃ、PWMサイクルを短くしよう。思い切って……思い切ったら、0.85ms程度になったぞ。これでどうだろう。オシロで確認じゃ。

  画像の説明

  ヒータへの給電が8.6ms、センサへの給電が4.3msと出た。PWMサイクルが0.85msならば、十分な分解能であるというコトだ。よっしゃ、よっしゃ。

  あとは、センサへの給電をストップする直前のタイミングでA/D変換を行って、PWMのDuty比を更新すれば、センサの示す抵抗値とアナログメータの表示が同期するコトになる……が、A/D変換処理を追加したとたんに動かなくなってしまった。PWM制御までがストップしてしまう。どうやら、A/D変換を開始したあと、変換の終了を待ち続けているっぽい。なんじゃ。ま、よくわからんが、今日はまずまずの進捗であった。調査はまた後日じゃ。んわくく。