Home Contact Sitemap

洛星ロボット研究部 開発日誌

洛星中学高等学校のロボット研究部・同好会のブログです。

    アーカイブ
    ブログロール
    • happybusy
    Amazonサーチ

ごく最近の出来事

Filed under: 56期サッカー班

木工職人リーダです。

ロボットの電子回路をこの休みの間に作っていました。で、いろいろ作ったのですが、それぞれ問題だらけでした。まず、赤外線センサなのですが、分圧抵抗は実測した結果、1MΩが最適であるということがわかりました。MΩ単位の抵抗を通してあるのでインピーダンスは非常に高いですが、電圧に関してはそのまま直結させても差支えがないくらい感度がよかったです。OPアンプで増幅した結果、ボールは2m離れていても余裕で反応することができました。つまり、ゴールの端から端までボールを見渡すことができるのです(ここにたどりつくまでにいろいろ苦労はしましたが)。

アンプで電流増幅を行った後、それをADコンバータICに入れてSPI通信をさせるのですが、きちんと動作されているのかがわからないのでそのアナログ量を出すためにUART通信をしてパソコンにその数値を送らなければなりません。RS-232-Cとマイコン側の5(または3.3)VパルスとのインターフェースをとるICがなかなか動かないということが起こりました。今日の作業はこのくらいでした。

By kouji . 2010-01-19 . 02:53
コメントお待ちしております!

モータの動作

Filed under: 56期サッカー班

木工職人リーダです。この前、モータドライブ回路とマイコン回路をつなぐと単体動作をしていたのに動かなくなってしまうという事件がありました。しかし、TTLロジックをCMOSに取り換えて、回路を別のFETに変えてもう一度試してみたらちゃんと動きました。そこで比較対照実験はしなかったので何が原因だったかは特定できませんが問題となる要素について書いておきます。

・どうやらCMOSはTTLよりも入力抵抗が大きいのでTTL→CMOSはスイッチング可能ですがCMOS→TTLは動作が保障できないようです。

・FETにはゲート大電流を流さないと動きませんでした。これはFETが壊れている(または痛んでいる)からだったようです。作り直した結果、マイコンからの信号がうごきましたから。これをFETが正常に動いたと錯覚したようです。

ともあれ、マイコンからプログラムに後れを出さないために先に”測距”でもつけて超音波センサの代わりにしようと思います。

P.S.今日は全員チーム員がそろい、作業をしていました。これからもこういった状態になることを望みます。

By kouji . 2010-01-14 . 02:59
コメントお待ちしております!

赤外線センサについて

Filed under: 56期サッカー班

木工職人リーダです。今日は作った回路が動かなかったので赤外線ボールに対する距離の変化に伴う赤外線センサの抵抗値を調べました。

使用した発光素子:RCJ-04(TLN119相当)
使用した受光素子:TPS616
環境:蛍光灯が付いている部屋でセンサの覆いなし
100mm :200kΩ
300mm :500kΩ
1000mm:2MΩ
2000mm:4MΩ

といった感じです。どうやらロボカップ用のボールの赤外線の出力が弱いのでこのように抵抗値が大きいままになったのだと思います。データシートを参照してみると光電流(uA)と放射照度(mW/cm2)が一次関数の関係になっていました(私の眼か脳が誤作動しない限り)。ただ、この超ハイインピーダンスの増幅をそうやってしよう?

一応、センサが2000mm離れた赤外線を検出したので理論上このセンサで端から端のボールを検出することが可能ということがわかりました。例の”センサボックス”は最高入射角度がtan(11/40)位にしておきますので多分外乱光の心配はありません。ちなみにtan(11/40)って15度くらいですよね~。

しかし、残念ながら作った回路はこの受光素子の抵抗値を10k~50kΩを想定したものであったので回路を変えないといけないことになりました。ああ、面倒です。以前の測定には人体(私)がテスタの低光景に並列につながれていたので出てきた値は30kΩとか上記の資料からすればいい加減な値でしたが、そのまま作っていました。だから動かなかったんだと思います(回路のミスもあった)。余談ではありますがTPS616は私の見た限り一番安いところではひとつ50円で売られていました。

By kouji . 2010-01-13 . 02:28
コメント受付中! (1)

モータの制御について

Filed under: 56期サッカー班

木工職人リーダーです。

顧問によればどうやら二つ両方ともロボカップに出ることができるようなので両方とも出させてもらうことにしました。ああ、花盃(仮)チームリーダと私は実は同一人物でした。

モータの制御方法を変えてみることにしました。下の図を見てください。

logic_motor.png

入力に使用するピンは正転逆転のどちらかを判断させるために使用する入力ピンと速度の調節をするためのパルス波を入力するピンの二つがあります。

使用するマイコンの機能は従来の単なる保護回路としてのロジック回路とは違いタイマの使用するチャンネル数が2つから1つに減り、その代りに汎用ピンが一つ多めに必要となっております。ATmega644Pのマイコンにはタイマが3chしかない(パルス波6ch出力可能)し、モータ以外にもタイマ機能は必要でタイマやADコンバータの個数でマイコンの個数を増やしていましたが、タイマが一つのマイコンで足りるようになったのです(ADコンバータ関連の問題は後日記載します)。

この回路はchibieggさんからヒントをもらって考えました。chibieggさんありがとうございます。

By kouji . 2010-01-11 . 01:03
コメントお待ちしております!

車体の計測

Filed under: 56期サッカー班

こんにちは、木工職人(仮)チームリーダです。11月に考えた新機体がやっと完成体に近づいてきました。もちろんまだ完成にはそこそこ遠く、仮にできてもそれは完成に暫定という言葉がつき、常に改良が進められるのですが……。

特にホワードのほうは第二のホールドとシュート機構、ディフェンダ-のほうはシュート機構とボールを取り込みやすくするためにロボットに3mmの溝を掘らないといけません。それから赤外線センサの位置も変える必要が出てくるので結構きついですね。実際に内部に機能のないハッタリが多いですが、とりあえずサッカーロボットの写真をとっておきました。ブログに乗せるために解像度の変更や私の写真の撮る技術によりかなりわかりづらいものがあるかもしれませんがご了承ください。

二輪がフォワード(FW)で四輪がディフェンダー(DF)という役割となっております。基盤の取り付けに困ったり新たな仕様変更があったにもかかわらず未だに部品の発送がまだということがありますから基盤は機体の上に乗っかっているだけといったものもあります。基盤は何かとさらなる小型化やアーキテクチャの変化や機体に組み込みやすいように改造するので取り付けは極力最後に回しています。

11月版新ロボットの高さはかなり低くなるように設計しました。実測値ではFW110mm(最上部のホールドなしの場合は80mm)でDF85mmでした。重心は高さ40mm以下の場所に全体重の7割以上は来ているようにしています。そこにはモータ四つ(または二つ)と電池とシュート機構がありますから。モータはどうやら速度がFWでは1m/sでDFでは0.5/sくらいでした。FWとDFのタイヤの直径は65mmと40mmで同じモータと電源を使っているのですが、今更ながらDFの速度が遅いので(しかもまっすぐに進む時の効率は直進のときの速度をsとおくとs/sqrt(2)、直進の時の速度よりも落ちてしまいます。プログラム上の問題で何とか解決するしかないですね(ディフェンダーがそんなに直進するかどうかはわかりません)。

次にロボット全体の重量を量ってみました。FWは846g、DFは918g(両方とも基盤と電池なし)でした。さらに回路の重量が250gくらいありました。シュート機構を200g、電池を合計250gと想定した場合両方合計で総重量約3200gです。制限の2.5kgを超えてしまいました。そこで私はこの約700gの大きな壁を抜けるために次のような策を立てました。

・第二のホールドは当分のことあきらめる(しかも精度が悪ければきれいにホールドしないので逆効果だと)

・車体のフレームですが、モータ駆動部分以外、つまり基盤を乗せるために使うところはMDFを削れば100gの軽量化をすることはできるかもしれません。特にセンサボックスは無駄が多いですね。センサボックスは16方位、中身をくりぬいていない状態で88gです。くりぬけば40gにまで減ります。

・基盤の半田(つまり鉛)の量を少なくして回路の軽量化を図る。50g位は軽くなるかもしれません。回路の重みの原因のほとんどはこれだと思います。デバイスは非常に軽いので。

・コードの固定にありあわせの真鍮スペーサを使っていたとか。これらをジュラコン(プラスチック)にすればもう少し改善されます。センサボックスではなくその固定に16本も金属ねじを使っていました。これをジュラコンにしようと思います。こういった部分の合計は30gでした。ちょっとでも軽くしたいと思いますがこういうことを焼け石に水といいます。2.5kgに収まることを期待します。

これでも総重量は多くて350gくらいしか減りません。電池に革命でもおこして100gくらい減らせたらぐっと規制に近づきますね。だが、軽量化は難しいですね。

By kouji . 2009-12-27 . 01:56
コメントお待ちしております!

CPLDを使っちゃおうかな♪-その②

Filed under: 56期サッカー班

木工職人リーダです。急にバトンパスをさせられていきなりCortexを動かす私。制御プログラムを考えていて一番面倒なのが個人的にモータ制御が一番かなと思います。IO出力が間違えたらFETが飛びますし(保護回路内蔵する羽目に)何か制御文を入れたら1クロックずれますしその補正のためのタイマの使用も面倒です。IOいじってばかりのプログラムなら全部ハードウェアで制御しても問題ない。じゃあ、CPLDを使おうかということになりました。これなら同時処理も簡単なので(シングルタスクのマイコンだと5つ目のモータ制御には20クロック位遅れるかもしれない)制御面においてかなり正確になります。そういうわけでCPLD内部の回路をさっそく設計して開発環境を少しいじってみました(私にとって一番面倒なのは開発環境です)。それだけでは何かもったいないのでほかの機能も付けることにしました。グラフィック表示回路と赤外線センサの最大値をとるコンパレータも内蔵してCortexを軽量化することにしました。おかげで、Cortexのコード容量はさらに減り初期の5分の1くらいになりました(現在20KB)。Cortexの出番がどんどんなくなっていきますねぇ。128KBには簡単に収まりそうです。

By kouji . 2009-12-18 . 02:30
コメント受付中! (1)

CPLDを使ってみようかな♪

Filed under: 56期サッカー班

こんにちは、木工職人リーダです。アレルギーを患ったために数日家に帰ってから寝込みました。

マイコンの処理軽減とかバグとかのことを考えて、CPLDが使えたら何かと便利かと思う毎日。単純動作のものなら簡単にマルチタスク(というか内部に回路を二つ作るのですが)処理動作のものを作ることができる。PLCCソケットに差し込むXC9672あたりのものが一番お手軽なものがやりやすそうだ。ということで調べてみたらどのデバイスはDigi-keyに1000円で売られいた。ソケットも100円以内に収まりそう。今回このデバイスを選んだ理由はIOピン数がそこそこあって値段も手が届きます。FPGAみたいにインピーダンスの設計もあまりしなくてもよく、ボードの設計が難しくなくてソケットがあるので失敗しにくく、参考資料が多い。それに回路図の配線もGNDに雑音が少々乗っても大丈夫ということで結構扱いやすそうだと思い、実験することに。雑音少ないほうがよく、配線が大変なことになるのでOlimexで基盤を頼んじゃおうかなとか只今検討中。

ところで、そのデバイスのスイッチング速度は10ns(100MHz)なので、Cortex-M3と連携を組めそうです。15ns(66MHz)動作のものもありましたけれど72MHzにぎりぎり間に合わないとのことで少々値が張りますがこちらにすることになりました。もしかすると、ロボカップに出るなら来年はこれだけで出場しそうな気がします。ただ、今回のロボカップには基盤を作って間に合うのかといった問題が残っています。思いつきなのでこいつの設計がぜんぜんできていません。3.3V動作なのでAVR、Cortexと直接通信ができそうです。楽ですね。

もし、このデバイスを仮に採用するとなれば、ADコンバータ以外はすべてCPLDでカバーできます。大麻とかなら何チャンネルでもできます。結構スペースをとったモータ保護用のディジタルロジックICもICに内蔵するので必要なくなります。ディスプレイ表示関係も簡単でAVRがするようなこと(私の作ったプログラム)なら処理も早く、使いやすいです。なにかいいことばかり書いていますけれども単純にマイコンだけの欠点を補っただけですね。

By kouji . 2009-12-17 . 17:14
コメントお待ちしております!

考えました②

Filed under: 56期サッカー班

おはようございます。サッカーロボットのプログラムについていろいろと熟慮思考をしていますが、どうやら行き着くところ、新たな一種のOSみたいなものができてきてしまいました。まぁ、むしろそういうものを目指していたのですが・・・・・・。

はじめにCortexをプログラムしようとしたらIOが足らなくなってしまいこれには困りました。ならば、I2CでAVRにつないでやればこと足りるのではと考え、周辺にAVRを増設しました。これでIOピン数の問題はなくなったのですがその分、デバイスの数が増え、当然のことながらそれぞれ通信をしないといけません。そのときに通信データの種類、出身地、容量を決めてやらないと識別できません(もっと亜種類はあると思いますが)。するとそういったデバイスがたくさんあるのでそれを管理するためにまとめてさらに汎用性のあるように改造を加えました。デバイスドライバ的なものの登場です。そして、AVRを使ってがらがらになったCortexのIOには欲しかったSRAMを入れることにして、マザーボード上にSDカードとEEPROMを乗せます。さらにいろいろなデバイスが増えるわけです。そして、そのデバイスの健康を定期的に点検してさせて、マルチタスク処理のための新たな機能を加えたりとか、ファイルシステム、グラフィック制御関数とかを作っていくうちにこれはもはやOSとしか予備用がないような感じになってしまったのです。未完成ですが。周辺のAVRに処理内容をとられてしまい、ロボットの座標が正確にわからなくなった以上もうCortexの仕事はほとんどないのではないか(OS抜きでもAVR以上の仕事はしますよ、当然)ということになってきましたね。こういうこともあってCortexを失敗したら急遽AVRに変更なんてことも普通にできます。

少しばかり眠くなってきました。これで私は寝ることにします。おやすみなさい。

By kouji . 2009-12-13 . 04:21
コメントお待ちしております!

モータドライブ基盤

Filed under: 56期サッカー班

おはようございます。日々お騒がせしている木工職人(仮)リーダーです。
今日はFET回路を制御するためにショートするつながり方があるのでそれを防ぐための回路、つまり今日はロジックの塊を作っていたのです。で、作っていて実感したことは使われていない信号線をきちんとGNDに落としておかないととんでもない予期しないことが起こります(そこをきちんとしなければ結局FET回路は炎上するのですが)。で、結果はちゃんと動きましたよ。実際にモータを動かさずにLEDでやったので実感がいまいち湧きませんけど。それでそれに平行してFET回路を考えていたのですが、NchのMOS-FETを4回路Hブリッジ形にしてつないでもそれぞれがはじめから直列になっている2回路のうち一回路でも導通しているわけではないのでほかの絶縁されている状態にあればスイッチングができないMOS-FETは使用不可となります。タイミングの問題です。パラドックスですね。

今日ロボットの回路を作っていて思ったこと、
機体はモータなどを実際に動かして状態を確認することは目で確認できるほど容易で、人数が非常に多い。ソフトウェアにも強力なJTAGデバッガがあるし、プログラムが間違っていても大損害をこうむることはないしバックアップを取っておけば大丈夫。だけどハードウェアにはああ、使いやすいデバッガが欲しい……。そこで今回のロジック回路の検証のためだけに多数の入力信号のH/Lを確かめるまたは信号を出力するというものを自作して、結構役に立ちました。

By kouji . 2009-12-08 . 03:45
コメント受付中! (1)

そろそろCortexを②

Filed under: 56期サッカー班

やった、嬉しい。ついにCortexとAVRの両方が動いたぞ。たった今、私の作ったプログラムがCortex上で動作していました。実際に書き込みができるまでの過程は成功したのでハードウェア関係はこれから発揮することになります。ソフト開発は結構わかりやすいマニュアルが以外にもたくさんあったので結構はかどるかもしれません。ここからはH8マイコンと同じような感じです。書き込みをする前に新たな回路の構想が立ってそちらのほうがいいので早速換えることにしました。回路図を考えておかなければ・・・・・・。早くモータを動かして赤外線センサの値を読み取りたいです。

By kouji . 2009-12-06 . 01:52
コメントお待ちしております!
« 新しい記事古い記事 »