• ベストアンサー

ATmega168で20msの周期のパルスを出したい

ATmega168で GWServo S03T 2BBMG と書かれているサーボモータをとにかく動かしたいのですが、そもそも20msを出す計算方法がわかりません。というか GWServo S03T 2BBMG は20msで動かすものなのですか?1.6msとか色々あるかあらごちゃごちゃです。とりあえず、パルスをだして見たいのですが、そのプログラムを教えていただけないでしょうか?お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • zwi
  • ベストアンサー率56% (730/1282)
回答No.1

混乱しているみたいですが、そもそもATmega168は何Mhzで動いていますか? それで、タイマの使い方が分からないんでしょうか? >サーボの話は別質問で。

RWSP
質問者

お礼

回答ありがとうございました

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • AVRでサーボモータの制御プログラム

    ATmega168を購入してWinAVRでプログラムを書いています。GWServoのS03T 2BBMGと書かれているサーボモーターを動かそうとしています。パルスを送ればいいのかなと思ってdelayと出力を使ってPWMしているのですがまったく制御できません。どういうプログラムを組めばいいのでしょうか?AVRに外部の発信子はつけていません。ATmega168に内蔵されている発振子でしています。というかそれでいいのでしょうか?ごちゃごちゃですが、何か動かすためのアドバイスをください。お願いします。

  • スイッチでサーボ制御

    AVRのATmega168とサーボモータの GWServo S03T 2BBMG を買ってWinAVRでプログラミングしようと思っています。とりあえず動かしたいと思っているので、スイッチを押したら90度曲がり、スイッチを離したら90度戻るというプログラムを書きたいです。どなたか簡単で良いので教えてください。よろしくお願いします。

  • LEDのパルス発光

    こんにちは。 タイマーIC555を使用してパルス発光を行いたいと思います。 LEDの仕様書にパルス発光ですと最大100mA流せるとあります。 補足でパルス幅最大が10ms デューティー比最大1/10と書いてあります。 100mA流す場合の555の定数の出し方がいまいちわかりません。 555のRA、RB、Cの計算方法をご教授下さい。 計算式は理解しているつもりですが、デューティー比の意味がよくわかりません。 1/10というのは10%でパルス幅最大10msということは100Hzの周期で考えれば良いのでしょうか。

  • 電子回路(パルスを延ばしたい)

    車の工作ですが教えてください。 あるパルス(200ms程度)を500ms~1s程度に延ばしたいのですが、どのような方法があるでしょうか? ・電圧は12V ・電流は数十mA 圧電素子を鳴らします。   なので正確な波形、時間でなくてOK ・パルス巾をいくつかやってみてトライ(ある意味適当な巾でOK) ・安価にしたい 基板用のタイマーなどを付ければOKなのでしょうが、なるべく簡素で安い方法を探しています。 電解コンデンサでも付ければよいのでしょうか?(容量はどのくらいの?) 素人なので必要な情報あれば指摘ください。

  • 無線工学 レーダー パルス

    パルスレーダー送信機において、平均電力15w、パルス幅1μs、尖頭電力20kwであった。この時のパルスの繰り返し周波数の値は?という問題で、周波数は、周期の逆数というヒントが与えられています。 解答の式で、平均電力をPy[w]、パルス幅をt[μs]、尖頭電力をPx[w]、パルス周期をT[μs]とすると、パルスの繰り返し周波数f[Hz]は、 f=1/T=Py/Pxt=15/20×10の3乗×1×10の-6乗=750[Hz] と書いてあるんですが、なぜパルス幅 t[μs]を[s]の単位に直さないといけないのですか? よろしくお願いします。

  • 一定周期実行プログラム

    UNIX環境での、プログラムを一定周期実行させるプログラミング方法についてご教授下さい。 例えば、50msの周期で、無限ループするプログラムです。 while(1) { t1=clock(); (処理1); t2=clock(); passtime=(t2-t1)/CLOCKS_PER_SEC; time=0.05-passtime; tmp=(int)(1000000*time); usleep(tmp); } まず、思い付いたプログラムは、処理1に掛かった時間を計算し、50msから処理に掛かった時間を引いた時間をsleepで待たせるプログラムです。clock()は精度が低いようですが・・・他に何かいい方法はないでしょうか?

  • 流量計のパルス幅を広くしたいのですが。

    パルス幅が3ms~4msの灯油流量計を購入したのですが、今までのパルスロガーが約15ms以上なので使用できないことに気がつきました。 ロガーと流量計の接点の間に乾電池をつないで記録しているだけなんですが、その間に入れる等して、安く流量計のパルス幅を広くして記録できるようにする物や方法があるでしょうか。 素人で用を得ない質問でしょうがどなたか教えて下さい。

  • パルス幅とオシロスコープについて教えて下さい。

    パルス幅をT=5msになるような、 コンデンサと抵抗の組み合わせが何通りもあると思うのですが、 この理論値を使って、回路を組みオシロスコープでみてみると、 コンデンサと抵抗の組み合わせによって波形が違ってきます。 これは何故なんでしょうか? よろしくおねがいします。

  • リレーによるパルス発生回路

    ある装置の制御のため、2つのパルスを発生する回路を、機械リレーで組む事になりました。パルスといっても、必要なのは無電圧の短絡信号で、パルス発生のトリガーが、機械リレーのため、パルス発生も機械リレーで組みたいと思います。パルスの幅は、100msを確保するため、H3Yをつかって2つのパルスを発生するまではうまくいったのですが、トリガーがONの状態のまま続いたとき、再びパルスを発生し、繰り返してしまいました。 現在は、H3Yを3個とリレーを3個使って、 200ms-ON→200ms-OFF→200ms-ON→OFFのパルス発生をしていますが、2つ目のパルスがOFFしたときに、トリガーがONのままであると、再び、200ms-ONから繰り返している状況です。 そこでご相談ですが、パルスの発生から含め、良い方法を教えていただけないでしょうか。 ポイントは、 1.機械式リレー(MY)を使用 2.パルスは2つ 3.元入力が続いていても、パルスは2つで終了 です。 現在考えている回路では、上記のパルス発生に、さらにリレー3つを追加すれば出来そうですが、もっとシンプルに出来ないかと思っています。 ベテランの方々の良い知恵で、パルス発生から含めた回路でよろしくお願いします。

  • LEDのパルス駆動

    LEDのパルス駆動の計算式が見つからなくて困っています。 LEDスペック条件は、 ?IF最大定格:30mA、?IFP最大定格:90mA(1/10@1KHz条件) ダイナミック駆動条件は、 ?パルス間隔:10ms ?周波数:100Hz ?Duty:1/3 グラフを見れば大体の数値がわかるのですが、 駆動条件ぎりぎりの設計になりそうなので是非計算式をどなたか教えて頂けませんでしょうか? LED専門書にも記載が無く、ネットにも無かったため困っています。 何卒ご教授お願い致します。