デジタルCDI 第1号機
|
タイミング合わせの為のフライホイールを削ることは中止
フライホイールを削ると後戻りできないことに気づきましてPICキットとその他電子部品を大人買いすることになりました。
右の基板を製作しましたが 初爆には至っていません。
回路そのものは、生きているようで プラグをはずしてキックすると、チロチロと火花は飛ぶんですが、タイミングが悪いのか、エンジンが掛かる気配なしです。
(キック20回に1回バッスーーーンという音だけ・・・)
プログラムも何をどうしているのかさっぱりわからず。
ちょっと深みにはまりそうです。 |
基本回路はsportdevice バージョンです。(上)
http://www.sportdevices.com/ignition/ignition.htm
sportdeviceの回路からの変更点は
RA2 RA0 から接続されているRS232C回路はつけていない。
(というか、ソフトを見ても使用している形跡なし)
RB2 からのcurve selectorもなし
(というか、将来の拡張用?)
2N27は東芝のTLP504A(フォトカプラ)に
(2N27というのはトランジスタの型番では?最初はトランジスタで
回路を組んでいた名残り?)
*NOTE 1 No Battery Optionの100Rとダイオードは
セローの場合、動作していないことが判明しています。
BT151→F8JZ47
27R→22n→GNDと続くところは、基盤にはつけていますが
役割がわからないので、接続していません。
どうやら、PIC利用のCDIは、そのソフトが味噌のようです。
いまは、sportdevice から入手したPICのアセンブラソースと
にらめっこしてます。
http://www.sportdevices.com/ignition/ignition16.asm
168行目の
GO;if (!perh &&
(perl>=min……
のGOはたぶん誤りで、そんな命令はPIC16シリーズにはないはず。
なんてことを思いながら、解析中です。 |
|
掲示板からの
アドバイス 1
起動時は12度進角、起動後5000RPM以上で72度進角を
PICで遅らせて進角制御しています。 PICのソースも
そんな感じで書いてあります(詳しい解析はしていません)
*NOTE 1 No Battery Optionの100R周りは、この回路では必要だと思います。特に始動時はこの回路でタイミングを合わせていると思います。
27R周りはサージキラーですね。 保護のため入れているみたいです。
この回路をセローに使うと、セローのパルサーは画像の様に2つのピックアップポイントが必要ですね。
HT−ROKETで始動していたのを、この回路に変えたら始動しないのなら100R周りの回路を復活させ、試みたらいかがでしょう?
パルサーの極性が逆になっているかも知れないので、配線の入れ替えも試した見たらいいかも。 |
デジタルCDI 第1号機に
第2波を検出するため 回路追加しました。
|
掲示板からの
アドバイス 2
PICのノイズ対策ですが、
私も基板を別ける方法を取る方が一番かなと思います。 汎用基板では出来ませんが、べたGNDと組み合わせれば、何とかなると思います。
電源には徹底してコンデンサーを噛ませます。
コンデンサーは104Zと10uFと組み合わせます。
後、高電圧部との接続はGNDは1本線と、コンデンサの併用で接続し、信号線はツイストペア線を使えば大丈夫だと思います。
(デジタル回路にアナログ回路を入れる時の鉄則を守ります)
(GND分離、1点接続、信号線はGNDガードパターン)
実際の配線で気を付けたいのは、SCRのGNDとデジタル周りのグランドはなるべく別に接続した方が。 基板へのGND接続線からデジタル側、SCR側に2系統に別けた方がいいと思います。
デジタル側には+12Vとの間にコンデンサを配置します
(104Zと10uF)その後7805に繋げばいいかな。
それからCOILへの信号の近くに他の信号は通したくないです。
コンデンサの下も避けたいです。
|
掲示板で いろいろなアドバイス参考にさせていただいてます。>>ALL
100R周りの処理(第2波タイミングのダイレクト入力)が必要かと思い
HT-ROCKETの入力を流用して回路を継ぎ足してみました。
結果は、GOOOOD!かな?
かなりいい感じで、吹けあがります。
肝心のデジタル部へのバトンタッチも
できているようです。
(というよりも、アイドリング〜3000rpm?ぐらいまで
デジタル部が不安定?)
とりあえず、動画をUPしてみました。
業物UPLOADER
http://w16.wazamono.jp/bikemovie/src/16bike0694.wmv.html
デジタル基盤上にLEDを追加しています。(基盤の端っこのほうで点滅するLED)
これが、点滅すれば、パルスを飛ばす直前までプログラムが動いているはずです。
結果は、GOOOOD!かな?としたのは、
本当にデジタル部分で点火しているかどうかは、
実走テストをしてみんことには判らないからです。
空ぶかしでは、HT-ROCKETオリジナルの回転が苦しくなる部分は
完全に超えて吹けあがりますので、期待が持てるところです。
やっと、光が見えてきた〜!!
|
|
SportDeviceのアセンブラソースをながめてみると
これがまたよくできています。
・PICを4MHzとしたことで、基準を1usにして、考え方を楽にしている。
・1us×128が何回あったかを数える←タイマが勝手にカウント
・第1波の入力で1us×128の回数を見る。同時に回数リセット
・回数に応じて遅延ループ回数のテーブルから数値を持ってくる
・数値の分だけ遅延ループが回り、終わって点火・・・第1波が来るまで待つ。
遅延ループ回数の計算もSP-Ignitionというソフトで計算できるようです。
けっこう面白そうです |
デジタルCDI 第2号機
|
何が怖いかって、ソフトを眺めて思ったのですが
sportdevicesのソフトには、15000rpmまでのマップが
書いてあって、レブリミット15000rpmです。(そこで点火カット)
もし万が一、調子よく回るととタコメータのないセローは
エンジンぶち壊しそうです。
まともにマップ計算ができるまで、試走は、お預けしてます。
あと、アイドリングや低回転で、デジタル部の点滅が不安定なのは第1波のマイナス電圧が十分出なくて、5.1Vのツェナーを超えられないのが原因なのかな?と考えてます。 |
HT-ROCKET + PIC バージョンで製作
基本的にsportdevicesの配線と同じにしています。
電源部のOptional for no battery engineは ありません。
*Note1No battery optionの100Rのところが
HT-Rocket基本回路の「入力部分+サイリスタへの出力部分」に置き換わっている感じです。
その下のOptionalは、ありません。
BT151→SF7JZ47
0.68uF400V→0.47uF630V
22n→0.047uF630V
22n=0.022uFは、今のところどこの通販にもなかったです。
27Rは1/4Wです。燃えないのかな?
STOP ENGINEはサイリスタアノード側から引いて
途中に1N4007を入れるように変更しようと思ってます。
2N27表記のフォトカプラ→TLP504A
2回路あるので、第1波・第2波入力で使います。
第1波はPIC行き
第2波はHT-Rocket入力部行き
1n→0.01uF
1N4148→なし
RA2,RA0,RB2から右へつながっているものすべてなし
クリスタルの4MHz+22pのセットは
セラロック4MHzで代用可能らしいです。
PIC16F84→PIC16F84A/20(Max20MHz)
欲を出してクリスタルに20MHzを使うと
ソフトの関係でたぶん(というよりも絶対)動きません。
後は、抵抗値、コンデンサ容量変更なしです。
|
. |
|
. 回路パターンです
|
|
Serrow に
取り付けて見ました。 |
試走してやっと裏が取れました。
結果は、非常にいいぞ〜!
注意点は
回路図どおりに組むとソフトの変更が必要です。
×#define output PORTA,2←(1番ピン)
○#define output PORTA,3←(2番ピン)
これに気づくまで、だいぶかかりました。
(パラメータ(マップ)を変更しても、反映されないなあ・・・
そりゃそうだ!出力ピンを間違ってるから!
それまで、HT-ROCKET部のみで動いていたようです。)
入出力は1番ピン9番ピン10番ピン18番ピンを避けたほうがいいと思います。
だって、PICを抜き差ししてると、端っこのピンが曲がって
折れるんだもの(笑
sportdevicesにあるPICプログラム(アセンブラの方)は
for 2 strokeの表記があるものの
5000rpm-15000rpmまでBTDC24°―25°でほぼ一定です。
(多分カート用 Degree Advanceの表のようなマップではありません)
調子に乗って、BTDC34°やらBTDC38°作って
遊んでました。今のところ5000rpm近辺からマップが始まりで
ざっくりBTDC34°9000rpmリミットをつけています。
デジタル部が作動していないときは使えるのは5-6000rpmまで
もう少し7000ぐらいまで回るのですが、だらだら回っている
だけという感じです。
デジタル部が作動すると5000から7000rpm(推定)ぐらいまで
「おおおっ」
という加速になります。
といっても、所詮はセローなんで、もうエンジン壊れそうな音がします(涙
もう少し点火マップにメリハリをつけると面白いかも!
というわけで、とりあえず成功宣言出しちゃいます!
あとは、どうやってバイクに納めるか(回路を小さくするか)が
問題です。
|
. |
ソフトウエアのほうですが、私が全部書いたものではないので http://www.sportdevices.com/ignition/ignition16.asm
の方から Click here to download
the ASM
source code of the program
このあたりのものをダウンロードして「改造して」使用することになります。
とりあえず、
・秋月電子通商からPICライターのセットを買う。
・マイクロチップ社のMPASMWIN(PICアセンブラ)をインストール
(PICライターのセットの中にあったと思う)
・マイクロソフトエクセルがあったら便利(マップ計算用)
・自分のバイクのフライホイールを見て第1波がBTDC何°か
(ピックアップの突起の始まり角度)を把握←これ一番重要!
現在わかっているバグ?は
×#define output PORTA,2←(1番ピン)
○#define output PORTA,3←(2番ピン)
× GO;if (!perh && (perl>=min_period)&&(perl<min_period+sizeof(ignition0)))
○;if (!perh && (perl>=min_period)&&(perl<min_period+sizeof(ignition0)))
(GOを取る)
ただし、そのままアセンブルしてもピックアップ第1波がBTDC72°
5000rpm-15000rpmまでBTDC24°―25°の設定のままです。
(セローの場合は、たまたまそのままでも動きます。)
たいていの場合(というよりも最低限)各バイクに合わせて
addwf PCF,f
ignition:
retlw 88
retlw 91
・・・
から始まる点火マップと
その上の
#define sizeof_ignition 57 ←点火マップの総数
さらに上の
#define min_period 31 ←点火マップの下限カウント数=実質の回転リミッター
の書き換えが必要です。
点火マップの生成には
上記ページの
Click here to download the Excel
sheet with
calulated values
これか
Click here to download the "Ignition
Wizard" program
これを使います。
(私は、エクセルシートのほうを使ってます。)
エクセルのigniton.xlsの一番上
Resolution (ms) 0.004 →0.006に変更
prescaler 64 → 128に変更して使用します。
マップの総数+#define min_periodが255を超えてはいけないとか
マップの値が255を超えてはいけないとか
いろいろありますが、こればっかりは
やってみなきゃわかりません。
できあがったら、MPASMWINでアセンブル
出来上がった***.HEXファイルをPIC
programmerでPICに焼く
基盤に取り付けてGO!
わかりきったことなんですが、
デジタル制御の場合、回路が簡単になる分
ソフトウエアの出来(セッティングデータ含む)が、
かなりのウエイトを占めると思います。 |
. |