ゆうえんこうじさんからマイコン開発ボードやツールについて教えていただき、真似をして牽引力測定車を作成中です。
元々使用している牽引力測定車は市販のフォースゲージをそのまま使用している関係で、幅が広くて複線で走らせるともう一方は通行止めになってしまいます。なので、普通の車輛程度の大きさのものが欲しかったのです。
センサーは100gが測定できるロードセルですが、実際に使ってみると300g近くまで測れるようです。
(大きな値の時は誤差が大きいかもしれません)
ここ数年はマイコンのプログラムも作ったことがなかったのですが、結構便利なものが販売されているようです。
ソフトとハード双方を製作すると、問題があった時にどちらが悪いのかを確認するのも大変ですので、今回は極力市販のハードウェアをそのまま使用し、回路の半田付けは避けることにし、プログラムも既にあるライブラリをできる限り使用することにしました。
初めて使用する開発ツールで何が何だか分かりませんでしたので、入門書を読んでやっとここまできました。
高々400行に満たないプログラム作製に一週間も要するのは遅すぎかもしれませんが、ハード毎に便利なライブラリが揃っていているので、慣れれば色々なことが早くできるのかもしれません。
開発中には色々問題も発生しその解決に数日を要したりもしました。
・夜に作業を終了、PCをシャットダウンして、昼に作業を再開しようとしたらPCでCOMポートが見えなくなり、作業ができなくなった。
→PCのドライバの再インストール(上書き)、ドライバを削除しインストール、PCの再起動等、何時間もかけて色々やってみましたが、結局USBケーブルを変えたら直りました。今回購入したケーブルなんですけどね。
・開発ツールのコンパイルが異常に遅い
8086CPUでコンパイルしていた時よりも遅い感じでした。
→PCのドライバの再インストール(上書き)、ドライバを削除しインストール、PCの再起動等、何時間もかけて色々やってみましたが、結局USBケーブルを変えたら直りました。今回購入したケーブルなんですけどね。
・開発ツールのコンパイルが異常に遅い
8086CPUでコンパイルしていた時よりも遅い感じでした。
負荷状況を確認したら、セキュリティソフトが怪しいと思い停止してみると、コンパイル時間が数分の1に低減しました。
元々、変更の無いプログラムも毎度コンパイルしているようですので、遅いです。
・OLEDの表示がうまくできなかった
サンプルプログラムをそのまま使用してもOLEDが表示できず、動作時にエラーが出力されていました。
ライブラリ呼び出しの細かいところに何か問題があるのかとか、ハードが悪いのかとも疑ったのですが、試しにボード本体の開発ライブラリのバージョンを下げてみたら、正常に表示されるようになりました。
後で確認したら、OLEDライブラリが古かったようで、全く新しい別のライブラリが登場していました。
元々、変更の無いプログラムも毎度コンパイルしているようですので、遅いです。
・OLEDの表示がうまくできなかった
サンプルプログラムをそのまま使用してもOLEDが表示できず、動作時にエラーが出力されていました。
ライブラリ呼び出しの細かいところに何か問題があるのかとか、ハードが悪いのかとも疑ったのですが、試しにボード本体の開発ライブラリのバージョンを下げてみたら、正常に表示されるようになりました。
後で確認したら、OLEDライブラリが古かったようで、全く新しい別のライブラリが登場していました。
タイマ割り込みを使って測定を定期的に実行したいのですが、割り込みで呼ばれた先から他のボードを制御しようとするとプログラムがエラーで落ちてしまうので、あきらめました。
動作していることを示すLEDの点滅だけタイマ割り込みを使っています。