2009年4月15日 (水)

素材ばっかり集まって...

付録基盤付きの雑誌が次々と発売されて、おまけに秋月通商に色々と発注したりで、なんか手元に素材が集まりすぎて何から手をつけようか...状態です。(苦笑)

現行のグラフィックLCDに、LEDインジケーターを追加したら、LEDの点灯によってLCDのコントラストが不安定になりだした。

また、天気の良い日はダッシュボード上はかなり高温になり、そうなると熱ダレなのかコントラストが異常に薄くなる。

やっぱり、こうゆう機器って奥が深いですね。市販するような製品だと、やっぱり1年くらいテストしないと安心できないのがわかります。

ということで、もう一度電源まわりを再点検し組み直しました。

結局のところ、どうやらバックライト用のインバーターが予想以上に電力を食っているようで、240mAくらい流れていた。そしてスイッチとして使用していた2SA1020がかなり熱い。また、7809で13Vから9Vへ降圧していたが、これもかなり発熱している。この辺の放熱が不足すると熱ダレしてくるんだろうと思われます。

そこで、以前ジャンクでたくさんゲットした8120JDというのが、ENABLE端子付きのDC/DCコンバーターだったので、2SA1020のスイッチをやめて13Vから12Vへの降圧スイッチとして使ってみました。これで、1020のスイッチ回路は不要となり発熱は回避できそうです。

またコントラスト用に、5Vから負圧を作っていましたが、LEDインジケーターなどによって電圧が変動しやすいと見て、12Vから負圧を発生させて安定化をはかりました。

Ts3c0378

LEDインジケーターは、100均で売っているクリップライトのケースを流用し、中に8ピンPICを入れてLEDを制御させました。クリップ部分が駐車券などをはさむのに便利です。

LEDは、「緑:エンジンON、赤:消費電流10Aオーバー、黄:バッテリー残量低下」で点灯するようにしてみました。やはりLCDの文字を読むよりLEDの点灯で状態がわかるのは運転中にはいいですね。

秋月カラー液晶も予備まで買ったし、付録基盤もLPC2388、LFXP2となり、どちらもヘビー級だし...そういや、GPSユニットも買ったなあ...

どうしよう...忙しくなってきたしなあ。(しばらく放置だろうなあ...)

|

2009年3月 5日 (木)

トレンドグラフ(^_^)v

かな〜り完成してきました。

せっかくのグラフィックLCDなので、やっぱり、ど〜しても折れ線グラフを表示したくて思案してました。

外部LCD側のPICでグラフをシフトせずに、本体側から前回描画したラインを黒で上書きしてから最新のラインを描画することでなんとかトレンドグラフが表現できました。(グラフ領域は15秒毎に更新します。)

それでもライン描画自体はPICの仕事なので、かなり遅いのです。(左端から右端までの描画データを1秒くらいかけてゆっくり送ってやらないと描画が間に合わないくらいです。)

トレンドグラフは、車速、アクセル開度、エンジン回転数、加速度を切り替え表示できるようにしましたが、前述の処理との兼ね合いで非常にややこしい事になりました。(ラインを少しずつ引いていくので、その間に表示を切り替えたりされるのを考慮すると...案の定、バグり捲りました。)

それでも、ようやくグラフィックLCDも本来の役割を果たせるようになり一段落です。

Ts3c0371

で、いよいよ車載できるレベルになってきたのでケースを作りました。
といっても、あんまりカッコよくなりそうな要素が無いので、かなり手抜きです。

使えそうな素材を求めてダイソーを徘徊してたら、全く売れそうにないプレートホルダー(展示会なんかで社名の厚紙を立てる為のホルダー?)が棚の奥に積んでありました。サイズがちょうど外部LCDにぴったりなんでGET。それから裏側用にアクリルの入れ物も買ってと...後は、ひたすら穴開けたり切ったりの格闘で形になりました。

Ts3c0372

たまたま家に白のアクリル板があったので、それで表面をカバーしたのですが、イマイチだなあ。やっぱりカッコよくはならんな。(苦笑)

土台の面積がやや小さいのでダッシュボードに置くだけでは加速するとゴロンと倒れそうな気がするが...重りでも入れてみようかな...

しかし、カラー液晶も魅力的だが案外この白黒液晶も文字が大きくて見やすくていいかも。

|

2009年2月19日 (木)

外部LCDを付けたぞ。

Ts3c0362

昨年の夏、PriusAnalyzer用の部品を買いに日本橋をぶらついた時、「デジット」という電子部品屋さんでグラフィック液晶モジュール(DMF-50316N)を衝動買いしました。

安かったので衝動買いしたんですが、バックライト用にインバーターが必要だったり、コントラスト用に-12Vが必要だったり、使い方も不明だし動作保証も無しという理由で安かった訳で、案の定ハードルが高く、なかなか手をつけられずにいました。

ネットで検索しても、このLCDに関しては動かした例があまり公開されていなかったのですが、基盤に載っているコントローラーICがT6963Cという比較的メジャーなチップで、すぐに日本語のデータシートが見つかりました。(なんとか無駄な買い物にはならず良かった。)

Ts3c0364

PriusAnalyzer本体に取り付けた20x4文字キャラクタLCDでは、さすがに表示量が少なく、設置位置の関係で運転中にはほとんど見れないということから、なんとしてもこのグラフィックLCDを繋ぎハンドル付近に設置したいと思ってました。

40x8文字の表示領域があるので、運転中に見たい情報は全て表示できそうです。
また、グラフィック液晶なので、トレンドグラフなんかも詳細に表示できるんじゃないかと期待していたんですが...(そうは問屋が卸してくれませんでした。)

まずは、PriusAnalyzerとは離れた場所に設置することになるので、データはシリアルケーブルで飛ばしたいところです。幸い、PriusAnalyzer本体側には、RS-232CもRS485も載せていて、どちらも余ってます。

ということで液晶側にPIC16F690を置き、RS-232Cで表示コマンドを受けることにしました。RS-232Cのレベル変換ICからマイナス8V程度が取り出せるので、これを液晶のコントラスト調整用に使ってみるといい感じで映りました。

トレンドグラフは、表示内容を一定周期でシフトしなくてはならないのですが、どう思案してもPIC程度の貧弱なマイコンでは無理っぽいので、とりあえず断念し、キャラクタ表示だけで我慢することにしました。

何度も、インバータで感電して心臓に悪かったですが、苦労した甲斐あってなんとか動くようになりました。

12V電源は常時電源だったので、キーを抜いても液晶のバックライトが消えません。なので、5V電源が供給されている間だけ、12Vも導通するようにトランジスタ回路を追加しました。

PriusAnalyzerとの接続は、ダイソーで買ったUSBケーブルを流用しましたが、4芯のモジュラーケーブルの方が取り回しが楽で目立たないかも。(そのうち、改良だな。)

Ts3c0365

いざ、出来てみるとだんだん不満も出てきました。なにより液晶の表示領域に比べてベース基盤が大きいので、ケースに取り付けてもイマイチかっこ悪い気がします。

それにカラー表示もしたいし、もっと精細なグラフも表示したいし...出来た端から不満いっぱいです。

Ts3c0363

前から気になっていた秋月通商の300円のグラフィック液晶で映したいなあ...ネット検索すると、動作実績も結構公開されていて出来そうな気がするが...表示には、かなりの伝送速度が必要みたいで、チープなPICレベルでは太刀打ちできないらしい。

さらに色々調べてたら、DesignWave誌が廃刊になり、4月から新刊が発行されるそうな。その付録にCPLDかなんかの基盤が付属するようなので、もしかしたら、これで遊べるかも...
(修正)CPLD->FPGAらしい...詳しくないので、あまり違いはわからんのですが...2009/02/26
(追加)インターフェース5月号?の付録として、ARM基盤が付くらしい...買っちゃうんだろうなあ(苦笑)


|

2009年1月15日 (木)

目玉機能かも

ここまでは、だいたい昨年の夏頃に出来上がってました。(Ver.1かな)

他には、Cortex-M3基盤に実装されている3軸加速度センサーを利用して横Gとか傾きなんかを表示させたりして遊んでましたが、それ以上はアイデアが沸かず熱が冷めてきました。

その後、基盤を壊してしまったり、液晶を壊してしまったり、最新ソースを消してしまったりして、更に忙しくなったこともありで、すっかりほったらかしにしてました。

なんといっても、既に張果老さんの燃費監督というすごい装置が公開されてるので、なんかこれ以上いじくっても面白くないなあと思いましたし。

後は、せっかく載っているSDカードスロットを使いたいと思い、昨年も時々、SDカードの読み書きについて調べてたんですが、ファイルシステムとか何かと最初のハードルが高くてやる気のスイッチが入りませんでした。

ようやく今年になってから、SDカードの読み書きにチャレンジし、何とか形になってきました。

そもそもこれまでは、クルマから取得した情報を表示することしか出来ませんでしたが、SDカードへの書き込みが出来るようになると、データロガーが実現できます。

そして、ロギングしたデータを再生したり、パソコンへ取り込んで更なる解析をしたりと可能性が大きく広がります。

ただし、CANに流れているデータは、1秒間に1000パケットを越えているようで、SDカードに保存できるデータはかなり絞らなくてはなりません。

しかし、ざっくりと作り込んでみて実験した感じでは、必要なデータはほぼ保存可能な感じです。保存したデータを再生表示できるようにして眺めていると、今、あの交差点で右折したなとか、あの坂道を登っているなとかが読み取れてかなり面白いです。

GPSアンテナなんかを接続して位置情報までロギングしたら、地図上に軌跡をプロットできるようになるかもしれませんね。このルートは燃費が悪いとか、この区間をどう走ると燃費が良くなるとかが解析できるかも。

ただ処理能力からすると、サーキットでのロギングには耐えられないかな。記録間隔が大雑把すぎるしな。

|

手作り感いっぱい

正面からの写真ですと、まあまあ小奇麗に作り込んでるように見えますが...

舞台裏は、手作り感いっぱいでスゴイことになっております。

Ts3c0356

右上のコネクタは、USB/CAN兼用ポートです。

車載時は、車体側OBDコネクタからCAN信号と12V電源を繋ぎます。(USBケーブルを改造)

開発時は、パソコンとUSBケーブルで繋ぎ、プログラムを書き込みます。

右下は、開発時の電源供給用コネクタ(12V)です。

Cortex-M3基盤には、5Vを供給し、内部で3.3V化されます。まずは、12Vから5Vへ降圧しなくてはなりませんので、ダイソーで買った自動車用携帯充電器を分解し、降圧回路基盤ごと載せてます。念のため、放熱用の鉄板も付けました。(あまり高温にはなりませんが)

車体側OBDコネクタの12Vは常時電源となっており、キーを抜いても0Vになりません。このままでは、電源スイッチを付けるか、いちいちコネクタを抜かなければ電源OFFできません。切り忘れるのは目に見えています。

そこで、CAN信号の変化が一定時間無くなると自動的に電源を切るような回路を載せました。右上のヒューズの下側のトランジスタが密集している部分です。(張果老のページさんの回路を参考にさせていただきました。)

SDカードの刺さった緑の基盤がCortex-M3基盤です。その上下には、RS-232CとRS-485とCANのドライバチップがあります。

すべてを載せている茶色の基盤の裏側は、配線でもの凄いことになってます。(笑)もう、二度と作りたくないと思えるくらいの配線量です。

次は、SDカードの利用です。

|

第一画面は、かなりゴチャゴチャです。

初期表示がフェードアウトした後は、第一画面が表示されます。

Ts3c0357

少ない表示領域に目一杯情報を詰め込んだので、ゴチャゴチャです。また変わると思いますけど...左上から

・シフトポジション(P/N/D/B/R)
・ブレーキON(■)/OFF(□)
・ブレーキ踏力
・アクセル開度
・ステアリング(←/−/→)
・経過時間(分:秒)

・実車速
・エンジン回転数
・EVモード(G/E)
・ガソリン残量

・走行距離
・燃料噴射量(積算値)
・燃費(最新3秒間燃費)
・バッテリー走行割合

といった内容です。

あと、第二画面は写真撮ってないですけど、

・動力バッテリー電圧
・動力バッテリー入出力電流
・充電量(%)
・エンジン温度
・冷却水温度

などが表示されます。

|

実はかなり出来上がってます。

プリウスアナライザー...実は、かなり出来上がってるんです。

そりゃ、昨年の6月から着手した訳ですから当然です。しかし、8月くらいから年末までは忙しくて、ほとんどほったらかしでした。

途中、電源の接続ミスでマイコン基盤を壊してしまったりで、予備を含めて結局、同じ本(付録付き)を3冊も買いましたが。(苦笑)

最初は、CANデータの受信が大変でした。ネット上にもCANに関してはあまり情報が無く正に暗中模索でした。何といっても実際にクルマに繋がないとテストが出来ないのです。そこでマイコン基盤同士で通信させてテストを繰り返し、なんとかクルマから受信できるところまで漕ぎ着けました。

次に取得したデータのどの部分が何のデータなのかを知らなければどうしようもありません。幸い、Attilaさんという方が、自身で解析されたデータを公開してくださっており、大変助かりました。

その後は、うっかり最新ソース(自作ソフトウェアの)を消してしまい、かなりバージョンダウンしてしまい、やる気喪失してました。

年が明けて、またやる気が出てきたので、グイッとバージョンアップさせてVer.2となりました。

Ts3c0358

起動時の初期画面です。

液晶左側の4つのボタンで画面を切り替えたり動作モードを変更したりします。

その左は、USBポート(上)とRS-232Cポート(下)です。残念ながらCortex-M3は、USBとCANは排他利用なので、上側のUSBポートは携帯の充電用として使うくらいしか道がありませんが。

下側のRS-232Cは、デバッグ用に実装しました。USBポートにSD/RD/GNDを出し、専用の変換ケーブルでパソコンのCOMポートに繋ぎます。

次は、第一画面です。

|

プリウスアナライザープロジェクトスタート

現在は、トヨタプリウス(NHW20型)が自家用兼業務車となっているのですが、このクルマはなかなか面白いです。

最近ではカローラ並に売れているのか、出掛けるたびにすれ違うようになりましたが、将来、モーター駆動のクルマが主流になるのは間違いないと思います。

もともとクルマいじりが好きで、セリカやランエボ等を改造して乗っていたりしましたが、速く走るのも飽きてきて、5年前くらいにプリウスというある面では相等にマニアックなクルマに乗り換えました。

プリウス乗りの醍醐味は、ガソリン車では到底考えられないような燃費を実現するところにもあると思うのですが、燃費走行を突き詰めていくと、水温やアクセル開度など色々な情報を知りたくなってしまいます。

プリウスユーザーには、マニアックな人が多く、車載コンピュータやCANという車内ネットワークから各種情報を取得し色々な情報を液晶等に表示する装置が製作され、ネット上に公開されたりしてます。

最近のクルマのほとんどがCANという通信規格を採用しており、比較的簡単にデータを取得できるようになりましたが、それでもCANからRS-232Cなどに変換する機器が必要となり、なんだかんだで数万円はかかってしまいます。

そんな事から、ちょっと躊躇していたのですが、昨年の5月、CQ出版社のDesignWaveMagagine5月号に、Cortex-M3マイコン基盤が付録として付いているのを書店で見かけました。

調べてみると、Cortex-M3は、CANプロトコルをサポートしており、その他の入出力デバイスも豊富で、CPU速度、プログラム容量なども十分でした。これが、2500円程度で買えてしまうという、なんとも打ってつけの素材です。

サラリーマン時代は、パソコンのソフト開発に関係していたこともあり多少はマイコンにも興味は持っていましたので、久々に開発者魂に火が付いてしまいました。

そんなこんなで、プリウスアナライザープロジェクトがスタートしたのです。

|

その他のカテゴリー

1.デントリペア 2.PriusAnalyzer