バイク用ステータスモニター

10/04/03[sat]
 バイクの電装装飾をやりだして、欲しくなるのが状態モニター
 最初はLCDで表示する予定だったけど、4連7セグが沢山あるじゃないか。使えよ
 ってことで、作り出してしまった今回の企画

 既にLED用に基盤削ってもらったし、新たに削ってもらうのも申し訳ないのでユニバーサル基盤で作ることにした。
 これがまぁ、配線がらいこっちゃのなんの
 4連7セグがダイナミック駆動用のもので、1つにつき、セグ表示用に7pin、桁指定用に4pin、その他ドット等に他のピンって感じになってるやつ
 それが*4つ
 ということは、セグ表示を4つ共用にして、16桁を選択式にして順次表示、ダイナミック方式で点灯させる
 理論は簡単だが、この狭い基盤にどう収めたものか・・・と、考えながら配線した結果がコレ↓

  

 マイナスと思ったらダミーだった。↑の向きで正しい。
 点灯制御に使うトランジスタは、手元にあった表面実装のがpnpだったので、これを使用。
 表示内容は、左上が電源電圧で、他が温度かな
 外気温測定用に基盤裏に一つつけてみた↓
 
 上4つ並んでるのがトランジスタ。下の一つが温度センサ
 ICは「LM60(SOT-23)

 もうこんなん作りたくないわwww

 とりあえず回路は完成したんで点灯させてみた、ら・・・
 右下の4桁目が表示されない・・・
 ぱっと見原因分からなかったんでとりあえず保留。4桁目なら最悪無くても大丈夫だろう

 電圧の測定は、抵抗で分圧してポートBで入力でききる安全な電圧にしてから測定。
 電圧計の理想は無限大の抵抗。というのが頭をよぎったので、500kΩと150kΩで分圧していた。
 と、景気良く電圧とADC値の関係を測定していたら、どうも14V辺りで一度座る・・・
 言葉だけじゃ表現しにくいので表と図を以下に示す。
 
 ADC値は10ビット(0~1023)の値
 14~15[V]にかけて、比例的に上昇していないのがお分かりだろうか。


 なんでやろうってU氏に相談してみたら。ハードウェアマニュアル引用してきて。「これか!?」って何かというと
  16.6.1 許容信号源インピーダンスについて
  本LSI のアナログ入力は、信号源インピーダンスが5kΩ以下の入力信号に対し、変換精度が保証される設計と
  なっております。これはA/D 変換器のサンプル&ホールド回路の入力容量をサンプリング時間内に充電するため
  に設けている規格で、センサの出力インピーダンスが5kΩを超える場合充電不足が生じ、A/D 変換精度が保証で
  きなくなる場合があります。
  (中略)
  高速のアナログ信号を変換する場合や、スキャンモードで変換を行う場合
  には、低インピーダンスのバッファを入れてください。

 要は、入力インピーダンスが大きすぎて(500kΩ)正確に測れないってことか
 インピーダンス変換とか・・・オペアンプ使って出来るけど・・・
 あの基盤にDIP8pinを追加するのは無理すぎるし、止むを得なくば基盤を2段にするしかないか。
 2段は最終手段として、推薦入力インピーダンス5kΩ以下と言うとおり、分圧の抵抗値を減らしてみた。
 さて・・・ジャンク抵抗からお目当ての比を探すか・・・

 探し当てたのが、1kΩと4.6kΩ
 これでいけるかと、電源電圧とADC値の関係を調べてみたら、なんとか直線になってくれたw
 
 6~7[V]で座ってるのは入力電圧が足りず、レギュレータの出力が低下(ADCの基準ズレ)によるもの

 あとは温度計の調整やけど、出力[mV]で何℃ってのが規格できまってるから、出力をテスターで図りながらADC値と調整
 なんか電圧測定用のポートから影響受けてるっぽいからコンデンサ追加した。これでおk
 室温でADC値112、AD入力電圧0.580v
 データシート見たら「+25℃|+580mV」とジャストミートwww今の室温は25℃かw
 データシートの表からExcelで計算。その後実際に見ながら調整。
 電圧と温度の算出式は以下の通り
  電圧: (AD*27+50)/10
  温度: (AD*86-7130)/10
 小数点は遅くなるから出来るだけ使わないようにしたけど、どうなんかな?w
 今回程度の処理ならあまり変わらない気がするが。

 で、とりあえず出来たのがこんな感じ
 
 左上が電圧、左下が気温
 右側はまだ何もつけてなくてオープンの状態。
 この写真はまだ温度の設定はしてない。

 さて、次は実装用のアクリルケースやな。



10/04/04[sun]
 あとで聞いた話だが、前回調整した参考用のデジタル気温計は若干値がおかしいらしい・・・
 高め?まぁいいや。
 今度色々温度計集めてそこで再調整するか。

 今日は外箱アクリル加工
 まずは基盤から大体の目安で幅、高さをとって、
 線を引いたらバンドソウで切る
 今思ったけど、アクリル切るのって、アクリル用のカッター使った方が綺麗にできるんかな・・・
 今度余裕あったら買ってみよ
 

 ここで登場よくお世話になっているアクリサンデー接着剤。
 
 アクリル専用で、アクリルが瞬間接着剤のごとくひっつきます
 ただ、乾くのが速すぎるのと、爛れるのが難点;;;

 枠が出来たら、
 

 ものさしにして線を引いて、天板と底板の形を取る
 

 よし、いい感じに出来た。
 と、この時点の写真撮るの忘れたw

 ここで、回路をアクリルケースに組み込むのだが、基盤のコンデンサとH8のクリスタルが出っ張ってて装着感がイマイチ・・・
 

 そこで、こんな↓のを四隅に付けて安定させることにした。
 
 ↑なんかの部品の足なんだろうけど・・・コンデンサかな?

 付けたらこんな感じ↓
 
 高さあわせに苦労した・・・
 線が太すぎて、基盤の穴に入らなかったので1.5mmのドリルで穴を広げて
 広げたはいいものの、ユニバーサルのレジストが殆ど無いからハンダ付きにくいし
 ズレるし揺れるし・・・

 で、付けれたところでケースに組み込んでみた
   

 裏蓋どうしようかな・・・
 蝶番使おうかなとも考えたけど、買いに行こうと思ったら8時過ぎでホームセンター閉まってる
 仕方ない、明日にするか。
 明日ホームセンター行ってそこで考えよう。



10/04/05[mon]
 朝、ホームセンター行ってアクリルの蝶番見に行ったら6個入り600円だった罠・・・
 絶妙に高いな・・・
 ちょっと悩んで、ネジ止めにすることにした。

 ネジ止めと言っても内部にネジを受けれるような空間は無いので外部に増設
 まずは厚さ3mmのアクリル板3枚を重ねて9mm立方のブロックを作る
 

 次に底板を新たに作る。
 

 重ね合わせたブロックを、底板にあわせて本体にくっつける
 

 重ね合わせもそうだが、本体にくっついてる分も、アクリル接着剤だけで強度が保てるか不安・・・
 切った面じゃなくて表面で接着してるからそれ並に強くくっついてるとは思うけど・・・どうかな?
 で、本体と底板をセロテープで固定して、ドリルでネジ穴を開ける
 空ければネジとナットで固定
 

 SPADA本体への取り付けイメージ
 
 ん~、これだと鍵に邪魔になる・・・
 かといって下にずらすとハンドルの首?が邪魔で固定できそうに無いし・・・
 そこで思いついたのが、ハンドルの首?の上でも固定できるように、浮いてるところをスポンジかなんかで生めるようにする。
 でもって、セパレートハンドルの付け根に結束バンドで縛ればなんとかなるんじゃないか?

 でもって中二階で拾った大量のスポンジゴムの束www
 
 こいつを重ねて・・・・
 ってくっつかねぇwww
 テープが劣化してるんか、表面がくっつかなさすぎるのか・・・
 しかも反るしw
 

 仕方ないのでビニールテープで形状固定、
 縦に張って、横にまいて、実装
  

 結束バンドをつけるための穴。
 

 でやぁ~
 

 さて、
 あとは温度センサーを調整して完成だ!
 と思いきや、肝心の温度センサがうまく出来てない・・・
 昨日は、データシートから計算で求めた式に、間違った温度計で補正したのでやり直すことにしたんだが
 補正を戻し、元の式で表示しても表示温度は32度くらい
 どう考えても室温は20度以下?。もう春先だから20度程度か。
 まぁそれでもおかしくて・・・

 一応、他のICで、基盤の外の位置で計測すると25℃程度
 それでも高いか?と思って外に出したら17℃程度。天気予報の0時頃の予想気温が14度ってことだし、合ってるんか・・・?。
 ICが悪いかと思って付け替えてみても、基盤無いの温度表示は変わらず。
 ノイズかなんかと思って、基盤から浮かせた状態にしてみても変らず。
 Vs-Gnd間にパスコン入れても変らず。
 最後の思いで基盤のアクリル板側、ケース中央上側で設置したら、2℃下がった30℃程度の表示になった。
 原因は何なんだろうか・・・
 基盤自体が温度高いのか?
 でも外部にしたやつを基盤に近づけてもあんま変らんし・・・
 やっぱ増幅するべきなんかなぁ
 アバウトに気温が分かればいいから2,、3℃の誤差はいいやと思ってたけど・・・気温で2,3℃って大きいか・・・
 ケース内のだけ増幅するかなぁ?

 色々カオスに悩んだけど、
 とりあえず明日、温度計と比較しながら温度変化を記録して、プログラムで補正できそうならそうするとしよう



10/04/06[tue]
 早速温度データ調査開始
 30分ごとに気温データ取得しようとしたけど無駄に感じたので1時間でやめた。
 とりあえず、温度の変化をみるため、冷蔵庫に入れたり、冷凍庫に入れたり・・・
 データは取ったけど、結局、データから温度の式を再計算。
  (AD.ADDRB>>6)*78.7-6786)/10;
 表示もそこそこ合ってたし、これでいいかなと。
 冷凍庫入れたときに発覚したマイナス時のバグ修正。

 あと、手元にあったのもので構成した電源電圧測定用、
 分圧抵抗が炭素皮膜でだったので温度に影響されにくい金属皮膜抵抗に付け替えようと思ったけど面倒と思ったし、さほど精度もいらないのでやめた(←
 
 でもって昨日問題だったケース内温度の問題
 結局線出してケース外表面に設置した。表示も大丈夫。

 他、ケースの暗さが足りず7セグが見えにくかったので、使い損ねた裏版予定だったのを表の上に重ね貼りした。
 見やすくはなったけど、暗いな・・・
 しかもアクリル接着時に微妙に右にズレたΣ(



 実装記録に続く→バイクのページ:バイク用ステータスモニターの実装