もっと多くの人にコンピュータとプログラミングがどのように世の中を支えているのか知ってほしい!という思いで書いているこの「はたらくコンピュータ」シリーズ。今回は自動車のエンジンを動かしているコンピュータのおはなしです。最近盛り上がりを見せているプログラミング教育を考えるのもよいでしょうが、それより前に大人ができることは、このように身近な生活にコンピュータがどのように使われているのかを話して聞かせることではないでしょうか。お子さんに話してあげてください。
関連情報:
- 「プログラミング、小中学校で20年から必修化 政府方針」、日本経済新聞、2016年4月19日
- 「今すぐ始めるプログラミング」、週刊東洋経済5月16日号
ガソリンエンジンにもコンピュータプログラム?
自動車関連技術で最近新聞を賑わすのは、なんといっても自動車の自動走行ですね。人間が操作しなくても安全に目的地まで連れて行ってくれる自動走行車は、わたしたちの思った以上に早く普及する勢いです。
自動走行車はコンピュータとプログラムの塊りといっても誇張ではありません。そこには、これはこれでとても面白い「はたらくコンピュータ」が隠れているのですが、今回は既に何十年も前からわたしたちの自動車に入っているコンピュータとプログラムのお話しです。ガソリンエンジンをうまく動作されるためのプログラムについてです。
ガソリンエンジンは当然、ガソリンで動きます。実際にどのように動いているかというのは私は中学校の技術科で習いましたが、今もそうなのでしょうか。ガソリンエンジンの働きは以下のようなものです。
- シリンダー(ピストンが中で動く円筒)に、ガソリンの混ざった空気(混合気といいます)を入れる。
- ピストンがシリンダーの中で混合気を圧縮する。
- 圧縮された混合気に点火し、爆発させる。
- 爆発の勢いでピストンが動き、その力を利用して自動車の車輪を回転させる。
- 爆発の排気ガスをピストンの外に出し、上のステップ1に戻る。
参考情報:
- 「ガソリンエンジン」、ウィキペディア
初めて習った時には、自分が乗っている自動車のエンジンの中で、1秒間に数えきれないほどの爆発が繰り返されていると知って驚いたものです。そんな仕組みをよく作れるなあ!と。
さてこのガソリンエンジン、昔はもちろんコンピュータやプログラミングの助け無しに動いていました。しかしこの数十年間で社会の環境意識や低燃費化の要求が高まり、とうとう機械による制御では排気ガスの環境規制や求められる燃費効率を満たすことが極めて困難になっていたのです。
そこでコンピュータとプログラムによる「電子制御」が導入されます。自動車において電子制御が最も早くから導入されたのはこのエンジン制御です。
どうしてガソリンエンジンを動かすのにコンピュータとプログラムが必要なのでしょうか?それは、環境基準を守りつつ低燃費を実現するためには、
- 空気とガソリンの混合比率
- 混合気の点火タイミング
- シリンダーに混合気を流入させるタイミング
などを、自動車の走行状況やエンジン状況に合わせて常に変えていく必要があるからです。そんな複雑な処理は機械だけでは実現できないので、「こういう場合にはこうする」といったプログラム制御で動くコンピュータの出番となったわけです。
そんなエンジン制御のコンピュータとプログラムに必要なことって何でしょうか?
それはやはり処理スピードでしょう。エンジンのシリンダーの中での爆発の回数はエンジン回転数によって変わりますが、1秒間に数千回転していると、1度の爆発から次の爆発まで1ミリ秒もありません。
1ミリ秒は1000分の1秒ですので、1秒には1000ミリ秒あることになります。
エンジンの回転に合わせたエンジン制御を行うには、次から次へと起こる爆発をさばいていけるだけの能力がコンピュータとプログラムの両方に必要だということがわかりますね。
エンジン制御のコンプくん
さていつものように、コンピュータのコンプくんに登場してもらって、エンジン制御のコンピュータがどのような仕事をしているのか見てみましょう。
コンプくんはコンピュータ、つまり情報を動かしたり情報によって動きを変えたりすることができる「情報機械」です。情報機械のコンプくんの5つの特技は:
- 見る・聞く・感じる
- 書きとめる
- ためる&取り出す
- 伝える
- 分担する
ですね。今回もこれらの5つの特技をどのようにお仕事に活かしているのか見てみましょう。
まずは「見る・聞く・感じる」。センサーなどからの情報で、エンジン状況を把握します。
そして「伝える」。エンジンの各部分に、空気とガソリンの混合比率や、点火タイミングや、混合気の流入(吸入)のタイミング、などの指示を伝えて、シリンダー内で混合気がうまく爆発するようにします。
「分担する」は、今回はあまりありません。自分のエンジンは自分が面倒みる、そういう気概がなければ、運転者は安心してコンプくんの入った自動車を運転できませんね。このように、機械の中に組み込まれたコンピュータを「組み込みシステム」と呼んだりしますが、組み込みシステムにおいては刻一刻と変わっていく機械の状態に合わせて次々に指示を出すことがよくあります。こういう場合、他と分担している暇はなく、基本的に独立して自分の仕事をこなさなくてはならないことが多いようです。
「書きとめる」「ためる&取り出す」も同様にあまりありませんが、エンジン制御がうまくいったかどうかを後で分析できるように、データをとっておくことはあるでしょう。
エンジン制御のプログラ美ちゃん
そして、エンジン制御のコンプくんは自分だけでおしごとをしているわけではありません。コンピュータのあるところには、必ずプログラムがあります。コンプくんの心(メモリー)の中には必ずプログラ美ちゃんがいて、何をどのようにするのかを教えてくれているのです。
ガソリンエンジンにもコンピュータプログラム
この記事では、自動車のガソリンエンジンにもコンプくん(コンピュータ)とプログラ美ちゃん(ソフトウェア)がいて、環境基準をクリアしたり低燃費を実現できるようにしているに働いているということを解説しました。自動車は機械のかたまりですが、その中に入っているコンピュータの働きについて注目されることは少ないのではないでしょうか。
プログラミングに注目が集まっている現在です。コンピュータを使ってよりよい生活を実現するには、プログラミングが不可欠です。自動車のガソリンエンジンという身近なもののなかにもプログラムがあって、よりよい生活を創り出すことに貢献しているのです。そういうことを知ると、プログラミングについて知る意欲がますます湧いてくる子もいるのではないでしょうか。そんな思いで書きました。
この記事を書くにあたり、特に以下を参考にしました。
- 「組込みシステム開発の現状:4. 自動車における組込みシステム開発の現状 -エンジン制御を中心として-」、菅沼 英明 佐藤 浩司、情報処理,38(10),892-897 (1997-10-15)
フォルクスワーゲンの不正なディーゼルエンジン制御ソフトウェアが2015年中には話題になりましたが、この記事ではあえて触れていません。コンピュータとプログラミングが浸透している現在、良い面だけでなくプログラムを悪用することもできてしまいます。ですが、子どもにプログラミングとコンピュータサイエンスに興味を持ってもらうという本稿の目的からすると、これは触れなくていいと判断しました。
ホーム画面に戻るにはここをクリック
関連記事:
- 「宇宙ではたらくコンピュータ(人工衛星の巻)」、かながわグローバルIT研究所、2016年3月18日
- 「スマートフォンの中のコンピュータ」、かながわグローバルIT研究所、2016年2月20日
- 「コンピュータって何だろう」、かながわグローバルIT研究所、2016年2月16日
(かながわグローバルIT研究所 森岡剛)