日々の活動記録や、暇つぶしなどなど
参加します.
が,ちょっとお金(手持ち現金)がなく,新刊作れなかったので,新刊はなしです.
ただ,HA10miniのRev1.3基板を増産したので,基板単品と,トランジスタのみハンダ付け済みを結構な数持っていきます.
値段はまだ決めてないですが,その内.
あとは,時間と財布と相談して,HA10miniについての折本くらい出せたらいいなぁと思ってます.
場所 三日目 X15b
が,ちょっとお金(手持ち現金)がなく,新刊作れなかったので,新刊はなしです.
ただ,HA10miniのRev1.3基板を増産したので,基板単品と,トランジスタのみハンダ付け済みを結構な数持っていきます.
値段はまだ決めてないですが,その内.
あとは,時間と財布と相談して,HA10miniについての折本くらい出せたらいいなぁと思ってます.
場所 三日目 X15b
PR
先日記事をアップした機体でも使っている,HobbyKingのMultiWii基板ですが,すんなり使うには一苦労したので,メモも兼ねて使い方を書いておきます.
まず,ものはこちら.USB-シリアル変換であるFT232RLも乗っており,MultiWiiのファームがすでに書かれているので,USB接続するだけでArduinoIDEから認識することができます.
■基板について
本家に具体的な基板の説明が全く無いのでここに書いておきます.
まず,基板の外観+センサなどの配置はこのようになっています.
この基板ではspectramの受信機とシリアルでつなげる機能がありますが,国内ではspectramのプロポは使えないのでとりあえず無視.
そのため,図中のジャンパは図の右側で固定使用になります.このジャンパを正しく設定しておかないと,設定ソフトで設定ができなくなります.
普通の受信機の場合は図右のTHRからAX1までに接続します.AX2から4は後述しますが,排他利用のため,そのままでは使えません.
ESCは右下のD9,D10,D3,D11につなぎます.どこにどうつなぐかは後述します.
まずは情報のまとめから.
使用されているIC一覧
U2 FT232RL
U3 ATMega328
U4 5Vto3.3Vのレギュレータ
U5 HMC5883L
U6 BMP085
U7 ITG3205
U8 BMA180
U9 TXS0102DCUR?? 双方向のI2Cレベルコンバータ
ATmega328Pのピン接続
PB0 NC?
PB1 D9 & BUZ
PB2 D10
PB3 D11
PB4 A3 & PWR
PB5 D4(汎用LED)
PB6 XTAL
PB7 XTAL
PC0 A0
PC1 A1
PC2 A2
PC3 NC?
PC4 U9のB2
PC5 U9のB1
PC6 ISPの#RESET
ADC6 BUZの上
ADC7 AX4の下
PD0 AX2 & FT232のTX
PD1 AX3 & LCD & FT232のRX
PD2 THR
PD3 D3 & AX4
PD4 ROL
PD5 PIT
PD6 YAW
PD7 AX1
となっています.ISPはRESET以外もちゃんとつながっているんですが,面倒臭がって書いていません.
ここで注意するのは,&で書かれているものは,それぞれ全てに接続されており,排他利用形式になります.
そのため,受信機をすんなり接続できるのはTHRからAX1までとなり,それ以上は面倒になります.というか,PD3なんて,出力とかちあってるのでどう考えても利用できません.
■接続・設定から飛ばすまで
買った状態そのままの基板でも,MultiWiiの基本的なプログラムは書き込まれていました.デフォルトで,クアッドコプタのX配置の設定になっています.これを変えるには,プログラムを書き換えないていけません.プログラムの書き換えについては後述.
英語読める人はここからどうぞ.
http://www.multiwiicopter.com/pages/multiwiicopter-wiki
まずはMultiWiiの本家プロジェクトから設定ツールをダウンロードします.設定ツールがないと,ゲイン設定などができないので必須です.
http://code.google.com/p/multiwii/downloads/detail?name=MultiWii_2_1.zip&can=2&q=
ここからMultiWii_2_1.zipをダウンロードして適当な場所で解凍すると
MultiWii_2_1
MultiWiiConf_2_1
change.txt
となるはずです.このMultiWiiConfが設定ツールになります.MultiWiiの方は,Arduinoのソースなので,ここでは置いておきます.
設定ツールはJAVAで作られているので,JAVAのランタイムが必要になります.適当にダウンロードしてインストールしておいてください.それが終われば,MultiWiiConfの下の自分の環境にあったディレクトリにあるバイナリファイルを実行するだけです.Windowsなら拡張子がexeのものです.ただ,自分はWindows7の64bit版を使ってますが,32bit版でしかうまく起動できませんでした.まぁ,使えればいいので特に気にしないことにしましょう.一応起動することを確認したら,とりあえず終了させてください.
終了したら,基板をUSBで接続し,FT232のドライバインストールが完了するまで済ませてください.仮想COMとして認識されたらMultiWiiConfを起動します.
起動したら,左の方にあるCOMなんちゃらから基板のCOMポートを選び選択します.
接続がうまく出来ればこんな感じでCOM周辺の文字の背景が緑になります.この状態で,真ん中の白い領域の左上にあるSTARTを押します.
これもうまくいけば図のような表示になるはずです.ただし,この画像では,すでに色々と設定した基板をつないでいるので,ゲインの値やAUX1などの部分の表示が違うかと思います.大事なのは,右下に出てきた機体の表示です.この表示のとおりにESCを接続することになります.左前がD3,右前がD10,左後がD11,右後ろがD9です.そして,ペラの回転方向も右下の図のとおりにします.左前・右後ろが時計回り,右前・左後が反時計回りです.ここの表示は基板から設定を読みだした上で表示されるので,基板の設定が違うものだった場合は,違う機体が表示されます.
後は適当に基板を動かして,右にあるROLLとPITCHがそれっぽく動くか確認しましょう.とりあえずこれだけ確認できればOKです.USBを抜くときは,左上のCLOSE COMMを押してから抜きましょう.それをしないと,再接続した時に,うまく認識してくれません.
続いて,受信機とMultiWii基板をつないでからUSB接続し,プロポの設定をします.プロポは最低4chあれば操作できます.スロットルをTHRに,エレベータをPITCHに,エルロンをROLLに,ラダーをYAWにつなぎます.
この状態でMultiWiiConfを見てみると,右上の表示がそれぞれのスティックに対して反応していればOKです.
スティックの動作と水色のバーの動く向きを揃える必要があるので,適宜リバーススイッチで対応してください.
また,MultiWiiのセンター値は1500なので,特に双葉の場合はトリムでセンターが1500になるように調整してください.
次に,各スティックの最大値が1905,最小値が1095になるようにトラベルの調整をします.これが無理な場合,プログラムで調整するか,5ch目を用意しないと飛ばすことができませんので,要注意.
これでプロポの設定は完了です.
次に基板を機体にくみこみ,平らなところに置き,もう一度接続します.接続したら,真ん中の方にあるCALIB_ACCを押します.これで加速度センサのキャリブレーションを行います.これを押すときは必ず平らで水平なところに機体を起き,キャリブレーション中は触らないようにします.完了したら今度は機体を手に持ち,CALIB_MAGを押して,基板のLEDが消えるまで,ロール・ピッチ・ヨー,すべての方向についてぐるぐる回します.これで地磁気センサのキャリブレーションが完了です.
以上で,飛ばす前に必要な設定が完了です.
ここまでできたら,ESCを接続し,ペラを外した状態で各電源を入れます.この時USBは繋ぐ必要はないですが,つないでても問題無いです.電源を入れた直後はキャリブレーションを行なっているので,機体を揺らさないようにしてください.ESCは
・ガバナ無し
・スロースタート無し
・電圧監視無しorNiMH
に設定しておきます.最後のは特に重要で,複数のESCを使うマルチコプタでは,どれか一つのESCでもストップすると即墜落してしまいます.ESCの電圧検出はそんなに厳密では無い上に,モータの使用電流によって,一つだけ先に電圧監視に引っかかってしまうことがあります.もしその状態でカットオフしてしまうと,即墜落になるということです.そこで,マルチコプタでは,ESCによる電圧カットは利用せず,外付けのLiPOアラームで電圧管理します.
話がそれましたが,この状態で電源を入れると,待機状態(Disarmed)になります.この状態では,制御もされないし,プロポで操作することも出来ません.スロットルを一番下まで下げ,ラダーを右いっぱいに切ると,飛行モード(Armed)になります.ESCによってはこの時点でモータが回ります.逆に,スロットルが最低の状態でラダーを左いっぱいに切ると,再びDisarmedになります.この動作はもしもの時には,即座にモータを止めないといけないので,よく体に染み込ませておきましょう.
Armedにした状態で,スロットルを上げていくと各モータの回転数が上がるはずです.まずはペラの回転方向を先に確認した回転方向に合わせます.
続いて,スロットルを真ん中ぐらいにして機体を手で持ち,傾けてみると,下になった側のモータの回転数が上がるはずです.全方向に傾けて確認しましょう.さらに,ヨー回転させると,機体が回転した方向と同じ向きに回っているモータの回転数が上がるはずです.また,それぞれ反対側のモータは回転数が下がるはずです.
もしこれが違うようならESCの配線を疑ってください.間違ってないようなら,プログラムを修正する必要があります.
とりあえずここまで出来れば飛ばす寸前まで来たことになります.
実際に飛ばすにはゲイン調整や,加速度センサなどの有効/無効切り替えなどをしないといけませんが,だいぶ長くなってしまったので,また後日追記したいと思います.
というか,流れないように本家サイトの方に移動するかもしれません.
まず,ものはこちら.USB-シリアル変換であるFT232RLも乗っており,MultiWiiのファームがすでに書かれているので,USB接続するだけでArduinoIDEから認識することができます.
■基板について
本家に具体的な基板の説明が全く無いのでここに書いておきます.
まず,基板の外観+センサなどの配置はこのようになっています.
この基板ではspectramの受信機とシリアルでつなげる機能がありますが,国内ではspectramのプロポは使えないのでとりあえず無視.
そのため,図中のジャンパは図の右側で固定使用になります.このジャンパを正しく設定しておかないと,設定ソフトで設定ができなくなります.
普通の受信機の場合は図右のTHRからAX1までに接続します.AX2から4は後述しますが,排他利用のため,そのままでは使えません.
ESCは右下のD9,D10,D3,D11につなぎます.どこにどうつなぐかは後述します.
まずは情報のまとめから.
使用されているIC一覧
U2 FT232RL
U3 ATMega328
U4 5Vto3.3Vのレギュレータ
U5 HMC5883L
U6 BMP085
U7 ITG3205
U8 BMA180
U9 TXS0102DCUR?? 双方向のI2Cレベルコンバータ
ATmega328Pのピン接続
PB0 NC?
PB1 D9 & BUZ
PB2 D10
PB3 D11
PB4 A3 & PWR
PB5 D4(汎用LED)
PB6 XTAL
PB7 XTAL
PC0 A0
PC1 A1
PC2 A2
PC3 NC?
PC4 U9のB2
PC5 U9のB1
PC6 ISPの#RESET
ADC6 BUZの上
ADC7 AX4の下
PD0 AX2 & FT232のTX
PD1 AX3 & LCD & FT232のRX
PD2 THR
PD3 D3 & AX4
PD4 ROL
PD5 PIT
PD6 YAW
PD7 AX1
となっています.ISPはRESET以外もちゃんとつながっているんですが,面倒臭がって書いていません.
ここで注意するのは,&で書かれているものは,それぞれ全てに接続されており,排他利用形式になります.
そのため,受信機をすんなり接続できるのはTHRからAX1までとなり,それ以上は面倒になります.というか,PD3なんて,出力とかちあってるのでどう考えても利用できません.
■接続・設定から飛ばすまで
買った状態そのままの基板でも,MultiWiiの基本的なプログラムは書き込まれていました.デフォルトで,クアッドコプタのX配置の設定になっています.これを変えるには,プログラムを書き換えないていけません.プログラムの書き換えについては後述.
英語読める人はここからどうぞ.
http://www.multiwiicopter.com/pages/multiwiicopter-wiki
まずはMultiWiiの本家プロジェクトから設定ツールをダウンロードします.設定ツールがないと,ゲイン設定などができないので必須です.
http://code.google.com/p/multiwii/downloads/detail?name=MultiWii_2_1.zip&can=2&q=
ここからMultiWii_2_1.zipをダウンロードして適当な場所で解凍すると
MultiWii_2_1
MultiWiiConf_2_1
change.txt
となるはずです.このMultiWiiConfが設定ツールになります.MultiWiiの方は,Arduinoのソースなので,ここでは置いておきます.
設定ツールはJAVAで作られているので,JAVAのランタイムが必要になります.適当にダウンロードしてインストールしておいてください.それが終われば,MultiWiiConfの下の自分の環境にあったディレクトリにあるバイナリファイルを実行するだけです.Windowsなら拡張子がexeのものです.ただ,自分はWindows7の64bit版を使ってますが,32bit版でしかうまく起動できませんでした.まぁ,使えればいいので特に気にしないことにしましょう.一応起動することを確認したら,とりあえず終了させてください.
終了したら,基板をUSBで接続し,FT232のドライバインストールが完了するまで済ませてください.仮想COMとして認識されたらMultiWiiConfを起動します.
起動したら,左の方にあるCOMなんちゃらから基板のCOMポートを選び選択します.
接続がうまく出来ればこんな感じでCOM周辺の文字の背景が緑になります.この状態で,真ん中の白い領域の左上にあるSTARTを押します.
これもうまくいけば図のような表示になるはずです.ただし,この画像では,すでに色々と設定した基板をつないでいるので,ゲインの値やAUX1などの部分の表示が違うかと思います.大事なのは,右下に出てきた機体の表示です.この表示のとおりにESCを接続することになります.左前がD3,右前がD10,左後がD11,右後ろがD9です.そして,ペラの回転方向も右下の図のとおりにします.左前・右後ろが時計回り,右前・左後が反時計回りです.ここの表示は基板から設定を読みだした上で表示されるので,基板の設定が違うものだった場合は,違う機体が表示されます.
後は適当に基板を動かして,右にあるROLLとPITCHがそれっぽく動くか確認しましょう.とりあえずこれだけ確認できればOKです.USBを抜くときは,左上のCLOSE COMMを押してから抜きましょう.それをしないと,再接続した時に,うまく認識してくれません.
続いて,受信機とMultiWii基板をつないでからUSB接続し,プロポの設定をします.プロポは最低4chあれば操作できます.スロットルをTHRに,エレベータをPITCHに,エルロンをROLLに,ラダーをYAWにつなぎます.
この状態でMultiWiiConfを見てみると,右上の表示がそれぞれのスティックに対して反応していればOKです.
スティックの動作と水色のバーの動く向きを揃える必要があるので,適宜リバーススイッチで対応してください.
また,MultiWiiのセンター値は1500なので,特に双葉の場合はトリムでセンターが1500になるように調整してください.
次に,各スティックの最大値が1905,最小値が1095になるようにトラベルの調整をします.これが無理な場合,プログラムで調整するか,5ch目を用意しないと飛ばすことができませんので,要注意.
これでプロポの設定は完了です.
次に基板を機体にくみこみ,平らなところに置き,もう一度接続します.接続したら,真ん中の方にあるCALIB_ACCを押します.これで加速度センサのキャリブレーションを行います.これを押すときは必ず平らで水平なところに機体を起き,キャリブレーション中は触らないようにします.完了したら今度は機体を手に持ち,CALIB_MAGを押して,基板のLEDが消えるまで,ロール・ピッチ・ヨー,すべての方向についてぐるぐる回します.これで地磁気センサのキャリブレーションが完了です.
以上で,飛ばす前に必要な設定が完了です.
ここまでできたら,ESCを接続し,ペラを外した状態で各電源を入れます.この時USBは繋ぐ必要はないですが,つないでても問題無いです.電源を入れた直後はキャリブレーションを行なっているので,機体を揺らさないようにしてください.ESCは
・ガバナ無し
・スロースタート無し
・電圧監視無しorNiMH
に設定しておきます.最後のは特に重要で,複数のESCを使うマルチコプタでは,どれか一つのESCでもストップすると即墜落してしまいます.ESCの電圧検出はそんなに厳密では無い上に,モータの使用電流によって,一つだけ先に電圧監視に引っかかってしまうことがあります.もしその状態でカットオフしてしまうと,即墜落になるということです.そこで,マルチコプタでは,ESCによる電圧カットは利用せず,外付けのLiPOアラームで電圧管理します.
話がそれましたが,この状態で電源を入れると,待機状態(Disarmed)になります.この状態では,制御もされないし,プロポで操作することも出来ません.スロットルを一番下まで下げ,ラダーを右いっぱいに切ると,飛行モード(Armed)になります.ESCによってはこの時点でモータが回ります.逆に,スロットルが最低の状態でラダーを左いっぱいに切ると,再びDisarmedになります.この動作はもしもの時には,即座にモータを止めないといけないので,よく体に染み込ませておきましょう.
Armedにした状態で,スロットルを上げていくと各モータの回転数が上がるはずです.まずはペラの回転方向を先に確認した回転方向に合わせます.
続いて,スロットルを真ん中ぐらいにして機体を手で持ち,傾けてみると,下になった側のモータの回転数が上がるはずです.全方向に傾けて確認しましょう.さらに,ヨー回転させると,機体が回転した方向と同じ向きに回っているモータの回転数が上がるはずです.また,それぞれ反対側のモータは回転数が下がるはずです.
もしこれが違うようならESCの配線を疑ってください.間違ってないようなら,プログラムを修正する必要があります.
とりあえずここまで出来れば飛ばす寸前まで来たことになります.
実際に飛ばすにはゲイン調整や,加速度センサなどの有効/無効切り替えなどをしないといけませんが,だいぶ長くなってしまったので,また後日追記したいと思います.
というか,流れないように本家サイトの方に移動するかもしれません.
自作クアッドコプタの制作記事書きました.本家サイトの方で公開中です.
http://strv.no-ip.info/studio/original/qc02/index.html
本家サイトを更新するのが久しぶり過ぎていろいろ困りましたw
いい加減いろいろ治したいんだけどなぁ
http://strv.no-ip.info/studio/original/qc02/index.html
本家サイトを更新するのが久しぶり過ぎていろいろ困りましたw
いい加減いろいろ治したいんだけどなぁ
自宅のファイルサーバのOSを新しくしたついでにメンテをした時のメモ.
NXServerを実行しているCentOS6.3に,Windows機からNXClientでアクセスするときのお話.
参考ページ
・http://akira.matrix.jp/?p=295
・http://www.sakuttoly.com/blog/2010/09/ubuntu_freenx.html
この二箇所を組み合わせればOK.
手順としては
1.NCclientでセッション情報つくる
2.C:\Users\hoge\.nx\config\hogehoge.nxs ができているので,この中で
<option key="Current keyboard" value="false" />
<option key="Custom keyboard layout" value="jp" />
のようにfalseとjpに修正.
3.CentOS上でキーボードレイアウトを日本語にする.
4.これだけだと,結局「\」と「_」が入力できないので,参考サイトのように.Xmodmapを作って対処.
これで大丈夫なはず.2をやらないと,かな入力時のキー情報がかなり狂っているので,かな入力erには使いものにならない.1~4までやれば,かな入力もできる.
NXServerを実行しているCentOS6.3に,Windows機からNXClientでアクセスするときのお話.
参考ページ
・http://akira.matrix.jp/?p=295
・http://www.sakuttoly.com/blog/2010/09/ubuntu_freenx.html
この二箇所を組み合わせればOK.
手順としては
1.NCclientでセッション情報つくる
2.C:\Users\hoge\.nx\config\hogehoge.nxs ができているので,この中で
<option key="Current keyboard" value="false" />
<option key="Custom keyboard layout" value="jp" />
のようにfalseとjpに修正.
3.CentOS上でキーボードレイアウトを日本語にする.
4.これだけだと,結局「\」と「_」が入力できないので,参考サイトのように.Xmodmapを作って対処.
これで大丈夫なはず.2をやらないと,かな入力時のキー情報がかなり狂っているので,かな入力erには使いものにならない.1~4までやれば,かな入力もできる.
1.欲しいバージョンをダウンロードする
http://www.boost.org/users/download/
この時,圧縮形式はサイズの違いだけで,OSとか関係ないらしい
2.適当なところで解凍する
解凍した場所がそのまま作業場所になる&かなりの数のファイルができるので,予め都合のよさそうなところに解凍するのが吉.
3.コマンドプロンプトで回答したディレクトリのトップまで移動.
cd /d hoge\hoge\boost_1_**_*
これをしとかないと面倒なことになった記憶がある
4.bootstrap.batをプロンプト上で実行
すぐおわる
5.bjam.exeを実行
かなり時間かかる.
ここで色々オプションをつけることができる.付けなくてもとりあえず使えるライブラリはできる.
ここまででライブラリのWindows向けコンパイル終了. 使うときは インクルードパスを boost_1_**_* に ライブラリパスを boost_1_**_*/stage_lib に通せばOK.なので,最初に解凍した場所がそのままパスになるのでいい場所を選んどくと楽.ファイル数多いからコピーもだるい.
http://www.boost.org/users/download/
この時,圧縮形式はサイズの違いだけで,OSとか関係ないらしい
2.適当なところで解凍する
解凍した場所がそのまま作業場所になる&かなりの数のファイルができるので,予め都合のよさそうなところに解凍するのが吉.
3.コマンドプロンプトで回答したディレクトリのトップまで移動.
cd /d hoge\hoge\boost_1_**_*
これをしとかないと面倒なことになった記憶がある
4.bootstrap.batをプロンプト上で実行
すぐおわる
5.bjam.exeを実行
かなり時間かかる.
ここで色々オプションをつけることができる.付けなくてもとりあえず使えるライブラリはできる.
ここまででライブラリのWindows向けコンパイル終了. 使うときは インクルードパスを boost_1_**_* に ライブラリパスを boost_1_**_*/stage_lib に通せばOK.なので,最初に解凍した場所がそのままパスになるのでいい場所を選んどくと楽.ファイル数多いからコピーもだるい.
LiPoを使うときは放電し過ぎないようにしっかり管理する必要があります。世の中にはそのための回路やらキットやらがたくさん販売されていますが、毎度買い忘れてたので自作して使ってました。
この定数はLiPo2直用に、7Vくらいでブザーがなり、LEDが光るようになっています。電圧を変える場合はR1の値を下記の式で調整することで対応できます。
R1[Ω] = ((E[V] / 2.5[V]) - 1)*R2[Ω]
Eが検出電圧で、R2は今は10[KΩ]になっています。2.5[V]というのはTL431の検出電圧2.495[V]を丸めたものです。
こんな簡単な回路でもとりあえず目的は達成できるので便利です。
この定数はLiPo2直用に、7Vくらいでブザーがなり、LEDが光るようになっています。電圧を変える場合はR1の値を下記の式で調整することで対応できます。
R1[Ω] = ((E[V] / 2.5[V]) - 1)*R2[Ω]
Eが検出電圧で、R2は今は10[KΩ]になっています。2.5[V]というのはTL431の検出電圧2.495[V]を丸めたものです。
こんな簡単な回路でもとりあえず目的は達成できるので便利です。
ただのできましたって報告ですw
この前後にも何回か成功・失敗してて、ペラを大量に折りました^^;
けど、フレームは割り箸補強のおかげもあってか、一度もダメージ受けませんでした。こりゃぁ最初っから補強しとけばよかったなぁ。こんどフレームについて紹介記事かこう。
それにしても、ループした後のリカバリーが難しい。ループするときに、回転の外側のモータは、出力の限界まで出してしまっているので、微妙に均等な出力配分にならず=十分制御されず、変な回転が加わってしまい、ループ後にヨー角がずいぶんずれてしまう。お陰でどの向きに舵を当てればブレーキできるのか、がよくわからなくなる。機体の方向識別用に秋月の角型LEDつけたけど、そんなもんじゃちっとも見えなかった。数Wクラスをおごらないとダメかも。
あと、高度が落ちてしまっているから全力で高度をあげようと思うと、これまた全部のモータが振り切るので、制御できず、適当な方向に飛んでいってしまう。まぁ、頑張って当て舵すればなんとかなるんだけど、やっぱり向きがわからなくなっているからちょっとつらい。
出力が振り切ってしまうと、割りとそのままI項がたまり続けてるので、スティック離した時にちょっと予期せぬ動きになったりするのもムズカしい。ぶっちゃけI制御いらないかも。それよりも風に吹かれた時に急に動いてしまうので、D入れとくべきかなー。と。D入れて、Pをもっとあげられる方がメリット有りそうと言う印象。今度試してみたいと思います。
それにしても…そろそろプロペラ無くなりそうなんですが…
この前後にも何回か成功・失敗してて、ペラを大量に折りました^^;
けど、フレームは割り箸補強のおかげもあってか、一度もダメージ受けませんでした。こりゃぁ最初っから補強しとけばよかったなぁ。こんどフレームについて紹介記事かこう。
それにしても、ループした後のリカバリーが難しい。ループするときに、回転の外側のモータは、出力の限界まで出してしまっているので、微妙に均等な出力配分にならず=十分制御されず、変な回転が加わってしまい、ループ後にヨー角がずいぶんずれてしまう。お陰でどの向きに舵を当てればブレーキできるのか、がよくわからなくなる。機体の方向識別用に秋月の角型LEDつけたけど、そんなもんじゃちっとも見えなかった。数Wクラスをおごらないとダメかも。
あと、高度が落ちてしまっているから全力で高度をあげようと思うと、これまた全部のモータが振り切るので、制御できず、適当な方向に飛んでいってしまう。まぁ、頑張って当て舵すればなんとかなるんだけど、やっぱり向きがわからなくなっているからちょっとつらい。
出力が振り切ってしまうと、割りとそのままI項がたまり続けてるので、スティック離した時にちょっと予期せぬ動きになったりするのもムズカしい。ぶっちゃけI制御いらないかも。それよりも風に吹かれた時に急に動いてしまうので、D入れとくべきかなー。と。D入れて、Pをもっとあげられる方がメリット有りそうと言う印象。今度試してみたいと思います。
それにしても…そろそろプロペラ無くなりそうなんですが…
注:プログラムは修正したら適宜ここのリンクを直します。
下で書いてたプログラムですが、やっぱり自分で制御したいぞ、となったので自分で書いてみました。
元のプログラムはアセンブラで書かれており、サクッと制御則だけ変えて実験したい…とかには向いてません。
ということで、元のプログラムをCに移植してみました。
動作は基本的には一緒で、EEPROM関係は実装していないので、ジャイロの方向設定だとかはプログラム内でします。そんな頻繁に変えるもんじゃないですしね。
対象の機体は、クアッドコプターのXタイプになります。軸配置とかはプログラム本文にコメントで書いてあります。
もちろん動作する基板はホビキンのHK Multi-Rotor Control Board V3.0 になります。
とりあえず公開。
現在のバージョン 2012/10/04
修正内容 バグフィックス・感度調整項目の追加
HK Multi-Rotor Control Board V3.0 用プログラム ダウンロード
もちろんですが、このプログラムを使って飛ばしたところで、何が起きても責任は取りません。
環境はAtmelStudio6.1です。アセンブラ関数を使っているのでちょっと注意がいるかも。
公開したものの、このプログラムでまだ飛ばしてません(ぉ
が、ただのPI制御だし、手で持ってぐりぐりしてみた感じでは問題無さそうなので。ちなみに元のプログラムはちゃんと飛んでました。
これでようやくひな形が整ったので、PIDにしてみたり、はたまたFF入れてみるなり、いろいろ遊べるかと思います。ただ、センサが残念な感じなので、それを何とかしないとつまらないかもしれないです…
こいつにMPU-6000をおごるのはもったいない気もするので、アナログの加速度センサでもつなごうかなぁ、などと思ってます。
下で書いてたプログラムですが、やっぱり自分で制御したいぞ、となったので自分で書いてみました。
元のプログラムはアセンブラで書かれており、サクッと制御則だけ変えて実験したい…とかには向いてません。
ということで、元のプログラムをCに移植してみました。
動作は基本的には一緒で、EEPROM関係は実装していないので、ジャイロの方向設定だとかはプログラム内でします。そんな頻繁に変えるもんじゃないですしね。
対象の機体は、クアッドコプターのXタイプになります。軸配置とかはプログラム本文にコメントで書いてあります。
もちろん動作する基板はホビキンのHK Multi-Rotor Control Board V3.0 になります。
とりあえず公開。
現在のバージョン 2012/10/04
修正内容 バグフィックス・感度調整項目の追加
HK Multi-Rotor Control Board V3.0 用プログラム ダウンロード
もちろんですが、このプログラムを使って飛ばしたところで、何が起きても責任は取りません。
環境はAtmelStudio6.1です。アセンブラ関数を使っているのでちょっと注意がいるかも。
公開したものの、このプログラムでまだ飛ばしてません(ぉ
が、ただのPI制御だし、手で持ってぐりぐりしてみた感じでは問題無さそうなので。ちなみに元のプログラムはちゃんと飛んでました。
これでようやくひな形が整ったので、PIDにしてみたり、はたまたFF入れてみるなり、いろいろ遊べるかと思います。ただ、センサが残念な感じなので、それを何とかしないとつまらないかもしれないです…
こいつにMPU-6000をおごるのはもったいない気もするので、アナログの加速度センサでもつなごうかなぁ、などと思ってます。
Twitterの方では前に少し話題に出しましたが、Hobbykingの激安Quadキットを購入しており、研究室のフライトコントローラを使って飛ばしたりしてました。
このフライトコントローラはすでに使っていた別のものから借りていたのでソソクサと返却することになり、結局HobbyKingのMulti-Roter Control Board V3.0を購入し、飛ばすことにしました。
で、ようやくこいつが届き、いろいろと情報の整理のためにメモ書き。
とりあえず飛ばすだけなら元のファームウェアで十分。調整の仕方などはマニュアル(pdf)にある通り。
ただ、標準ではCrossタイプ(十字に飛ぶタイプ)のQuadになっているので、それ以外で飛ばしたければファームを書き換えないといけません。
その候補として楽ちんなのがKKmulticopter Flash Tool。こいつを使えばリポジトリサーバから最新のバイナリを勝手にダウンロードして書き込みまでしてくれる素晴らしいものです。
ただし、実行にはJavaのランタイムが必要なので注意。
ちなみにKKMultiCopterってのは、Hobbykingのボードの元となったボードですね。ほとんど乗ってるものが同じ。
で、Flash Toolの説明読んで設定していけば特に迷うことなく書き込みまで出来るはず。
ただし、対応したライタを持ってないとどうしようもない仕様。そして自分は持ってません。
このFlash Toolsの書き込みたいバイナリを選ぶと、インフォメーションボタンから、そのバイナリについての情報が読めます。試しにQuadのXタイプのインフォメーションボタンをクリックしてみたらここに飛ばされました。
http://www.rcgroups.com/forums/showpost.php?p=18609175&postcount=73
んで、ここの一番下でソース・バイナリ一式が配られているのでそれをダウンロードして、普段使っているプログラムライタでバイナリ書き込んで無事終了。
正直なところヒューズビットの設定とか全くわからんのだけど、元のままで動くみたい。
初期設定などは上記サイトにあるとおり、ポテンショの役割が変わっているのでそれに注意して設定する、というくらい。
飛ばし方としては、デフォルトのマニュアルにあるのと同様に、スロットルを最低にした状態で、ラダーを右全開に切ると基板上のLEDが 点灯 すれば準備完了。この状態でスロットルを上げればモータが回るはず。
まだ飛ばして無いのでちゃんとしてゲイン調整とかしてないのであれですが、明日の朝にでも公園で試してきたいと思います。
このフライトコントローラはすでに使っていた別のものから借りていたのでソソクサと返却することになり、結局HobbyKingのMulti-Roter Control Board V3.0を購入し、飛ばすことにしました。
で、ようやくこいつが届き、いろいろと情報の整理のためにメモ書き。
とりあえず飛ばすだけなら元のファームウェアで十分。調整の仕方などはマニュアル(pdf)にある通り。
ただ、標準ではCrossタイプ(十字に飛ぶタイプ)のQuadになっているので、それ以外で飛ばしたければファームを書き換えないといけません。
その候補として楽ちんなのがKKmulticopter Flash Tool。こいつを使えばリポジトリサーバから最新のバイナリを勝手にダウンロードして書き込みまでしてくれる素晴らしいものです。
ただし、実行にはJavaのランタイムが必要なので注意。
ちなみにKKMultiCopterってのは、Hobbykingのボードの元となったボードですね。ほとんど乗ってるものが同じ。
で、Flash Toolの説明読んで設定していけば特に迷うことなく書き込みまで出来るはず。
ただし、対応したライタを持ってないとどうしようもない仕様。そして自分は持ってません。
このFlash Toolsの書き込みたいバイナリを選ぶと、インフォメーションボタンから、そのバイナリについての情報が読めます。試しにQuadのXタイプのインフォメーションボタンをクリックしてみたらここに飛ばされました。
http://www.rcgroups.com/forums/showpost.php?p=18609175&postcount=73
んで、ここの一番下でソース・バイナリ一式が配られているのでそれをダウンロードして、普段使っているプログラムライタでバイナリ書き込んで無事終了。
正直なところヒューズビットの設定とか全くわからんのだけど、元のままで動くみたい。
初期設定などは上記サイトにあるとおり、ポテンショの役割が変わっているのでそれに注意して設定する、というくらい。
飛ばし方としては、デフォルトのマニュアルにあるのと同様に、スロットルを最低にした状態で、ラダーを右全開に切ると基板上のLEDが 点灯 すれば準備完了。この状態でスロットルを上げればモータが回るはず。
まだ飛ばして無いのでちゃんとしてゲイン調整とかしてないのであれですが、明日の朝にでも公園で試してきたいと思います。
カウンター
委託案内
アンプ基板や同人誌を委託販売しています.リンクからどうぞ.(外部サイト)
・HA10mini基板セット
・HA10mini終段基板
・HA10miniハイパワーキット
・HPA&Analog vol.6冊子版
・同人誌DL委託
・同人誌DL委託(旧サークル名)
・HA10mini基板セット
・HA10mini終段基板
・HA10miniハイパワーキット
・HPA&Analog vol.6冊子版
・同人誌DL委託
・同人誌DL委託(旧サークル名)
ブログ内検索
カレンダー
12 | 2025/01 | 02 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
最新記事
最新トラックバック
カテゴリー
SilverLight
アクセス解析
広告