|
|
|
準備編
|
|
TOPページ > コンピューターROMチューン入門 > マイコン制御方法
概要:
マイコン制御の作成。プログラムの作成。随時このページを更新します。
ペリを制御するサイトは知る限りこのサイトしかない!またプロの記事も見つけられていないので、結果的に嘘になってしまったらごめんなさい。素人の趣味レベルの電気知識と素人プログラマーだから許してください。
|
|
|
|
■制御するには:
さて、EGI時代のプログラムでエンジン制御といったってどうやって組むんだ?
と悩み続けること数ヶ月・・嘘
突然きた「楽しみにしてます」メールに感化され、実は毎朝少しづつ作成していた図と表を説明します。
決してサボってなんかいませんよ。
時間がかかった最大の理由は・・・
仕事を独立している以外にもありまして・・・
それが家!
いやー。今東京の最果てに自宅とガレージ作成中なんですが、家を建てるって大変なのね。
で脱線しましたが。
プログラムで最大に悩んだのが燃料噴射タイミング。
当初は、クランクセンサー(RX-7 FD3Sの13Bにあります)で作成しようとしていたのですが、
おい待てよ!12A時代のEGIにはそんなセンサーは無い!!
せっかくなら、私の記事を読んで気軽にマネ出来るように考えると・・・
点火タイミングを使って燃料噴射!なら皆ペリを制御できるじゃん!
そうすると、点火タイミングで回転数を読み込む必要がある。
簡単じゃないか!
以前タコメーターをつけたときの・・・
と思ったのですが、そうじゃない。
いま点火した今の時点で燃料の噴射タイミングを計る必要がある!?
何を言っているか判りませんよね。
考え方)
1.直線加速中
2.エンジン点火、点火、点火・・・・・から回転数算出。
3.回転数は10,000回転
4.燃料噴射量 xxxCC
5.急減速
6.回転数は3,000回転
7.燃料噴射量 xxxCC
そう。
今の、その時点での回転数を割り出す式が必要というわけ。
本当のプログラムはどうやっているのかわかりませんが。
で考えた方法はこうです。
考え方)
1.点火信号 − 次の点火信号 = xx ms
2.xx ms = 回転数を算出
3.回転数から噴射時間を算出
4.で噴射!
と書かれても良くわからんでしょ。
回転数にあった噴射タイミングを導き出す式を作成するということです。
うーん。
関数に引き算はあっても、アナログ入力からアナログ入力の差分を出すような便利な関数はない。
あとは、誰か作っている人のライブラリをパクル・・・なんて日本語検索では引っかかりもしない。
あれ、ひかかった。前は誰も作っている人いなかったのに。
専門学校の生徒がAnduinoでエンジン制御作ったぁ?
記事を読むと・・・
と言っても既存のコンピューターを置き換えただけのようで。
個人的には興味がない分野。
うーん。うーん。
おっと、関数とにらめっこ millis() ?は使えるんじゃないか?
millis()
Arduinoボードがプログラムの実行を開始した時から現在までの時間をミリ秒単位で返します。
約50日間でオーバーフローし、ゼロに戻ります。
考え方)
1.アナログ信号が入力されたらその時間を計測。保存。a1
2.次の信号が入力されたらその時間を計測。保存。a2
3.a1−a2= xx ms
ね差分でるっしょ。
これって使えると思いませんか?
出るじゃん。差分。
ってプログラマは一般的な方法なのか?
まあ、Anduinoに現在の時間を調べる機能があることすら知らんかったのだからよしとしてくれ。
そこで更なる問題が・・・
忘れていた、機械的な遅れがインジェクションにあるんです。
良く記事をよんでいるかたは判ってましたよね。わたしは忘れているフリをしていました。
なので燃料噴射量を理想にするためにどうするか考えました。
点火と同時に信号を送っても 1.2ms の誤差が生じるなら、いっそのこと燃料噴射しっぱなしにしちゃえ!
で計算して算出したのが以下の表。
今回は 520CCをアイドリング用に 860ccを2本で制御する。
なので、ロータリー2個なので 520cc×2 860cc×4 で制御します。
これを前提に 1個のロータリーには以下の表で燃料噴射量が足りると判断。
ペリエンジンは2000回転以下は使えないので基本アイドリングとして考え、現実的な空燃費は12.0として濃い目に。
でも、良く見ると10000rpmでは足りない。
この表だけだと良くわかりませんよね。私がわかる表で作成しているので意味のわからんこともかかれています。
まあ、理論上悩んでいてもプログラムにいけないのでこの表をベースに噴射方法を考えて見ました。
噴射パターンは6個となりました。
見えねー。
詳細は次回から分割して回転数を割り出すプログラムから燃料噴射のプログラムを作成していきます。
本来なら6パターンの噴射パターンをメモリに記憶して読み出したいのですが。
なんせ遅いので、以前から書いているようにEGI時代のアナログ戦法で進めます。
やっと、プログラム作成のベースが見えてきた感がありますよね。
続く
|
|
|
|
|
|