ここから本文です

書庫全体表示

記事検索
検索

全3ページ

[1] [2] [3]

[ 次のページ ]

思い当たる節があったのでオシロで測定してみました。

イメージ 1

正常ですよね?


余談
2st専用のO₂センサーのアダプターを見つけました。
https://store.shopping.yahoo.co.jp/hirochi2/1861-0524.html?sc_i=shp_pc_watchlist_item_mdWatchlistItem_1
直接排気に触れないのがいいのかな?

この記事に

電子制御エンジンの基礎・応用のコピー版買いました。
イメージ 1
具体的な制御方法や回路、ECUの製作まで載っていて、おそらくこの手の本だと唯一の実践的な解説書だと思います。絶版で中古も高いですが、今でもコピー版が購入できます。


ところで、今まではarduinoを使っていたのでちゃんとマイコンの勉強をしようと思うのですが何がいいのか分からなくて迷っています。
書籍の多さとかはPICが一番ですが、AVRの方が使いやすいとも聞きますし(逆にいい解説書が少ないんですよね)、上の本だとH8を使ってますね。
後はCとアセンブリのどちらで書くかでしょうか。
arduinoでPWM出力の周波数を変更するため、ネットでレジスタの変更などを調べたのですが、全く理解できなかった私です(笑) 


この記事に

ここに詳しく書きましたが
ヤマハのが使えそうです。
http://moto-dicuration.bbs.fc2.com/?act=reply&tid=7346403

イメージ 1


ここは特殊サイズと聞きましたが、koyoのカタログには載ってました。今も作ってるんでしょうか?
これも在庫のみで廃盤になるようなら流用するのは申し訳ない気持ちもあります。


今日はヤマハコミュニケーションプラザでSDRの30周年ミーティングがあったそうですね。68台集まったそうです。(聞いた話だとYPCで単一車種の記録を持ってるとか...)
SDRって大衆車か何かでしたっけ(笑) 当時の開発者のトークショーなんかもあったようで羨ましい。
実はとある雑誌社から単ガンの雑種取材ミーティングを開かないかと話があります。昔は某オーナーサイトで結構な台数が集まったそうですが、最近はミーティングはやってないですね....
私は幹事はできないので誰か顔の広い人が主催してくれないだろうか(他力本願)
単ガンも70台くらい集まらないかなぁ(笑)

この記事に

部品流用情報の備忘録

前に紹介した知り合いのBBSに纏めておきました。

コック関係
http://moto-dicuration.bbs.fc2.com/?act=reply&tid=7346337

ミッションベアリング

http://moto-dicuration.bbs.fc2.com/?act=reply&tid=7346403

簡単に言えば、コックのパッキンや廃盤になったベアリングの代用案です。

エンジン内部のベアリングなんかはバイクメーカーとベアリングメーカーの間で細かく仕様が決められているようで、同じものでも微妙に違う可能性があります...

BBSは何でも歓迎なスタンスなので、貴重な情報をお持ちの方は頭の中だけに留めず、ぜひ書き込んでいってください....

この記事に

いろいろあって投稿できていませんが進捗を報告します。
タコですが前回とほぼ同じ回路とスケッチで問題なく動きました。
10周期分の時間を計ることで平均化していますが、アイドリング付近では回転数の変動が激しいので値の平均は有用でした。4000rpm以上では変動は少なく1周期分で計算しても問題なかったです。
ソレノイドを動作させる回転数では問題ないので平均化しないか10回ではなく2~3回の平均で十分かもしれません。

ソレノイドの方も周波数とデューティ比が制御できるようになりました。
周波数とデューティ比を変更するにはレジスタの操作等必要ですが、このあたりの話はまだ100%理解できていないのでネットで拾ったプログラムを 丸パクリ 参考にさせてもらってます。
 

20Hz デューティ比0.1〜0.9ぐらいがちょうどいいと思いました。

できるだけ早く完成させます。

スケッチを載せておきます。回路図はスケッチから想像してください(笑)(そのうち回路図CADを使えるようにする予定なので後で追記します。)

#include <avr/io.h>
 
#define PWMPin 10
 
unsigned int frq; //周波数16Hz – 1MHz
float duty=0 ;      //デューティー比
 
void setup() {
  pinMode(PWMPin, OUTPUT);
  Serial.begin(9600);
}
 
void loop() {
  frq=analogRead(0);
  duty=analogRead(5);
  frq=map(frq,0,1023,16,200);
  duty=duty/1023;
 
  Serial.print("duty=");
  Serial.print(duty);
  Serial.print("\t");
  Serial.print("frq=");
  Serial.print(frq);
  Serial.print("\n");
  Serial.flush();
 
 
  // モード指定
  TCCR1A = 0b00100001;
  TCCR1B = 0b00010010;
 
  // TOP値指定
  OCR1A = (unsigned int)(1000000 / frq);
 
  // Duty比指定
  OCR1B = (unsigned int)(1000000 / frq * duty);
 
  
}

この記事に

開くトラックバック(0)

全3ページ

[1] [2] [3]

[ 次のページ ]

本文はここまでですこのページの先頭へ
みんなの更新記事