スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


-------- --:-- スポンサー広告
AVR ATtiny2313 で DCモータのPWM制御 (2)
③プログラム
マイコン用プログラムは BASCOM-AVR で作成。

PWM+ADCでDCモータ出力制御 プログラム

【MEMO】
・ATtiny2313 はクロックが既定で 「RC内蔵オシレータ」 に設定されているため、回路作成後プログラム書込前に ヒューズビットを 「XTAL使用」 に書き換える必要がある
・プログラム3~4行目:システムクロックの分周比を設定。1MHz水晶を使用する場合はこの2行を削除し、ヒューズビットを 「システムクロック分周無し」 に設定する。
・プログラム41~42行目: VR2 設置による、C4ちょびちょび充電回数の補正。
・プログラム43~49行目: AD変換部。
・プログラム51~53行目: AD変換値の測定範囲に対する%換算。
・プログラム54~62行目: PWM出力制御部。当方の環境に合わせて、
  測定% < 0 (0.4V) → デューティー比 0/255 で PWM出力
  測定% = 0~100 (0.4~2.0V)
           → デューティー比 (測定%+60)/255 で PWM出力
  測定% > 100 (2.0V) → デューティー比 160/255 で PWM出力
といった設定にしているが、モータの仕様や実状況合わせ変更できる。ちなみにプラント業界では現設定のように測定値の上昇に応じて出力を上昇させる制御を 「冷却制御(DA制御)」、下降させる制御を 「加熱制御(RA制御)」と呼ぶ。

④測定と考察

上記プログラムで当方手持ちのDCモーターを回すと測定電圧入力に対し、モーター端子間は 1.6~3.6Vで変化した(無負荷時/テスター表示)。現状の設定では最大出力時のデューティー比は約63%なのでもっと出力を出すことは可能であるが、このモーターがあまり出力を上げると耐えられないようなのでこの程度に抑えた経緯がある。実験用に安価で入手した製品仕様もよくわからないモータだが、マブチモータ などデータシートがきちっとあるものを使えば最適な設計が可能になるだろう。

ADC機能との連係については当初モータノイズの影響による暴走も懸念していたが、各所に設けたコンデンサや外付け水晶発振子が功を奏したか、実行動作自体にまったく問題は起こっていない。ただ、ノイズ即ち電圧微変動はC4コンデンサ(測定電圧比較用)のチャージに少なかれ影響を与えている。

PWMでDCモータ出力制御 測定1

こちらはPWM出力はしていてもSW1をOFFにしてモーターを駆動させない状況での測定写真。写真中の「制御入力電圧」は本文中の「測定電圧」と同義。左上のLCDモジュールには C=C4コンデンサちょびちょび充電回数、P=PWM出力値(デューティー比×255/100)、V=ADCで換算した測定電圧値と測定範囲における% を表示している。この状況で測定電圧のテスタ測定値とADC換算測定値に誤差はない。手前味噌だが、ちょびちょび充電方式のADC機能はさまざまな改善を経て、通常ではかなりの精度で表示されるようになっている。

PWMでDCモータ出力制御 測定2

SW1をONにしてモーターを駆動させると測定電圧のテスタ測定値とADC換算測定値に誤差が生じる。この場合では+6mvだが、出力を上げたりモータ負荷を掛けたりすると誤差は大きくなる。とはいえ現実は測定範囲における誤差割合は十分小さく、デューティー比を大きく変化させるような状態に至らないため、モータ駆動への影響はほとんど無いと言っていい。また制御部と駆動部を電源分離させればノイズ影響については大きく改善するだろうから、電源共通の現回路においては簡易性を優先し精度については多少妥協して割り切って使うという考え方もあるかと思う。

2009-01-21 21:20 マイコン応用
コメントの投稿 (ここをクリックするとフォームが開きます。)
    管理者にだけ表示を許可する


トラックバック
この記事のトラックバックURL
(記事引用不問です。関連記事からのトラックバック歓迎します。)

先に製作した 静電容量式のタッチスイッチ や 水位センサー は、一定の電圧を固定抵抗を介して入力ピンに加え、しきい値電圧に達するまでの時...

2010-05-22 / カスタムエンジの研究室
管理人の承認後に表示されます

2013-10-22 /
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。