2013/01/20

[arduino]サーボモータの制御はPWMなんだ

はい、素人です。
サーボモータ自体知らず、Arduino本の通りに接続して、ソースを書いて実行させました。

サンプルは、ポテンショメーターのつまみをぐりぐり回すと、それにあわせてサーボモータがぐりぐり動くというもの。
ほほぅ、こういうことができるんだ、と素直に楽しめた。

 

ポテンショメーターも初めてだったのだが、これは可変抵抗と電圧出力がセットになったような部品だ。
それはいいのだけど、これの+と-の間に100uFの電解コンデンサをまたぐようになっている。
さて、なんのためだろう?
チャタリング・・・じゃなくてジッタを弱めるためだろうか。
と知った顔で書いてみたが、「ジッタ」って用語で正しいのかわからん。。。

 

同じ容量の電解コンデンサが、サーボモータの+と-のところにも同じようにまたいでいる。
こっちは本にも書いてあって「you can smooth out any voltage changes that may occur」だと。
発生する電圧変化を滑らかに伝える、ということなのかな。
積分回路・・・だっけ?
コンデンサに充電するからすぐに変化がサーボに直結せず、立ち上がりがゆっくりになる、ということか。

あ、同じところに「ポテンショメーターも同じ」みたいなことが書かれている。
「デカップリング キャパシタ」と呼ぶらしい。なんとなく聞いたことがある気がする。
TDKのページによると、高周波成分を通す性質を利用する、という基本機能の応用とのこと。
なので、さっきジッタがどうのって書いたけど、ノイズのような高周波成分をGNDに流すために使っている、ということになるのかな。

容量が100uFということについては、よくわからない。


ソースも少し書くだけで動いたのだが、実はサーボモータはPWMで制御するらしい。
digitalWrite()でPWMのチェックをしているところがあったので「PWMとかそげん使わんよなあ」と思っていたのだが、いきなり使っているではないか。

今のところ、お仕事でもPWMは使ったことがない。
サーボモータやLEDで試しておきたいところだ。

ん、ってことはサーボモータのライブラリをLED制御に使うと簡単なのかな?
と思ったら、それも本に書いてあった。
パルス幅が違うとか、そんなことを書いているようだ。

PWMでのLED制御も本に載っているから、試してみようかね。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。

注: コメントを投稿できるのは、このブログのメンバーだけです。