• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+

ひらひら。のブログ一覧

2011年02月19日 イイね!

簡易オシロスコープ(DSO nano v2)のファーム変更(BenF)

簡易オシロスコープ(DSO nano v2)のファーム変更(BenF)簡易オシロスコープを以前紹介しましたが、デフォルトのアプリだと、意外と使いにくく、
そのせいで、あまり、電源を入れることもありませんでした。

困っていたのは、主に、2点

①電圧、時間設定などを、電源ON時、毎回設定。
②Micro SDカードへの保存後、波形画像の取り扱いが、面倒。


これを、一気に、解消してくれるアプリがサードパーティーから、出ていました。

その名も、『BenF』 ・・・・って、どこ?

気にしないで、v3.6なる最新版へ、ファームア~ップ。


すると、あら、不思議。
上記の不満点、一気に解消。

そればかりか、キャプチャー画像は、USBのMass Strageで認識されるようになったので、いちいち、Micro SDを抜き差ししなくても、PCに取り込みできるようになりました。
BMPとして、保存されるのも、素敵♪
サイズは、320x240なので、充分です。
Micro SDは、1GBの、\298で購入した安物です。

やたっ!BenF偉い。。。


これで、使い勝手が、大幅にアップ。


画像は、内蔵のSG(10kHzの矩形波)を取り込んだところ。

Posted at 2011/02/19 16:08:17 | コメント(0) | トラックバック(0) | PIC工作 | 趣味
2010年09月24日 イイね!

簡易オシロスコープ(DSO nano v2)を購入

簡易オシロスコープ(DSO nano v2)を購入買っちゃった、オシロスコープ。

最近流行の、SEEED社の、DSO nano v2

欲しかったけど、ずっと、『Sold out』だったんだ~。


これで、益々、精進できます。

1MHzまでしか、帯域がありませんが、車内の信号は、90%以上カバーできるんじゃないかな。



これで、送料込み¥7,750は、破格。
円高のうちに。

早く、届かないかな。
Posted at 2010/09/24 22:10:53 | コメント(4) | トラックバック(0) | PIC工作 | 趣味
2010年05月07日 イイね!

【PIC】何でもかんでも表示する

【PIC】何でもかんでも表示する超簡易A/Fメーターの取り付けもできていないのに、次の構想に入っっちゃいました。

フルカラーLEDだけの表示のために、ECU周りの配線を取り出すのは、もったいないので、





・エンジン回転数
・時速
・Narrow Band A/F電圧
・MAP Sensor電圧
・スロットル開度電圧
・BATT電圧

など、切り替え表示できるような、おもちゃを、作成しようと思います。
ケースにも、ちゃんと、入れよう。。。

今回選定したPICは、40PINもある、『16F887』って、\200のPICです。
今までの、8P,20Pを卒業し、ちょっと、PIN数多めな、このPICで。

7seg LED使うの初めてなので、うきうき。しかも、4桁。

配線図は、書くの簡単。

Programは・・・、これから、書くの。大変~。
Posted at 2010/05/07 21:43:22 | コメント(4) | トラックバック(0) | PIC工作 | クルマ
2010年05月03日 イイね!

【PIC】超簡易A/Fメーターの製作

【PIC】超簡易A/Fメーターの製作こんちは。

まだ、車への接続はできてませんが、超簡易A/Fメーターを作成しました。

【ハードウェア】
 添付図のようになります。
 RGB Diを、1個と、8bit 8pin PICの12F675を1個。OP AMPを1個と、抵抗、コンデンサ少々。
 あと、電源IC(今回は、5VのREG)

【ソフトウェア】
 イグニッションONしてから、暫く、オープニングデモとして、RGB LEDがカラフルに点灯。

 O2フィードバック領域は、BLUE点灯。
 LEAN領域は、GREEN点灯・・・アクセル、戻した時とか。
 RICH領域は、RED点灯・・・アクセル、ガバッと踏んだ時とか。
 ちょっち、CR-Zも、意識してたり・・・。

【その他】
 プレには、Narrow Band O2センサーしかついていませんので、A/F=14.5近辺で、0-1Vが、急激に
 変化します。下記、Programは、純正ECMが、FB(フィードバック)かけている状態なのか、
 RICH=濃い=1V なのか、LEAN=薄い=0V なのか、大雑把にしか判別できません。
 余り、色がころころ変化するようであれば、__delay_ms(5); の5を大きくします。
 サンプリングの速度がその分、遅くなりますが、LEDの色は安定するはず。

【Program】
 例によって、スペースがぐちゃぐちゃで、見にくいですが・・・。
 イルミの部分は、プログラムまでして機能させていませんが、減光(50% Duty)に使う予定でした。

/* VDD 5V P12F675

Hard ware Pin assignment list
1 VDD 8 VSS
2 GP5 O(not used) 7 GP0 O(BLUE)
3 GP4 I(AD3 AF IN) 6 GP1 O(RED)
4 GP3 I(Illumination) 5 GP2 O(GREEN)

*/

/*MEMO 10bitADの下位8bitを使用(1.25Vまでは、下位8bitで測定可)
0.1V=&H0014
0.2V=&H0028
0.3V=&H003C

0.7V=&H008F
0.8V=&H00A3
0.9V=&H00B8
1.0V=&H00CC
*/

#include //定型文なので、変えない
__CONFIG(0x31C4); //内蔵OSC使用等
#define MHz 000000
#define _XTAL_FREQ 4MHz //Delay用 4MHz設定

static void Delay_100msec(); //待ち時間
unsigned char i,ii;


//Delay 100msec --------------------------------
void Delay100(unsigned char time){
while(time--){
__delay_ms(100); //total 100ms
}
}


// ==================== PICの初期化 ===========================
static void pic_init(){

OSCCAL = _READ_OSCCAL_DATA(); // OSC出荷補正値で公正
GPIO = 0; // PORT設定をリセット
ANSEL = 0x18; // Fosc/8,AN3=ANALOG IN
ADCON0 = 0x8D; // Right,Vdd,AN3,ADON
TRISIO = 0x10; // GP0,1,2,5:out GP4 IN
ADFM = 1; // 10bitADで使用。下位8Bitのみ使用

}


// ==================== メイン処理 ===========================

main(){
//OPENING --------------------------------
pic_init();
Delay100(20); // WAIT 2S
for(ii=0;ii<=2;ii++){
for(i=0;i<=7;i++){
GPIO = i;
Delay100(5); // WAIT 0.1S
}
}
GPIO = 0;
Delay100(20); // WAIT 2S

//AF 電圧検出 --------------------------------

while(1){

GODONE = 1; // AD変換開始
while(GODONE); // AD完了待ち

if(ADRESL<0x14){
GPIO = 0x04; // LEAN 0.1V以下(GREEN)
}
else if(ADRESL<0x3C){
GPIO = 0x05; // LEAN 0.1-0.3V(GREEN&BLUE)
}
else if(ADRESL>0xB8){
GPIO = 0x02; // RICH 0.9V以上(RED)
}
else if(ADRESL>0x8F){
GPIO = 0x03; // RICH 0.7-0.9V(RED&BLUE)
}
else{
GPIO = 0x01; // AF14.5付近 0.3-0.7V(BLUE)
}
__delay_ms(5); // WAIT 5mS

// Illumination ON時の減光処理--------------------------------
// if(GPIO3=1){
// GPIO = 0x00; // LED OFF(50%Duty)
// __delay_ms(5); // WAIT 5mS
// }
// else{
// __delay_ms(5); // WAIT 5mS
// }
}
}
Posted at 2010/05/03 12:51:50 | コメント(1) | トラックバック(0) | PIC工作 | クルマ
2010年02月27日 イイね!

【PIC】ダイレクトイグニッション化構想終了

【PIC】ダイレクトイグニッション化構想終了プレをダイレクトイグニッション化(DI化)することを、考えていましたが、
 ①純正+αくらいの性能しか見込めない。
 ②取り付けや、ノイズ耐性を含む、信頼性が、低いこと。
を、理由に、以後の開発を中止しようと思います。
メリットとしては、デスビの使用を止められる。こと。

概要を回路図で、PICのソースは、下に、べた貼りしておきます。

擬似パルスでの確認はできていますが、実車での動作は未確認。
SWを切り替えることで、順次点火⇒同時点火に切り替え可能。

ソフト、ハード共に、動作補償はしません。
考え方のみ、知って頂けたらと思います。
HI-TEC C Liteを使っています。
例によって、スペースがぐちゃぐちゃですが、ご了承を。

----------------------------------------------------------------------------

/*
Hard ware Pin assignment list
1 VDD 20 VSS
2 CLKIN 19
3 CLKOUT 18
4 RA3 I(ICM) 17 RA2/INT I(CYP)
5 16 RC0(1st)
6 15 RC1(2nd)
7 RC3(4th) 14 RC2(3rd)
8 13
9 12
10 11 RB6(SW H=順次 L=同時)

VDD 4.5 to 5V P16F690
*/


#include

__CONFIG (0x00c2); // PWRT_OFF, WDT_OFF, HS

#define MHz 000000 //定型
#define _XTAL_FREQ 20MHz //Delay用 20MHz設定


static void pic_init();
unsigned char icm_kito=0x00;
unsigned char kito1;
unsigned char kito2;
unsigned char kito3;
unsigned char kito4;
unsigned char sw;


//----------------------------------------------
//initial処理 --------------------------------------
//----------------------------------------------
static void pic_init(){

ANSEL = 0x00; // ALL DIGITAL I/O
ANSELH = 0x00; // ALL DIGITAL I/O
OSCCON = 0x68;

PORTA = 0x00; // ALL PIN LOW
TRISA = 0x0C; // RA2,3 INPUT

PORTB = 0x00; // ALL PIN LOW
TRISB = 0x40; // RB6 PIN ONLY INPUT
WPUB = 0x40; // RB6=WEEK PULL UP

PORTC = 0x00; // ALL PIN LOW
TRISC = 0x00; // ALL PIN OUTPUT
RABPU = 0;



}

//----------------------------------------------
//main処理 --------------------------------------
//----------------------------------------------
void main(void){

pic_init();

PORTC = 0x0F; //1-4気筒パルス停止
INTEDG = 1; //RA2 立ち上がりエッジ検出

sw = PORTB;
if (sw = 0x40){
kito1 = 0x0E;
kito2 = 0x0D;
kito3 = 0x0B;
kito4 = 0x07;
}
else{
kito1 = 0x06;
kito2 = 0x09;
kito3 = 0x09;
kito4 = 0x06;
}

while(1){

INTE = 1; //RA2 INTエッジ割り込み使用
GIE = 1; //全体割り込み許可

}
}

//----------------------------------------------
//エッジ割り込み処理 -------------------------------
//----------------------------------------------
static void interrupt intr(void){
INTF = 0;
icm_kito= PORTA;
RABIF = 0;
// RABIE = 1;
IOCA3 = 1; //RA3変化検出ON

while(RABIF==0){ //RA3が変化するまで待つ
}
icm_kito= PORTA;
RABIF = 0;
PORTC = kito1; //1気筒目点火
while(RABIF==0){ //RA3が変化するまで待つ
}
PORTC = 0x0F;
icm_kito= PORTA;
RABIF = 0;

while(RABIF==0){ //RA3が変化するまで待つ
}
icm_kito= PORTA;
RABIF = 0;
PORTC = kito3; //3気筒目点火
while(RABIF==0){ //RA3が変化するまで待つ
}
PORTC = 0x0F;
icm_kito= PORTA;
RABIF = 0;

while(RABIF==0){ //RA3が変化するまで待つ
}
icm_kito= PORTA;
RABIF = 0;
PORTC = kito4; //4気筒目点火
while(RABIF==0){ //RA3が変化するまで待つ
}
PORTC = 0x0F;
icm_kito= PORTA;
RABIF = 0;

while(RABIF==0){ //RA3が変化するまで待つ
}
icm_kito= PORTA;
RABIF = 0;
PORTC = kito2; //2気筒目点火
while(RABIF==0){ //RA3が変化するまで待つ
}
PORTC = 0x0F;
icm_kito= PORTA;
RABIF = 0;


GIE = 0; //割り込み禁止
INTF = 0; //エッジ検出しない
// RABIE = 0;
IOCA3 = 0; //RA3変化検出OFF

}

----------------------------------------------------------------------------

動作
①CYPパルスの立ち上がりエッジ検出待ち。
②ICMパルスを待ち、パルス入力毎に、各気筒の点火パルスを出力。
③CYPパルス1周期に、点火パルスを4個に、作り直しています。
④SW(順次点火⇒同時点火)の検出は、IG ON後行い、運転中は変更できない。
⑤20MHzのCLKを使っているので、ICMを基準にした、各点火パルスのDelayは、10uS以下で、
 点火時期としてみると、9,000rpmでも、0.1°程度のDelay&ばらつき。
注:LEDは、動作確認用なので、当然、無くても良いです。
Posted at 2010/02/27 08:12:41 | コメント(2) | トラックバック(0) | PIC工作 | クルマ

プロフィール

「常滑ドライブ http://cvw.jp/b/284255/46173623/
何シテル?   06/12 13:52
現在。アルトがメインです。気軽に話しかけてください。よろしくお願いします。 新しいことにチャレンジ。人がやらないことをやりたいですね。 バトンお断り...
みんカラ新規会員登録

ユーザー内検索

<< 2025/8 >>

     12
3456789
10111213141516
17181920212223
24252627282930
31      

リンク・クリップ

秋月電子通商 
カテゴリ:電気工作
2009/04/05 13:29:03
 
IMPACT! 
カテゴリ:CAR
2009/04/04 15:46:39
 
Honda Prelude Special Page 
カテゴリ:Prelude情報
2009/04/04 15:43:11
 

愛車一覧

スズキ アルト ターボRS スズキ アルト ターボRS
軽スポーツを楽しもう!!
ホンダ トゥデイ ホンダ トゥデイ
購入しました。 可愛いな~。 2018.7.5 お別れしました。
ホンダ フィットハイブリッド ホンダ フィットハイブリッド
嫁の車です。 外装の色と、内装のピンクがお気に入りだそうです。 2022年6月11日 9 ...
ホンダ That’s ホンダ That’s
乗り換えです。

過去のブログ

2022年
01月02月03月04月05月06月
07月08月09月10月11月12月
2019年
01月02月03月04月05月06月
07月08月09月10月11月12月
2016年
01月02月03月04月05月06月
07月08月09月10月11月12月
2014年
01月02月03月04月05月06月
07月08月09月10月11月12月
2013年
01月02月03月04月05月06月
07月08月09月10月11月12月
2012年
01月02月03月04月05月06月
07月08月09月10月11月12月
2011年
01月02月03月04月05月06月
07月08月09月10月11月12月
2010年
01月02月03月04月05月06月
07月08月09月10月11月12月
2009年
01月02月03月04月05月06月
07月08月09月10月11月12月
2008年
01月02月03月04月05月06月
07月08月09月10月11月12月
2007年
01月02月03月04月05月06月
07月08月09月10月11月12月
ヘルプ利用規約サイトマップ
© LY Corporation