電子工学部のブログ

京都教育大学附属高校、電子工学部のブログです。 電子工学部では、ロボカップジュニア サッカーBやWROなどの、ロボットの大会に出場しています。
ホームページはこちら

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

8月28日の活動内容

今日の活動内容は、
1、モーターと極小ギアヘッドの組み立て。
2、IR Ball Sensor B.プランのセンサーの具体的な計測方法が完成した。
3、IR Ball Sensor B.プランのセンサーのデジタルブロック配置。

明日の活動の予定は、
1、IR Ball Sensor B.プランのセンサーの製作を進める。
2、コンターマシンの使用方法の習得。
3、卓上ボール盤の使用方法の習得。
4、Creoでロボットの設計を始める。
です。

DSCN4817_convert_20120828173635.jpg
(新しい組み合わせのモーター&極小ギヤヘッド)

DSCN4821_convert_20120828174821.jpg
(新しいモーターギヤヘッド(奥) とこれまでのもの(手前))
スポンサーサイト
  1. 2012/08/28(火) 17:58:24|
  2. 本日の活動内容
  3. | トラックバック:0
  4. | コメント:0

8月27日の活動内容

今日の活動内容は、
1、IR Ball Sensor A.プランにより、僕の考えていた方法でのノイズキャンセリングの有効性を確認した。
2、IR Ball Sensor A.プランがあまり良くないことが分かった。
3、IR Ball Sensor B.プランの構想が完成した。
4、衝撃吸収のクッション材の候補を見つけ、資料請求をした。
5、モーターとギヤヘッドの組み合わせが決定した。
6、新しい電子工学部のブログが認められた。

明日の活動の予定は、
1、IR Ball Sensor B.プランのセンサーを実際に製作してみる。
2、実際にモーターとギヤヘッドを組み合わせてみる。
です。
  1. 2012/08/28(火) 01:49:04|
  2. 本日の活動内容
  3. | トラックバック:0
  4. | コメント:0

電子工学部のブログ

今日、このブログが正式に京都教育大学附属高校 電子工学部のブログとなりました。(これまでは移行の判断用の期間でした)

そのため、今日より”現在作成中のページです”の看板がが取り払われます。

それでは、改めてよろしくお願いします。
  1. 2012/08/28(火) 01:45:54|
  2. 電子工学部
  3. | トラックバック:0
  4. | コメント:0

新しいIRセンサー No.2

この前、やり始めていたIRセンサーの開発の続きです。(まだまだ続くと思いますが、)

今日、自分のデジタルマルチメーターで、赤外線受光モジュールから来る信号を見たところ、周波数が1.197kHz(ボールの仕様書では1.2kHzと書いてあるのでかなり正確な出力)で、ボールを動かしても全く数値がぶれずに、きれいに一定でした!(マルチメーターが壊れて止まっているかと思ったくらいでした)。また、デューティー比も距離に合わせて、きれいに35%〜60%程度で変化していることが分かりました。これは、ボールとの距離の動きを計算できるということになるので、ものすごく嬉しいことです。また、ボールを見失っている時は周波数が多い時でも0.6kHzくらい(モーターの線とモーターをセンサーの周りに(ぐるぐる巻きに)配置して強制的にノイズを発生させたとき)までがた落ちするので、ノイズが発生していても容易に見分けることが出来そうです。

なお、受光モジュールの残像効果(ボールの動き方(それまでのボールの位置)によって同じ場所でも、センサーの出す信号のデューティー比が違ってくること。を勝手に自分で名付けました)により絶対的な距離を測れなかった問題は、受光モジュールには普段電源供給をストップさせて、必要な時だけ電源を供給するという手段で、かなり抑制することが出来ました(人力での低速スイッチング)。電源投入後しばらく(一瞬)は受光モジュールの出力が安定しない可能性があり、それはまた実験する必要がありそうですが・・・

IR_duty
(デューティー比が変化している様子が見れる動画です)

4094-1
(実験の風景です)(複雑そうでコードがぐちゃぐちゃしているところを見ると、なんか嬉しくなっちゃうのは僕だけですか?)

現在は、PSoCを使用して試作の途中段階ですが、受光モジュールからの信号(1.6V程度)を5Vに変換する作業の途中で時間が来てしまいました。しばらく部活が休みになり、カミオカンデにも行くので(僕は)、次は7/24の活動となりますが、それまでは手つかずの宿題をつぶしていきたいと思っています。
  1. 2012/08/11(土) 01:23:00|
  2. ロボット センサー
  3. | トラックバック:0
  4. | コメント:0

8月8日の活動内容

今日は、PSoCマイコンを使用してIR Sensorの試作を始めようと思っていたのですが、不覚にもPSoC Programmerを家に置き忘れ(私物です)、結局別のことをするはめになりました。

ということで、今日はぐしゃぐしゃになって、あっちこっち行ってた電子部品の整理をすることにしました。(電気部品などはまた今度、気が向いたときに・・・)これまでは、いくつかの段ボール箱にしまってあったのですが、必要な部品がどこにあるのか全く分からず、作業効率も下がっていたので、一つの部品箱に整理することに決めました。

ジャーン
DSCN4078.jpg
DSCN4074.jpg
これが、この部活にある電子部品の数々です。(電気部品、コードなどはまた別に、大量にあります)
こんなにあったんだ!と思わず感嘆してしまいました。


ということで、きれいに整理した結果、
DSCN4079.jpg
かなり片付きました。あ〜なんだ〜案外少なかったんだ〜と思いました。これまでは、部品がバラバラにしまってあって、全体像を見ることが全くなかったので・・・
でも、これでかなり作業効率が上がると思います!

じゃあ、明日はIR Sensorの試作を頑張ります!(PSoC Programmerは既にかばんに入れました)
  1. 2012/08/08(水) 19:54:36|
  2. 本日の活動内容
  3. | トラックバック:0
  4. | コメント:0

新しいIRセンサー

ロボカップジュニアに向けて、新しいIRセンサー(赤外線センサー)(赤外線発光ボールの位置を見つけるためのもの)の開発を始めました。

赤外線受光モジュールもいろいろありますが、ボールを感知できる距離が短かったり、ノイズに弱かったり、ボールがすごく近くにあるのに、急に感知しなくなったり、なかなか完璧なものが見つからないのが現状です。

その中で、僕はノイズにはかなり弱いけど、感度や性質がなかなかいいと思うRPM7140を使おうかなぁと思っています。(ほかにも、ちょこちょこ問題点はありますが)
しかし、この受光モジュールのノイズへの弱さは半端ないため、しっかり対策をする予定です。(対策方法も考えています)


IR_noise
(ノイズを検査している様子です)

IR_noise_mortor
(モーターによるノイズを調べています)(モーターノイズが、手を近づけて起きるノイズの次に大きいということが分かりました)

ちなみに、僕が考えているノイズへの対策方法は、一定時間内である程度以上の回数、センサーが感知しなければ、それはボールからの信号ではなくノイズだと判断する方法です。(ボールからの信号は連続的にたくさんの回数センサーがONを感知しますが、ノイズは断続的に少ない回数しかONを感知しないところに目をつけました)(ボールとの信号とノイズでは、信号の方が圧倒的に強いので、ノイズで信号が埋もれてしまう問題はなさそうです)(ちなみに、このノイズはポートがふらついていることが原因ではなく、受光モジュール内部で発生したノイズのせいで出力部分のトランジスターがONになってしまうことが原因だと思われ、実際にプルダウンは全く無意味でした。)
ほかにも、基板などへの固定用にあった金属部分で、本体を覆うようにするということもしました。(意外にこれが大きかったです)

DSCN4069.jpg
(ボールからの信号をセンサーが受け取った時のオシロの画面の写真です)(ちなみに、このときモーターも一緒に回していますが、影響は全くないように見えます)

DSCN4067.jpg
(モーターノイズを受けた時のオシロの画面の写真です)(このノイズはうっとうしいですが、信号と見分けることは出来そうです)


他に、良い赤外線受光モジュールを知っている方は教えて下さると嬉しいです。
  1. 2012/08/07(火) 21:24:37|
  2. ロボット センサー
  3. | トラックバック:0
  4. | コメント:0

STbee Mini、Macでの開発環境の構築(Xcode,DFU)

Macでの、開発環境の構築は大変なものです。構築方法についても、ネット上での情報も少なかったり、古かったりと、これだ!みたいなものが無いのが現状です。僕も、この方法に到達するまでに、何週間もかかってやっと出来ました。(これだけで、かなりMacやXcodeの内部構造について知れたような気がします。)
なお、この方法がうまくいくことは、僕自身が成功したことで証明しますが、バージョンなどの 環境や、その他の原因でうまくいかない場合もあると思います。また、僕の日本語や用語、具体的な方法が分からない場合もあると思いますので、全く遠慮なくコメント欄で質問や異議の申し立てをして下さい。出来る限り対応したいと思います。
ちなみに、この開発環境はOS X Lionのときに作成して正常に動き、Mountain Lionでも正常に動いています。


STbee Mini、Macでの開発環境の構築(Xcode,DFU)

*STbeeでも、おそらく同じ手順でいけます。(未確認)(ダウンロードするStrawberry-Linuxからのサンプルプロジェクト(mini-demo)は、STbee用のもの(http://strawberry-linux.com/pub/stb-led.zip)に置き換えた方が良いかも知れません。その場合、ファイル名が変わるので注意!)
*たぶん、STM32単体の場合でも似たような手順でいけると思います。(未確認)(コンパイラーはARM用のものを使用しているので、ARMのコアを使用していれば、STM32に限らずコンパイルはできるはずです。ただし、Makefileは使用できるかも知れませんが、おそらくライブラリとかは別のものが必要だと思います。)(DFUやDFUSEなど、dfu-utilが対応しているプログラムのダウンロードの方式なら、書き込みコマンドを変えれば書き込めるはずです。)
*つまり、ある程度は応用が効く開発環境だと思います。(未確認)


前提条件
・Xcodeがインストールされている
・MacPortsがインストールされている
*この条件に満たない場合は、Xcode、MacPorts(PATHの通し忘れの無いように注意して下さい)をインストールして下さい。(開発をターミナルで行うとしても必要です。




Xcodeでのコンパイル

1、yagartoをダウンロード(http://sourceforge.net/projects/yagarto/files/latest/download?source=files

2、ダウンロードされたzipファイルを展開して、その中にあるアプリケーションを、デスクトップに移動して、実行する。

3、デスクトップ上に現れるyagarto-4.7.1を/usr/localに移動する。(バージョンによって微妙に名前が違うかも)

4、mini-demoをダウンロード(http://strawberry-linux.com/pub/mini-demo.zip)

5、XcodeでExternal Build toolプロジェクトを作って、その中に、mini-demoの中身を全部プロジェクトに追加する。(必要でないものも有りますが・・・)

6、Makefileの
CC = arm-none-eabi-gcc
LD = arm-none-eabi-ld
AS = arm-none-eabi-as
OBJCOPY = arm-none-eabi-objcopy
OBJDUMP = arm-none-eabi-objdump
SIZE = arm-none-eabi-size
NM = arm-none-eabi-nm
  を
CC = /usr/local/yagarto-4.7.1/bin/arm-none-eabi-gcc
LD = /usr/local/yagarto-4.7.1/bin/arm-none-eabi-ld
AS = /usr/local/yagarto-4.7.1/bin/arm-none-eabi-as
OBJCOPY = /usr/local/yagarto-4.7.1/bin/arm-none-eabi-objcopy
OBJDUMP = /usr/local/yagarto-4.7.1/bin/arm-none-eabi-objdump
SIZE = /usr/local/yagarto-4.7.1/bin/arm-none-eabi-size
NM = /usr/local/yagarto-4.7.1/bin/arm-none-eabi-nm

  に書き換える

(環境の構築完了)

A、main.cの中身を好きなように書き換える。

B、Xcodeでビルドする。

完成!



Xcodeからの書き込み

1、ターミナルで
  sudo port install libusb libusb-compat git-core
  cd /Users/(ユーザー名)/Desktop
  git clone git://git.openezx.org/dfu-util.git
  cd dfu-util
  ./autogen.sh
  ./configure --libdir=/opt/local/lib --includedir=/opt/local/include
  make
  を一文ずつ実行する

2、デスクトップに生成される、dfuse-dfu-utilを/usr/localに移動する

3、Xcodeでのコンパイル が終わった状態までにはしておく。

4、Makefileの313行目くらいに
   program:
$(OBJCOPY) -O binary $(TARGET).elf $(TARGET).bin
/usr/local/dfuse-dfu-util/src/dfu-util -a 0 -d 0x0483:0xdf11 --dfuse 0x08003000 -D $(TARGET).bin
  と書き加える。

7、XcodeのBuild Toolの、Argumentsのパラメーターを$(ACTION)からall programに変更する。



(環境の構築完了)

A、main.cの中身を好きなように書き換える。

B、STbee MiniをDFUモードにする。

C、Xcodeで、ビルドを実行する。

*プログラムのビルドと書き込みが両方行われる。
*次のようなエラーが出て、実行に失敗した場合は、ほとんどの確率でMac側でSTbeeを認識していない場合に起こります。何回か接続のやり直しをすると直ることがほとんどです。それでも直らない場合は、何か別の問題があります。
 /usr/local/yagarto-4.7.1/bin/arm-none-eabi-objcopy -O binary mini-demo.elf mini-demo.bin
 /usr/local/dfuse-dfu-util/src/dfu-util -a 0 -d 0x0483:0xdf11 --dfuse 0x08003000 -D mini-demo.bin
 No DFU capable USB device found
 dfu-util - (C) 2005-2008 by Weston Schmidt, Harald Welte and OpenMoko Inc.
  (C) 2010 Tormod Volden (experimental DfuSe support)
 This program is Free Software and has ABSOLUTELY NO WARRANTY

 dfu-util does currently only support DFU version 1.0

 make: *** [program] Error 1
 Command /usr/bin/make failed with exit code 2


*全てが成功した場合、次のような画面を表示させることが出来ます。



D、STbee Miniをリセットする。

完成!


これが、僕がうまくいったXcodeプロジェクトです。
STbee_Mini_Xcode_Test

最後に。
これらの設定を毎回やり直すのはめんどくさいので、一発で全てが設定できる(ソフトのインストールなどは終わった状態から)Xcodeテンプレートを作成しようとしましたが、あと一歩というところまでは行ったのですが、なぜかlibフォルダの追加がうまくいかず、それだけは手動でやらなければならない、というようなものしか出来ませんでした。誰か解決策を見つけた人はコメント欄にて教えてくださると嬉しいです。
ちなみに、僕が作ったテンプレートはこれです。STbee_Mini_Xcode_Template。/Users/ユーザー名/Library/Developer/Xcode/Templatesに置いて使用します。α版なので、よく分からない人は使用しないで下さい。 続きを読む
  1. 2012/08/07(火) 01:19:10|
  2. STM32
  3. | トラックバック:0
  4. | コメント:2

初めまして、こんにちは。

こんにちは。
今日から、このブログの記事を書き始める、電子工学部のT.Mです。
旧ブログからの正式な引き継ぎはまだ受けていないので、それまでは、”現在作成中”は付けたままになりそうですが、記事は書いていきたいと思います。
出来るだけ、皆さんの役に立つ記事、面白いと思う記事を書いていきたいと思うので、どうかよろしくお願いします。
続きを読む
  1. 2012/08/06(月) 19:40:20|
  2. 未分類
  3. | トラックバック:0
  4. | コメント:0

プロフィール

Takuji Matsumoto

Author:Takuji Matsumoto
FC2ブログへようこそ!

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

未分類 (10)
PSoC (1)
STM32 (1)
ロボット (4)
ロボット センサー (2)
本日の活動内容 (3)
電子工学部 (3)
Mac (1)
Arduino (1)
ロボカップジュニア (0)
ブログ (3)
大学 (2)

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

ブロとも申請フォーム

この人とブロともになる

QRコード

QR

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。