2015年6月17日 (水)

トリクル充電

久しぶりにblogを書きます。

新作マウスの企画を立てるのに以前のマウスがどれくらいの精度で動作したのか確認したく、2005~2006年頃のマウスを引っ張り出してきました。しかし、電池が死んでいる。そこでトリクル充電です。

電池は単4ニッケル水素 750mAh ×10本なので、充電電流を 0.2~0.3C程度の240mAに制限して充電を開始。この電流で満充電まで充電しようと思ったら5~6時間はかかるはずなのに、30分もせず充電終了。マウスに接続してみたらモータがちゃんと回るので、多少なりとも充電できているのだと思います。

なんどか充放電を繰り返したら回復してくれるといいなぁ。

2014年3月20日 (木)

ぼちぼちやります。

年が明けてから今年の目標も立てずに、仕事が忙しいことを言い訳にして3月まで来てしまいました。でも、仕事が忙しいからこそ、マイクロマウスを作りたい気持ちでいっぱいです。そろそろ今年のマイクロマウス開発プロジェクトをスタートしたいと考えています。

ちなみに、仕事は朝8:30から夜21:45まで、土曜日も仕事してますって感じです。疲れて帰宅して、22:00から自宅でロボット開発なんてありえない。その通りです。土曜日も仕事してたら、日曜日しか空いてる日ないですね。しかも、放送大学の講義とってます。それじゃいつ開発するんでしょうか。ん~、前途多難です。

2013年5月 3日 (金)

ひきこもって Eagle練習

ゴールデンウィークの前半は実家に帰って、後半は自宅でゲームばかりしています。うわー、ひきこもりまくりだ!

ひきこもりついでに、電気系のCADソフトであるEagleを使って、簡単な回路図を作っています。目的は2つあって、Eagleの使い方を覚えることと、表面実装にチャレンジすることです。今年はマイクロマウスの回路を表面実装で作ってみたいので、その練習をこの連休中にやってみようと思ったわけです。

それにしても、部品拾いがめんどくせ~~~!

2013年2月14日 (木)

アナログ壁面センサ用のハイパスフィルタ設計

久しぶりにマイクロマウスの話題です。先週末の3連休は、マイクロマウスのアナログ壁面センサに使用するためのハイパスフィルタについてPSpiceを使って試行錯誤していました。Spiceというのは電子回路のシミュレータで、PSpiceというのはその一種です。Amazonでこの本を買って入手しました。

まず、アナログ壁面センサの外乱になる光としては、蛍光灯や白熱灯、水銀灯、スポットライトなどがあり、これらは商用電源の周波数の2倍の周波数で点滅していることが知られています。すなわち、1Hz以下の定常的な外乱以外に、東日本なら100Hz、西日本なら120Hzの外乱があるわけです。

このような外乱を抑え込むには、一般的にはハイパスフィルタを使います。今回初めてハイパスフィルタを自分で設計してみようと思ったわけですが、そこで遭遇した考慮すべき事項を幾つかあげてみます。

  • どのような出力を期待するのか?
  • 回路は複雑になってもよいのか?
  • 部品点数は多くてもよいのか?
  • どうやって狙った特性が出ていることを確認するのか?

一番シンプルにCR回路によるハイパスフィルタを採用することを考えると、遮断周波数をいくつにするかが問題になります。外乱が120Hzだから遮断周波数を120Hzにするとどうなるでしょうか? 遮断周波数は電力比で考えた時に1/2になる周波数ですから、電圧比だと1/√2(約0.7)になります。これでは外乱を十分に抑え込めるとは言えません。

この外乱を半分まで抑え込みたい場合、取れる手段としては2つ考えられます。

1つ目は遮断周波数を高くすること。2つ目はハイパスフィルタを2段にすることです。遮断周波数を高めにとる場合、例えば遮断周波数を240Hzで設計すると、120Hzの外乱に対して約 6.8dB減衰させるので電圧比でいえば約0.46倍で、狙い通り半分以下に抑え込めます。

CR回路によるハイパスフィルタは特性が比較的のっぺりしているので、もう少し急峻な特性を得たいと考えると、ハイパスフィルタを2段にすることが考えられます。これが2つ目のの手段です。遮断周波数 120HzのCRハイパスフィルタを2段にすると、120Hzの外乱が約 9.7dB減衰され、電圧比で約0.34倍になります。これなら、外乱を十分抑え込めたと言えるでしょう。

どちらの手段を用いるにせよ、ハイパスフィルタの出力は尖ったものが出るので、CPUのADCで読み込むタイミングが悪いとピークを拾えません。なので、簡単なピークホールド回路は必要になるものと思います。これもPSpiceでピークホールドできることを動作確認しました。

では、1次(=1段)のCRハイパスフィルタで遮断周波数を高めにとるのと、2次(=2段)のCRハイパスフィルタにするのと、どちらが良いでしょうか? 部品点数から考えれば部品点数が少ない方が良いに決まっています。遮断周波数を高くした場合のデメリットは何かあるでしょうか?

受光素子にフォトダイオードを使用した場合、フォトダイオードの応答速度は約100ns、フォトトランジスタを使用した場合、フォトトランジスタ (東芝 TPS601A)の応答速度は約 2us。ですから、遅い方を取って受光素子の立ち上がり時間にさらにマージンを見て20usとしても、フィルタの特性に対して特に悪い影響はなさそうです。確認のためPSpiceで受光素子の出力に見立てた信号の立ち上がりを100usまで遅くして過渡解析をしてみましたが、それでも大した影響は見られませんでした。

ということで、結論です。部品点数は少ないほどよいので、遮断周波数を240HzとしてCRハイパスフィルタを設計し、それにピークホールド回路を追加したものを採用することにします。

2012年8月 4日 (土)

再スタート

仕事が一段落し、放送大学の期末テストも片付いたので、マイクロマウス開発を再スタートします。

今年はAVRを使ってみたい、さらには表面実装にもチャレンジしてみたいと思っていたのですが、5月の連休から完全にマウス開発がストップしていました。そしてもう8月。今からハード開発をやっていたのでは、11月の全日本大会に間に合わない。ここは気持ちを切り替え、H8/3052を使った昔の機体を使ってプログラムをC++で書きなおす方針で開発をすすめることにしました。

C++。学生時代にちょろっと勉強したけど実務で使ったことはなく、設計はオブジェクト指向の考え方で実装はC言語というアンバランスを10年近く続けてきました。これを機会に、組み込み用途でC++を使えるようにしておきたい、というのが今回のチャレンジ内容です。

C++を組み込み系で使用する場合、例外処理やnew/deleteによる動的なメモリ管理など、よく考えないと危ない部分があります。そこで今回は、JSF Air Vehicle C++ Coding Standard を参考にさせてもらうことにしました。これは、JSF = F35戦闘機の開発で使用されている、安全性に対して要求される水準が非常に高い開発のために考えられたC++用コーディング標準です。(一般人向け説明はこちらをどうぞ。) 大規模開発を行うわけではないのですが、先人の知恵を学ぶという意味で参考にさせてもらいます。

まずはシミュレータ上で迷路探索アルゴリズムを作っちゃおうかな。

2012年6月 6日 (水)

マイクロマウス開発が止まっている

6月ですよ。放送大学の通信添削を日曜日に提出して気持ち的に一段落していますが、仕事がちょっとばかり忙しのと、あれこれやらなきゃいけないことがあるのとで、マイクロマウスが開発が完全にストップしています。

開発の手が止まっている最も大きな理由は、Eagle CADを使うのが初めてなせいで、部品を拾いながら回路設計していくがとても面倒だと感じているからだと思います。そんなこんなで、ゴールデンウィークから一切進展なし。まずいです、このパターンは開発が間に合わないパターンです。

今6月初めなので、全日本大会が11月として開発に使える期間は5ヶ月。計画を立てなおして巻き返しを図りたい。最悪の場合は、新しいハード開発を諦めて、昔のハードでソフトだけ完全に作りなおそうかな。時間ないしね。

2012年5月 6日 (日)

表面実装用の電解コンで悩む

やっと Eagleのライブラリに ATmega1284Pを部品登録することができたので、Eagleの練習、表面実装の練習、AVRの練習を兼ねた実験用ボードを設計することにしました。

そこで最初に出くわした壁。電源の近くにいつも発振防止用にセラコンと電解コンをセットにして配置していますが、この電解コンは表面実装の場合どうしたいいのでしょうか? 他人が描いた回路図を見ても、どうしているのかわかりません。

なんで悩んでいるかというと、私の主たる部品調達先である秋月電子に適当な容量の表面実装用電解コンが無かったからです。具体的には16V, 100uF程度のものが欲しいのですが、秋月にない。う~ん、じゃあマルツで探せばいいじゃね

ということで、blogを書いている間に解決しました。

2012年5月 5日 (土)

マイクロマウスのCPUにAVRを使ってみよう

一昨年まではつくばチャレンジ、昨年は会社の研修でマイクロマウス開発から離れていましたが、今年はつくばチャレンジもなくなってしまったのでマイクロマウスに戻ってきます。

さて今年のマウスですが、Atmel社のAVRを使ってみようと考えています。これまでずっとルネサスのH8/3052やSH7125などを使ってきたのですが、それに不満があるということではなくて、単にAVRが面白そうだから触ってみたいというそれだけの理由でAVRを選択しました。

AVRにはいいところがたくさんあります。

  • 世界中で広く使われているので、困ったときに情報を探しやすい。
  • 非常に安価なJTAG-ICE (JTAGICE3 $199)が登場した。
  • C/C++統合開発環境 (Atmel Studio) が無償提供されている。
  • ライブラリが充実している。
  • 秋月でAVRを扱うようになった。

AVRを使うこと以外に、今年は回路の表面実装に挑戦してみようと思っています。なので、CADもEagleに乗り換えて、生基板はP板.comかOlimexに外注する予定です。

今ちょっと、ATmega128-16AUを使うか、ATmega1284P-AUを使うかで迷っています。というのは、Eagleのライブラリに部品登録するのが面倒だからです。前者はSeeed StudioのEagleライブラリにあるので自分でそれ自体を登録する必要はないのですが、内部SRAMが4KBなので外部SRAMを追加したい。けれど、そうすると秋月あたりで入手可能なラッチや高速SRAMをライブラリに自分で登録しなきゃいけない。どちらにしても、部品登録の手間が発生するわけです。う~ん、面倒くさい! 会社だとこの手の仕事は部品情報システムを担当している部署でやってくれるくらい、手間の掛かる仕事なんですよね。

部品点数が少ないほうが作りやすいから、やっぱり後者かな。

2008年11月23日 (日)

ツクモが営業中断というニュース

すでにIT MediaIT Proで報じられているとおり、九十九電機の資産がNECリースに差し押さえられて、営業を続けられなくなったそうです。私はこのニュースを、21日(金)に知りました。

このニュースが私にとってどのように重要かと言いますと、ツクモにはロボットのキットや部品、本、工具などを扱う「ロボット王国」(旧:ロボコンマガジン館)があって、モータドライバICやマイクロマウスのホイールなどロボットの部品をここから調達していたので、このお店が無くなってしまうとちょっと困るかなぁ、というところで私にとって重要。秋葉原でモータドライバICを扱っているお店はそれほど多くないので、結構重要かなぁと思うのですが。

今後モータドライバICを買うときは、アールティさんでお世話になりそうです。

2007年11月20日 (火)

つくばチャレンジ結果 (-_-)

報告が遅くなりましたが、去る11/15, 16 に開催されたつくばチャレンジの結果報告です。一言で言うと、「予選敗退」でした。

11/15(金)は予選日ですが、平日だったので年休をとって参加しました。予選(トライアル)はスタート地点から100m走ればOKで、本戦で1km走れるかどうか見るために実施されました。出場30チームのうち、予選を通過したのはわずか11チーム(お情け含む)でした。

Surugamarugt_front

うちのチーム(東海大・水野研:Surugamaru GT)は予選敗退の方。写真はそのロボットで、センサはGPS受信機のみ。お子様が乗って遊ぶおもちゃにマイコンボードとPCを載せて、PCにGPS受信機が繋がっています。PCには中継地点(way point)にロボットを誘導するナビゲーション用アプリが載っていて、これがマイコンに対して右だ左だと命令を出します。マイコン(SH2)はその命令を受け取って、台車のステアリングとアクセルを制御するという、至極簡単な仕組みです。超音波センサや方位センサなどは、部品としては用意しましたが、それを使うレベルにまで至らず搭載していません。東海大沼津キャンパスのグラウンドでは野球のダイアモンド(1塁、2塁、3塁、ホームベース)を右回りでも左回りでも1周できるレベルだったのですが、11/16のトライアルでは2回の試走ともスタートして数秒後に大きく左にコースアウトしてリタイアしました。トライアル終了後、PC上でログを見てみたところ、GPS受信機が受信した緯度経度の座標が(ロボットは南に向かって走行したのに)北に向かって移動したことになっており、そのせいでロボットは向きを修正しようとステアリングを左いっぱいに切った結果コースアウトしたようです。なぜGPS受信機がそのような座標を計測したのか、まだ解明できていません。

11/17の本戦ではメディアもいっぱい集まっており、最初にスタートした産総研のロボットはギャラリーに取り囲まれて走るはめになりました。お子様もロボットを応援してくれるのはいいのですが、ロボットの前をチョコチョコ走り回るのはロボットに優しくないので勘弁してあげてください。ゴールの目印(といっても、1kmと書かれた小さなテープが歩道脇に張られているだけ)の直前でぴったり停止したロボットが2台ありましたが、ゴールの位置がスタートから正確に1kmだったかどうかあやしかったことと、本大会はあくまで技術チャレンジであることなどもあって、みんなに「これって1km走ったよね」と認められればチャレンジ成功という柔軟な対応で、チャレンジに成功したロボットが3台になりました。細かい話や写真は、各種メディアで取り上げられると思いますのでそちらを見てください。

(追加情報 2007/12/4)

いつまでたってもインターネット上のニュースサイトや(主催者である)ニューテクノロジー振興財団のサイトに大会の結果がアップされないので、ここにアップしておきます。

  • エントリー数 33チーム
  • トライアル出走 27チーム
  • 本戦出場 11チーム
  • 1km完走 3チーム

みごと1kmを完走したチームは、金沢工科大学チーム、筑波大学知能ロボット研究室つくろぼチーム(大島さん)、筑波大学知能ロボット研究室屋外組チームの3チームでした。

(訂正)

結果、探したら載ってました。失礼しました。

最近の写真