ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

arduinoコミュのAruduinoでサーボ駆動について教えてください。

  • mixiチェック
  • このエントリーをはてなブックマークに追加
ここに書いてよいのかわからなかったのですが、
どうしても分からないのでよろしくご指導願います。

Arduinoに可変抵抗をつなげて、
サーボをまわして遊んでいるのですが、
Arduino本体の5Vラインからサーボに供給すると
スムーズに動くのですが、
外部からの電源にすると、ぶるぶる震えたり、
沈黙したりしてしまいます。
この症状は何が問題なのかお教え願えませんでしょうか?

よろしくお願いします。

コメント(8)

A/Dコンバート入力側にノイズが乗ってるのかな?
A/D値でなくて、直接値を渡しても震えますか?
早速のご回答ありがとうございます。
入力側ということは、今で言う可変抵抗の入力ということですよね?
直接値を渡すというのはどういった方法をとれば
確認できるのでしょうか?
教えてくんですみなせん、なにせ取り組んだばかりなもので…。
よろしくお願いいたします。
こっしーさん、おはようございます。

>直接値を渡すというのはどういった方法をとれば
>確認できるのでしょうか?

もしA/Dコンバータ入力側にノイズが乗っていて
それが出力に影響をしているなら、
A/Dコンバータで読み取った値(analogRead)の代わりに
一定の値とかプログラムのループで徐々に変化させる値など、
プログラムで作った値をサーボに与えてテストすればどうでしょう?
という事です。
もし、それで症状が出なければ、A/Dコンバータにノイズが乗っている。
それでも症状が出るなら、問題は別の場所。
と切り分け出来ます。

他に、A/Dコンバータで読み取った値を
Serial.printで出力してPCでモニターする。
という方法もありますね。

私はどちらかというと外部の電源に問題があるのではと思っているのですが、
その外部の電源はしっかり安定化されているものですか?
電源電圧を100K程度の抵抗2本で分圧して、電圧を読み取りモニターしてみるのも良いかもしれません。

ところで、Arduinoと外部電源のGNDが繋がっていないなんてオチは無いですよね(^^;

たとえばこんなのですが・・・
void loop()
{
  myservo.write(10);
  delay(1000);
  myservo.write(170);
  delay(1000);
}
こんばんわ

ワタヤンさん
返信ありがとうございます。
writeで角度を入れてやり確認する
ということなんですね。

まりすさん
ご丁寧にアドバイスありがとうございます。
疑わしきところははずして点検するというのは、
とてもためになりました。

メルトさん
コメントありがとうございます。


結論から言いますと、まりすさんのご指摘の中で、
もっとも恥ずかしい落ちであります><
GNDがつながっていませんでした…。
ずっとROMってましていつか質問しようと思っていた、
一発目がこれで。。。穴があったら入りたい気分です;;
しかし、とても参考になりましたので、
いろいろ試したいと思います。

どうもありがとうございました。
なにはともあれ、原因が分かってよかったですね(^^)
これにめげずに色々チャレンジしてください。
まりすさん

励ましのほど、ありがとうございます。
ブログの方も拝見させていただいて、
参考にさせていただきます。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

arduino 更新情報

arduinoのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。