stm32に基づいた燃料噴射ユニットの
トピックを継続し、rusEfiプロジェクトの現在の状況についてお話したいと思います。

rusEfiは、内燃機関用の汎用制御ユニットを作成するためのオープンソースプロジェクトです。 ユニバーサルとは、幅広い構成、センサー、およびアクチュエーターのサポートを意味します。 これは、このユニットを任意のエンジンにインストールして、完全な制御を取得できることを意味します。ファームウェア、ドキュメントに記載されていない機能などは一切必要ありません。 プログラマーなら、可能性はさらに広がります-利用可能なマップと設定だけでなく、自分でアルゴリズムを編集できます。 RusEfiは、強力だが安価なハードウェアに重点を置いている点で、他の同様のプロジェクトとは異なります。これにより、最も透明で移植性の高いコードを書くことができます。
少し歴史。
4年前、私は偶然にも非常にアマチュアの耐久レースに興味を持ちました。 時間が経ち、より速く、より良くしたかったのですが、BMW e30を購入するという平凡な道には行きたくなかったので、エンジンにタービンを取り付けるという考えがありました。 このような構成での信頼性は、適切な噴射と点火制御によってのみ可能です。私のレースのルールによれば、これもすべて非常に安価でなければなりません。 既存のソリューションの分析により、価格は依然として高く、常に正当化されるとは限らず、可能性は限られていることが示されました。 その場しのぎのブロックは、明らかに既存のカスタムブロックよりも安価になります。

入手可能なソースを読んだ後(そして私は職業上はプログラマーです)、コードをゼロから書くことにしました。 最初のタスクは、理解可能で、拡張可能で、最小限のハードウェア関連のコードを書くことでした。
ハードウェアプラットフォームの選択。
現在、多数の強力で安価なマイクロコントローラーがあり、そのパフォーマンスは各クロックサイクルを気にせず、高品質のコードと高レベルの抽象化に集中するのに十分です。 これにより、高品質で移植可能なコード、拡張性、および特定のハードウェアへのバインドの欠如を取得できます。 これはすべて、テストに関して他のハードウェアプラットフォームに切り替える可能性を約束します。 その結果、STM32が選択されました-安価ですが強力です。
いくつかの理由で、私は現在の段階で、そしておそらく永遠に、鉄はモジュール式であるべきだと信じています。 現在、
STM32F4DISCOVERYデバッグボードと2つのモジュール(パワードライバーモジュールとアナログ入力モジュール)が使用されています。
開発ボードの寸法により、少なくとも4つの小さなモジュールを異なる角度から接続できます。 これでアナログ入力モジュールができました

ソレノイド制御モジュール(燃料噴射装置-ソレノイドのみ)

および配線コネクタモジュール

ボードは
KiCadで描画されます-再び、オープンで無料のパッケージです。 しかし、ピン配置のかなり柔軟な構成を考慮すると、誰もがI / Oカードを使用でき、互換性は必要ありません。
現在、ボードの描画がボトルネックになっている可能性があります。すでにコードの作成に関与している人もいますが、鉄の場合はさらに複雑になります。 タスクのリストはありますが、人はいません。 そして、すでに私は中国人から、ボードだけでなく、少なくともすべての抵抗のアセンブリを注文することを試みたいです。
ソフトウェア
モジュール性を高めるために、システムは小型の
ChibiOS / RT RTOSを使用します。これは、機器の抽象化のレベルのためにも価値があります。 ChibiOSは、まずスレッドとブロッキングプリミティブを提供します-これはRTOSカーネルの機能であり、次に-異なるMKに便利で統一されたAPIを備えたハードウェアドライバーです。 このため、バスやレジスタを深く調べる必要はなく、移植性が期待されます。 同時に、このRTOSとの特別な関係はありません。必要に応じて、別のRTOSに移動することが可能です。
このプロジェクトの主な原則:最も読みやすいソースコード。 できることはすべて、可能な限りモジュール化されており、簡単です。私は、どこにも何もハッキングせず、単にそれを正直に実装したいだけです。 選択したハードウェアプラットフォームへの関与が最小限であれば、将来の別のプラットフォームへの移行は非常に簡単です。
カスタマイズプログラムとの統合
ご存じのように、コントロールユニットを設定するには、ログの書き込み、あらゆる種類のテーブル、キャリブレーション、設定の分析と編集を可能にするソフトウェアが必要です。 多くの場合、このソフトウェアには費用がかかり、単一の設定での購入は必ずしも適切ではありません。
私たちを制御するには、人気のあるTunerStudioを使用します。統合はすでに機能しています。 TunerStudioは非常に柔軟で、その場で設定を編集したり、テーブルを作成したり、マップを編集したりできます。 すべてがオンラインで機能します。 また、TunerStudioとの統合により、MegaLogViewerとの統合も約束されます。これにより、ログを分析し、ログに基づいて燃料マップを自動的に調整できます。 また、同じラインからShadow Dash MSがあります。これはTuner Studioの作成者によるAndroidアプリケーションです。これにより、すべてがTuner Studioと同じになりますが、Bluetooth経由のAndroidデバイスからです。
これらのソフトウェア製品はすべて、必要なメカニズムを実装しているため、ゼロから作成する必要はありません。 現在、燃料および温度調整カードはTunerStudioで機能しており、メカニズムは整っています。この方向でのさらなる開発は問題ではありません。
プロジェクトの現状
コントローラーは、シャフト位置センサーとエアフローセンサーに基づいて燃料供給を制御します。 単純な表から、現在の速度と空気の流れに応じてパルス長が取得され、クーラントと空気の温度がさらに補正されます。 これはプリミティブであり、理想的なアルゴリズムとはほど遠く、デバッグに使用されます。
現在、点火制御はありません。 ある時点で点火制御があり、その後一時的に削除されました-今では点火制御がファームウェアの主要な作業領域になります。
アナログのトピックに触れると、最初は通常「半開き」のMegaskirtに言及します。ソースコードは公開されていますが、公式のハードウェアを使用する必要があり、そうでない場合はライセンスに違反します。 Megasquirtにはかなり具体的なお金がかかります。 本当にオープンで生き生きとしたプロジェクトと言えるのはFreeEMSだけです。すでに約20台の車がこのコントロールユニットを駆動していますが、このプロジェクトは非常に特殊なハードウェアに結びついており、ソースコードは私の美意識を乱します。
すべての費用はいくらですか? プロジェクトは開いており、ソースコードに費用はかかりません。 鉄は開いています-鉄はあなたがそれを作るのに使うのと同じくらいの費用がかかります。 おおよその最小制御単位は約100ドルです。 ところで、将来の別の興味深い方向は、新しいMKを元のECUのボードに埋め込むことです。 DIP時代の古いブロックの場合、これは最も経済的なバージョンになります-このようなアップグレードはたった20ドルで、rusEfiと完全に互換性があります。
これで、基礎をデバッグするだけで済みます。位置センサーのすべてのオプションを慎重に処理し、さまざまな車の構成に合わせてハードウェアモジュールを単一のスタイルに注意深く配置します。
現時点では、プロジェクトにはサポートが必要です。 あなたはコードを書き、電子工学に取り組み、他の刺激的で有用なことをする必要があります。 誰でもお手伝いできます!
プロジェクトコードは
Sourceforgeにあります -
トラッカーは同じ場所にあります
鉄の現在のバージョンのスキームフォーラムがありますそして今-スライド!