タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

PWMに関するsanthiagomanのブックマーク (2)

  • PWMを使ったサーボモーターの制御

    はじめに 前回は“マブチモーター”に代表される「直流ブラシ付きモーター」を、PWM(Pulse Width Modulation)と呼ぶ技術によって制御する手法を紹介しました。今回はこの続編として、PWMを使った「サーボモーター」の制御について紹介します。 一般にサーボモータと言えば「フィードバック制御が可能なモーター」を指しますが、ここで扱うサーボモーターはラジコン模型などに用いられる、「PWMで軸の回転角度(0~約180度)を制御できるアクチュエーター」を指します。 その内部にはギア付き直流ブラシ付きモーターと軸の角度によって抵抗値が変わる角度センサーの1つであるポテンションメーターが搭載されており、この組み合わせによってフィードバックの制御が行われています。 サーボモーターはこれまで紹介してきた直流ブラシ付きモーターのように360度以上、回転するものではありません。角度を制御するとい

    PWMを使ったサーボモーターの制御
  • analogWrite()

    概要 analogWrite()は、PWM出力を行う関数です。analogWrite()のリファレンスはこちらを参照してください。PWMの簡単な説明はこちらを参照してください。 ATmega328Pは、PWM出力に利用できるタイマ/カウンタを3個(タイマ/カウンタ0から2の3個)持っています。それぞれのタイマ/カウンタが2個の比較出力器を持っているため、6のピンでPWM出力を行うことができます。このため、Arduinoでも6のピンからPWM出力を行うことができます。 3個のタイマ/カウンタのうち2個(タイマ/カウンタ0とタイマ/カウンタ2)は8ビット、1個(タイマ/カウンタ1)は16ビットです。 PWMの出力周波数の設定はinit()で行っています。analogWrite()では、PWM出力の開始とデューティ比の設定を行います。これらの設定はタイマ関連のレジスタを操作することで実現して

    analogWrite()
  • 1