« 2009年12月 | トップページ | 2010年2月 »

2010年1月

就活&封印宣言

ただいま絶賛就職活動中です。
しかし就活って何をしたら良いのでしょうか。
とりあえずプレエントリーをしたり、工場見学したり、OB訪問を受けたり、説明会に行ったりしてます。そろそろエントリーシートを出す企業もありますね。

うちの研究室の先輩方は大変立派な企業に就職or内定されていますが、
だからといって私が同じように就職できるとは限らない。ちょっと不安になるよなぁ。

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

全身全霊を傾ける必要があるくせに毎回報われないランサーは今年は封印することにします。
実現したいアイデアはいろいろたまっているのですが。擬似ホイールインモーターとか。

コメント欄で先輩方のアドバイスなど頂けると助かりますcatface

| | コメント (5) | トラックバック (0)

コンパイラーの最適化性能

現在、SH7144でモーターコントローラーを作っていると話しました。
今回は趣味のロボットと違って、研究の時間をフルに使えるのでどうせならと、コンパイラーの乗り換えをしました♪

今まで私は一貫してロボット開発にBestTechnologyのGCC DEVELOPER LITE (以下、GDL)を用いてきました。
使い続けてきた一番の理由は、簡単だから。細かな設定が不要で簡単にソフト書けます。今まで、H8/3052だけではなく、SH7144の開発もGDLで行ってきました。
しかし、いろいろ不満があって、結局GDLからルネサスのマイコン開発環境であるHigh-performance Embedded Workshop (以下、HEW)に乗り換えました。(不満の中身については長くなるので省略します)

HEWに乗り換えた感想としては、とにかくコンパイルしたソフトの動作が速いこと。
C言語で書いたソフトを、機械語に翻訳するときにコンパイラで最適化が行われるのですが、そのときの最適化のレベルが半端じゃなく高いです。さすが公式のコンパイラ。
GDLからHEWに乗り換えたときの衝撃は、H8/3052からSH7144に乗り換えたときと同じぐらいの衝撃がありました。
イメージで言うと鈍行電車から新幹線へ乗り換えた感じですね。

今までGDLでコンパイルしてきたLEDの点滅プログラムを、HEWでコンパイルしたところ、点滅が早すぎで肉眼で確認するのが困難でした。
このプログラムでは、時間待ちを以下のような関数で行っていましたが、修正を余儀なくされました(笑)

↓旧バージョンのプログラム@GDL
void wait_long(long t)    /* 時間待ち関数    */
{
  while(t--);
}

↓同じ時間を稼ぐのに必要な新バージョンのプログラム@HEW
void wait_long(long t)          /* 時間待ち関数    */
{
  int ii = 0;
  t*=4;
  while(t--){    //HEWコンパイラの強力な最適化のせいで、複雑な処理をしないと時間を稼げないw
    ii++;
    ii--;
  }
}

高性能なコンパイラに出会えて、これからプログラミングしていくのが楽しみです。

| | コメント (0) | トラックバック (0)

部品実装とテスト

昨日と今日にかけて発注基板のテストをしていました。
テストが終わった要素は次の通り。

・モータードライバー
・USBインタフェース
・SRAM (4MB)
・EEPROM (1Mb)

これら4つの要素が完璧に動作しましたscissors
ところで、ここまでのミスについてですが、とりあえず3箇所ほど。

・パスコンの位置がおかしかった
・GNDの配線ミス
・モータードライバーL6205のEN入力端子を、マイコンの入力端子に接続

最初の2つは簡単に修正できましたが、最後の1つは軽く絶望しかけました。
具体的には、SH7144のポートFビット0(=入力専用端子)とEN端子をつないでしまい、このままではモーターをまわせない事態に…orz
結局、ウレタン線でEN端子と他I/Oポートをジャンパし回避しましたが…如何せん見た目がかっこ悪い。

ちなみに他の残りの要素は、必要なICをパッケージ違いで誤発注してしまいまだ完成してません。(私を直接知る人ならお馴染みですねw)
誤発注癖が直らんshock
まあ正しいやつを昨日デジキーで発注したので、月曜日ぐらいには作業再開できるかな。

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

しかし…、脳内でシミュレーションした回路が、現実で(ほぼ)予想通りの動作をしてくれるとうれしいよね。
今のところ大きなミスはなく、順風満帆ですscissors

特にUSBについては、H8/3052用のソフト(秋月のキットに付属)を書き換えてSH7144用にしましたが、デバック無しで一発で動作したときは思わず感動&ガッツポーズしました。
…まあもともとの秋月のソフトの出来が良かったというのもありますがw

| | コメント (0) | トラックバック (0)

P板.comに発注しました

今、研究室の研究テーマでロボットの制御を行っています。

現行のシステムでは、駆動にACサーボモーターを使っており、
PC(Linux) > D/Aボード(アナログ出力) > (アナログ入力)ACサーボモータードライバー > ACサーボモーター
という流れで構成されています。
しかし、これらの各部分それぞれに市販のものを使うと、システム全体が巨大化します。
現に、今のシステムは机1個分くらいあります

以前から研究室では、これらについて『マイコンを使って小型化したい』等々のいろいろな要求が有ったそうで、大学院に入院してからこの話を聞いて、私は運命を感じましたgoodなにせマイコン大好きですからw
現在はデスクトップPCにA/D・D/Aボードやカウンターボードなどを搭載していますが、新システムではこれらの機能を独立した下位のコントローラーに移し、カスケード制御を行います。

--------

…ということで、どうせだったら必要な機能をひとつにまとめた下位のコントローラーを自作しました。(→私の得意分野に持ち込んでみました(笑))
これが完成すると、システム構成が
Note PC(Linux) > 制御基板 > DCサーボモーター
といった風にシンプルになります。
モータードライバー(8ch)、A/D(8ch)、カウンタ(8ch)、USBインターフェース(1ch)、SRAM(4MB)、SH7144マイコンを1枚の基板に搭載したモーションコントローラーを作りました。
このような要求を満たすボードは、私の調査の限りでは、市販品で存在しません。

Masterboard

これが完成すると制御ユニットのサイズがおそらく
机1つ分(現行) → 大き目のお弁当箱+ノートパソコン(新)
とかなり小さくなります。

-------

基板はEAGLE 5.6.0で設計を行い、P板.comに発注しました。
先日基板が納期どおりに届き、今は少しずつ組み立てて要素の動作確認を行っているところです。

発注仕様は、ガラエポ両面基板で、スルーホールは0.15mm径(※特注)、最小パターン間隔は0.127mmとしました。
費用は特注でかさんで、100mm×80mmサイズ5枚で63000円でした。
で基板発注の練習が出来てとってもうれしいwwwwwwwwwwwwwwwwwwwwwwwww

基板は高価ではありましたが、発注後すぐに電話でパターンミス(異なる信号線の交差)の疑いをがあることをわざわざ教えてくてくれるなど、サポートは非常に手厚かったです。
("疑い"は結局思い過ごしでしたがw)
 

先日届いた基板の仕上がりですが、さすが国内メーカー。
一言で言うと、美しい
シルクパターンのズレは無いし、ランドやパッドの上にあるシルクデータはうまく削除して製作しているなど細かい気配りがあります。(※ランドやパッドの上にシルクがあると、半田付けできないし…)
また、ショート・導通テストは全数行われており、信頼性があります。

-------

この制御基板を早く完成させて、どんどん研究を前進させたいなぁ。
この基板自身はあくまで目的達成に必要な『道具』であって、基板を製作したことはあんまり論文にならないんですよねcatface

| | コメント (2) | トラックバック (0)

« 2009年12月 | トップページ | 2010年2月 »