« 2008年12月 | トップページ | 2009年2月 »

2009年1月25日 (日)

PIC16F88)陸上タイム計測器(時報付き)製作1

基板製作記.まあまあ順調だが,老眼がきつい.Measure88v1_board000 思いつくのが遅くて一部のICやソケットMeasure88v1_board001Measure88v1_board002をつけてしまった後だが.この写真はジャンパー線の実態配線図としてリピート製作時の為にのこしておこう.

基板の半田付けは,背の低い部品から,熱に強い部品から取り付けてゆくのがセオリーである.が,自作基板の場合は部品実装面にシルク印刷を行うのが難しいので沢山ある穴のどこに部品を取り付けて良いのか迷うことがある.穴あけだって手でやるから設計図どおりにまっすぐぴしっとはいかず,集中力が途切れた時に開けた穴がずれている場合など,設計図とは一見同じようには見えずに勘違いをする場合もある.だから,ICやICソケットから取り付けることにしている.そうすると,ICを頼りに,自信を持って正しい位置に部品実装するのが容易になるから.最近のICはそう熱に弱いものでもないし.ものによるけど.半田付けをひどくミスって長時間こねくり回すようなことさえ避ければ,その程度で壊れる部品などほとんど無い.

Measure88v1_sensor00こちらはセンサー側の基板.もともとこれしきの回路だったらユニバーサル基板でいいやと思っていたが,メイン基板をサンハヤトの10Kという最小サイズのポジ感光基板上にレイアウトしたら余りスペースが出たのでそこにレイアウトしてみた.っだからこんなへんてこりんなカタチをしている.写真右下部の3P,2Pコネクタの向きも異なっている.2Pはこの向きに実装しないとコンデンサと干渉するし,コンデンサをずらすスペースは無い.3Pは今までのテスト基板で使っていたケーブルアサインを変更しない前提でパターンを組むとこの向きにしか実装できない.美しくないけれど,実害は全く無いので忘れることにする.
レイアウト上10Kの基板の幅目一杯を使っているので,感光の時にフィルムがずれるとパターンが切れる.写真の上部に基板の裏側にリード線が見えているがそれは切れたパターン部分を手配線している箇所だ.カタチはへんてこりんで端っこのパターンの一部が切れているとしても,やはり専用のプリント基板の方が作業はぐっと楽だし早い.もちろん,一発完動.

実装してみてわかった.余分な穴を消し忘れている.パターン図を修正.
「measure88V1.pcb」をダウンロード

この写真は,リピート製作時の部品配置図になる.(ホビーなので,シルク印刷ができないからねー.Epsonさん/Canonさんとサンハヤトさんが提携して電子基板に部品配置図を印刷できるインクジェットプリンタ出ないかな.CD-Rはプリンタブルになっているんだから)

2009年1月18日 (日)

PIC16F88で構成する陸上タイム計測器(時報付き!)製作

昨年後半から空き時間をつかって陸上タイム計測器の基板を作っている.主役はPIC16F88だ.かつての実験基板を改造し,光電感センサスイッチを自作し,基本ソフトがほぼ完了した.

今年は専用基板でこれを仕上げてゆくことにした.間に合えば,今年の夏の大会のタイム集計に使ってみたい.

ここ2週間くらいで,専用基板の製作に取り掛かっている.

まずは,パターン.これは,以前から使っているPCBE(パターン設計用フリーソフト:Vectorからダウンロードしたっけか?)を使用する.

「measure88V1.pcb」をダウンロード

データもこうしてBlogにあげておけばすばらしいバックアップになる.しかも,時系列で各バージョンも残るし,変更履歴も残せるし.安心安心.

Nec_0242

プリント基板づくりも,もちろんいかげんなもの.なるべく専用の道具は使わないで,台所用ビニール袋や割り箸など,基本は過程にあるもので,なければ作って,というのが基本だ.過去のこの日記を見ながら,カンコツを思い出しながら作ってみたが,なにぶん真冬で洗面所が寒いので,一杯やりながら適当にエッチング温度を見ていたのがいけないのか,はっきりいって失敗した.

どうも,自作した露光機のセット不良による焼付けムラ,エッチング時間のミスなのだろう,細いパターンは途切れてしまいそうなところがあるのに,別な部分は太いパターン間の細い溝は銅が溶け切れずに導通が残っている.まあ,何とか修理して使えそうなので,このまま行く.

Nec_0246 今週の改善はこれ.穴あけ冶具だ.右の写真のように,これまでは基板を左手でしっかり持ってハンディのミニチュア電気ドリルで一つ一つ空けてきた.しかし,20個も穴をあけると,若かりしころドラムで鍛えた握力もすっかり落ちてしまった左手が悲鳴をあげだす.こんなことでつらい思いをしては趣味でも何でもないので,余り木を使って冶具(単なるズレ止め付きの置き台)を作った.斜め35度くらいに傾けてあるので,ほとんど押さえが不要になる.なんでもっと早く作らなかったかな.

Nec_0247Nec_0248

2009年1月 5日 (月)

回路図間違えてしまった!

間違え修正.

「16F88IOMEASURE.pdf」をダウンロード

TD62083のところ.10番ピンは,コモンピンとあるが,中身を見ると逆起電力防止用のサージダイオードのコモンであるので,これはGNDではなく負荷を駆動するプラス側のコモンに接続する必要がある.また,TD62083の出力8点は表示用ということでデバッグ時には5VのLEDを接続していたが,実際には炎天下でも見えるようなシグナルタワーのようなものを接続するコトを考えると,+12Vまたは+24Vの表示灯を接続するのが実用的だろう.というわけで,記号だけだけれど配線コモンも変更した.

2009年1月 4日 (日)

PIC16F88による陸上用計測器,2009年基点

今年も昨年に引き続き,まずはPIC16F88による陸上競技用タイム計測器にチャレンジする.ハード,ソフトの製作と動作確認は済んだので,2009年は実際に使ってみて改善を進めて実用機を目指す.

年も変わるので,気分も新たに進めるために,これまでの仕様,回路図,ソフトを整理してみた.ここを今年の基点にする.

システム図,回路図,ハーネス図  「16F88IOMEASURE.pdf」をダウンロード

状態遷移図「statusdiagram.pdf」をダウンロード

ソフト: ヘッダーファイル 「ms88.inc」をダウンロード   「measure88.inc」をダウンロード

ソースファイル 「mesure88081231.asm」をダウンロード

昨年末にUPしてから,時刻設定,レコード番号設定,START光電管スイッチの使用用途オプションの設定ソフトを追加した.時刻,レコード番号は数値を設定する.特に,レコード番号は0000-9999を循環する数値という仕様としたので,4つしかない押し釦スイッチでこれを設定するのは面倒になってしまうので,各PBを以下のように割付け,キーリピート,ターボインクリメント/デクリメントができるようにした.

緑PB立ち上がり: +1
黄PB立ち上がり: -1
緑PBキーリピート:0.5秒以上押し続けると,高速でインクリメント(キーリピート)
黄PBキーリピート:0.5秒以上押し続けると,高速でデクリメント(キーリピート)
緑PBを押した状態で白PBの立ち上がり: ターボインクリメント(+50)
黄PBを押した状態で白PBの立ち上がり: ターボデクリメント(-50)
白PBを単独で押すと,設定終了し,次の設定項目画面に遷移する.
赤PBを押すと,中断してアイドルモードに戻る(設定モードを抜ける.

時,分,秒の設定時にも同様の操作仕様となる.ただし,時設定の場合のターボインクリメント,ターボデクリメントは各々+4,-4とした.同様に分,秒設定の場合のターボインクリメント,ターボデクリメントは各々+10,-10とした.

START光電管スイッチの使用用途オプションとは,START光電管を下記2つのモードのどちらで使用するかを特定するオプションスイッチである.電源投入時は,①のマニュアルスタートモードにデフォルト設定される.

①マニュアルスタートモード
 アイドルモードから,グリーンPBを押すと,Readyの時報音が鳴り始め,6秒後にSTARTとなる.この時START光電管は,フライング検出スイッチとして使用される.

②オートスタートモード
 アイドル状態で,START光電管スイッチが切られると同時にタイム計測を開始する.

それと,昨年末に動作試験をした時と同じストップウオッチ時計を使って机上での最終動作確認をしてみたところ,少々解せない結果になったのでソフト変更をしている.
昨年末は,ストップウオッチ時計をストップウオッチ計測モードで動作させ,今回PIC16F88で自作した計数モードを長時間動作させて比較を試みた.その時は,10時間で数秒程度,PIC16F88での計測値が遅かったのである.そこで,タイマー1のプリセット値を0x8000から0x8001に調整した.これで,遅れは3秒/10時間になっり,まあいいか,という値になったはずである.今回は,同じストップウオッチ時計を時計モードで動作させて,長時間の比較をしてみた.すると10時間後には,今度は逆に,PICの方が10秒程度も進んでしまうではないか.しかし,ストップウオッチ時計の時計は,そこそこの精度であるので疑うべきは,ストップウオッチ時計のストップウオッチ機能の精度,ということになる.と,同時に,PIC16F88のタイマー計測の方も,個体ごとにもう少しこまかくチューニングした方がいいということだ.そこで,PIC16F88のマニュアルに出ていたリアルタイムタイマーのサンプルソフトに逆らって,TMR1のプリセット値を定数定義できるようにした.

それでも,32.368KHzを32868(0x8000)程度で分周して実現するリアルタイム時刻計数をPIC16F88で実現するシステムという構成上,10時間で3秒程度は仕方なさそう.しかし,これは「数十秒~数分の陸上競技タイムを対象に1/100秒で正確に測る」という目標実現に対しては,十分な精度であると再確認できたので,良しとする.

« 2008年12月 | トップページ | 2009年2月 »