デジタル回転計Ver3基板配布 作成中:2006-06-08〜2006-07-09
息抜きで作った回転計も3作目になってしまいました。基板は4枚発注したので1個作ってうまくいったら。残りの3枚を実費配布します。1枚¥1000以下になる予定です。
基板の最終パターンです。2作目でICSPがうまくいかない問題を発信回路とPICをジャンパーで切り離す方式で解決します。実際試してみていないのでうまくいくか不明です。
基板届きましたがセンサー部分が切り離されていません。センサー部分と本体部分を1枚のボードファイルにしたのがまずかったのでしょうか。EAGLEのレイヤー20(Dimension)で分離してくれると思ったのですが当てが外れました。でも、なぜか自転車走行計のほうは分離されています。
こんなふうに20milの切り代を入れておけば良かったのかもしれません。次回発注するときはこうやってみようと思います。右は今回発注したときの物。
ギロチンで切断しました。分厚い基板はドライヤーで加熱してから切ると柔らかくなって無理な力がかかりません。
抵抗は裏面に配置してもOKですが、シルク印刷してあるので表側に配置しました。
裏と表両方に部品を配置。
LEDが密着しすぎていて基板がほんの僅か反ってしまった。
ICSPは問題なし
センサー基板
センサー部分をケーブルで繋いで動作確認。とりあえずOK。後は水晶発振モジュールの周波数が前作と異なるのでソフトの修正が必要です。
前作と同じ回転体を計測して比較してみました。周波数分だけ小さな値になるはずなのですが、結果は逆。プログラムのバグの可能性有り。
センサーからの信号の周期は55.8Hz 校正もせずに使用しているオシロスコープなのであまり信用できませんが、これが正しいとするならば 55.8Hz×60秒=3348rpmとなり、旧作のほうが正しそうです。右の写真は水晶発振モジュールの波形です。上が今回作った物11.776MHz、下が旧作の物12.8MHz。水晶発振モジュールの発信周波数に問題はなさそうです。左の写真、1サイクル周期の上の方が白い部分をセンサーが検知している箇所で、下の方の短い部分が黒い部分を検知している箇所です。センサーと回転体の距離を離していくと黒い部分を検知している箇所にある「ひげ」がだんだん大きくなります。そうなると1周期で2回転しているとプログラムが判断してしまい2倍の回転数を表示します。
やはりバグってました。0.5秒間の回転数からrpmを計算していますが、実際は16ビットのタイマー1が25回オーバーフローする時間を使っているので0.5秒ではなく0.556秒でした。凄い誤差です。プログラムを修正して計測してみました。59.290Hz×60秒=3557.4rpmでテスターの物と合うので合格。2rpm違ってますが計測ロジックの違いによる計測タイミングのずれが原因と思われます。
水晶発振モジュールを切り離さなくてもICSP出来てしまいました。PIC16F88の場合はOKみたいです。PIC16F648はNGだったのに...
ケースの穴あけ加工。
厚さ3mmのブラウンアクリル板をはめ込んだところ。ケースの厚さも同じく3mmなので接着剤を流し込む溝を作っておく必要があります。
10ミリのスペーサーを使うとケースの穴と間での距離がちょっと開きすぎ。スペーサーを1.5mmだけ切りつめます。
電源用のジャックは短いが、オーディオ用のジャックは長いので良い場所が見つかりません。どうしても基板が邪魔なので基板ごと8mmのフライスで削ってしまいました。
中の状態
外観
取り付けの様子はフライス盤のページを見てください
注意
この回転計は被測定物である回転体が回転していないときは前回の値を表示したままになります。1rpmまで計測できるようにしているので、本当に回転しているか否かを判断するのに1分かかります。1分後に0表示になるのでは意味がないので、あえて0表示しないようにしています。
パーツリスト | ||||||
数量 | 単価 | 価格 | 購入先 | 備考 | ||
プリント基板 | 1枚 | 1 | \900 | \900 | OLIMEX | |
PIC | PIC16F88 | 1 | \230 | \230 | 秋月電子 | |
IC SOCKET | 18PIN | 1 | \50 | \50 | 千石電商 | |
R3-R7 | 4.7kΩ 1/6W | 5 | \1 | \5 | 秋月電子 | ※1 |
R8-R14,R18 | 330Ω 1/6W | 8 | \1 | \8 | 秋月電子 | |
R15 | 33kΩ 1/6W | 1 | \1 | \1 | 秋月電子 | |
R16 | 68kΩ 1/6W | 1 | \1 | \1 | 秋月電子 | |
R17 | 3.3kΩ 1/6W | 1 | \1 | \1 | 秋月電子 | |
水晶発振器 | 11.776MHz | 1 | \1 | \20 | 秋月電子 | 5個¥100 |
C1 | 積層セラミック 0.1uF | 1 | \5 | \5 | 千石電商 | |
LED Common-Cathode | PARA LIGHT C-551SR | 5 | \100 | \500 | 秋月電子 | |
トランジスター | TOSHIBA 2SC1815Y | 6 | \20 | \120 | 千石電商 | |
ピンヘッダー | 1 | \50 | \50 | 秋月電子 | ||
ショートピン | 1 | \10 | \10 | 千石電商 | ||
フォトリフレクター | メーカー不明 | 1 | \30 | \30 | 秋月電子 | 10個¥300 |
DC JACK | MJ-14 | 1 | \100 | \100 | 千石電商 | |
3極ジャック | 1 | \74 | \74 | 千石電商 | ||
3極プラグ | 1 | \210 | \210 | 千石電商 | ハンダの乗りが悪いです | |
AC ADAPTER | 5V 2A | 1 | \600 | \600 | 秋月電子 | |
ケース | タカチSS-N90 | 1 | \320 | \320 | 千石電商 | |
センサー本体間ケーブル | 1.5m 2芯シールド付 | 1 | \90 | \90 | オヤイデ電気 | |
ICSP用コネクタ | 6ピン用 | 1 | \42 | \42 | 千石電商 | 1ピン分抜いて使います |
ICSP用40ピンコネクタ | 40ピン用 | 1 | \30 | \30 | 秋月電子 | 10個¥300 ※2 |
合計 | \3397 | |||||
※1.R1,R2はありません ※2.ICSPの時に使うプログラマー側の40ピンZIFソケットに挿す物です。配布価格は無料です(不要品なので) 含まれていない部品 ・ケースにあいた大穴(LED表示部分)を塞ぐアクリル板 ・本体とケースを固定するネジとスペーサ ・電源コネクターと本体間の電線 |
GIFファイル回路図
tachometer2.zip へのリンク <−EAGLE回路図&基板パターン
=============================================================
◆作り方
=============================================================
以下の順序で組み立ててください。水晶発信モジュール(銀色の部品)とLEDの取り付け順序は絶対に間違えないでください。
この順序を間違えると部品(LED)を壊さない限りやり直すことはできなくなります。
1.抵抗をすべてハンダ付けします。シルク印刷のある面に取り付けます。裏面に取り付けても問題ありません。
R1,R2がありませんが、設計変更を加えた過程で削除されたものです。
2.裏面(シルク印刷の無い面)に部品をハンダ付けします。以下の部品は極性があります写真のとおり組み立ててください。
・水晶発信モジュール
・トランジスター
・PIC(PIC16F88)
3.LEDを取り付けます。LEDも向きがあります。シルク印刷の小数点の位置(DP)と部品の小数点の位置を合わせてください。
LEDを全部はめ込んでからハンダ付けをしてください。LEDが少し大きかったら側面をわずかに紙やすりで削ると収まりがよくなります。
4.センサーを裏から見ると切り欠きがあります(ものすごくわかりにくい)切り欠きの位置を写真のとおりハンダ付けしてください。
取り付ける抵抗は4つです。トランジスターは向きがあるのでこの写真のとおり組み立ててください。
5.センサー間の電線は1.5mまでならうまくいった実績があります。それ以上はうまく動作するか不明です。できるだけシールド線を使用してください。
外側のシールド線をGNDに、他の2本を電源と、信号線につなぎます。
この組み立てサンプルはピンヘッダーを使っていますが、コネクター無しの直結でも問題ありません。
但し、ICSPで書き込むときは取り外せるようにしてください、センサーをつけたままだと書き込みエラーします。
6.電源電圧は5Vです。LEDが全部点灯したときの消費電力は200mA程度です。
他の部品の消費電力は取るに足りませんが余裕を見て100mAとしても合計300mAの電流を取り出せれば十分です。
電源のプラス/マイナスはこの写真の通り
7.ケースはタカチの SS−N90 に入ります。
穴あけ位置はこの図を参考にしてください。
基盤のサイズはケースのサイズぎりぎりなので、個体差によってうまく入らないことがあります。
そのときはヤスリで基盤側面を削ってください。側面全体を削っても、ボスの所だけを削ってもOKです。
ANAAKEZAHYO.zip へのリンク <−鍋CADの図面
8.ICSPもしくは単体でプログラムを書き込みます。ICSPで書き込むときの接続はこの写真のとおり。ジャンパーピンははずしておくか左の写真の位置にします。
PIC16F88はジャンパーピンの位置がそのままでもICSP出来るようですが、念のため外しておいてください
ICSPで書き込むときは電源を入れてはいけません。センサー部分もコネクターを抜いて切り離してください。
書き込み終わったらジャンパーピンを右の写真の位置に移動させます。
プログラムサイズが小さいのでMikroBASICの無料版が使用できます。
kaitenkeiPIC16F88.zip へのリンク <−プログラム一式(MikroBASIC V4.02で作りました)
ICSPで書き込むときの結線
ICSPはこんなふうにやります。右の方式でも良いし、左の方式でも良い。
9.通電すると表示が00000になります。
回転体には白い紙を貼り付け1箇所を黒マジックで塗ります
センサーとの距離は2〜3mmにします。遠すぎると実際の回転数の2倍になったりします。
10.センサーのコネクターにオーディオジャックを使用するときは電源が入った状態で抜き差ししないでください。一瞬ショートするかもしれません。
基板配布開始します。部品も必要な物だけ指定可能です。
1個予約済みなので、配布は2個だけです。
ご希望の方は以下の事項メールでご連絡下さい。
1.必要数
2.住所
3.発送方法
ゆうパック
定形外 <−約¥200です
のどちらか
4.必要な部品
パーツも一緒にご希望の方はパーツリストにご記入の上、返送お願いします
基板だけでもOKです。その場合はパーツリスト不要です
2006-07-15
デジタル回転計、基板配布終了しました。
2007-03-03追記
回転が止まったときゼロ表示になるバージョン作成しました。
この回転計はPIC16F648Aの12.800MHz版とPIC16F88の11.776MHz版の2種が出来てしまっているのでプログラムの保守が面倒です。左が12.800MHz版、右が11.776MHz版、電源を入れたまま書き込めばセンサーを取り付けていても書き込めます。電源を落としてしまうと、センサーを外さないと書き込めません。
約2秒後に0表示になります <−MOVIE 最低計測可能回転数は約30rpmです。
Hexファイル&ソースファイル & 回路図 | |
12.800MHz版 | kaitenkeiPIC16F88_FREQ_12800.zip へのリンク <−BUGがあったので差し替えました(2007-12-09) |
11.776MHz版 | kaitenkeiPIC16F88_FREQ_11776.zip へのリンク <−BUGがあったので差し替えました(2007-12-09) |
11.776MHzギヤ比40:16版 | kaitenkeiPIC16F88zeroMill.zip へのリンク フライス盤用です <−BUGがあったので差し替えました(2007-12-09) |
回路図+基板ボードレイアウト | tachometer2new.zip へのリンク EAGLE回路図です |
製品版(売店で販売している物) | kaitenkeiPIC16F628A.zip へのリンク |
HEXファイル、ソースファイルは PIC16F88 PIC16F648A兼用です |
デジタル回転計 第2回配布 2007−03−23
配布キットの中身です。今回はOLIMEXで基板を2分割してくれました、やはり間に20mil空けてDimensionで外枠を書けば分離してくれるようです。
今回は上の写真の部品構成のみの配布となります。
・電源付きです
・ケースは付いていません
・入手が容易な電線も付いていません(DCジャックと基板間の電源線)
・価格は送料込みで¥4000です(今回は¥700利益が乗っているので割高です)
・発送は定形外郵便のみです
・配布数は限定3個です 先着順なので早い者勝ちです(1個予約済み)
・プログラムは書き込み済みです(回転していないときにゼロ表示になるタイプが書き込んであります)
ほしい人は
1.郵便番号
2.住所
3.氏名
をメールで連絡下さい。振込先を折り返しご連絡いたします。
2007-03-27 配布終了しました。