FC2カウンター

現在の訪問者数

現在の閲覧者数:

カレンダー

11 | 2009/12 | 01
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -

プロフィール

剣菱P

Author:剣菱P
剣菱Pと申します。
性別:男
年齢:27
二兎を追って一兎も得られないタイプ

マイコンやプログラミング、ニコニコ動画、雑記等
方向性は見えずとも、ちょっとずつ更新していく予定です!

リンクフリーです。
こんなブログでよかったらよろしくお願いしま~す。

公開メール kenbishiP@gmail.com

検索フォーム

最新記事

最新コメント

カテゴリ

メールフォーム

名前:
メール:
件名:
本文:

月別アーカイブ

最新トラックバック

リンク

ブロとも一覧

ブロとも申請フォーム

ランキング

ランキング参加中です。気が向いたらクリックしてあげてください。


にほんブログ村 その他趣味ブログへ
にほんブログ村 その他趣味ブログ 趣味の工作へ

スポンサーサイト


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


複数サーボ


さてさて、タチコマに使うサーボを制御するための回路を作るわけですが、

まず今使っているPICではパルスを一つ出して一つサーボを動かすので精一杯

この感じだとPICが最低12個必要に。

これは却下したので 一つのPICで複数のサーボを制御します。


今回使おうと思ったのはデマルチプレクサというロジック回路

簡単に言うと線路のレール切り替えのように信号の通り道を切り替えることが出来るものです

demalti.jpg

選択の端子に加える0Vと5Vの組み合わせで入力に入った信号を任意の出力から出せます。
demalti2.jpg
demalti3.jpg
demalti4.jpg
demalti5.jpg

お次に肝心のサーボ用信号ですが
servos1.jpg
こんな感じですよね
これって、なんかパルスを出した後の空白地帯がもったいない気がしたので

まず 20msを等分します。例として4等分
servos2.jpg

4等分したタイミングで 新たに信号を立ち上げます
servos3.jpg
つまり周期が5msの信号を作ります

この4つのパルスはそれぞれ長さを個別に変えます。わかりやすいように色をつけると
servos4.jpg
この4色を繰り返します。

ここで先ほどの、デマルチプレクサ!

servos5.jpg

PICから5ms周期で 4種類の長さのパルスを出し
そのパルスの立ち上がりのタイミング①②③④
それぞれで、2bitの出力を使ってデマルチプレクサを切り替えます

するとそれぞれのパルスごとに出力先が変更されます。それぞれの出力を見ると
4回に一度しか出力されないので、波長は20ms

まさにサーボ用パルス!

これで一つの信号線で4つ分のサーボ信号を生成できるってことですな

8bitの出力を持つデマルチプレクサなら8本分のサーボ信号をPIC1つで作れます。
8個の場合は20msを8等分で 2.5msごとに同様の処理を行うだけです。

これ以上分割するとサーボに必要なON時間2msが確保できなくなるので 8個が限界ですかね

CCPモジュールが二つあるPICを使えばそれぞれ8本で 16本!

今回の仕様を満たせる!

ただ、CCP割り込みがCCP1とCCP2で同時に発生するケースとかはどうなるんだろう・・・
ちょっとずれちゃうのかな。

とりあえず思いついたこの案がうまくいくか実験してみます。

せっかくなのでデマルチプレクサは勉強も兼ねてCPLDでやってみる予定。

スポンサーサイト


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。