No.2ベストアンサー
- 回答日時:
こんにちは。
まずは話を整理して、一つずつ解決していきいましょう。> どういうプログラムを組めばいいのでしょうか?
GWServoは、RC用のサーボモータですよね。RCサーボモータの動作原理はすでにご存じだと思いますが、念のため。
【TekuRobo工作室/ソフトウェア編/ラジコンサーボモータを動かす】
http://homepage1.nifty.com/rikiya/software/112se …
> モータードライブ用の回路ということはトランジスタで電圧を上げるということでしょうか?
そういう意味ではないと思いますよ。回路図も上記リンク先を参照してください。ラジコンサーボモータの端子の並び方は(現在は)各社とも同じ並び方ですので、2番ピンに6V(5VでもOK)500mA程度を供給できるようにしましょう。ただ動かすだけなら電流はもっと少なくて良いでしょう。(トルクの大きなサーボだと、ロック時に平気で 1A程度食ったりしますが。)
> パルスを送ればいいのかなと思ってdelayと出力を使ってPWMしているのですが
delay使うのは悪いやり方です。というのは、今後RWSPさんがプログラムの処理内容を増やしていったときに、サーボモータを制御するPWM信号を正しいタイミングで生成できなくなるからです。具体的には、シリアル通信やボタンの押し下げ制御、複数のサーボモータを同時に制御するなど、処理内容が増えてくるとdelayを使ったのでは約20ms周期のサーボ制御信号時間を管理できなくなります。管理できなくなると、サーボモータが動作中に、ビビッ、ビビッ、と振動します。
時間を正確に管理するためには、ATmega168の内蔵周辺回路にあるタイマモジュール(8-bit Timer/Counter0 または 16-bit Timer/Counter1)を使用します。このモジュールの詳細はATmega168のハードウェアマニュアル
http://www.atmel.com/dyn/resources/prod_document …
を参照してください。
親切に回答ありがとうございます。「delay」を使うのは悪いやり方なんですね。確かにサーボモータはビビビビと振動していました。16-bitTimer/Counter1というのもうすうす感じてはいたんですが、どう使っていいものかわからなかったから手をつけていませんでした。少し勉強してみます。
No.1
- 回答日時:
回答します。
ATmega168というのは、ただのMPUで、ボードがあるはずです。もしも、サーボモータをドライブするならば、ATmega168にモータドライブ用の回路をつけていないと動きません。なぜならば、出力が足らないからです。
回路は簡単ですので、一応電子回路の基本を勉強されると良いでしょう。
その後、プログラムすれば所望の動作ができるはずです。
では。
早速の回答ありがとうございました。モータードライブ用の回路ということはトランジスタで電圧を上げるということでしょうか?まさか出力が足りなかったとは考えていませんでした、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# プログラム Arduino 1 2022/07/03 11:13
- 工学 1つのタクトスイッチで複数の並列回路を閉じ、アースにつなげることができるスイッチはありますか。 2 2022/08/06 10:38
- 大学受験 AO、総合型選抜出願時に使用する活動実績報告書について 4 2022/06/27 01:21
- その他(趣味・アウトドア・車) Arudino nanoが正常に動作しない原因 1 2022/10/30 18:29
- ダイヤルアップ Raspberry Piでアナログモデム経由で音声再生 1 2022/05/20 18:01
- システム CPUの問題について 2 2022/07/09 12:04
- ノートパソコン Windows 10 動作改善方法 6 2023/04/26 22:30
- その他(プログラミング・Web制作) Python3プログラムについて 4 2023/05/21 14:55
- Windows 7 更新プログラムを入れたら操作出来なくなりました(泣) 1 2023/02/26 11:04
- その他(プログラミング・Web制作) プログラムの起動、利用について、使用期間を設定する方法 3 2023/08/06 21:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PLC間の信号のやりとりについて...
-
EnumとType
-
Picマイコンについて質問します...
-
PIC16F1827でPCとシリアル接続
-
8×8マトリクスLED回路・制御
-
マイコン(PIC)を使って可変抵抗...
-
C++でLEDを点灯させるプログラム
-
マイコンを動かしながら勉強したい
-
人感センサー、プログラミング...
-
<単安定マルチバイブレータ> 単...
-
C言語を用いた組込みシステム学...
-
三菱シーケンサのプログラムの...
-
圧力センサとマイコン
-
H8マイコンの端子の数字の端子...
-
シーケンスのプログラムについ...
-
ディスプレイ上で起こる2重表...
-
HyperVで仮想マシンがネットワ...
-
Cpkのk(偏り)値をExcelで出す...
-
TAとルーターの違いって?
-
ゲーミングPCでの質問です ゲー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PLC間の信号のやりとりについて...
-
USBからの電源供給をコントロー...
-
C++でLEDを点灯させるプログラム
-
VBでUSBポートからの入力を制御...
-
PCのUSBバスパワーの制御
-
シーケンスのプログラムについ...
-
マイコンボード上のポートと端...
-
Picマイコンについて質問します...
-
Visual Basic 6.0のShell関数
-
ATTINY13のリセット端子は無効...
-
家電のcpu
-
H8マイコンの端子の数字の端子...
-
コンピューターでラジコン操作?
-
Webカメラの制御について
-
<単安定マルチバイブレータ> 単...
-
Visual BasicでGP-IBの通信を制...
-
PIC16F1827でPCとシリアル接続
-
EnumとType
-
picマイコンより簡単に扱えるマ...
-
MATLABでサーボモータを制御す...
おすすめ情報