エンジニア’S VOICE

製品別開発ストーリー 技術の力×人の力

電気自動車の心臓部ともいうべきバッテリー。 電気を無駄なく蓄え、電池の寿命を延ばすための電流制御ソフトを開発しました。
車載ソフトウェア関連:電流制御ソフト開発 ソフトウェア開発担当 Y.N
車載ソフトウェア関連:電流制御ソフト開発 ソフトウェア開発担当 Y.N

01.開発課題

「交流」を「直流」に変換する過程で、
電流を10,000分の1秒単位で制御することを求められました。

ご存知のとおり、家庭用の電源はすべて交流です。一方、乾電池などに蓄えられている電気は直流。ですから携帯電話でもノートパソコンでも、そのバッテリーを家庭用の電源で充電する場合、交流を直流に変換する必要があります。交流を線で表すと正弦波、直流は直線。波打つ線をいかに直線に近づけ、無駄を無くす事で性能が変わってきます。

携帯電話のような少量の電気の場合は多少のロスも許され、ハード機器だけでこの変換を行いますが、電気の容量が大きく、燃費も問われる電気自動車ではそうはいきません。交流の「波」のひとつひとつを10,000分の1秒単位で制御し、限りなく直流に近づける。そうすればロスのない充電を実現でき、バッテリーの寿命を延ばすことができる。そこで電力を精密に制御する新しいソフトの開発を求められたのです。

02.解決プロセス

 

例えば、携帯電話のあるボタンを押すと決まった動作を行う命令を出す。私がいままでに携わってきたのはこうしたシステムが中心でした。求められるスピードはせいぜい10分の1秒単位。最初は10,000分の1秒なんて想像もできませんでした。もちろん「電力を制御する」ことも初めて。まず電気について自分なりに勉強し、ソフト・電気の両分野に精通している上司にもアドバイスを求めながら開発を進めました。最大の壁はやはりスピード。交流の波のひとつひとつをセンサで検出し、それぞれについて瞬時に処理の命令を出す。そのために自分なりにプログラムをできるだけシンプルにしたのですが、最初は目標のスピードの半分にも満たない状態でした。

そこからプログラムの中の個々の処理を検証。すると分岐命令での真・偽の評価や、「割り算」に時間がかかることがわかってきました。そこで分岐命令を別の条件文に置き換えたり、「割り算」をシフト演算で代用したり…。こうしたプログラムの見直しとテストを何度も繰り返したのです。その結果、システムのレスポンスタイムが少しずつ改善され、1年かけてようやく目標のスピードに達することができました。

03.成果

 

実は発注元である自動車メーカー様では「10,000分の1秒単位」という処理速度の目標を一度、下方修正されようとしました。しかし上司にも助けられながら、毎週のように改善とテストを重ねた結果、最終的には当初目標を達成。先方からも「これで予定していた充電効率と電池寿命を実現できる」と評価していただき、苦労も吹き飛びました。さらにこの電気自動車が実際に発売され、街を走っているのを見かけたときは本当に嬉しかったですね。もちろん仕事の上でも、この一件は大きな自信になっています。

現在、工場の生産ライン等で不良品等を検知する製品を開発していますが、ここでは100,000分の1秒単位の応答性が求められています。電力の制御よりも大変な仕事になりそうですが、根気強くプログラムと向き合っていけば、きっと最後には成し遂げられると思っています。

プロフィール

電流制御ソフト開発 ソフトウェア開発担当 Y.N

理工学部・情報学科卒、2008年6月入社。高校生のころ、「Windows95」の発売に世間がわきかえるのを目のあたりにし、ソフトウェアに興味を持つ。女子が1割という理工学部で学び、目標としていた仕事に就く。