google-site-verification: google3bd66dd162ef54c7.html

倒立振子の製作-3 (液晶表示は断念)

 半日で作れる倒立振子のデジタル版を製作しました。これは成功事例を完全にコピーしているだけなので、問題無く作ることが出来ました。

 せっかく動くようになったなので一味加えて、振子の姿勢やモーターの出力などを側面に取り付けたグラフィック液晶に表示が出来ないかやってみました。

 で、先に書きますが、この試みは今のところうまくいっていません。まあ、どんな問題があったか整理しておくと後で役に立つかもしれないので記事にまとめておきます。

▼倒立振子とグラフィック液晶
倒立振子に液晶表示
 こういう液晶を側面に付けようと考えました。

▼液晶を側面に付ける
グラフィック液晶をこんな感じに、、
 雰囲気を確かめるために3インチの液晶をテープで固定してみました。ここに振子の姿勢等の情報をグラフィックに表示出来ると面白いはずです。

 倒立振子のジャイロのインターフェイスはSPIなので液晶もSPIの物を使えば回路が簡単になるはずです。手持ちのグラフィック液晶でSPIインターフェイスは1インチくらいの小型モノクロ液晶。ともかくこれを動かすことにしました。最初の写真の左下の小さな液晶がそれです。

 この液晶はu8glibというライブラリを使って動かすことになります。そこで、倒立振子のプログラムに液晶表示用のプログラムを入れても問題が出ないかをまず確認することにします。ソフト関係の確認を先にやっておいて、OKならハードの配線に進めば無駄足を踏まなくて済みます。

 と考えて、適当な内容を液晶に表示をさせるプログラムを元の倒立振子のプログラムに入れて動かしてみるとだめでした。振子が自立出来ずコケてしまいます。何しろ短い時間の現象なので、原因調査のためにオシロの出番です。

▼オシロで動作状態を確認
タイミング測定中
 空きピンに動作確認用の信号を出して処理時間を見てみました。その結果は、

 ・倒立振子の処理時間(ループを1回廻る時間)は5ms。
 ・u8gのpicture loopだけの処理時間は3.4ms。つまり何も書かなくても3.4msを消費。
 ・7文字表示の処理時間は4.4msで、線や円をあれこれ書くと14ms。これじゃダメです。

 表示に予想外の時間が必要で、倒立振子の制御の3倍くらいの時間がかかっていました。これでは倒立させるための条件が変わってしまいます。

 液晶に簡単な図形を描くならごく短時間で済むと思っていました。でも全く画像の書換え無し、つまり空のpicture loopを廻すだけでも3.4msもの処理時間が必要になっています。

 このあたりの話をもう少し詳しく追うと、u8gは以下のようなプログラムで表示を行います。
  // picture loop
  u8g.firstPage();  
  do {
    draw();
  } while( u8g.nextPage() );

 ここでdraw()に実際に作図したい内容を書きます。何でこんな回りくどいやり方になっているか、その理由はu8glibのpictureloopの解説をお読み下さい。
 全くデーターの変化が無い場合でも、SPIのバスには全ピクセルのデーターが出力されます。ややこしい処理をさせるとその分だけデーターの供給速度は落ちますが、とにかく全データーを送る動作を繰り返します。つまりデーターを送るのに数ミリ秒の時間がかかるということです。

 人間が相手だったら表示に0.1秒かかってもたいした問題にはなりません。でもリアルタイムのフィードバックを行っている倒立振子ではタイミングやディレイ時間の変化は致命的です。

 と言うことで暗礁に乗り上げてしまいました。

 液晶表示に必要な時間を想定して倒立制御のプログラムをチューニングすればうまく動く可能性はあります。でもこのやり方はあまりスマートな解決策には思えません。そんな対症療法をするのではなく、割込みを使って倒立の制御と表示プログラムを分離するのが正しい対処方法だと思います。
 でもこの場合、SPIのライブラリなどが割り込みの最中でも正常に動くか心配です。もう一つ別のCPUを表示用に用意すれば確実に動くと思いますが、ちょっとやり過ぎですね。

 ということで、現在手持ちの部品ではうまくいきそうにないので、この倒立振子の製作の話は一旦クローズにしたいと思います。

 ところで、カラーのグラフィック液晶を使ったアプリ作りはなかなか面白そうなのでもう少し突っ込んでみたいと思います。グラフィック液晶と言えばaitendoが有名ですが、webを巡回するとAliexpressに同じような物が格安に出ています。少し買って人柱になるかもしれないスリルを味わってもいいかなと思います。
 例えばココ→、Aliexpress 電子部品 など見てると、どっからそんな物仕入れてきたんだよー、という感じで、昔の秋葉原を歩いているような気がしてきます。
関連記事

コメントの投稿

管理者にだけ表示を許可する

カレンダー
05 | 2017/06 | 07
- - - - 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 -
プロフィール

ラジオペンチ

Author:ラジオペンチ
電子工作を中心としたブログです。たまに近所(東京都稲城市)の話題など。60過ぎて視力や器用さの衰えを感じつつ日々挑戦!
コメントを入れる時にメールアドレスの記入は不要です。なお、非公開コメントは受け付けていません。

記事が気に入ったらクリックを!
最新記事
カテゴリ
最新コメント
リンク
FC2カウンター
検索フォーム
月別アーカイブ
RSSリンクの表示
QRコード
QRコード