- 締切済み
PICマイコンによる制御
大学3年女子です. PICマイコンを使ってエンジンの点火時期を制御するという実験をしたいのですが, PICに具体的にどのようなプログラミングを書き込めばよいかわかりません.(C言語ではなく機械語です) エンジンにはエンコーダがついています.パルスを用いて制御します. 他に足りない情報がありましたら補足いたします. 教えて頂けたらと思います.
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- kaoaru
- ベストアンサー率33% (42/127)
>エンジンにはエンコーダがついています. まず、ロータリーエンコーダについて把握されていますでしょうか? 実際は、2相パルスを読み取るだけなんですけど、それは回転方向を知るためのことで、単純にカウントしたいだけならどちらかのパルス数をカウントするだけです。 「エンジン」ということですから数千回転にもなるでしょうから、おそらくタイマカウンタでないと追従できないかもしれませんが・・・。 PICマイコンのどのモデルを使うかわかりませんが、最低限16ビットタイマモジュールを搭載したPICじゃないと難しいかもしれませんが・・・。 パルスのカウントは「周波数カウンタ」とか「タコメータ」の類です。マイクロチップのサイトにあるアプリケーションにドキュメント&サンプルコードがありますので参照してください。 >エンジンの点火時期を制御する パルス数と回転角や回転数を関連付ける作業が必要そうですね! 「エンジンの点火時期を制御する」、というのは「進角制御」のことですね?ガソリンなのかディーゼルなのかわかりませんが、その手の専門書が存在するハズです。とっても重要なことですので、ホントはこんなところで質問するような内容じゃないですよ。 学生さんとのことで、将来的なことが含まれているのでしょうか?もし、そのようでしたら精進してくださいね!「エンジン」を扱うわけですから「人命」がかかわるものと思いますんで。 私もそのようなガバナ制御アプリケーションをおさめた経験があります。なかなか緊張が走る仕事でした^^; ※16F54で約8MHzくらいまでカウントできる周波数カウンタの実例があり、実際に製作しましたので、それが一番参考になるかもしれません。 参考URLにある周波数カウンタキットですが、回路図、ソースリストともに公開されています。7セグLED4ケタですので、まさに好適な例かもしれません。
- kumasan815
- ベストアンサー率27% (81/297)
>PICマイコンを使ってエンジンの点火時期を制御するという実験をしたいのですが まず・・・ 1.PICマイコンで何かの制御をする実験がしたくてエンジンの点火時期を素材にするのか? 2.エンジンの点火時期を制御する実験がしたくてPICマイコンを利用するのか? まぁ、どっちにしても点火時期を決める要素としてアクセル開度とエンジン回転数が基本に なりますが、さらに補正する要素としてノッキングの有無等もあります。 これらを常にチェック(データ入力)をしてそれに応じた点火時期を決めます。 さくっと書けばこんなもんですが1から作るのは大変ですよ。 頑張ってくださいね。
- rgm79quel
- ベストアンサー率17% (1578/9190)
コントロールユニットの制御から点火だけを奪ってしまいたいと言う事でしょうか、、、 まぁ、やってやれない事はないですが 今時の車では、素人さんは不可能な作業だと思いますから まずは車種を昭和モノにする必要があります。 でもって、メインハーネスを切った貼ったすれば可能ですが まさかそれで走行すればエンジンが成仏してしまいますし、保安基準にも抵触し、違法行為となりますから あまり無茶はなさらないで下さい。 ショップさんでVプロでも付けて貰って 点火だけ奪ってしまう方が簡単だとは思います。
まずは、PICによる制御と言う前に、点火時期とはどういう物なのかきちんと理解されていますか? それが判って居れば、PICマイコンなんて、入力を受けた信号に対して、出力の信号を出すだけのものです。 プログラムで動くのではなく、エンジンを動かすためにどのようなタイミングを作るのか?という物があって、そのタイミングを作るのがPICのプログラムだというだけの話です。 どのようなプログラミングなんて、それはプログラムを組む人には特に問題になる様なものでもありません。 まして、C言語だ機械語だというのも関係ありませんよ。 もう少し個々の物に対する理解を深められてください。