Filed under:
56期サッカー班
木工職人リーダーです。
顧問によればどうやら二つ両方ともロボカップに出ることができるようなので両方とも出させてもらうことにしました。ああ、花盃(仮)チームリーダと私は実は同一人物でした。
モータの制御方法を変えてみることにしました。下の図を見てください。

入力に使用するピンは正転逆転のどちらかを判断させるために使用する入力ピンと速度の調節をするためのパルス波を入力するピンの二つがあります。
使用するマイコンの機能は従来の単なる保護回路としてのロジック回路とは違いタイマの使用するチャンネル数が2つから1つに減り、その代りに汎用ピンが一つ多めに必要となっております。ATmega644Pのマイコンにはタイマが3chしかない(パルス波6ch出力可能)し、モータ以外にもタイマ機能は必要でタイマやADコンバータの個数でマイコンの個数を増やしていましたが、タイマが一つのマイコンで足りるようになったのです(ADコンバータ関連の問題は後日記載します)。
この回路はchibieggさんからヒントをもらって考えました。chibieggさんありがとうございます。
Filed under:
56期レスキュー班(Iris)
久しぶりです。花盃(仮)チームリーダです。
さて、チーム員があまりにも何もしないので分業制にして個人個人の責任を持たせようということをはじめました。みんなで一緒に作り上げるのではなくてちょっとでも一人ですべてはじめから最後まで責任を持ってやり遂げるのです。効果は少し表れました。いつの日かはチーム員が自分から進んでロボットを作る日が来るのかなぁ。
Filed under:
CNC,
お知らせ
中学部長です。あけましておめでとうございます。今年もロボット研究部、同好会をよろしくお願いします。
さて、平成22年です。「今年は平成何年ですか?」といわれて毎回答えに一瞬詰まりますので、この一年間さっと答えられるように、あえて、2010年ではなく平成22年としています。(でもやっぱり、キーを打つ回数は「平成22年」のほうが多い…「2010年」の方が楽…ということで、やっぱり2010年にしときます。)
さて今年は例年通り、2月28日に洛陽工業高校京都ノード(サッカー)が行われます。(2月20日、27日に京都ノードサッカーチャレンジの練習会があります。)
また3月14日に京都ノード(レスキュー)が行われます。こちらは伏見工業高校であります。
そして京滋奈ブロックが3月28日にあります。こちらは、洛陽工業高校です。
・・・と2月、3月の二ヶ月間はいつもどおり忙しいです。
僕も昨日2010年1月1日はCNC関連で結構忙しかったです。
実は、CADデータをGコード(NCプログラム)に変換するCAMであるフリーのNCVCで少し戸惑ったからです。去年の夏はJMM-TOOLを使っていたのですが、ライセンスを取得していないので、Gコードが500行のところでGコード生成が止まってしまいます。500行なんてすぐに突破しますので、早急にこの問題は解決する必要がありました。なのでフリーのCAMソフトであるNCVCを使用してGコードを生成することにしました。
しかし、このNCVCは切削したい線や円(弧)の軌跡,穴加工(実点or円)データを「切削レイヤ」に。工作機械の原点を示す円を「原点レイヤ」に作図しなければならなかったのです。また、それぞれに、「CAM」 「ORIGIN」と名前をつけていなければいけなかったのですが、それを怠っていました。不覚。10分間無駄にしました。NCVCのページにいって速攻解決したので、問題ありませんでしたが。なにはともあれ無事、Gコード生成できました。あとはクラブが始まったらTturbocncをテストするだけです。
(続きを読む…)
Filed under:
クラブ全般
こんにちは、中学部長です。
今年も終わりですね。思えば、テスト前の投稿以来一回も投稿していませんね。すいません。言い訳しますと、テストがあって、タブローがあって、クラブがあって、宿題があって・・・
で、今AVRをやっているんですが、koujiが少し前にいっているように、AVRのコンパイラの最適化により、wait関数が実行されていませんでした。なので引数にvolatileをつけなければいけませんでした。僕はここ(なぜかうごきません - buttのところ)を読むまでそのことに気づかなかったわけですが・・・(H8の時はつけていなくてもいけていたので、完全に忘れていました。マイコンが違うのですから、H8の気分ではいてはいけませんね。)
chibieggさんの詳しいコメントもあり、正確なwait関数はできたのですが、(chibieggさんありがとうございます!)どうせなら、タイマーを使ってwait関数を作ろうと思います。(タイマーの練習をかねて)今年の正月もロボットです。
ところで、中1君の状況ですが、AVRの実験ボードは一人完成させ、H8のマザーボード制作に入っています。(かなり苦労していますが。昨日完成したというのでプログラム書き込みをしようととしましたができませんでした)ほかの子はAVRのボード制作orライントレーサー制作です。頑張れ!プログラム担当はAVRを頑張ってます。
Filed under:
56期レスキュー班(Iris),
CNC
こんにちは、花盃(仮)チームリーダです。ここ二週間でcncを動かしてしまおうかなどともくろんでいる私です。なかなかロボットの製作状況の写真を出さない私ですが、機体のほうはぼちぼちできてきました。そろそろブログに画像を出します。
さて本題のcnc開発第一回となりました。今回分かったことについてすこし書き留めておきたいと思います。
<DLしたもの>
jww-CAD, NCVC, Turbocnc, JMM-Tool
の四つです。
<手順>
大まかな流れは
1.jww-CADを使って機体の製図をする。作りたいものの図を描けばいいのです。
2.NCVCを使って.jwwや.dxfなどのCADデータをGコードに変換する。このソフトウェアでモータの動かす位置の設定、工作機械の設定などをします。出力されるデータ(コード)はどのようにモータを動かすか、どのモータを使うかといったデータ(コード)です。
といったところでしょうか。cnc歴かれこれ2日くらいなのであまり詳しいことはわかっておりません。上記の内容に誤りがあるかもしれませんが新しくわかったことをどんどん書き足していこうと思います。あと、上記のソフトウェアはすべてフリーです。リンクを張っておきます。
P.S.やはり画像データって大切ですね。
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くらい減らせたらぐっと規制に近づきますね。だが、軽量化は難しいですね。
Filed under:
56期サッカー班
木工職人リーダです。急にバトンパスをさせられていきなりCortexを動かす私。制御プログラムを考えていて一番面倒なのが個人的にモータ制御が一番かなと思います。IO出力が間違えたらFETが飛びますし(保護回路内蔵する羽目に)何か制御文を入れたら1クロックずれますしその補正のためのタイマの使用も面倒です。IOいじってばかりのプログラムなら全部ハードウェアで制御しても問題ない。じゃあ、CPLDを使おうかということになりました。これなら同時処理も簡単なので(シングルタスクのマイコンだと5つ目のモータ制御には20クロック位遅れるかもしれない)制御面においてかなり正確になります。そういうわけでCPLD内部の回路をさっそく設計して開発環境を少しいじってみました(私にとって一番面倒なのは開発環境です)。それだけでは何かもったいないのでほかの機能も付けることにしました。グラフィック表示回路と赤外線センサの最大値をとるコンパレータも内蔵してCortexを軽量化することにしました。おかげで、Cortexのコード容量はさらに減り初期の5分の1くらいになりました(現在20KB)。Cortexの出番がどんどんなくなっていきますねぇ。128KBには簡単に収まりそうです。
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がするようなこと(私の作ったプログラム)なら処理も早く、使いやすいです。なにかいいことばかり書いていますけれども単純にマイコンだけの欠点を補っただけですね。
Filed under:
H.K.T.T
テストが終わりました。今年も最後だなーという感じです。
僕のチーム構成員ははChristmas Tableauxのスタッフなので暫く部活動が出来ません。まだ動かしたこともないロボットが完成するのかどうか心配になってくる時期です。
冬休みは正月とかであまり部活動がない上に、タブローの準備で1週間つぶれる。ピンチです。
新たなH8のマイコンボードを製作していると、そろそろ部品(特にコネクタ)が足りなくなってきました。また日本橋までお買いものですね。遠いです……
ロボット代もかれこれ2万円を超えました……財布の中から紙が消えていきます……また買うのかと思うと……テスト以上に死にそうです……
Filed under:
56期サッカー班
おはようございます。サッカーロボットのプログラムについていろいろと熟慮思考をしていますが、どうやら行き着くところ、新たな一種のOSみたいなものができてきてしまいました。まぁ、むしろそういうものを目指していたのですが・・・・・・。
はじめにCortexをプログラムしようとしたらIOが足らなくなってしまいこれには困りました。ならば、I2CでAVRにつないでやればこと足りるのではと考え、周辺にAVRを増設しました。これでIOピン数の問題はなくなったのですがその分、デバイスの数が増え、当然のことながらそれぞれ通信をしないといけません。そのときに通信データの種類、出身地、容量を決めてやらないと識別できません(もっと亜種類はあると思いますが)。するとそういったデバイスがたくさんあるのでそれを管理するためにまとめてさらに汎用性のあるように改造を加えました。デバイスドライバ的なものの登場です。そして、AVRを使ってがらがらになったCortexのIOには欲しかったSRAMを入れることにして、マザーボード上にSDカードとEEPROMを乗せます。さらにいろいろなデバイスが増えるわけです。そして、そのデバイスの健康を定期的に点検してさせて、マルチタスク処理のための新たな機能を加えたりとか、ファイルシステム、グラフィック制御関数とかを作っていくうちにこれはもはやOSとしか予備用がないような感じになってしまったのです。未完成ですが。周辺のAVRに処理内容をとられてしまい、ロボットの座標が正確にわからなくなった以上もうCortexの仕事はほとんどないのではないか(OS抜きでもAVR以上の仕事はしますよ、当然)ということになってきましたね。こういうこともあってCortexを失敗したら急遽AVRに変更なんてことも普通にできます。
少しばかり眠くなってきました。これで私は寝ることにします。おやすみなさい。
« 新しい記事 —
古い記事 »