鎌倉秘境テストコースとサブコンセッティング


    少し前まで最強寒波と言っていたのに気がつけばすっかり春ですね。
    今日はほんの少しだけ近所をぶらぶら走ってみました。

    鎌倉市の散在が池というところです。
    s-DSC_1553.jpg

    遊歩道が整備されていて、池のほとりをぐるっと散策できるのですが、とても鎌倉市とは思えないちょっとした秘境感の漂う場所です。
    別名鎌倉湖、地元では心霊スポットとして有名です。でも神奈川県民以外の人は知らなはい人が多い感じですね。
    鎌倉市に湖なんてあるの?と言われます。


    ま、それはどうでもよいのです。
    説明というか前置きが長くなるのがイカンところですね。

    周辺にはちょっと舗装の荒れた大きなS字カーブなんぞがありまして、走ってみたわけです。
    さすがに新しいタイヤとリフレッシュした車体でとても良い感じです。自己満足度120%。
    この後はラフ&ロードでLEDヘッドライトとかその他部品を見物して帰宅しました。

    s-DSC_1552.jpg


    それから、今回久々にデータロガーでログとりました。
    実はK&Nのフィルターに交換してからあまり真面目にセッティング見ていませんでした。
    なぜかというと、以前のエアクリボックス+スプリントフィルターとK&Nのフィルターでは空燃比はほとんど変わらない感じで変更する必要がなさそうだったので。
    あともう一つの理由はエアクリーナーボックスありの方がアイドリング付近のトルクが厚い印象で、K&Nのフィルターを本採用するか迷っていたから。

    なんとなくK&Nのフィルター本採用でいいかな~というのが最近の考えで、真面目にログ取りしてみる気になりました。
    トルクの差はほんの少しだし、リアサスのメンテンナンスやプリロード調整のしやすさを経験するとね・・・
    性能面で積極的に採用するという感じではないんですけどね。

    ログデータは↓の感じのようになります。
    グラフはどちらも横軸が時間(単位:秒)です。
    1枚目のグラフは時間と回転数(左軸)、スロットル開度(右軸)、2枚目がスロットル開度(左軸)、空燃比(右軸)の関係を示しています。
    片側2車線の道で信号待ちで停車状態から信号青、前車についてゆっくりと加速、200秒あたりから5速までシフトアップ、250秒過ぎで次の信号が赤になり、5速から1速まで落として停車した時のデータです。

    s-t1.jpg
    s-t2.jpg

    だいたい190秒から270秒までの80秒で800サンプルのデータになります。
    800サンプル分の開度/回転数/空燃比データをサブコンのスロットル開度-エンジン回転数のマップに合わせて集計/平均をとると↓の感じになります。

    t3.png

    街中でよく使う領域は空燃比で13.0~13代後半を目指してサブコンの補正量を調整しているのですが、3086rpmの開度20%とか40%で14.6とか出ているのは狙い目よりは少し薄いのかもしれません。
    でも、まあ、誤差でしょうね… サブコンのセッティングで+1増量するかどうかって感じだと思います。

    今シーズンはちゃんと見てみるつもりです。

    とりあえずこんな感じということで。



    自作データロガー備忘録

    自分用備忘録。
    前回記事のデータロガーの概略仕様。


    遊びでやっているので、仕様とか回路図やプリント基板のパターン他各種情報をちゃんとまとめてない。
    少し整理しないとダメだな。
    危うくCTセンサの型番がわからなくところでした。
    ということで、ちょっとずつでも整理していくことにします。

    ついでにFC2ブログの使い方を研究。
    今回Wordのファイルをそのまま張り付ける方法を発見できたのは収穫でした。



    1 装置概要
    バイク用データロガー装置
    運転中のエンジン回転数、スロットル開度他データを取得、記録、保存
    本体(自作品)+空燃比計(市販品:PLX DEVICES DM-6AFR GEN4)との組合により構成
    2 主な仕様
    2.1 ハードウエア構成
    装置
    構成部品/モジュール
    本体
    マイコン
    PIC24FJ64GB002
    記録媒体
    マイクロSDカード
    GPS受信モジュール
    GT-723F
    液晶表示器
    Strawberrylinux I2C低電圧キャラクタ液晶モジュール
    16文字x2行) 
    回転数検出用CTセンサ
    U_RD CTL-6-S32-8F-CL
    スイッチ
    市販タクトスイッチ利用自作品
    本体ケース
    TACKACHI PLASTIC CASE TW7-2-11
    空燃比計
    本体
    PLX DEVICES DM-6AFR GEN4
    ワイドバンドAFセンサ
    Bosch LSU 4.9センサ

    2.2 機能仕様
    機能
    項目
    概要
    ログ機能
    データ取得項目
    エンジン回転数
    イグニッションコイル1次側配線にCTセンサ取り付け、点火信号検出
    スロットル開度
    TPS信号線より分岐、入力 スロットル全閉~全開 0100%
    AFR
    DM-6AFRアナログ出力をマイコンにてAD変換、空燃比10.0-20.0
    時刻       
    緯度/経度
    高度
    速度
    他(GPS測位モード、補足衛星数等)
     *時刻以下はGPSモジュールより取得
    記録周期
    100msec(10/) / 10Hz
    ログファイル数
    8ファイル (合計容量:内臓メディアの容量まで)
    ログファイル読み出し
    PC使用、USB経由で読み出し
    LCD表示
    表示モード1
    通常モード
    エンジン回転数、スロットル開度、AFR値、GPS測位モード、ログファイル数
    表示モード2
    現在時刻表示
    表示モード3
    緯度・経度表示
    表示モード4
    高度、速度表示
     *表示モード:切替SWのトグル操作により切替

    *ソフトウエア
     開発環境 Microchip X IDE + コンパイラ XC16 V1.33 + PICkit3
     Microchip MAL 2017_03_07
     本体ソフトウエアバージョン Ver. 1.11 2018.3.15時点



    空燃比計と自作した本体。もう少し上手に固定したほうがよいな。
    データをPCに取り込む時はこのままUSBケーブルを挿します。
    一応豪雨の中を走っても雨はかかりません。でも防水はもう一工夫必要。
    s-DSC_1525.jpg
    s-DSC_1526.jpg

    空燃比計のディスプレイと液晶ディスプレイ。
    s-DSC_1528 (1)

    液晶ディスプレイの表示。TAKACHIのケースに窓を開けて収納しています。
    s-DSC_1540.jpg

    配線類は短くしてもう少しきれいにしたい。
    s-DSC_1527a.jpg

    GPSモジュール。こちらもTAKACHIのケースに収納。
    s-DSC_1531.jpg




    とりあえずこんな感じということで。

    PICマイコンの開発環境を移行した件

    ちょっと更新をサボってしまっていました。

    久しぶりの更新なんですが、今回はいつにもましてたらたら長いです。
    最初にお断りですが、直接バイクの話でもないので飽きたら途中離脱していただければと思います。




    更新が滞っていた理由は仕事が年度末でバタバタしているということと、もう一つ、PICマイコンと自作のソフトウエアがらみでハマっていて時間を取れなかったこと。

    KSRのCDIを自作しているのはこのブログでも何度か記事にしていますが、V11用のデータロガーも自作をしていまして、インジェクションのセッティングに使っています。

    どちらもCPUはMicrochip社のPICマイコンでミッドレンジ 16ビットファミリと呼ばれている中のPIC24Fシリーズというものを使っています。

    PIC24FはPIC24シリーズ(ほかにPIC24HとかEとかがある)の中では処理速度は一番遅いのですが、それでもスペックとしては16MIPSもあって2サイクル/単気筒のバイクの点火制御くらい楽勝です。というか、かなりオーバースペック。
    データロガーの方は100msec周期でエンジン回転数とTPSとAFRのアナログ電圧をA/D変換して取り込むのと、GPSモジュールからの緯度経度、標高、速度他を取り込んでSDカードに記録させています。
    あとからログデータをグラフ化してインジェクションのセッティングに使うわけです。

    要は、今のバイク生活にはなくてはならないものってことです。


    もう一つ、今日の話題の前説をします。
    電子工作を始めたはたぶん2010年ころだったと思います。
    当時、Windows XPのノートPCを買って、開発環境を整えてプログラムを始めたのですが、時は流れ、XPはサポート終了して久しく、Microchip社の開発環境もどんどん新しくなっています。
    XP機での開発環境はMPLAB IDEというソフトを使っていました。これはずいぶん前に開発終了となっていて新しくMicrochip X-IDEというプログラムに代わっているんですね。
    移行したほうが良いかな~とは思っていたのですが、大仕事になりそうで今まで手が付いていませんでした。
    ただ、さすがにそろそろ変え時かなーってことで1年半ほど前から重い腰を上げていろいろと準備をしていました。


    さらに前説その3です。
    開発環境の乗り換えを始めると予想通り一筋縄ではいきませんでした。
    新しいソフトをインストールして、古い環境で作成したプロジェクトをインポートをしてビルド、PICKit3というMicrochip純正の書き込み器でソフトを書き込んでイッチョあがりっていうのを期待していたのですが、当然のようにムリムリモードに突入。

    まず、コンパイルが通りません。
    これはCコンパイラもC30というのからXC16というのに変わっていたりいろいろあるようで、ネットで調べまくってようやく解決。
    コンパイルエラーがなくなってビルドできたと思ったら、今度はPICKit3を認識しません。
    PICKit3のハードが古いとダメという情報をもとに調べてみても問題なさそうだし、ファームウエアが古いと認識しないという情報があって、更新してみたりしても変化なしだったり。
    ところが何か月ぶりかで再トライしてみたらあっさり認識して書き込みまでできたり。
    とにかく何が何だかさっぱり…

    ただ、どうにかこうにかCDIのプログラムは新しい環境で開発できるようになっていました。
    ここまでに1年くらいかかっています。


    前置終わり。長くてすみません。
    残ったデータロガーのプログラムなんですが、ここからが今日の話題となります。

    CDIのプログラムと比較するとデータロガーの方が数段複雑なんですね。
    CDIがレベル3とすると、レベル100くらいなイメージでさらに気が進みませんでした。
    まあ、いつまでも古いPCを使い続けるのもね、ってことで今年の正月休みに意を決して始めたわけです。
    結果、この前の日曜日にようやく新環境でまともに動くソースコードになりました。
    いや~長かったですわ。まじで。

    仕事終わってから毎晩必死でデバックしていました(笑)。
    プログラムの達人にとっては何て事ないことないんでしょうが、もうとにかく面倒。大変。
    10週間かかってようやく新環境に移植することができました。

    SDカードを制御するファイルシステムとかUSB関連の処理関数群がMAL(Microchip Applicaton Library)っていう名前で提供されているのですが、これまた大幅バージョンアップされていて全く別物のようになってたりするわけです。
    新バージョンに対応するのが一苦労でした。

    小さいPCがこれまで開発用として使っていたXP機で今回ようやく引退させられそうです。
    s-DSC_1548.jpg


    データロガーの基板はこんな感じです。これは動作チェック用のもので、同じものがV11に搭載してあります。
    オレンジの線がエンジン回転数のパルス。別のPICマイコンで500回転~15000回転くらいまでのパルスを出せるようにプログラムしてあり、デバックの際はそれを入力しています。

    実機での回転数の検出はプラグコードに取り付けたCTを使っています。
    CTの出力をフォトカプラで電圧に変換、PICに入力しています。
    s-DSC_1543.jpg

    データロガーのモニタ用LCDの表示です。
    室内でのテスト用なので、エンジン回転数のパルスは前述のとおり別のPICマイコンから入力しています。
    それからGPSアンテナがつながっていないので、時速999㎞/hの表示になっています。
    TはTPSの電圧値を開度に変換した値で、スロットル全閉~全開を0~100%で表示します。
    Aは空燃比で空燃比計のアナログ出力をA/D変換した結果です。
    この状態でログスイッチを押すと100msecごとにカンマ区切りのCVS形式でデータを記録していきます。
    s-DSC_1546.jpg

    ログファイルをPCにコピーするのはUSB経由です。
    USBケーブルを接続するとPC側がPICをMSDデバイスとして認識、ファイルの読み書きができるようになります。
    s-DSC_1544.jpg


    PC側でログファイルをグラフ化しています。
    QlikViewというソフトでグラフを書かせるとこんな感じになるのです。
    qv.png

    TPSと回転数のグラフです。
    てろ~っと走った時のアクセルと回転数の関係で、これにAFR値を重ねて濃いとか薄いとかいろいろやっております。
    s-qv1.jpg

    以上、本日のお話でした…


    ……

    すみません。なんのオチもないですがお許しください。
    まー、とにかく苦労しましたとうお話です。
    よくやったぞ、オレ!ということで現在の自分から未来の自分に向けたPR記事でした。

    とりあえず、こんな感じということで。