Qtでプログラミング

  • 2020.12.27
  • Qt

モーターのベクトル制御をするためには強力なデバッグ環境が欠かせない。デバッグ環境と言っても色々あるが、個人的には数十マイクロ秒ごとに複数のデータを送ってきてくれればそれで良い。

具体的に言うと最低限d,q軸の電圧と電流、バス電圧、ローターの電気角+もう2つくらいを制御周期ごとにパソコンでモニターしたい。それも浮動小数点型で。

今までずっと株式会社データ・テクノさんのCPLTというツールを使っていたが、最大でも8チャンネルまでしかモニターできないのと、ASCⅡで通信しないといけないため1つのfloat型のデータを送ろうとすると8文字(8バイト)程度の通信をしなければならならず、上の要求を満たせるほどの通信速度が出せなかった。

バイナリデータで通信すれば劇的に通信速度を上げることができるが、データの区切りやエラーの検出などの仕組みが必要になる。探してみた限りCPLTのような使い勝手の良いソフトは見つからなかったので、仕方なく自分で作ることにした。

組み込みのプログラミングなら多少やったことがあるが、パソコン向けのソフトは作ったことが無い。言語もどれを使うか悩んだが、調べてみるとC++ができれば他の言語を覚えるのが簡単そうなこと、Cならもともと使っていたことからC++にした。
残るは開発環境だが、C++でWindows向けのGUIソフトを簡単に作れるものとしてQtを知り、使ってみた感じ良さげだったのでこれでいくことにした。

パソコン向けのソフトだと組み込み系とは違い、ハードウェアを完全に理解する必要が無い、というよりそれは不可能だろう。
その代わりフレームワークだとか動的ライブラリだとか意味の分からない単語が色々でてきて困る。
とは言え、パソコン向けのソフトが作れるようになればこれ以上無いほど強力なので、ここは頑張って勉強しようと思う。