*Caution!! This page is under construction.
Check Wiki Guide (English) to refer syntax and functions.
PJSCはArduino Mega2560 R3の小型互換ボードであるEpalsite製 Meduino Mega 2560 Pro Mini R3(http://wiki.epalsite.com/index.php?title=Mega2560_Pro_Mini)をコントローラーとして使用します。
PJSCで燃調チューニングを行う際、Tuner StudioをインストールしたPCとPJSCを通信可能なインターフェースで接続します。PJSCはUSBを標準インターフェースとしてサポートしています。 USB mini-Bケーブルで、PCとPJSCを接続して下さい。
オプションとしてBluetoothも利用可能です。BluetoothでPJSCとPCを接続する方法は、別項で解説します。
PJSCを車体に設置する為に、各種センサーとPJSCを接続する配線を準備する必要があります。PJSCと各種入出力の結線は、下図を参照して下さい。
PJSCはセンサーからの信号入力に応じて、燃料噴射量を制御する為の信号を出力します。
クランクセンサーはPJSCを動作させる上で、最も重要な信号です。Arduinoがクランク角速度とクランク角を正しく認識する為に、クランクセンサー信号はクランク(又はカム)の回転に同期した0-5V矩形波信号に変換して入力する必要があります。ホールセンサー或いはフォトセンサーの信号は矩形波なので、これらをクランクセンサーと使用しており且つ信号レベルが0-5Vであればセンサー出力をそのままArduinoに入力する事が出来ます。 もしカムセンサーを使用せずクランクセンサーのみArduinoに入力するのであれば、クランクセンサーから回転数とクランク角を検出する為にクランクホイールはミッシングトゥースホイールにしなければなりません。Speeduinoで動作実績のあるミッシングトゥースは、4-1、12-1、36-1、60-2の4種類です。
カムセンサーを追加すれば、クランクホイールがミッシングトゥースでなくてもクランク角検出が可能になります。インジェクター噴射方式をシーケンシャルインジェクションとするには、カムセンサーが必要になります。クランクとカム両方にホイールとセンサーを設置するデュアルホイール方式を表現する場合、カムホイールの歯数を表す”/x”を追加します。例えば”60-2/1”はクランクホイールの歯数が60(ミッシングトゥース2を含む)で、カムホールの歯数が1サイクル当たり1歯という事になります。
クランクセンサーとしてVR(Variable Reluctance)センサーを使用する事も可能です。SpeeduinoオフィシャルボードではVRセンサー信号を矩形波信号に変換する回路を搭載しておらず、別途変換回路を追加しなければなりません。しかしPJSCはバイクに特化している為はじめから変換回路を搭載しており、VRセンサー信号をそのまま入力する事が可能です。
クランクセンサー信号入力に適した矩形波とVR信号
TPSには3線式のポテンショナー(可変抵抗)タイプのセンサーが必要です。稀に2線式のOn/Offタイプのセンサーを装着しているスロットルがあります。また3線式でもポテンショナータイプではない物があるので注意が必要です。 TPSはスロットル開度をPJSCに認識させる為に、信号レベル可変のアナログ信号を出力します。通常はリファレンス電圧として5VとグランドがTPSに供給され、スロットル開度に応じたポテンショナーの分圧比によりスロットル開度が小さい時は低い電位が、スロットル開度が大きくなると高い電位がTPS信号として出力されます。
もしTPSセンサーのピン割当てが判らない場合は、テスターで抵抗値を測定して調べる事が出来ます。
3線式のTPSが最も使い易くシンプルなセンサーです。もし使用するTPSのピン数が3ピンより多い場合、車両サービスマニュアルの結線図を参照して5V、グランド、信号に該当するピンを探して下さい。 註)TPS信号を純正ECU(或いは社外ECU)とPJSCで共用する場合PJSCの5V信号は接続せず、センサーのグランドとTPS信号線を分岐して純正ECU、PJSCそれぞれのセンサーグランド、TPS信号入力に接続して下さい。
MAP(Manifold Air Pressure) Speeduinoが幾つかのMAPセンサーはについてキャリブレーションデータをプリセットで用意しており、PJSCもそのまま同じプリセットデータを持っています。プリセットデータがあるMAPセンサーを使用する場合は、Calibration MAPダイアログ(2.4.1項を参照)のプルダウンメニューから選択する事が出来ます。 プリセットデータが無いMAPセンサーを使用する場合は、キャリブレーションデータを入力する事でそのセンサーも使用可能となります。
PJSCは冷却水温センサー(CLT、Coolant Temperature sensor)と吸気温度センサー(IAT、Intake Air Temperature sensor)を燃調制御に利用する事が出来ます。使用出来るセンサーは、2線式のサーミスターとなります。またデフォルトのバイアス抵抗値は2490Ωとなります。
サーミスターを用いた温度検出回路は、上図の様な抵抗分圧回路を構成しています。Vinには+5V電圧を入力します。Z1はバイアス抵抗2490Ωで、Z2がサーミスターに該当します。GNDはPJSCのシグナルGNDに接続します。 この回路では水温、吸気温に応じて出力電圧Voutが遷移します。VoutをArduinoのADC入力ピンに接続し、Arduinoに温度を認識させます。
排気ガス酸素濃度センサー(EGO、Exhaust Gas Oxygen Sensor) PJSCでは排気ガス中の酸素濃度を測定するO2センサーを使用して、燃調補正をする事が可能です。またTunerStudio UltimateではO2センサー出力を採り込んで、燃調のオートチューンを行う事も可能です。 O2センサーを使用する場合、TunerStudioメインメニューの Tool>Calibrate AFR Table で表示されるAF比キャリブレーションダイアログ内で該当するセンサーを選択して下さい。
PJSCはナローバンドO2センサーの信号を直接読み込む事が出来ます。TunerStudioは殆どの標準的なナローバンドO2センサーの非線形な0-1V出力て自動的にキャリブレーションを行います。キャリブレーション実施後は、AFRテーブル(Tuning>AFR Table)で指定された空燃比を目標値として燃調を補正する為に、ナローバンドO2センサーを使う事が出来ます。 註)ナローバンドセンサーは空燃比をキャタライザーが効率的に機能するストイキメトリ空燃比(ラムダ1.0)に合わせる事を目的に設計されています。その為、希薄燃焼モードやパワー空燃比に合わせるチューニングには向いていません。
ワイドバンドO2センサーはナローバンドO2センサーよりも広範囲の空燃比を検出する事が出来ます。センサーとコントローラーにもよりますが、およそ10:1から20:1の空燃比(ラムダ0.7から1.3)を検出可能です。 PJSCにワイドバンド2センサーの出力を直接入力する事は出来ません。ワイドバンドO2センサーにはヒーターのコントロールとセンサー信号を増幅するアンプを搭載したコントローラーが必要で、コントローラーが出力する0-5Vのアナログ信号をPJSCに入力します。TunerStudioメインメニューの Tool>Calibratte AFR sensorで表示されるAFR calibrationダイアログにコントローラーのメーカーとモデルのリストが表示されるので、使用するコントローラーに該当するものを選択して下さい。 コントローラー出力信号が一般的な線形特性であれば、'Custom Linear WB'をリストから選択し計測可能範囲の最少AFR値と最大AFR値をを示す電圧を入力すれば、リストに無いモデルのコントローラーでも使用可能です。 コントローラー出力信号が非線形の場合、リストから'Custom inc File'を選択して信号特性プロファイルを記述したINCファイルをTunerStudioに読み込ませて下さい。 PJSCはワイドバンドO2センサー信号を使って、空燃比がAFRテーブル(Tuning>AFR Table)に指定された値となるように燃調を補正する事が出来ます。TunerStudioメニューの Tuning>AFR/O2で表示されるAFR/O2設定ダイアログで補正の詳細な設定をする事が可能です。 燃調補正、オートチューン機能を有効にする場合、ワイドバンドO2センサーを使用する事を推奨します。
1980年代後半から1990年代にかけて販売された日本製2ストロークバイクには、排気ポートにバルブを備えた物があります。その中でもサーボモーターにポテンショナーを内蔵してバルブポジションを検出し、排気ポートが開くタイミングを可変とするタイプ-例えばRCバルブ(ホンダ)、YPVS(ヤマハ)、AETC(スズキ)のポジション信号を採り込んでログに表示する事が可能です。 ポテンショナー方式の排気バルブはTPSと同様、3線式(5V、グランド、バルブポジション)の可変抵抗が用いられています。通常5Vは純正ECUから供給されているのでPJSCには接続せず、センサーのグランドとバルブポジション信号線を分岐して純正ECUとPJSCのそれぞれの入力に接続して下さい。 註)排気バルブポジションセンサーのグランドをPJSCに接続しないと純正ECUとPJSCのグランド電位に差が生じ、排気バルブポジション信号が不安定になる場合があります。その様な場合、純正ECUが排気バルブポジションを正しく認識出来ず、過電流を流してモータードライバーが焼損する恐れがあります。
PJSCのインジェクタードライバーは電流飽和型で(PWMではありません)、ハイインピーダンスインジェクターの使用を想定しています。このタイプのインジェクタードライバーはバッテリーの電圧をそのままインジェクターに印加します。ハイインピーダンスインジェクターの抵抗値は通常8Ω以上であり、抵抗値がこれより低いインジェクター(ローインピーダンスインジェクター)はPJSCでは使用出来ません。ローインピーダンスインジェクターを使用する場合は、過電流によるボードへのダメージを防ぐ為にインジェクターと直列に抵抗を接続する必要があります。接続する抵抗の抵抗値と定格電力は、オームの法則から算出します。 PJSCはインジェクター出力1ch当り、2本のハイインピーダンスインジェクターを並列に接続する事が出来ます。
またPJSC独自の機能としてインジェクター出力を周波数固定のPWM信号にし、90年代の2ストロークオートバイ多く使用されていたエアソレノイドを駆動するPJSCモードを使用する事が出来ます。 インジェクター出力は定格電流7AのMOS-FETを使用していますので、オートバイで使用されている殆どのソレノイドバルブを駆動する事が可能です。ソレノイドバルブをポンプで加圧した燃料ラインに挿入し、これをPWMで駆動して燃料をスロットルボア内に噴射する事で、キャブレターを使用した車両でも擬似的なインジェクションの様に燃調チューニングを行う事が可能です。これがPJSCの名前の由来となったポンプジェットです。
ポンプジェット用のソレノイドバルブとしては、エアソレノイドで使用されていたソレノイドを使用する事が可能です。この場合、ソレノイドの抵抗値が20-30Ωなので、インジェクター出力1ch当り4本まで並列に接続する事が可能です。 またバルブ開閉には5ms程度要する為、PWM周波数は10-20Hz程度が適切でしょう。但しこれらの仕様はソレノイドバルブによって異なりますので、PJSCに接続する前にバルブの仕様を確認して仕様に合った値を設定して下さい。
PJSCは以下の6つの用途の中から選択して使用する為の汎用出力を2ch持っています。これはArduinoのデジタル出力でPJSCボード上のMOS FET(SI4900DY)をスイッチングしており、2Aまでの負荷を直接駆動する事が出来ます。それ以上の電流が流れる負荷を駆動する場合は、リレーを使用して下さい。
PJSCボードはSpeeduino v0.4ボードをベースとして入出力をオートバイの燃調制御に必要な物だけに絞り、且つ点火出力も省く事で可能な限りコンパクトな筐体に収める事を目標として設計されました。 また小ロット生産に対応する為あえて専用基板を起こさず、十字ユニバーサル基板で回路基板を作成する事を前提に部品配置を決めています。十字ユニバーサル基板はユニバーサル基板の片面にスルーホールとスルーホールを繋ぐ格子状のパターンがあり、このパターンを目的の回路を構成する様にカットする事で容易に回路基板を作成出来るようにした物です。エッチング基板の様に薬剤を扱う必要が無いのが利点と言えます。しかし製作数が多くなるとパターンカットの手間が掛るので、極限られた数(数個から十数個程度)の回路の試作に向いています。 十字ユニバーサル基板の取り扱いは国内では秋月電子が行っており、PJSCはBタイプ(95mm x 72mm)ガラスコンポジット基板を用いて製作出来るようにパターンが設計されています。
十字配線ユニバーサル基板 Bタイプ(95x72mm) ガラスコンポジット http://akizukidenshi.com/catalog/g/gP-09794/
ソースコードと共に配布されているPJSCパターンファイル(PJSC.dxf)の『十字ユニバーサル基板カットパターン』レイヤーの図面が、カットするラインを表したものです。このパターンを十字ユニバーサル基板の格子状パターン面に印刷または転写し、カットラインをカッター等でカットする事でPJSCの回路基板が作成出来ます。カットした箇所は確実に格子パターンがカットされて導通しなくなっている事を、テスター等で確認して下さい。導通がある状態だとPJSCは正常に動作せず、最悪はエンジンを破損する事になりますのでくれぐれも注意して下さい。
PJSC十字ユニバーサル基板カットパターン
カットパターンに倣ってカットした十字ユニバーサル基板
PJSC ver1.0ボードは以下の機能が実装されています。
PJSCパターンファイルの『部品配置』レイヤーの図面が部品配置を表しています。これを参照し、必要な部品を十字ユニバーサル基板から作成したPJSC基板に半田付けする事でPJSCボードを作成出来ます。
部品配置図
信号の入出力は基板上に直接リード線を半田付けします。ユニバーサル基板を使用した上で、基板、筐体を出来るだけ小さくする為の処置です。入出力に基板用コネクターを用いると、各入出力素子からコネクターまでのパターンが必要になり、ユニバーサル基板では基板面積を著しく大きくする要因となります。 筐体内での架空線の不要な揺動、接触や防水性、防塵性を確保する為に、基板を収めたケース内にはガラス樹脂等、絶縁性の樹脂を充填する事を推奨します。
必要な部品と対応する部品番号は、BOM(Bill of Material)を参照して下さい。2.3.3の部品配置図に記載されている部品番号を参照して、全ての部品を基板へ半田付けします。その際、部品のリード線を通すスルーホールの位置を間違えない様十分に注意して下さい。スルーホールの位置を間違えると、PJSCは正しく動作しません。 十字ユニバーサル基板は専用設計されたPCBと異なり、部品配置を示すシルク印刷はありません。カットパターンと部品配置図の位置関係から、リード線を通すスルーホールの位置を確認して下さい。
部品の半田付けは、以下の順番に行う事を推奨します。
PJSCでのチューニングを正しく行う為に、センサーのキャリブレーションは必須の作業です。配線図を参照してアッセンブリが完了したPJSCと車体配線を結線し車体に組込んだら、組み込んだ車両の為のプロジェクトを作成します(『1.6 プロジェクト作成』を参照)。プロジェクトを作成したら、最初にセンサーキャリブレーションを実施して下さい。 キャリブレーションを行うにはTuner Studioでセンサーの型番、或いは信号特性を入力するので、それらの情報が必要です。使用するセンサーの情報は各メーカーより入手するか、予め測定器を用いて計測しておいて下さい。
メインメニューのToolsを開きます。
"Calibrate Pressure Sensors"を選択すると、以下の様なウィンドウが表示されます。
プルダウンメニューから使用するMAPセンサーの型番を選択します。その後"Burn"ボタンをクリックすると、センサー情報がPJSCに書き込まれます。
メインメニューのToolsから、"Calibrate Thermistor Table"を選択します。
Sensor Tableのプルダウンメニューで"Coolant Temperature Sensor"を選択します。 "Common Sensor Values"のプルダウンメニューから、使用するCLT(水温センサー)の型番を選択します。 "Bias Register Value"欄に2490(Ω)を記入します。この値はPJSC基板上のバイアス抵抗値なので、異なる抵抗値の抵抗に変更しない限り、値は変えないで下さい。 "Write to Controller"ボタンをクリックすると、CLTキャリブレーションテーブルがPJSCに書き込まれます。書き込みが完了したら"Close"をクリックしてウィンドウを閉じて下さい。
再度Toolsメニューから"Calibrate Thermistor Table"を選択してCalibrate Thermistor Tablesウィンドウを開きます。"Sensor Table"プルダウンメニューから"Air Temperature Sensoer"を選択します。
"Common Sensor Values"プルダウンメニューから、使用するIAT(吸気温度)センサーの型番を選択します。 "Bias Register Value"欄に2490(Ω)を記入します。 "Write to Controller"ボタンをクリックすると、IATキャリブレーションテーブルがPJSCに書き込まれます。
リストに無いセンサーを使用する場合 "Common Sensor Values"のプルダウンメニューに使用するセンサーが無い場合、センサーの特性値を"Thermister MEasurements"フィールドに入力する事で使用する事が可能です。異なる3点の温度に対するセンサーの抵抗値を入力して下さい。 温度センサーは通常、センサー周囲の温度によって抵抗値が変わるサーミスターを使用しています。センサー温度が出来るだけ使用する温度範囲の最高温度、最低温度と中間の温度になる環境中に置き、その時の温度と抵抗値を測定して下さい。この時センサーを手で持って測定を行うと、体温がセンサーに伝わって正確な抵抗値が測れません。温度センサーに使用するサーミスターは温度変化に対して感度が高く、応答が早い為です。センサーに体温が伝わるのを避ける為に、予め配線をして配線の両端で抵抗値を測定すると良いでしょう。 3点の温度と抵抗値を入力して"Write to Controller"ボタンをクリックすると、Tuner Studioが入力された数値からキャリブレーションテーブルを計算しPJSCに書き込みます。
メインメニューのToolsから"Calibrate AFR Table"を選択します。 "Common Sensor Values"プルダウンメニューから、使用するO2センサーの型番を選択します。もし使用するセンサー型番がリストに無い場合"Custome Linear WB"を選択し、センサーのマニュアルに記載されているセンサー出力特性から任意の2点での電圧とAFR値を読み取って入力して下さい。 "Write to Controller"ボタンをクリックすると、O2センサーキャリブレーションテーブルがPJSCに書き込まれます。
TPS信号はPJSCで燃調を制御する為に重要な信号です。燃調方式にα-Nを選択した場合、必ずTPSのキャリブレーションを行って下さい。 またTPSに印加するリファレンス電圧は5Vでなければなりません。PJSCを他のECUと併用してTPSのリファレンス電圧をPJSC以外から供給する場合、必ずこの電圧を確認して下さい。5Vより高い電圧が供給されている場合、PJSCが破損する恐れがあります。その場合リファレンス電圧はPJSCから供給するか、TPS信号が5V以下になるようにレベルシフト回路を介してからPJSCへ入力して下さい。
TPSにリファレンス電圧を供給し、信号をPJSCに入力した状態でメインメニューのToolsから"Calibrate TPS"を選択します。 スロットルを全閉状態にして、"Closed Throttle ADC count"欄横の"Get Current"ボタンをクリックします。"Closed Throttle ADC count"欄にTPS信号をArduinoがADC変換した値が入力されます。 次にスロットルを全開状態で固定し、"Full Throttle ADC count"欄横の"Get Current"ボタンをクリックします。"Full Throttle ADC count"欄にスロットル全開時のADC値が入力されます。 "Accept"ボタンをクリックすると、TPSキャリブレーション値がPJSCに書き込まれます。