[H8-ML(830)] Re: ラジコンのサーボ制御
From: 小島 央 <funfly@xxxxxxxxxxxx>
Date: 2000年10月23日(月)01時42分45秒
> それで、いまはサーボの制御方法をAKI-H8でやろうと思っています。
> 制御したいサーボというのは、工業用のものではなく普通にラジコン等に
> 搭載されているような、安価なものです。

2年ほど前にプロトタイプが実現して、今は応用に入っていますので
少しコメントさせていただこうと思います。

私の研究では模型飛行機の自動制御をやっていまして、そのときに機
体を制御するサーボを動かすのにダミー信号(と勝手に呼んでいます)
をAKI-H8を使って生成しました。

波形の生成はH8にPWMモードなる未知の機能があるようなのですが、面
倒だったので最初はforループ分を使って生成。次はITU0を使って生成
しました。

ただ、問題がありまして、制御関係の演算が多くなってきたり、センサー
の読み取りに掛かる時間が多くなってきた場合、割り込みとかをバシバ
シ使いこなさなければサーボ動作に必要な周期に間に合わないのです。
しかも、動かすサーボの数が増えてくれば増えてくるほどピンチです。
そこで、少しもったいないのですがサーボ駆動用のAKI-H8を1枚作りま
した。ホストとなるH8から8bitで(つまりどこかのポートをまるまる
使う)サーボ駆動用H8にデータを送り、そのH8ではそのデータに従っ
て黙々とPWM信号を生成します。たまにどう考えてもおかしい変位が
あったり、あるいは信号が途絶えてしまった場合には最後の信用できる
データを使い続けます(フェイルセーフ機能)。

今年に入ってからはいくら何でもサーボの駆動の為だけに1枚割くのは
惜しい上に、模型飛行機に積むには体積が大きすぎるということで、
Microchip社のPIC16F84を使い始めました。基本アルゴリズムはそのまま
移植したのでまったく問題なく動いています。(フェイルセーフ部分を
移植し忘れているけど見た目ちゃんと動いてる。無駄な保険だったか?)

いずれの場合にせよ、サーボ駆動用に単独のマイコンを使ったのは正解
だったと思います。ようは8bitでデータを送りつけてやれば信号のタイ
ミングとかはまかせっきりにできるので他のプログラミングが劇的に楽
になりますから。

ハマる前に一言だけ余計なアドバイスをしておくと、AKI-H8には5V端
子が有りますが、あれを使ってサーボの動作電力を得ようとは考えない
でください。何A供給できるのか考えずに使って見事に動きませんでし
た。それと、たとえば双葉電子のサーボなら信号電圧は3Vですが、H8
は5Vです。まずいかな?とも思ったのですが、むしろ安定して動きま
す(もちろん個人の責任でやってください)。




-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
 ひろ之介。
   ∩∩  ・E-mail 1: s012019@xxxxxxxxxxxxxxxxxxxxxxx
   "∪"  ・E-mail 2: funfly@xxxxxxxxxxxx
   http://www.wakayama-u.ac.jp/~s012019/index.html
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

スレッド概略
[828(R)](起点)
 └[829(U)]
   └[表示中]
     └[831(1)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]