FC2ブログ
2018-10-14 23:51 | カテゴリ:PIC応用回路

肝心の車体がひとまず完成しました。
基本的な走行テストも終わりましたので、いよいよプログラミングです。

あっ、そうそう、モーターやギア、車体のフレームなどのキットには、単三電池4本のホルダーもセットについていたのですが、なにせ大陸クオリティーで、使い物になりませんでした。
電池抑えの側面プラが割れて半分欠落、おまけに電極端子は、ペンチで無理に曲げてあって、電池が入りきりませんでした。
別の手持ちの電池ケースに交換しました。(笑)

(LT04-00)
LT0400.jpg


(LT04-01)
LT0401.jpg



続きは、、、、、


今回のフォトリフレクターは、赤外LEDを光源としていますが、外乱光の影響を低くするために、LEDをONにした際の計測値と、OFFの計測値の差を取り、純粋なLEDだけの値を使用します。

その際、全LEDを一斉にON・OFFさせても端のフォトTRと中央のでは、LEDの照度が変わるので、計測値が変わるだろうと思い、ちょっとテストしてみました。

(LT04-02)
LT0402.jpg

一つのフォトTRの出力をオシロで観察しつつ、赤外LEDを順次点滅させてみました。

(LT04-03)
LT0403.jpg

やはり、近隣のLEDの影響をもろに受けています。

こうなると、各々のフォトTRに対応した赤外LEDをその都度順番に点滅させて、計測しなければなりません。
今回は、PICのPORTBに6個のLEDを節度くしていますので、プログラム上で順次ポートのLEDをOn/Offさせます。


さて、肝心のプログラムですが、前回のNゲージコントローラで勉強したPID制御を組み込み、Kp、Ki、Kdの三種の神器のパラメータを決めればよいのですが、これがまた相当な手間暇と忍耐力が必要です。
Nゲージの際は、SD(標準偏差)をプログラムで計算させて、後は鉄道模型をクルクル走行させていれば、ある程度の係数がほぼ自動で得られたのですが、今回は、レールが無いので、パラメータがマッチしないとあらゆる方向へ走り出し、壁に激突です。

ここから、気の遠くなる様な、試行錯誤が始まりました。

PICに予め予測して、Kp係数を10個ほど書き込み、それをPIC起動時にSWで選択する様にプログラミングし、ひとつづつ検証です。
ここで1週間ほど、あーでもない、こーでもない、と苦しみました。
とりあえず、直線の上を線を辿って走行すればよいのですが、それが上手くいきませんでした。

ライン上に車両を置いて、SWオン。 ものの20cmも走らないうちに左右にあっという間にラインアウト。
そして、何とか、ここまで。
暗い廊下で撮影しましたので、お見苦しくてすみません。

(LT04-04)



首を振り振りトレースしています。(感激)


更に1週間ほど悪戦苦闘して、なんとか真っすぐ、走行する様になりました。



(LT04-05)



多少首を振っていますが、かなりの速度で直線に沿って走行しています。
やれやれ。


あとは、カーブを曲がれるかなんですが、、、、


その答えは、一週間後に出ました。


曲がれませんでした。

速度が速く、どんなにパラメータを調整してもこの速度では無理でした。

そして、やっとのことで、トレースが出来る速度と、パラメータを見つけました。
最適値ではないですが、脱線しないでコースを初めて一周できました。
駆動輪を差動式でドライブしているので、急カーブはかえってかなりスムースです。

(LT0406)





これからPID係数をもう少し煮詰めていきたいと思います。

関連記事

管理者のみに表示する