自転車走行計2号機 作成:2006-02-17〜2007-06-23

試作1号機によってわかった問題などを解決した試作2号機を制作します。試作1号機は 自転車走行ロガー という名前でしたが、ロガーというのは電気屋さんにしかなじみがないので走行計にしました。


試作1号機の記事と重複しますが、構想はこんなです。

・バッテリーは充電式のニッケル水素電池を使用。単4×4本にする
・充電式バッテリーなら節電の必要性ないのでLEDのままでいく 1号機よりはちょっと数字が大きい方がよい
・速度表示の時は下1桁が小さい方が見やすい
・大きさは現在の半分(上から見た大きさ)にする
・PICは28ピンだとちょっと不足なので40ピンのPIC16F877にしよう。DIPだと大きいのでフラットパッケージの物を使う ICSPコネクタ必須
・スイッチは4つ欲しい
・ちょうどいいサイズのケースはなさそうなので削りだしで作ってしまう方が簡単そう
・メモリーは1Mビットの物を3つ使用する
・最大計測距離136km
・電池切れ警告灯は、もう少し試作1号機を使ってみてから検討
・上り坂の一番下から「よーいドン」で競争したいとき、それまでの距離差、時間差を暫定的にゼロにするスイッチが欲しい
 前回のラップタイム記録位置に現在地をシンクロさせる機能。スイッチ1個追加。スイッチだらけになるので2つは外部に引き出してハンドルに付ける。
・タイヤ周長はPIC内蔵のEEPROMにセットしよう。
・ついでに磁石はもっと小さくて薄っぺらいものにしよう。ネオジウム磁石ならもっと小さくなるはず。市販品は不細工です。
・PICのUSB化が進んできたようなので(いまごろやっと ...という感じですが)多ピンのUSB対応PICがmikroBASICで使えるようになったらPIC16F877を止めてそれに変更。
・夜間は色が同じだとどのLEDが点灯しているのかわかりずらいので出来るだけ色の違う物を使用する
・電池ボックスは廃止。電池を直接ハンダ付け。電源コネクターの抜き差しで電源スイッチの代用とする

  計測モード時 ダウンロードモード時
SW1 ラップタイム記録
ブレーキ付近にスイッチが欲しい
ダウンロード開始(2秒以上押す)
SW2 表示モード切替
ブレーキ付近にスイッチが欲しい
アップロード開始(2秒以上押す)
SW3 ダウンロードモードへ切り替え(2秒以上押す)
追記モードへ(2秒以内に離すと)
追記モードの解除は電源をOFF->ON
計測モードへ切り替え(2秒以上押す)
SW4 輝度調整 10段階程度
節電モードへ(2秒以上の長押しで計測信号以外のLED全消灯)
アップロード/ダウンロードキャンセル
SW5 シンクロスイッチ(上に書いた物) 未定


  LEDの意味と色 解説
LED1 計測モード ダウンロードモード 電池切れは点滅で表す
LED2 センサー接近 センサー非接近 ダウンロードモード  計測モード中はセンサーが磁石に近づいたときだけピカる
LED3 ■■■■■■■■■■追いついている
■■■■■■■■■同じペース
■■■■■■■■■■遅れ気味
■■■■■■■■■■遅れている
■■■■■■■■■ 10%
■■■■■■■■■■ 50%
  距離、タイムが詰まっている/離されている程度を
LEDバーアレイの点灯数で表す

ダウンロードモード時は転送済みデータ量を表す。
1ピカ=13kmぶんで、使用済みメモリー分が光っていて、転送が進むにつれて消えていく。
LED4 距離モード タイムモード 速度モード ダウンロード中 アイドリング中 距離モードの時点灯
LED5 距離モード タイムモード 速度モード アップロード中 アイドリング中 タイムモードの時点灯

その他の考慮点
 ・電源の電解コンデンサーは100μFでは不足。


8ピンのEEPROMは面実装パッケージを使用しますが、EAGLEに標準で付いてきたライブラリーは足の上にシルクパターンがあります。なぜ?理由がわからないのでライブラリーを修正して足の上のシルク印刷を取りました。


LEDバーはこれを使います。秋月電子で売っている物です。


基板をOLIMEXに発注しました。左が本体。右はデータダウンロード/アップロード用のアダプターです。


基板が届きました。


パターンの上にシルク印刷してしまいました。失敗。


フラットパッケージのハンダ付けは、かまわず多めにハンダをのせておいてから、ハンダ吸い取り機で余分なハンダを吸い取ったあと、再度軽くコテをあてハンダをならすとうまくいきます。


これでもチップ抵抗としては大きめの方なのだが... 0.5mm径のハンダを1mmの長さに切ってハンダ付けする部分に沿わせてコテで加熱します。面倒ですがこのやり方が確実です。


232Cインターフェース部分


トランジスターも小さい。メーカー製の電子機器ではリード付の抵抗を見かけることは少なくなっている。そのうちチップ抵抗以外入手困難になってしまうのだろうか? ひたすら精神力との戦いが続く。


メモリーをMicrochipDirectで購入。送料込みで1個¥1000以上になってしまった。ちょっと割高ですが秋葉原を探してもなかったので海外から取り寄せました。PICの工場があるタイからです。


大きな箱で届きましたが、こんな小さなメモリー4個だけ。設計はATMEL製の物を使う予定だったのですが、こちらのほうが高速で動作するので急遽変更。回路を修正する必要があるので基板のパターンをちょっと加工しなければなりません。


EAGLEのライブラリーを作るときにピンは位置を間違えてしまったのでパターンをカット


最低限の部品を半田付けしたらICSPで書き込んでみるのが開発の定石。右はほぼ部品が乗ったところ。


不細工な配線開始、これからもっとひどくなっていきます。


1号機とはこんなに大きさが違う。


点灯実験。正面から見るとオレンジがまぶしい。


配線完了。3mmのLEDが眩しいので帽子をかぶってもらいました。表側の配線はメモリーを変更したための物、裏側の配線はLEDのピン配列を間違えて基板を作ってしまったための修正。これから先はソフトの開発なのでしばらくこのページ変化がなくなります。


3つのメモリーにはタイヤが1回転するのに要する時間が記録されます。 時間は1/(11.776[MHz]×1000000/4)秒単位です。値は3バイトです。メモリーを3個使っているので、それぞれ1バイトずつ各メモリーに割り振って書き込んでいます。

基本的機能に関する制約事項
 1.あまりゆっくり走るとタイヤが1回転するのに要する時間がかかりすぎ値がオーバーフローするので時速5[km/h]以下で走っている時は時速5[km/h]ちょうどで走っているとみなします
 2.前回走行時より24分以上差がつくと時間差モードは表示はエラーになります
 3.記録できる最長距離は131km

柔らかい光になりました。



忘れてしまうので、使い方をここにまとめておきます。

  使い方
【記録開始/終了】
右上のスイッチ(SW5)を2秒以上押すと記録開始される。記録中は
が点灯する。
再度スイッチを2秒以上押すと記録終了する。
は消灯する。電源を入れた直後は記録停止モードになっていて7セグメントLEDの表示は「三三三」になっている。
【PCへのデータ送信】
記録停止モードの時、左下のスイッチ(SW3)を2秒以上押すと。PCへのデータ転送が開始される。
【表示モード切替】
記録モードの時、右下のスイッチ(SW4)を押すたびに「スピード表示モード」->「時間差表示モード」->「距離表示モード」に切り替わる。
:スピードモード
:距離モード
:時間差モード
【データCOPY】
右下のスイッチ(SW4)を押しながら電源を入れると、今回走行分のデータを全開走行分のデータ領域にCOPYする。左の写真はRS−232に繋がっていますが単体で使用するための機能なので、この機能を動かすためにインターフェースは不要です。
【PCからデータ受信】
記録停止モードの時、右下のスイッチ(SW4)を2秒以上押すと。PCからのデータ受信が開始される。書き込みが完了すると書き込んだデータをそっくりそのまま送り返してくる。送り返されたデータを付き合わせて内容が同じなら正しく書き込めたと判断。最後はEnd表示になって完了。
【ラップタイム記録】
ラップタイムは走行中に左下のSW3を押すと記録されます。1回押すと10秒間はラップタイム記録が禁止されます。3秒間SAVEの表示になってラップタイムを記録したことを知らせます
補足:
 
:3mmの赤LED(LED1,4)の意味です
 
:3mmの橙LED(LED2)の意味です
 
:3mmの緑LED(LED3)の意味です


基本機能が1号機から移植できたので走ってきました。平均29km/hでほぼ平坦な2kmちょっとの四角いコースをぐるぐる回ってみました。夜10:00です。減速しているのはコーナーです。2カ所時速40kmを超えていますが、トラックの後ろに張り付いて加速したためです。


今日は寒くて外気温5度。右はダウンロード風景。


電池はスポンジ両面テープで基板裏面に貼り付けました。


1号機同様、2号機も試作品なので固定はゴム紐止め。これまた1号機同様表示されている値がおかしい。前回よりも遅かったのに433mも先行出来たことになっている。


やっとバグが取れて、表示と理論値があうようになりました。距離差モードと時間差モードの違いがわかりにくいので、マジックでTimeのTとDistanceのDをLEDの頭に書きました。やはり昼間は7セグLEDの視認性が悪く、もう少し電流流して明るくしないとダメみたいです。


時間差のつまり具合を表示する機能を追加。写真は前回走行時よりも差が広がっている状態。逆にタイム差が詰まってくると上半分のオレンジと赤のLEDが点きます。1つ点灯は前回走行時よりもタイヤ一回転に付き1/100秒タイムが広がっていることを表します。この写真の状態はタイヤ1回転に付き5/100秒以上広がっていることを表しています。緑がたくさん点いていたら、前回よりもがんばっている状態なのでそれを維持して、赤とオレンジが点きはじめたら気合いを入れます。10バーLEDは暗くて昼間は殆ど見えません。よく見えるようになるのは薄暗くなってからです。


約1時間走行した時のタイムのつまり具合をグラフにしました、5/100秒を超えることは殆どありません。つまり、LEDの表示が振り切れることはほとんど無いということです。


ラップタイム記録機能を追加。SAVEの頭3文字だけを表示しているつもりです。


これは実験用のセンサー。1号機は開発用パソコンと自転車が近くに置けたのでこういうのは作りませんでしたが、今は1階と2階に分かれているのでこんなのが必要になります。


2号機を造りながら、3号機の構想に取りかかります。OLIMEXの基板製造精度ではハーフピッチのヘッダピンを配置するとエラーになってしまいます。P板.comでは高くなりすぎるので別の方法を考えなければなりません。実装密度が高くなるので3号機では、基板を2段重ねにして使います。分厚くなる分は薄いリチウムポリマー電池を使って逃げる予定です。


3号機のレイアウトほぼ確定。2号機よりさらに一回り小さくなります。


赤い線が前回走行時の時速、青い線が今回走行時の時速。緑は時間差、時間差の目盛りは右側です。同じコンディションで同じコースを走ると10秒以上差をつけるのが難しい。


富士山に登ってきました、富士スバルラインの料金所ちょっと手前から5合目までです。コース工程図はほぼ直線ですが...


実際には勾配がかなり変化します。ほぼ一定の出力で走っているので、勾配の変化が速度の変化に現れます。赤い線は普段走っているほぼ平坦な周回コース(向かい風と追い風で速度差がついてます)、青い線が今回走行のもの。


レース前の朝食、甘い物を集めてみましたが油とりすぎでした。ユンケルとCCDは大会本部の支給品。


ちょっと気になっていたのだが計測したタイムが大会の記録と10秒以上違っている。今日届いた写真入りの記録証を見るとゴール地点で確かにステムに取り付けた走行計のラップタイムボタンを押しているのが写っていた。ボタンにまだ手が届いていないようなので、たぶん1秒程度遅れてボタンを押したはず。そこで走行計での計測値を大会記録と比較してみました。


思ったより正確にラップタイムボタンを押しています。10秒以上の誤差はスタート地点を間違えてラップタイムボタンを押したためと思われます。

ラップタイム比較
  大会公式記録 走行計の記録
5K 20:27 20:40
10K 18:47 18:49
15K 19:17 19:17
20K 19:30 19:30
24K 12:42 12:43


機能はこれで十分という感じ、もっぱらタイム差モードで使用しています。大きすぎるのが欠点ですが3号機で改善できるのでひとまず2号機の開発は終了。


inserted by FC2 system