|  
 デジタル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!
 
 わかりきったことなんですが、
 デジタル制御の場合、回路が簡単になる分
 ソフトウエアの出来(セッティングデータ含む)が、
 かなりのウエイトを占めると思います。
 | . |