YZ250無印点火マップ調査

1P8無印CDIを借りれたので調査。結果、BF1を全体的に1度進めたようなマップとなっていて、ほぼ変わらんやんけという結果に。乗ってみると無印CDIは元気すぎる印象だけど、マップ的にはちょっとしか変わらないんだな。ということは1度の違いで結構性格が変わるのかも。これなら無印CDIでも、ピックアップベースを1度遅らせて遅角させればほぼ一緒になる。

2016-2022 YZ250X (BF1) 点火マップ調査

お友達からMY22以前のYZ250X CDI を借りることができたので、点火マップ調査をしてみた。

え?TPSつけて3D進角してる意味ある・・・?というくらいTPSではほぼ変わらないマップ。ほぼ2次元進角。このぶんだと1P8 (YZ250無印)マップもこれの進角進めた感じなのかも。秋田のMXIAから借りてみるしかない。

さんこうまでにこれが過去調査したMY23以降(BRY)の純正マップ。開度10%以下で進角開始を遅らせていること、また開度50%以降でも最大進角をBF1より4度程度遅角していること、8500以降のレブ領域でもBF1より2度ほど遅角していることあたりが特徴的。これは別もんですな。

MY23以前も、それ以降もエンジンの仕様としてはほぼ同一。MY23以降はYPVSのガバナスプリングに噛ませるワッシャーを一枚減らして、開き始めから開き終わりまでをそっくり低回転側に寄せたような仕様になっているほかは、圧縮比やポートタイミングなど変更はない。というわけで少なくともMY23以降でも、BF1同等のマップまではガンガン進角してもよいということが分かったのは収穫。

フライホイールウェイト有り無しでのクランク角速度ばらつきを測定してみた

YZ純正CDIには、ピックアップ第一波と第二波の間隔の時間と、第一波から次の第一波(要は1回転)の時間を比較することで、角速度ばらつきによる点火時期ばらつきを補正するような仕組みがあることはわかっている。

tutc-mitsukesibu.hatenablog.com

そしてこの仕組みはTCDIにもすでに実装済

tutc-mitsukesibu.hatenablog.com

というわけで以前の記事で書いたように、角速度のばらつきがあるとすれば、これはフライホイールウェイトのあるなしでも結構傾向が変わるんじゃないかという予想をいよいよ確かめてみる。

f:id:TUTC_Mitsukesibu:20250413173054j:image

純正フラホ。ここに自作ウエイトを焼き嵌めしていく。

f:id:TUTC_Mitsukesibu:20250413173103j:image

ウエイトはIHクッキングヒーターで加熱。料理にも使えるし便利。f:id:TUTC_Mitsukesibu:20250413173058j:image

ぴたりとはまった。

焼き嵌めで作る都合上、一度はめてしまうと二度と取り外せないので、事前にフラホウェイトなしの場合のデータは取っておく必要がある。取り方としては、CDIで取得しているクランク1周時間と、ピックアップ第一波検知から第二波検知までの時間を、UARTでPCアプリに転送して、それをエクセルにコピペしてグラフ化するというやり方を取った。

結果はこちら。横軸は回転数で、縦軸がピックアップ第一波と第二波の間の時間を、クランク1回転時間で除して、そこに360°を乗ずることで算出した、ピックアップ第一波と第二波の角度(間隔)である。これを見る限り、どちらのデータも2000回転以下となると、PU1からPU2に至るまでに大幅に角速度が小さくなるようで、算出した時間が極端に大きくなる傾向があることが分かる。そして3000回転を超えたくらいでほぼ一定の値に収束して、だいたい32.5度くらいに安定する。フラホの突起の長さという機械的な寸法から実測したPU1-2間の角度は33°程度なので、おおむねこの辺りで一致するようだ。また7000回転を超えると再び角速度が遅くなりそうな傾向にも見えるが、n=1のデータだしこの辺は要検証。

またフラホウェイトがあろうがなかろうが、PU1-2間の時間はそこまで変化しているようには見えない。また1800rpm近辺でフラホウェイトがある場合のデータで、31°から35°くらいまでかなり広範囲でデータがばらついているのが分かるが、これはこの辺りの回転数だとそもそも毎回うまく燃焼できないので、そのためによるばらつきと思われる。これはたまたまその回転数のデータが複数取れたからこうなっているけど、もう少し長時間データを取ってみたらほかの回転でもこれくらいのばらつきが出る可能性はある。今回は騒音を気にしながらデータを取ったので、空ぶかし1回分しかデータは取れていない。

想像していたよりフラホウェイトが角速度に与える影響はなかったけど、そもそも低回転と高回転で、PU1-2間の時間がかなり変化することが分かったのは大きな収穫。1500rpm以下は強制的に第二波で点火するのでいいけど、1500rpmだとPU1-2間角度を36°、3000rpmでは33°と認識していることになるので、3°あまり認識が変わることになる。つまり1500-3000の間で、仮に固定10度で点火するようなマップを書いてあったとしても、1500だとそれより3度早い13°で点火してしまう。3000回転以下の特性を作りこみたいエンデューロレーサーでこれはちょっと嫌なので、やっぱり角速度ばらつき補正は入れてよかった。

 

TCDI V1.0 試走完了

f:id:TUTC_Mitsukesibu:20250413173216j:image

TCDIの基板をいつも通りJLCPCBに頼んだ奴が届いたので、早速組み立てた。

プロトタイプ版からの進化点

・USB Type CによるPCとの通信可。アプリからマップなどのセッティング変更可能

・点火用キャパシタチャージ電圧の高電圧化(250V→400V)

マップスイッチの搭載

・スロポジによる3Dマップ対応(4マップを滑らかに線形補間)

・角速度ばらつきによる点火時期補正機能搭載

・第二波より遅いタイミングの点火時期も設定可能に

などなど。
f:id:TUTC_Mitsukesibu:20250413173223j:image

USB-TypeCで一気に現代的に。IPX8防水だし、あとで基板ごとポッティング剤で埋めるので防水は多分問題ない。泥つまり防止のキャップはつけとこう。エンジンが止まっているときに(要はCDIの電源が切れているとき)、PCからUSBを介してCDIへ電源供給できるようにしてあるので、エンジン停止状態でマップは読み書きできる。ただしエンジンがかかっているときにCDI→PCへの電源供給はしないので、仮にUSBポートの電源とGNDが短絡したとしても、全くダメージは入らないようになっている。f:id:TUTC_Mitsukesibu:20250413173211j:image

 

f:id:TUTC_Mitsukesibu:20250413173220j:image

実走インプレ。400V仕様にしたおかげか極低の粘りが出るような。トルクは変わらんけどエンジンが止まりづらい。しばらく休んだあとにもキック一発でかかるので、始動性もよくなったような気がする。マップ変更できる以外は純正と変わらんだろと思ってたけど意外とIGBTによる放電の立ち上がりが早くなったことと400V化の意味はあるのかも。ただ極低だと400Vそもそも出てない気もするし、これは実測してみないと分からない。あと始動性も気候が変わってたまたまキャブセット良かっただけかもしれない。

とりあえず現状の基板データ、ファーム、PCアプリの一式をまとめておいた。

20250409_TCDI_V1.0動作確認版.zip - Google ドライブ

YZ125(B4X) / YZ125X(BRX) の純正点火時期マップを調査した

YZ125 (B4X) 点火マップ

YZ125X (BRX) 点火マップ

タイトルの通り。250の点火マップ調査をした時と同じやり方で、お友達から借りてきたCDIで調査。どちらも割とシンプル。進角開始が125Xのほうが500回転遅いけど、まあ125だしここってほぼ使えないんじゃないかと。ただし最高進角が結構違う。遅角開始もちょっとXのほうが遅め。チャンバーは一緒なので、圧縮比とYPVSタイミングの違いによるものと思われる。
どちらも11000以降くらいで、第二波固定進角点火時期である5度より遅角している。これは250では見られなかった現象。より高回転を回そうとするとここまで遅角する必要があるのか、それともこれ以上回るんじゃねぇぞの遅角なのか。ダイノのデータを見る限り12500rpmくらいまでは少なくとも回るはずだけどね。

2022 YZ125 Dyno Tested for stock Baseline - HP Race Development

使いきれる性能のPIC16F15245と、それはそれとしてAVRが気になる話

f:id:TUTC_Mitsukesibu:20250328194224j:image

現在TCDIで採用しているのは、PICのエンハンスドミッドレンジ最新の5桁シリーズである、PIC16F15245。手はんだの都合上SOICパッケージを使っているが、それでもとても小さい。これはマイクロチップの製品検索ページで、ピン数がちょうどいいこと、PPS(各ピンに機能を自由に割り当てられる)があること、キャプチャ、コンペアモードが使えること、AD変換があること(いまどきない奴のほうが少ないけど)、16bitタイマーがあること、など最低限のスペックを絞り込んで、一番安い奴を選んだだけで、そんなに信念をもって選んだわけではない。これはデジキーで1個130円。

ただ使っているうちに、このPICがもつほぼすべての機能を使いきれて、かつ必要な機能は全部あるところがかなり気に入った。例えばTCDIでは基本となる回転数の計測に使う16BITタイマー1本、それと関連して、入力信号があった場合にその時のタイマ値を取得するキャプチャ機能、点火までの待ち時間を計算して、そのカウントアップで点火するコンペア機能、PC側アプリと通信するUART機能、点火マップを保存しておくフラッシュメモリアクセス機能、各ピンの機能を自由に割り当てできるペリフェラルピンセレクト機能、各入力ピンの入力をシュミットトリガに自由に設定できる機能など、必要十分な機能は有しているし、こんな機能いらないな、というまでの多機能でもない。これで8MIPSの計算速度はあり、そんなに無理をしなくても、高回転の計算時間が厳しい条件でクランク角9度以内に点火までの待ち時間設定、角速度ばらつき補正、TPS前後値読出しの上線形補間まで十分に終わる。

https://global.yamaha-motor.com/jp/design_technology/technical/product/pdf/browse/35ss_07.pdf

またヤマハ技報を見ていたら、最終TZ250でパワージェットソレノイドのデューティー制御を行っていることも分かったので、これをYZ250でも利用すれば、ボリュームでリアルタイムにある程度のキャブセット(特に我慢ならないメイン領域のセッティング)が手元ボリュームでセットできるようになるんじゃないないの?という目論見もあり、とするとPWM機能も利用することになる。となるとこの安価な8bitマイコンのほぼすべての機能を使い切ることになり、とても気持ちがいい。はからずも良いマイコンを選定したなとホクホクしていたのだけど、ふとAVRって同じ価格帯だとどんなスペックなのかしらと思って調べてみた。

ATMEL社をMicrochipが買収して久しいのだけど、AVRに関してはほぼノータッチだったので改めて調べてみると、同価格帯でもはるかにPICを上回るスペックを持っていることが分かった。しかもIDEはMPLABXで、コンパイラもXC8が使えるので開発環境はPICと全く変わらない。一番うれしいのが、UPDIというシリアル通信で書き込み、デバッグ、読み込みができるので、PICのようにわざわざ5ピンもマイコンと接続しなくても、オンボードで書き込みとデバッグができる。PICもこれにしてくれよ。

ついでにUPDIだとUART-USB変換基盤を用意すれば、高価なPICKITみたいなライター、デバッガも不要。PICもこれにしてくれよ。

だいたいに多様な価格帯、ピン数で絞り込んでみると、最近発売されたDDシリーズというのが見つかったので、これについて調べてみると、PICにはない以下のような便利機能があることが分かった。

1.16ビットタイマーにコンペア、キャプチャが内蔵されている

要はPIC24の専用キャプチャ機能付きタイマみたいなもんで、各タイマにキャプチャ、コンペが紐づいている。これは便利。

2.CCLというピンの論理演算機能がある

例えばA1というポートとA2というポートの入力に対して、AND, OR, XORがハード的に(ソフトの負担なく)取れるようになっている。これが何が嬉しいかというと、ノイズ除去がやりやすくなる。例えば点火ノイズのようなパルス幅の細い微弱なノイズが、ピックアップ入力ピンに入力されたとする。このときピックアップ入力回路からマイコンへ接続されるポートを2種もっておいて、片方は直列にキャパシタを入れておく。そしてこのポートのANDをとると、二つのポートがオンになるのは、ある程度のパルス幅、かつ一つのポートにたまたま入ったノイズが原因ではオンを検出しなくなる。PICでももちろんコードをそのように書けば機能としては実装できるけど、計算時間を消費することなくこれが実装できるのは素晴らしいと思う。

3.入力キャプチャノイズ除去機能がある

これは入力キャプチャを検出した際に、該当するポートを4クロックで4回分チェックして、ポート状態が変化しなければ入力が正しくあったとして処理をしてくれる機能。これもマイコンのクロックを消費せずに実装できるのが素晴らしい。

4.計算速度が24MIPS

PIC16F15245というか、たいていの8bitシリーズは一部を除き最高8MIPSである。ところがAVRは1クロックで1命令実行できるので、最高クロックである24MHzで動かせば24MIPSというPICの4倍の速度で計算ができる。別に今のクロックでも間に合っているので要らないといえば要らないけど、それならクロックを落として余裕も作れるし、また何か必要な機能があったときも圧倒的に処理時間が稼げる。PIC24Fを使っても16MIPSが普通なので、こんなに安価な8bitマイコンでこの処理速度はとても魅力的。

そのほかだいたいPIC24系に匹敵するというか、それより痒い所に手が届くような機能があってとても魅力邸なので、今一から開発するならこれ選んでたかもなぁと思うくらい試してみたいスペックをしている。まあ移植がめんどいからちょっとすぐに手は出せないけど、次にやる気が出たらAVRも試してみたい。

点火用キャパシタ充電電圧レギュレート回路について

CDIのチャージコイルは高回転だと楽勝で1kV以上発生するので、そのまま使おうとすると点火用キャパシタの耐電圧を超えてしまう。じゃあ耐電圧の高いキャパシタにすれば良いじゃんって話なのだけど、CDIに使える容量のもので売られている中では630Vまでのものしかない上に、サイズが大きすぎて全く基板サイズに収まらない。ついでに点火のスイッチングをするFETなりIGBTなりも特殊なレベルの耐電圧を持つものを使わないといけなくなる。

またキャパシタの静電容量を上げてやる事で満充電にかかる時間が長くなるので、結果的に充電電圧を抑えることができるのだけど、これも容量の限界はある上に、チャージコイルの起電力そのものが低い低回転で充電電圧が下がり過ぎてしまうので、特にA/Fの悪くなりがちな低回転で失火などの悪影響が出る可能性がある。

というわけでキャパシタの容量は程々に抑えておいて、充電電圧のレギュレータは何か別の方法でしてやる必要がある。

これが純正CDIに入っている充電電圧レギュレート回路。充電電圧が発生するラインを抵抗でだいたい1/10に分圧して検出してやり、そこにおそらく24V程度のツェナーを挟んでやる事で、250V以上の電圧が発生した場合にはチャージコイルを短絡して起電力そのものをカットしている。この充電電圧を検出する部分の分圧抵抗の上流側は、かなりの電流が流れるので1/2Wか1Wクラスのでっかい抵抗がついている。別に分圧するだけなら比が重要なだけで、個々の絶対値はどうでも良いからもっと抵抗値を上げてやれば小さい抵抗にできるんだけど、そうするとレギュレート用のバイポーラトランジスタのベース電流が減り過ぎてレギュレータができなくなるからこのような値になっているのだと思う。TCDIのプロトタイプ版では、ここをFETに置き換えたため、抵抗値を200kにしてあるのでサイズを少し小さくできた。

YZ以外のヤマハ市販バイクは400Vのキャパシタを使っていることが多そうなのだけど、YZで250Vに制限したのはキャパシタが安い、サイズが小さい、そもそも高電圧にしたところでメリットがない、などが考えられれるけど、試したところどうやら400V2.2uFまでは基板に収まりそうなので、TCDIでは400Vで作ってみることにした。また容量をあげたらどんな効果が出るのかも確かめたいので、250Vのままで3uFまで上げられるように、ジャンパを使って分圧する電圧を変えることで、色々試せるようにしてみた。

こんなかんじ