パスワードを忘れた? アカウント作成
669747 journal

espyの日記: robo:: ウータン第七の修練(ウータン・クラン) / PIC programming 2

日記 by espy

よよ嫁!ホレホレ嫁! フマキラー付いてるよ...

  * * *

また徹夜になっちゃったな。この半年でかつて無い進捗 (たりめーだ、
むしろ遅すぎだ...)ではあるが、牛歩な感は否めない。
でも進んでいる。
PICの条件分岐、フラグの挙動、引き算の書き方で、朝方に何時間も
悩んでしまった。
もうI2Cはあきらめて、CPU→PIC×2個は、Parallel Slave Port接続
で、結線だけはしてある。中身はこれから...

小脳PIC用として、こんな感じのプログラムを作る予定:
・約16~20msでタイマ(カウンタ)をぐるぐる回しておく。
・タイマが一周の境目に達したかを時々確認に行く。(サブルーチン)
・一周するまでの間はParallel Slaveを読んでメインCPUからの指令が
  届いていないかチェックする。届いていたらデータを読み、しかるべき
  所へ格納するなどする。
  A/Dを読むコードなどもここに入れることが出来そうである。
一方、サブルーチンの中は、タイマが一周していたらサーボ12ch分の
出力を一斉に"High"にし、各chの変数を数μsステップでデクリメント、
zeroになったchは出力を"Low"に落とす。全部落としたらreturn。
そう、割り込みを使っていない。
Highパルスが出ている間は、ソフトループなのでメインCPUはPICに
コマンドが書き込めないことになるが、"ちょっと待ってねフラグ"と
して信号を1本用意する。(最悪約2.4msくらい待たされる)

まぁとりあえず、約16ms周期については、テスト用の基板(こんなやつだ)で
シンクロで波形を見て、この方式で行けそうだという検証は得られたし、
1ch分のパルスを出して実際にサーボも回せた。(自作プログラムで
サーボを回してみたのはこれが初めてだったりする... ^_^;)

とりあえず3時間、(または4.5時間(または6時間?)) 寝る。
起きたら続き。

# 主題歌分科会もできてめでたい。:-)

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by witch (3127) on 2003年07月21日 12時56分 (#363049) 日記
    割り込みを使わずにループさせれば、サーボ制御の分解能あげられるから、わたしのより精度あげられるでしょうね。

    間に合うように頑張って
    (自分のことを棚にあげてどうする)
  • PIC での制御って大変そうだなぁと思いながら読んでます:)。でももうちょっとなのかな。

    形になりつつあるので気を楽に持って頑張ってください。途方にくれない事が多分重要だと思います(w。

typodupeerror

犯人は巨人ファンでA型で眼鏡をかけている -- あるハッカー

読み込み中...