2017-10

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

残すところ1週間・・・

そして今週末も絶賛発熱中・・・どうも週末になると発熱するという・・・精神的なものなのかなぁ・・

こんばんわ。


少しでも寒いところにいるとすぐに熱がでてしまい、もはや冬場の作業は絶望的・・・
基板が不安定な状態で机の上にほったらかしなのが微妙に不安です^^;

懸案だった円弧移動はようやくヘリカル移動にも対応して組み込み完了。

まずは修正前の円移動。円弧の始点と終点で数ピクセルのズレがでてしまっています。
2016122501.png 

コレ、作ってたときは円を縮小表示していたせいでズレが見落とされていたんですね・・・

で、改善後の描画がこちら。
2016122502.png 

はい、ばっちりです。これで安心して使えます^^

続いて、もう一つ。
動作の安定性に関する問題点の改善を試みます。

当初、短い距離を移動させているだけの間はあまり気づかなかったのですが、だいたい200mmくらいに1回、あるかないか・・・という程度でパルス送信が途絶える瞬間が発生するのです。

発生間隔が不定期なのでなにかしからのバックグラウンド処理が走っている・・・と予想していたのですが、結局原因はつかめずじまい。

で、回避策としてバッファサイズを大きくしてみたりといろいろやってみたのですが、改善せず・・・これはもう抜本的にハード側で対処が必要か・・・と考えつつ、送信処理部分を見返していいたところ・・・

await _dataWriteObject.StoreAsync().AsTask();

これ、仮想シリアルポートに向かってパルス情報を送信する一文です。シリアル通信のサンプル文そのままで使っていたりしますがw この「await」、シリアルへむかって送信が完了まで待機する・・・という意味でついています。

じゃぁこの「await」をとってしまったらどうなるか・・・というのをやってみたところ・・・パルス生成の処理は一瞬で終了し、そのあと非同期でモーターが動作しています・・・そこでようやく気付きます・・・

ああ、そうか・・・このシリアル通信にはバッファというものが存在しないのね・・・

つまり送ったパルス列がハード側ですべて取り出されるまで、上記の送信処理は待機状態になっていたのです・・・それでバッファサイズを大きくすると余計に安定度が下がったりしていたわけですか・・・

では単純にこの「await」をとってしまえばよいかといえば、そう済むわけもなく・・・とってしまうと計算だけが先にすんで途中停止ができないとか、座標表示の内容が一切更新されないとか・・・いろいろ問題なので別のバッファ方法を検討せねばなりません・・・

結局、この送信処理毎に生成されるタスクをキューで管理し、キューに3つ以上タスクが溜まったらタスクの完了を待つというように変更。

if (TaskQueue.Count > 2)
{
   await TaskQueue.Dequeue();
}
TaskQueue.Enqueue(_dataWriteObject.StoreAsync().AsTask());

ようやくこれで送信処理が安定しました。もっとも非常停止時もバッファ分は止めることができない状態にもなるわけで・・・目視では大体4分の1回転くらいは進んでしまうようです。このあたり送信の安定性との兼ね合いでバッファサイズを調整する必要がありそうです。

あとはファイルの取り扱いのみとなりましたが・・・来年かな^^;




スポンサーサイト

コメント

コメントの投稿


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

トラックバック

http://nznavyblue.blog.fc2.com/tb.php/290-8e36aebe
この記事にトラックバックする(FC2ブログユーザー)

«  | ホーム |  »

日付から日誌を見る

09 | 2017/10 | 11
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 - - - -

最新の日誌

最新のコメント

最新のトラックバック

カテゴリ

3Dプリンタ開発記 (83)
新モータ駆動装置 (20)
集塵機 外郭編 + モータ制御実験 (17)
集塵機 (42)
Android ADK (3)
CNC改善 (2)
iPhoneスタンド習作 (6)
Webカメラ表示用ソフト (11)
備忘録 (0)
作業日誌 (18)
そのほか (76)
キーボードの製作 (9)
スピンドルモータ交換 (7)
鉄道模型 (9)

リンク

このブログをリンクに追加する

当日誌の閲覧総数

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。