ST-DRONE(STEVAL-DRONE01) は、STMicroelectronics が提供するドローン開発用のリファレンス設計キットです。
このキットは、飛行制御システムやモーター制御を含む、小型ドローンを構築および評価するために設計されています。
- 教育用および評価用プラットフォーム
- 小型ドローンやクアッドコプターの開発
- 飛行制御アルゴリズムの研究
- モーター制御技術の評価
と、プログラムを含めたDRONEの仕組みから勉強出来るということで、雑誌インターフェースの202003月版と、
その中で紹介されているドローンキット(STEVAL-DRONE01)を購入していました。


購入はしたものの、雑誌の進行でキット以外にも、メイン基板であるSTM32Fへの書き込み機(ST-Link/V2)、Lipoバッテリチェッカ、XBee(受信機)等の備品一式が必要であり揃えるまで保留としていましたが、
雑誌だけでも先に読み進めているとドローンの操作にプロポ(フタバさんのT12KH)を利用しているのですが、
私には非常に高価で4,5万だった為、製作の方は諦めていました。
(参考 amazon)
T12KH ヘリ用(R3008SB/TRセット)2.4GHz スティックプロポ
ST-Link/V2

Amazonで1000円くらい
(参考)Lipoバッテリチェッカ
雑誌を一通り目にするとプロポ以外にも、iphoneアプリでも動作出来るとわかったので、
プロポやプロポの受信機として利用するXbeeは無くても作成可能と分かったので、継続することができました。
本機と書き込み用のST-Link/V2があれば製作可能。(バッテリチェッカーは過充電確認用で、無くても可。)
ST-DRONE組み立て
このST-DRONE、STM32F-401を利用したドローン開発向けのシステムの為、プログラムを変更できますが、
ほぼC++で作られています。
私はC++はまだわからないので、もし何か書き換えるとしても、数値を変更して確認程度しか出来ませんが、
慣れるより慣れろが信条なので勉強にはなりそうです。
仕様としては
CPU:STM32F401 (RAM64Kバイト、フラッシュ256Kバイト、クロック84MHz)
モータードライバ:STL6N3LLH6(Nチャネル 30V/6A)
3軸加速度/3軸角速度センサ:LSM6DSL
3軸地磁気センサ LIS2MDL:(+-50ガウス)
気圧センサ:LPS22HD(260~1260hPh)
Bluetooth4.1: SPBTLE-RF
バッテリ充電制御:STC4054( 800mA)

キットそのものはSTEVAL-DRONE01で検索すれば未だ購入可能なようです。
雑誌の方も、組み立てに関してはST社からマニュアルをダウンロードして、
補足としてお読みくださいとあります
ST-DRONE マニュアルダウンロード
キットですが作成は組み立てには注意が必要であり、ポイントとしては
モーターとフレーム、この組み合わせに取り付け位置があります!。
フレームに対してモーター取り付けはどこに差しても同じように見えますが決まっています。
(要注意です。僕はやり直しました。)
注意:以下写真、このときは雑誌の組み立て写真を元に、自分なりの見た感じで作成しましたが思うように飛ばず、他の写真をみるとどう見ても方向が違うようなので、後でフレームの組み立て方向を変えています。STIのマニュアルにしても、見るページによって組み立て方向が違います。
(2020/8/15 ST-DRONE製作記2 修正編)で変更しています。

ぱっと見、部品はどこにつけても同じように見えますが、実は説明通りに組むと、おのずと取り付け位置は決まってくるようです。
特に注意点だと、赤丸の箇所ですが、これすごく分かりにくいのですが付け根に方向があって左右に沿っている感じです。
雑誌の説明に”プロペラの角度とフレームのモーター結合部の支えの角度の向きを揃える”
とありますが違いがわからず、そのままつけてしまいましたが、
失敗に気づき再度付け直す羽目となりました。
説明書には右下から順にモータをM1、M2、M3、M4と書かれていて
モーターを取り付けますが、M1とM3は線が赤黒、M2とM4は白黒の線となっていて取付位置は対角になってます。
さらにプロペラとモーターの組み合わせも決まっていますし、基板にも方向の印があってその向きに取り付けます。
下はM1とM3(赤黒線)を例とした写真です。

M1とM3の位置に取り付けるモーターに対しては写真のプロペラを、
M2とM4の位置に取り付けるモーターに対しては写真と逆方向のプロペラを付けます。
このモーターと羽の取り付けとフレーム角度によって空力を出している為、
取り付け位置が決っています。
基板にも組み合わせに対して上向きの位置が決まっていますし、
最終的には誰が組んでも同じ形となるようです。
基板ですが、フレームとの取り付けに付属の両面テープでの貼り付けとインシュロックでの固定。
こんなんでいいのかという気もします。
裏面に取り付けるLipoもインシュロックで固定。
ちなみに一旦やり直しとなった為、インシュロックをニッパで切りましたけど、
Lipo傷つけたら発火するのかなぁなんて・・・

各モーターのコネクタの差し込み位置も決まっています。

左から順にM4、M2、M3、M1です。
コネクタの差し込みも決まっていますので注意ですね。
一番右は電池の差し込みなんですが、赤が内側になるようとのことで、他と裏返しに接続です。

なお、差し込んだら電源オンにいきなりなるので、注意です。いくら開発用ったってスイッチくらい無いもんかいな。後々自分で作ろう・・。
プログラムの書き込み(スマホ用)
このドローンは開発研究用の組み立て・自作機なので作っただけでは動作せず、プログラムを書き込まなければなりません。
PC—USBケーブル—プログラム書き込み装置(ST-Link/v2)—STドローン
という風に接続して
PCのプログラムをドローンに書き込みますが、接続前に”PCの開発環境”へ書き込み用プログラムをインストールしておかなければなりません。
(接続に関しては次の項目で説明)

雑誌と同じ開発環境Atollic TrueSTUDIO for STM32(V 9.3.0)使用です。
https://atollic.com/truestudio/から開発環境をダウンロードできます。
STlink接続用にUSBドライバも必要なようです。
https://www.st.com/content/st_com/en.html
(ST_LINKで検索して下さい)
で、ここからなんですけど、雑誌手順でラジコンプロポ用をダウンロードして、既に開発環境にインポートしてましたので、今度はスマホ用の圧縮プログラムをダウンロードしてZIP展開、開発環境にインポートします。
https://github.com/STMicroelectronics-CentralLabs/ST_Drone_FCU_F401

まだ使い方全然わかってないけど、上書きで大丈夫かな?・・紙面と同じようにするならアンインストールしてきれいな状態から始めた方がいいかな?なんて思いつつ。

ファイル→Open Projects from File Systemから、ダウンロードしたスマホ用プログラム
(Official release with BLE remocon – 170318)をディレクトリから選んでOKを押します。

インポートが始まりますので終わったら完了を。

ST-DRONEへの書き込み
先の写真のようにPCとST-DRONEをSt-Link/V2を通して繋いで書き込むんですが、
ケーブルが何本か付属していて、どれ?ってなりました。
St-Link/V2のケーブルだけでは繋がらず、ST-DRONE付属の変換コネクタみたいなのを利用するんですね。

最初、一所懸命に雑誌の小さい写真とにらめっこして多分この組み合わせだろうと、下写真の青丸、
ドローン側のUSB端子と繋ごうとしてました・・・壊さんくてよかった(汗

赤丸がSt-Link/V2と繋ぐコネクタ部です、青丸はST-DRONEの充電用USB。
St-Link以外にST-DRONEにも電池を接続してUSBも接続して充電してください。
(この後、USB充電で僕は又トラブルになやみます)
ちなみにST-Linkを調べると、ST-Link自体に設定やらいろいろありますが、
雑誌にもST-Linkに関して特に記述は無くST-DRONEとは繋ぐだけでよいみたいです。
ようやく接続まで持ってきましたんで、やれやれと思いつつ
メニューにあります、実行→デバッグを押しますが

エラーが出ました・・・

初期化エラー?へ?雑誌に特に記述無かったんですけど・・・
まぁ開けてすぐだから最新アップデートくらいいるんかなと、メッセージ通りに一旦PCから取り外してアップデートし、再装着したらメッセージは出なくなりました。

再度書き込みを実施し、ST-LINKが赤と緑に点滅しました。
赤に点灯すれば完了とあります。
ところがいくら待っても赤点灯に変わらないんですね。
なんのメッセージも出ないし、WindowsアップデートでもあるまいしSTM32ってそんなに時間がかかるもんなんだろうか?
30分、1時間、3時間、暴走か?さすがにこれはおかしい!とドローンをみたらSTM32基板のランプ消えてるんですよね。PICマイコンの感覚でいたので大失敗、PICですら外部電源で書き込むときもあるから、そうかそりゃそうだよな・・基盤だもんな外部電源いるよな・・途中で接続確認しっぱなしになったんだな・・・。
ツイッターで質問までして我ながら反省しました。
(雑誌にもUSBで電源取れとちゃんと書いてます)
再書き込みしたら5分くらいで終わってランプも赤点灯に変わり、
画面にDownload verified successfuliyと出たんで取り外しました。
iPhoneとの接続
この作成時202007月時点、自分はiPhoneXs(バージョン13.5.1)を使用しています。
app store より「ST BLE Drone」で検索してコントローラアプリダウンロードします。
先の書き込み途中での電源断、壊れていないだろうか・・・と、恐る恐るアプリを開いて

虫眼鏡マークを押すと、ドローンを認識してきました。

出てきたドローンを選択すると操作画面に切り替わります。

操作面右がスロットルらしいので一番下に合わせといて、
Armをおすと操作開始となります。
操作停止はDisArmをおします。
スロットル上げると一応飛びました!

しかし、ちゃんと上に垂直上昇しません。調整が必要です。
飛行出来るように修正
組み立てたSTEVAL-DRONE01ですが、垂直に高度上昇しません・・・飛ぶことは飛びますが、10㎝程度でそのまま進んでいく、そして屋内なのでぶつかりひっくり返り緊急停止させる・・その繰り返し、ドローンてこういうものだったのか??という状況です(汗。
既製品とは違う組み立てて自分で研究用。とはいえ説明書通りに組み立てれば普通に飛ぶはず、それなのに早くも壁にぶち当たり(早すぎ)、見直しが必要となりました。
確認として
1 組み立てはあってるか?
2 電池残量
3 プログラミングの正常な書き込み
4 重量は大丈夫?
5 重心の確認
6 キャリブレーションは出来ている?
7 それでもダメなら問い合わせ
と、チェックしていきます。
1 組み立てはあってるか?
ファンの反りの角度と回転方向、フレームの反りの角度の組み合わせが最も重要なはずなので、とにかくここを確認します。(前回参照)
ただこちらですが、インターフェースの写真をみて組み立てましたが、モノクロで写真が小さいので自分が間違えているかもしれないと、販売サイトの方も見比べました。
MOUSERという販売店で購入し、こちらに組み立て動画があります
※2024年、再確認したところMOUSERでは販売されてないようでST社から直接購入するしかないようです。
STマイクロエレクトロニクス
2020年製作時、雑誌とST社の説明書動画を見比べながら製作しましたが、
動画も途中と後半でフレームの取り付け方向が違います。
ST社このマニュアルだと組み立て編の方向でいいみたいですが。
(STEVAL-DRONE01 GETTING STARTED GUIDE)
その為、2、3、4、5、6、7(7はコミュニティサイト確認)と進めて行きましたが結局変化は無かった為、再度1に戻り、実際に運転時の組み立て形状を探しました。
ST社の完成時の動画、インターフェースの章後半の写真、CQ社のyutubeのST-DRONE運転のサムネイル画像の拡大により、以下も試してみました。

これで実際に1m50~2mは飛ぶようになりました。
追記 2020/09/07
しかし結局、飛んだり飛ばなかったりしたので前回のフレーム方向に戻しました。
で、前回は何度やっても全然ホバー走行しかしなかったのに、なぜか垂直に飛んでます!
どちらが正解かいまだにわかりません・・・が確実に垂直に飛んでいるので前回の組み立て方向でいいようです。
又組み替えるかもしれませんが、ST-DRONE製作記3でまた考察してみます。
2 電池残量
電池残量がフル充電じゃないとパワーが出ないようです。
一回飛行させると、1,2分でもうホバー走行になってます(汗。
上の写真は充電中の状態です。
左上の小さいLEDは、Li-Po電池をつなぐとすばやく点滅します。
右下の強く輝くLEDはUSBをつなぐと充電し始めます。
ちなみに左下のランプはスマホと接続中のランプです(解除するの忘れてた)
Li-Poは充電管理が難しいらしいですが、このST-DRONEは基板にコントロールが備わっているため満充電の4.2Vになると自動的に終了するとのことです。
充電が終わるとつつましいくらいの点灯に変わりますが、フル充電にならないとまともに動きません(私のだけかもしれませんが)

電池がはたして正常なのかどうか?バッテリチェッカーで確認しました。
雑誌と同じバッテリチェッカーをamazonで購入しましたが、説明書も何にもついていないです。雑誌と同じようにたって、これもまたモノクロ写真でどっちがプラスでマイナスか良く分からないしねぇ・・
ひっくり返すと+側とマイナス側、間に8S~1Sと書いているので

このST-DRONE付属の電池は1セル。チェッカーの1セルのピンにプラス側、ー表記のピンにマイナス側と確認。間違えたらあぶないあぶない。

1回の飛行で飛ばなくなったなぁと思った状態で3.8Vでした。
フル充電で4.08Vでした。雑誌の4.2より気持ち低いですが充電完了なのでこんなものかなと。ちなみに3.8から4.08まで1時間20分くらいかかってます。
USBはiphoneとかの充電機で繋いでます(良くないのかも知れませんが)充電は気長に待つしかないようです。
自分がamazonで購入した販売店での販売は2024年現在、販売されてないようですがおそらくこちらが同商品だと思います。
参考 CAMWAY 5PCS 2in1 1-8s Lipoバッテリー電圧テスター
3 プログラミングの正常な書き込み
結局1に戻って解決していますので、あまり必要性はなさそうなのですが。
インターフェースの記事の中で、「ラジコンモードにおける操縦入力のプログラムの値変更という項目があります。」
これ、何のために書き換えているのか?ここを書き換えると何が変わるのか?
おそらくプロポのスロットルとドローンの移動値のリンクを調整しているんでしょうけど、
スマホでの利用にも適用した方がいいのか不明です。
フレームを方向を変える前に散々、変更→書き込み。戻す→書き込みを繰り返しましたが変化はありませんでした。
今回、そもそもとしてフレーム方向の取り付けが違っていたと思いますので変わる訳が無かったのですが、メーカーの動画には値の書き換えの記述などないので、スマホ版はデフォルトで利用可能とおもいます。ここの値に関しては又確認したいと思います。
余談ですけど、プログラムの書き込みですけど、値を変えて書き込むうちにデバッグ画面が出なくなったり、最初の内は組み立ての時にラジコン版のプログラムを残して書き込んでいますのでスマホ版が正しく書き込まれているかよく分からない状況に陥りました。
その為、何度も再インストールしてワークスペースも作り直ししたりしてようやく使い方がわかった感じです。
書き込む時って、ST-DRONE自体にバッテリ接続とUSBで充電状態にして基板に電源供給。
PCからST-LINK経由でST-DRONEと接続。
Atolic TrueSTUDIOからデバッグ画面で実行をすると、右下に小さく実行中の%が走って終了ですけど、書き込み終了とか出ないんですよね。

ST-LINKのランプは赤と緑に点滅したまま。

さすが32bit基板、PICマイコンとは違う!一晩おいてもまだ終わらないのか!?とずっとまってましたよ自動でランプも消えると・・・実は一瞬で終わってた。
その後、実行→終了押して終了画面。
ST-LINKのランプは赤に点灯→ST-LINKのケーブル外す、ドローンは充電モードに戻ってると。
しかし分かりづらっ・・・
4 重量
これは5と重なる部分もあるんですが、STIのマニュアル
(UM2512のP3。英語分からないので全て翻訳して確認しました。)によると
”The direction (yaw), vertical inclination (pitch), horizontal inclination (roll), and altitude of the drone are all
controlled by manipulating the velocity of the motors with respect to each other and to the force of gravity.
When all four motors rotate at the same speed, the drone can only move up or down, or simply hover.”
”4つのモーターすべてが同じ速度で回転する場合、ドローンは上下に移動するか、単にホバーするだけです。”
とあります。
上昇はしないがホバーはする。つまりこの時点では組み立ては間違っていない?。
(組み立て編の状態)
モーターが十分上昇出来る出力が出ていない、バランスはあっている。
つまりモーターの出力は一定にコントロールされている。
もし1つ、あるいは2つの出力が弱いなら、いきなりロールやピッチといった変な動きになるはず。
モーターの出力が弱いならば重量を減らす。
もし重量を減らしても高度が変わらないなら、この高さ(ホバー走行)でコントロールされている。
付属品のみの組み立てで、重量がオーバー等はあり得ないのですし、もしラジコン利用なら受信機の取り付けもあるので問題ないはずですが、電池を延長して重量軽減も検討していました。
結局これは実行せず(単に延長ケーブルを買いに行く暇がなかった(笑))。
5 重心の確認
4と同様、上昇はしないがホバーする”ツイッターで詳しい方に相談しました。
バランスがとれているなら、重心がとれていないから前進になるのではないか?
これはマニュアルからはわからない経験者の意見。これは予想もしてませんでした。
何度も取り外しして組み直ししていたので、いちいちインシュロックで留めるのが面倒になり、単純に両面のみでアバウトに留めていたので、重心を意識しながらキッチリ留め直しました。

ただ、自分のST-DRONEですが、付属の3Mの堅い両面が粘着力がなくなったのと、
付属の3Mでは基板の取り付けが低くてあまりにも電池の抜き差しがしにくいので、3Dプリンタで適当な高さをつくって底上げしています。
いくなんでもこれくらいの重さが増えても問題ないと思うし。
(ちなみに3Mのあの固い分厚い両面シール買い直したいんですけど、商品名がわかりません。ネットでもホームセンターでもみつからない。STの特注品?)

わたしの不器用な留めですが、紐で吊り下げ確認すると一応重心は取れました。

6 キャリブレーションの確認
本体側だけでなく、アプリ側に設定が無いか?も確認しました。
まずアプリのバージョンアップが無いかとアプリ右上の点三つからFirmwara Upgradeを選びましたがエラーになり、とくにアップデートは無いようでした。

飛ばす時のキャリブレーション
室内なので畳上とかでやってましたので、固い板の上とかでやってみましたが、そこまで気にする必要は無いようです。
それよりiphoneのセッティング画面でずっと無視していたんですが、Scale factorという項目。
単純にスロットルのコントロールしやすさの目盛りだろうなぐらいにしか思ってませんでしたので、標準値のままでしたが、ここを1まで上げたら変わりました。
パワーに関係するのかもしれません。
逆にNon liner factorが調整コントロールと思ってましたがここはあげても下げても変わらないような?

7 それでもダメなら問い合わせ
これだけ苦労しているのだから、決して自分だけでは無いはず、
インタフェースは人気雑誌だし、数千円のドローンキットは購入した人はいっぱいいたはずと、ネットを検索しても情報はあまり出て来ません。
海外が本家だからコミュニティサイトも検索しましたが、こんな素人の段階の問題は無いのか情報はありませんでした。
とはいえ、こんなことで挫折したくないのでやってみた内容が上記の内容です。
そんなこんなでなんとか飛ぶようになったので、メーカー問い合わせまではしていません。
1時間以上の充電が必要になるので、検証に関してはまだまだ不十分ですが、
飛行システムに関しては本気で勉強して行きたいと考えています。
そもそも、マニュアルの理論にあるベクトルが理解出来ていれば、目視でのフレーム方向に悩むことも無いだろうし、ここは勉強不足を反省してまた取り組んで行きます。