2022年10月20日木曜日

2号機テスト飛行の解析(1)

 2号機を下ケ傍示ベースでテスト飛行させたが、当然のように(!)不成功だった。その様子は以下のようにyoutubeに上げてある。

https://youtu.be/YN_Zxr1MBT0

この機体は、ジョイント部分が3Dプリンタで作成したプラスティックなので、完成機体とは言えないものだ。本来は、ジョイントはアルミで製作したい。が、そのためにはアルミ溶接をしなければならないが、その準備ができていないので暫定的にプラスティックで作成している。

プラスティックだが、パイプの接合という点ではある程度丈夫に作ったつもりだ。しかし、今回のテスト飛行でコントロールシステムを載せた中央のアルミ板を支える部分が壊れてしまった。設計上、弱過ぎた。アルミ板自体も450gくらいありやや重たいという問題もある。この脆弱性を克服するために、新しく設計し直したものを製作中だ。

この記事では、今回の初飛行のログを解析しておこうと思う。

初めに、ドローンの回転の方向を確認しておく。


ローターの番号、2から1の方向の軸をLとすると、Lに関して右回転をRollとし、4から3への軸をMとし、その右回転をPitchとしている。これに対して45度傾いた軸を設定することも可能だが、そうするとRollとPitchのデータにどのローターの回転が影響をしているのか、関係づけるのが複雑になるので、それが明快な図の設定にしている。

動画では、離陸してバランスを崩して着地、さらにもう一度飛行させている。以下では、最初の飛行を解析する。

動画では、右奥のローターから左手前のローターに向けた軸がL軸である。つまり、小屋側から母家側に向かう方向である。

RollとPitchの動きをデータで見ておく。




相対的に大きな変動をしているRollの動きを見ると、まずRollが負の方向へと傾き(A→B)、Rollが正の方向に反転し(B→C)その過程で、ローター1と4の辺が地面に接触した。その接触したのがC点である。その後、Rollは正の方向に大きく傾いて着地している。これは、ほぼ動画そのまま確認できるところだ。

この機体傾きの変化に対して、PID調整がどのよう関係しているのかを確かめてみよう。


まず初めに了解しなければならないことは、AからBにかけてRollが負の方向に傾いた原因は、不問にしておくことだ。1号機では、この点に強くこだわり、モーターの回転数のばらつきや機体の微妙な傾き、あるいは地面効果や壁面の機能など色々調べたりした。しかし、これはキリがない。どのような状況が発生しても、それに対して機体の修正能力を保つべきだし、PID制御は、潜在的にそれをできる可能性を持っているはずだからだ。だから、2号機は、機体の元々の揺らぎの原因をあまり追求しないことにしている。

図の上半分は、PID制御によって各モーターがスピード調整した分だけを取り出している。

AからBへのRollの負の方向への傾きに対して、モーター3が強化される方向に反応している。ずで細かい振動があるのは、D制御(微分制御)がある程度効くように設定しているので機体傾きの微妙な変動の反映結果である。微分制御は、このような細かい変動に意味あるのではなく、機体の揺れの大きな変動を先取りしてモーター速度に反映させることで、その点では機能しているはずである。

モーター3の強化の結果として、Rollの揺り戻しが生じているように見える。ただし、ここで、私がプロポをコントロールして、Rollを強めるように動かしたという事実も考慮しなければならない。プロポからのモーターへの制御信号を重ね合わせると、次のような図になる。


Rollの傾きが現れて、やや遅れて、モーター3を強め、モーター4を弱める信号が出ていることがわかる。プロポのこの信号の強さは、PIDの信号の強さの倍くらいある。

Rollの負の動きに対する二つの信号の効果を識別することはなかなか難しい。ただ、直感的には、BからCへの変化は、PIDによってもたらされ、DからEへの変化は、プロポによるものであるようだ。

動画と詳細に照らし合わせると、PIDによる姿勢安定化は一定程度、実現しているのではないかと思える。初期の機体の傾きだけは、離陸位置を変えるなどして問題を回避し、PIDの効果の程度を最後まで追う必要がある。プロポからのRollやPitchの信号を出さずに、PID信号の効果を確認すべきだ。それが結論。

2022年10月11日火曜日

10Hzのリップルをカットするコンデンサ容量

 PWM信号を作成した8チャンネルローパスフィルタに通すと、大まかな定電流信号に変わるが、微妙にリップルが含まれている。


図は、プロポのスティックの動きを変換したものだが、10Hz程度のリップルが規則的に表れている。RCローパスフィルタは、15KΩの抵抗と1μFのコンデンサで形成されている。そのカットオフ周波数は次の式で表される。

$$f_{c}=\frac{1}{2\pi RC}$$

値を式に入れるとカットオフ周波数は、ほぼ10Hzだ。カットオフ周波数の定義から10Hzでカットしている電圧は3dbであるから、これでは十分カットしていると言えないということなのではないかと思う。

Rを増加させてもいいのかもしれないが、フィルターの働きを弱めそうな気もするので、ここはCを増加させるのが妥当だろう。5μF、10μFを確かめたい。

2022年10月2日日曜日

8チャンネルPWMコンバーター

 PWMをアナログ直流信号に変換するためのプリント基盤を作成した。それについては、先の記事に詳しく書いておいた。



上のように部品を全て装着した。部品が80個近くあるので、半田付けは大変だった。一回目は、オペアンプの足の半田付けに失敗して、それまで装着した抵抗やコンデンサーが全てお釈迦になった。やはり、一挙にはんだ付けしようとせず、くぎりながら丁寧にやる必要があることを痛感した。

予定通りプロポからの信号に反応するか、機能を調べた。


1チャンネルずつイラベタところ、予定通り変換していることがわかった。RaspiのMCP3208を通してデータにした結果が以下の通りだ。

8チャンネルのうち、ピッチ、ロー、スロットル、ヨーに関するものだけを見ている。一部エラーデータが混じっていることと、リップルがホワイトノイズとして入っているのが、気になるが、使えるということがわかる。


2022年9月29日木曜日

プリント基板の設計と業者への発注:(5)業者の対応

 先に示した8チャンネルの回路について、部品を実装しない基盤を中国の業者3社に発注した。対応の違いを確認しておく。これからは1社に依頼し、こんな無駄なことはしないで済むようにしようと思う。

(P)  PCBGogo

2022年9月25日(日)に、ガーバーデータをアップした。データ審査過程でなんら問題を指摘されなかった。翌26日に、製造に入るから振込み要請が来て、基盤代5ドルと配送代と手数料込みで、計27ドルをPayPal で振り込んだ。

27日製造完了で配達手続きに入った。追跡番号はマイページに記載されている。29日にDHL経由で配達予定になっていたが、DHLの都合で配達日変更になったようだ。DHLの配達予定は、DHLが佐川急便に荷物を引き渡す日だったようで、配達は30日になった。

到着した基盤の画像は以下のよう。



(S) SpeedSTUDIO (Fusion)

2022年9月26日(月)に、ガーバーデータをアップした。その日のうちに請求がまず来た。基盤製作、送料込みで18.55ドル。Paypalで振り込んだ。

しかし、その後にデータの不備が見つかったので、マイページに返信をしなさいとメールが届いた。この時、NextPCBが基盤の取り付け用のネジ穴がデータ間でずれがあると指摘されていたので、そこを治したデータを作成していた。ところが、マイページに再アップロードボタンが見つからない。それからも一二度、早く返事をしなさい胸のメールがきたが、こちら側としてはどうしようもない。やがて、翌27日マイアップロードページのメッセージが変わって、穴位置の不備が指摘された画像が掲載されていた。さらにチャットができるようになっていたので、データアップロードボタンが見つからないと書くと、しばらくしてボタンがつけられた。マイページのシステムは、とても柔軟なようだ。

翌28日審査が通ったようで、生産開始になった。30日朝の時点で、いまだに生産中になっている。

生産が終了し、出荷されたのが10月8日、到着が14日だった。他の2社と比べると遅い。

(N) NextPCB

2022年9月25日(日)に、ガーバーデータをアップした。翌26日、審査した人からドリルファイルがないというむねの審査状況がメールできたので、再アップロードした。また、その日のうちに、基盤のネジ穴位置が不整合であることと、PADが指定されていないという問題の指摘がきた。基盤位置の穴が不整合だったのは、新しいガーバーファイルでは、基盤の少し内側にねじ穴を設定し直したのにドリルファイルが古いままだったので、位置が不整合になったのだ。PADが指定されていないという意味がわからなかったが、おそらくオペアンプLSIについて、ソケットではなく、LSLを直接取り付けるから電極をハンダする面(PAD)が必要だと思われたのではないかと考えて、フットプリントをソケット用のものに変えた。ここは、再アップロードするボタンがマイページに明確に指定されていたので、再アップロードは容易にできた。

翌27日、審査が通ったようで、支払いの指示がきた。製作、送料込みで23.73ドルをPaypalで振り込んだ。翌28日には、生産終了と配送が終わったというメールが届いた。DHLの追跡番号はマイページに記載されている。

配送予定日は、9月30日となっている。これが佐川に渡される日としても迅速なのかもしれない。

9月30日に「配達中」。DHLカスタマーセンターとチャットしたら、配達は佐川急便ではなくDHL自身がやっているとのこと。その日の午後5時前に到着した。

到着した基盤の画像は以下のよう。


(P)の基盤と(N)の基盤を比べて、パッと見て大きな違いは(N)の基盤にはパーツ名が入っていること。これがないと、いちいち配線図と比べて部品を取り付けなければならないが、名前があれば、これが明確にわかる。(P)もオプション指定でできるのかもしれないが、確かめていない。

(N)の基盤では、設計上で裏面に一つのネットワークをベタ塗りしているところが改良点である。ところが、そのネットワークを、間違ってGND以外のものにしてしまった。ノイズの状況が悪ければ、ベタ塗りをGNDにしたものを再度依頼しようと思っている。


2022年9月27日火曜日

プリント基板の設計と業者への発注:(4)ガーバーファイルの出力とビュー

業者には、ガーバーファイルを中心に提出することになる。だから、とても大事な作業である。

 ガーバーファイルの出力は、上段メニューの「プロット」をクリックして開始する。


必要なレイヤーを指定したりなどするが、だいたいこの設定でうまくいっている。出力ディレクトリが指定されていないと、プロジェクトのトップディレクトリに出力される。だいたいガーバーファイルはレイヤーごとにたくさん出力されるので、他のファイルとすぐ区別できるつように、フォルダをプロジェクトの中に作った方が良い。

「プロット」ボタンを押すと、塗りつぶしの再描画が問い合わせされる。

「再塗り直し」を選択する。基盤に塗りつぶしが表示される。


再び、プロットダイアログが表示されるので、今度はドリルファイルの出力ボタンを押すと、ドリルファイルのダイアログが表示される。


だいたいこのような設定で問題なかったと思う。ドリルファイルの生成ボタンを押してガーバーファイルの出力を終了する。他にも、必要に応じてマップファイルなども出力しなければならないが、ここでのサンプルでは、ガーバーファイルとドリルファイルだけで良い。業者に渡すのもその二つのファイルをアーカイブしたものである。

次に、ガーバーファイルをプレビューしなければならない。

KiCadのアプリ選択ウィンドウで、ガーバービューを選択し立ち上げる。そのトップメニューのファイルから、「ガーバープロットファイルを開くを選択すると、ファイル選択ダイアログが現れるので、ガーバーファイルを出力したフォルダを開き、サフィックスが .gbrのファイルを全て選択し決定する。

という出力基盤が現れる。ここでは、ベタの色が緑になっているが、これはB.Cuレイヤーの色を意図的に変更してこうなっている。やり方は、ビューワーの右に例や選択ウィンドウがあり、その該当レイヤーの上で右クリックすると色の選択ボタンがあるので、それで変更できる。

各レイヤーを一通り個別にチェックできるので、問題がないか確かめなければならない。特にベタが確かに意図通りにセットされているかは重要である。なぜならば、ベタ領域はある意味追加的な結線のようになっているので、下手すると回路の整合性が取れなくなるからである。ちょっと変な言い方だが、ベタ領域はある意味一つのネットワークになっていて、対象のネットワーlくが二重化しているようなもので、基盤エディタには、両方のデータが組まれていて、一方を削除しても一方は残るようになっている。だから、他のものと間違いを起こしやすいように思えるからである。

業者へは、このガーバーファイルとドリルファイル、必要ならばマップファイルなどをzip して渡すことになる。

国内の業者はいずれも高そうだ(正確には、国内業者でリーズナブルな価格で提供しているものが、私には見つからなかったというべきだ)から、中国の業者にお願いすることになるが、アップロードした時点でのファイルチェックが厳しいところとそうでないところがある。また、アップロードしたのち、設計ミスがないかという審査(あくまで製造ができるかどうかであり、回路の配線ミスなどは設計者の責任になる)のやり方も業者ごとに異なっている。

私なりの業者の評価は、いろいろ体験したのちに書こうと思う。




プリント基板の設計と業者への発注:(3)基盤編集の続きと自動配線

 前回までの配線では、回路が重すぎるので、1ちゃんねるだけを切り取った回路にすると次のようになる。

未結線のところは明示しなければならない。エレクトリカルルールチェックもパスしている。この状態できばんエディタを開き、前回やった設定を行い基盤をアップデート、外枠の設定を行うと次のようになる。


オペアンプソケットの位置を決めるために、他の部品を外側に退避させて見る。オペアンプのソケットを中央におく。



回路図を見ても解るように、一つのオペアンプの中に、対照的にオペアンプが2段に組まれている素子なので、それを生かしたように部品配置すると次のようになる。

スペースがあるので窮屈さはない。スペースがない時は、抵抗やコンデンサを縦にしたりして詰め込むこともある。電源コネクタは横向きにした。

簡単になった回路なので、手動で二つの層に配線もできるが、ここは自動配線を使う。そのために、基盤エディタのメインメニューのファイルから、Specctra DSNを選んでいくスポートする。ファイル選択ダイアログが出るので、ファイル名を指定して保存する。

Freeroutingを以下からダウンロードする。この時点でのバージョンは1.6.2である。JAVAもインストールする必要がある。MACの場合、jarファイルを使えば良いと思う。jarファイルを起動すると、次のようになる。


先ほど行きスポートしたファイルを選択しロードする。次のようなウィンドウが開く。


Autorouterボタンを押すと一瞬で配線が終わる。簡単すぎるためか、アプリのバージョンの違いか、終わった時に結線が表示されていない場合は、ウィンドウ状をクリックすると表示される。なんでかわからないが。

赤い決戦と青い結線で、二つの層が区別されている。論理的に考えると、二つの線が交差するときは、異なった色になっていれば良い。それはすぐに確かめられる。(背景の色が見にくかったので明るく変えている。DisplayメニューでColorを選択すると変更できる)

このFileから、Export Specctra Session File を選んでクリックする。ルールファイルも出力するかとあるが、使うことはないが一応そうしておく。

基盤エディタに戻って、ファイルのインポートから、今出力したSpecctoraファイルをインポートすると次のように画面が更新される。



結線が表示されている。1ちゃんねる回線にしたときに、ネジ穴が消えていたのでそれも加えている。また、回路を少し下に下げてバランスを良くした。

この配線のままでも最終バージョンに進んでいいのだが、プリント基板でよくある、GNDをベタで広く取るということをやった方が、電気的に安定しそうなのでそれをやってみる。

そのためには、ネットワークの出力というのをやらなければならない。ネットワークとは、電気的につながっている結線の集まりである。ver.6から出力の仕方が変わったようだ。回路図エディタのトップメニュのファイルから、エクスポートをクリックしネットリストを選択する。次のダイアログで、ネットリストをエクスポートをクリックし、ファイル名を選択して保存する。

次に回路図エディタに移って、まず、レイヤーをB.Cuに変更する。つまり、基盤の信号レイヤーの裏面をベタ塗りに使うということである。右の編集メニューで塗りつぶしゾーンにマウスポインタを置くとOption-Zと表示される。だから、Option-Zとキーを打つと、ベタ塗りのダイアログが現れる。


レイヤーを裏面にして、ネットワークを選択する。ここでは、繋がっていないコネクタがあるのでおかしくなっているが、通常はもっとわかりやすい。GNDは、ここでは2ピンコネクタの1番ピンである。2ピンコネクタがネットワークリストにないので、Cの中から探さなければならない。ここでは、C10の一方がグラウンドなので、リストの中のC10-Pad1か、C10-Pad2のどちらかである。

このPAD というのは、電気的な接続面というような意味だと思う。つまり、コンデンサには二つの電気的な接続端子がありそれにPAD1とPAD2を割り当てているのである。どちらが対応するかは、ラベルをよく見れば、小さい字で書いてある。初めは、これが見えなかった。


よく見ると、右の端子が2で左の端子が1なのだ。回路を見れば解るように2ピンコネクタの1番ピンにつながっているのは、右側の2であり、だから、GNDに対応したネットワークはC10-Pad2であることがわかった。

注意しなければならないことは、ミスったと思って2回ベタ塗りをやるとベタが二つできて、回路的におかしくなってしまう。下手すると完全なショートとなるので、必ずベタ塗りが一つであることを確かめ、二つあったらどちらかを削除することができるので、そうすることだ。

ダイアログで、ネットワークをそのように指定して、OKをクリックすると、カーソルが現れ、それをクリックしてベタ塗りの領域を指定することになる。基本、基盤が正方形ならば適当に正方形を指定して、後で、四隅のポインタをスライドして基盤の全体を覆うようにすれば良い。そうするとベタ塗りの領域が設定される。

それはまだ単なる網掛けの線の領域となっているが後で、ガーバーファイルを出力するときベタ塗りの領域の再描画をするかを聞かれるので、そこで再描画すると、次のようになる。


感覚的には、ベタのところは緑の濃い色がいいが、色は変えれるので大した問題ではない。

ガーバーファイルの出力は、ウィンドウ上段のプロットアイコンをクリックして行う。これについては、次の記事にしよう。

プリント基板の設計と業者への発注 目次



ピコをudevを制御して区別する

 システムで、dshot信号を作るのをpicoでやらせていた。UARTの使用の関係で、pico1台で、2つのモータに信号を送っていたので、2つのpicoを使っていた。それまでは、pico二信号を送って、あなたはどちらのpicoですかと問い合わせして、その答えを聞いて /dev/t...