▼気が変わりやすい性格か?
当初はこのまま、マザーボードの配線をして動かそうと考えていましたが、どうせ後でやることになるので、先にやってしまおうと思い、胴体部分の配線をやっちゃいました。
写真に写っているのは、ちょうど腰の部分です。
▼配線、配線、あぁ、いくつめのマザーボードだ?
各部の配線を経て、マザーボードの配線へ。このマザーボードには以下の機能があります。
- シリアル通信用のピンヘッダ(3PIN)
- 主電源用コネクタ(2PIN)
- 電源用LED
- RCサーボ用信号コネクタ(16PIN「腕部、頭部を除く」)
- AKI-H8/3052F用ピンヘッダ
▼RCサーボ点火!!
気を取り直してもう一度、RCサーボに火を入れました。まだ、誤差の修正をしていないので、多少のずれはあるものの、 納得の行く状態。「ん?、一個だけRCサーボが動いてない!?」 「なんですとぉ〜Σ( ̄▽ ̄;;)」というわけで、RCサーボは半田付け時に怪しい部分もあったので、分解、分解!! 「あぁ、せっかく組み立てたのに・・・」。で、結果は問題ナシ!とりあえず、証拠写真を取って、お終い。 戻しました。
次の問題点として考えられるのが、コネクタの接触不良!これも、コネクタの端子を取り出して、 取替えました。で、動かした結果、RCサーボ動いてくれました。端子のかしめ方が甘かったか。 汎用かしめ工具の購入を考える。とりあえず、買うとしてももうちょい先。(笑)
▼まずは、シリアル通信!
今までは非常に面倒な誤差の修正をしていました。「誤差修正したものを動かして、修正して・・・以下略」 今回は、キーボードを打って修正したかったので、とりあえずプログラムを書いてテスト、テスト、テスト!が、ダメでした。 ずっと悩んでいましたが、やっぱりダメ。今までシリアル通信でできたのは、H8から数値や文章を送る事だけ。 パソコンから意図した物を送信することはできませんでした。ここで、救われたのが力弥さんのTekuRobo工作室 !![ソフトウェア編⇒好きな関節を好きなだけ動かす]ここに、自分の求める答えが載ってました。 おかげで、なんとかソフトも満足の行くものになりました。できたときは、やっぱり嬉しかったですね。はい。
▼H8よりの通信途絶!RCサーボ動きません!!
誤差修正後、とりあえず屈伸をさせようと、簡単な動作プログラムを作成し、モニター上で走らせる。 「うんうん、いい感じに動いて・・・なっ・・・」順調に動いていたサーボが突然、力が抜けたような状態に! 思考錯誤えプログラムをいじるがやっぱりダメ。「やはり、DMACを使ったプログラムは無茶だったか・・・」などと途方に暮れていました。 結局原因不明で、時間だけが過ぎていった。▼原因は意外なところに!?
この力の抜ける現象、この解決の鍵を握るのはRCサーボでした。 試しに、一つだけRCサーボに信号を変化させないプログラムを作ったところ、 他のRCサーボは全く問題なく動作しました。最初は「RCサーボの個数に関係するのか?」と考えていましたが、信号を変化させないRCサーボを別のものにして、 実験すると、また力が抜けてしまいました。どうやら、このRCサーボが問題だったようです。
この動作プログラム、20msecで1°動かすプログラムなんですよ。これを、20msecで2°
動かすプログラムに変えたら、問題なく動きました。
あくまでいい加減な推測ですが、このRCサーボを制御している基板に何か異常があり、
細かい制御ができなくて、それがマイコンに影響を与えてしまい、動かなくなってしまった。
うーん、書いていてもよくわかりません。(^-^;