[[ゼミのお話/アルマジロゼミ]] *通信方式や制御とかで使う分に有用な情報,主にRS-232C,RS-485, 全二重,半二重に関するもの [#d695a65a] -http://bluefish.orz.hm/sdoc/inout.html#%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB%EF%BC%88RS232C%29 --一般情報 -http://aitech.ac.jp/~furuhasi/robo/technical/motor/serial.html --特にFUTABAのRPU-100に関する詳細情報がありがたい -http://www11.plala.or.jp/siso/ --RPU-10のプログラム等情報いっぱい -RPU-10とRPU-11は違うもの.FutabaとG-robotとかなんとかというもの.しかし,知っているFutaba RPU-10とは違う,RPU-11にそっくりなRPU-10もあり. *荒 [#jf4c82c9] ttyAM1(CON6)に値を送信してサーボコントローラを動かすつもりでいるプログラム~ 動かん!動かん! #ref(servotest.c); ttyAM1(COP6)を9600bpsに設定 # stty -F /dev/ttyAM1 9600 *倉重 2010-07-21 [#k91be6ab] -http://armadillo.atmark-techno.com/faq/serial-programming --シリアルポートは ---#define SERIAL_PORT "/dev/ttyS0" /* シリアルインターフェースに対応するデバイスファイル */ --だけどいいの? *荒 2010-07-21 [#e103227e] Armadillo300+debianではttyAM0, ttyAM1がそれぞれCON7, CON6シリアルポートのデバイスファイルになっています。 試しに、Armadillo300のCON6とPCのシリアルポートをつないで、速度(bps)を合わせてから、~ PC側で(ttyS3は今回使ったPCのシリアルポート) PC:~# cat /dev/ttyS3 Armadillo300側で(ttyAM1はCON6ポート) armadillo300:~$ echo test > /dev/ttyAM1 とすると、PC側に「test」が表示されました。逆も同様。 ttyAM1ではなく、ttyS?を指定した場合は armadillo300:~$ echo test > /dev/ttyS0 -bash: /dev/ttyS0: そのようなデバイスやアドレスはありません armadillo300:~$ echo test > /dev/ttyS1 -bash: /dev/ttyS1: そのようなデバイスやアドレスはありません armadillo300:~$ echo test > /dev/ttyS2 -bash: /dev/ttyS2: そのようなデバイスやアドレスはありません armadillo300:~$ echo test > /dev/ttyS3 -bash: /dev/ttyS3: そのようなデバイスやアドレスはありません armadillo300:~$ echo test > /dev/ttyS4 -bash: /dev/ttyS4: そのようなデバイスやアドレスはありません となりました。 ** 出力・動作に必要な物品一覧 2010-07-21 [#ab0d0d1e] ・サーボ~ http://www.rchobby.jp/online/~ 左メニュー(サーボ) ・アンプ(モータを回す場合)~ http://www.rchobby.jp/online/~ 左メニュー(アンプ) ・HP-WR-020 953円~ http://www.rchobby.jp/online/~ 左メニュー(サーボ用延長コード) ・HP-SERCON-M5L 431円~ http://www.rchobby.jp/online/~ 左メニュー(サーボ用延長コード)~ コネクタープライヤーいるよ! ・センサーケーブル2mmピッチ3P-3P 20cm 315円~ http://shop.robotsfx.com/shopdetail/002002000015/order/ ・FH2x5(ピンソケット2×10) 50円~ http://akizukidenshi.com/catalog/g/gC-00168/ 買う場合は本田先生式で。 *倉重 2010-07-22 [#k91be6ab] **ttyAM0, AM1 [#c41a5a5a] -なるほど,ttyS*は一般のLinuxの話であって,armadilloではデバイスファイルの割り当てがttyAM0,1になってる,ってことだね.了解です.またテストありがとう **RTS,CTS結線の意味 [#o3e4b144] -フロー制御に係わる誤動作を防ぐためっぽい --http://www.nahitech.com/nahitafu/mame/mame5/rs232c.html **シリアル通信プログラムの情報 [#p4d1fc41] -http://armadillo.atmark-techno.com/faq/serial-programming -http://www.linux.or.jp/JF/JFdocs/Serial-Programming-HOWTO.html -http://www.linux.or.jp/JF/JFdocs/Serial-HOWTO.html -http://www.linux.or.jp/JM/html/LDP_man-pages/man3/termios.3.html -http://www.linux.or.jp/JM/html/LDP_man-pages/man4/tty_ioctl.4.html -http://armadillo.atmark-techno.com/articles/my-gadget-part3 -http://www.02.246.ne.jp/~torutk/cxx/serial/posix_serial.html -詳細UNIXプログラミング **AGB65RSC [#cbd5afc9] -基盤の電源(9V)はうまくやるといらない --http://www.robotsfx.com/robot/robohow/RoboHow61/RoboHow61.html ---実際の接続-RSCの電源,の項目 **お店 [#ifc94aca] -ケーブルの店 --http://www.aitendo.co.jp/product-list/119 *倉重 2010-7-23 [#c7e3d1a3] **菅井君への質問状 [#z46bcda2] -ものづくりで,有線/無線LANの状況は? --使える? --IP申請やっぱり必要? --ローカルLANの有無 ---こっちで用意した場合,HUBの有無,LANケーブルの有無 -バッテリーチャージャーない? -配線・端子は売ってる? *倉重 2010-7-27 [#la8f5652] **開発環境について [#j94dba88] -PCで開発している? --windowsでVMware? --linux? -armadillo上で開発している? --apt-get install gcc? ---includeファイルが全くなし --apt-get install binutils-dev gcc g++ libpopt-dev make patch ---以下のファイルをコンパイル,実行して,シリアルポートへ出力を確認した. #ref(serial_test01.c); #ref(serial_test02.c); ---ioctl使用 #ref(serial_test03.c); ---posix cfsetispeed, cfsetospeed使用 #ref(serial_test04.c); ---posix cfsetspeed使用 *荒 2010-7-30 [#s7528d14] **Re:開発環境について [#j94dba88] -PC --開発はdebianをインストールしたPCを使っています。本田研ではdebianがメインなので。~ armadillo上で走らせるプログラムは基本的に、PCでソースを書いて、armadilloに転送してからgccでコンパイルしています。~ -armadillo --serge(Ver.3のdebian)をインストールした時はgccがデフォルトで入っていました。~ 規模が大きいときはクロスコンパイルという選択肢もありますが、今のところカーネルの再構築にしか使ったことがありません。 **サーボコントローラにデータを送るプログラム [#if77ffd8] -実は、昨日やっとサーボコントローラを動かすことに成功しました。~ AGB65-232Cがいらないと思い込んでいたのと、その前は配線ミスをしていたようです。 -プログラム確認しました。~ serial_test02.cについてですが、ボーレートをAGB65-RSCのデフォルトである9600bpsに変えれば動くと思います。~ こちらで動作確認してみます。 *荒 2010-8-2 [#h3532474] -serial_test02.cについて~ --とりあえずプログラムを書き換えずに実行→動作せず~ --25-26行目を以下に書き換えて実行→動作せず cfsetispeed(&newtio, B9600); cfsetospeed(&newtio, B9600); --Armadillo-300のシリアルポートの設定を変えて実行→動作しました! stty -F /dev/ttyAM1 9600 -プログラム内でボーレートを設定する方法を考える? -このポートではAGB65シリーズしか使わないのでsttyコマンドでボーレートを変える方法でよい? *倉重 2010-8-3 [#s40d62c2] -センサ用のプログラム --コンパイルしておらず,一気に書いたのでどっかおかしい可能性大 #ref(serial_test05.c) --とりあえず05が動かなかったので新規06作成 #ref(serial_test06.c) --sleep,usleep test #ref(serial_test07.c) ---ok *倉重 2010-8-5 [#oae7352c] **センサプログラムについて [#ldbe8196] -恐らく,非カノニカル処理(第三回の資料を参考)が必要である. --VMINとVTIMEの関係で,4種類必要かも.またVMIN=1, VTIME=0の時のread(fd,buf,sizeof(buf));で2文字以上読みこめるかしりたい #ref(serial_test08.c) ---08は,cfspeedのあとにtcsetattrがやっぱ必要 #ref(serial_test09.c) -ホントいうと,更に非同期処理が必要 **シリアル通信に関する疑問 [#tda08252] -半二重だっけ?全二重だっけ? --全二重なら,マルチプロセス化しやすいかも. *倉重 2010-8-6 [#q5c0564e] **シグナル [#a8269530] -非カノニカル入力処理・非同期の実装のため,unixのシグナルを勉強 --http://www.nurs.or.jp/~sug/soft/super/signal.htm *倉重 2010-8-17 [#ha7eddc0] **荒君へ [#ef8ce2c8] -ものづくり基盤センターで安定化電源あり.あれ?電池いらないことない? *荒 2010-8-25 [#a8a83bb9] **電源について [#e71a1ea5] -ものづくり基盤センターにある安定化電源は6つだそうです。あと、借りる手続きもちょっとめんどくさいそうです。 -(案1) 5VのACアダプターを別に用意する。 --買う必要がある。1つ600円くらい。端子も作る必要がある。 -(案2) アルマジロのシリアルポートの5Vから供給する。 --シリアルポートに電源端子をハンダ付けする必要がある。AGB65ボードとサーボ一つくらいなら動くはず。(要検証) ---+5Vじゃなくて+3.3Vしか出てなかったのでだめでした。 -(案3) --Armadillo-300の電源から並列で引っぱってくる。 *2010-8-26 [#q8e474cc] |host|MAC|MAC-wlan| |arm300-00|00:11:0C:01:13:F2|00:80:92:41:35:03| |arm300-01|00:11:0C:01:14:EE|00:80:92:41:3B:1D| |arm300-02|00:11:0C:01:15:04|00:80:92:41:3B:33| |arm300-03|00:11:0C:01:15:03|00:80:92:41:3B:32| |arm300-04|00:11:0C:01:15:05|00:80:92:41:3B:34| |arm300-05|00:11:0C:01:15:10|00:80:92:41:3B:3F| |arm300-06|00:11:0C:01:15:11|00:80:92:41:3B:40| |arm300-07|00:11:0C:01:14:FF|00:80:92:41:3B:2E| |arm300-08|00:11:0C:01:15:00|00:80:92:41:3B:2F| |arm300-09|00:11:0C:01:15:02|00:80:92:41:3B:31| |arm300-10|00:11:0C:01:15:01|00:80:92:41:3B:30| *倉重2010-8-30 [#z27fd163] **電源について [#d4713f03] -サーボにつなげる電源は,基板電源と共通にするなら,7.5V以上でなければいけなさそう(AGB65-srcの紹介ページより) -AC-DCアダプターで9Vだと,以下のものがおっけ --http://akizukidenshi.com/catalog/c/c9v/ **基板 [#e7b8017e] -Armadilloの基板サイズ --83mm x 134mm *荒 2010-8-30 [#wd4e01ad] **電源について [#we087d8f] -確かに、基板用電源は7.5V以上が必要みたいですね。今まで5V供給で動いていたみたいですが・・・ -今回のサーボ(一般的なRCサーボ)が4.8V駆動なので、7.5Vだとサーボが壊れる可能性が大きいです。 --やはりちゃんと使うなら基板用電源とサーボ用電源は別にしたほうがいいかもしれません。(ジャンパピンとか買っちゃったけど・・・) *倉重2010-8-30 [#x5beec8c] **電源について [#r06f1200] -コントローラ上に電源回路のってるって書いてあるけど,どの程度の電源回路なのかな?7.5V以上入力の場合,RCサーボに4.8V供給してくれないかな?それとも,近藤科学サーボが7.5V以上で駆動しており,コントローラ上の電源回路は単に電圧の分配をしているだけかな? -テスタで計ってみるか. *荒 2010-9-8 [#y19f5fd7] **シール用画像 [#q5ac78ef] -A4サイズにメーターと接続端子のシールを8セット作れるようになっています。 -OpenOffice形式 #ref(meter2.odg); -9/13更新 #ref(meter3.odg); -10/8更新 #ref(meter4.odg); --切り込みが左右逆だったのを修正