サーボモーターを制御するマイクロコントローラーなしでPWMを生成するための高速でエレガントな方法は何ですか?ポテンショメータまたはその他の方法で、固定周期でデューティサイクルを制御します。
- 混乱してすみません、私は趣味のサーボを制御したいです。
サーボモーターを制御するマイクロコントローラーなしでPWMを生成するための高速でエレガントな方法は何ですか?ポテンショメータまたはその他の方法で、固定周期でデューティサイクルを制御します。
回答:
「 GASP!」555タイマーを「astable」モードで使用することをお勧めします。必要なものはすべてリンクで見つけることができますが、私はあなたのためにここにそれらをコピーしました!
非安定モードでは、可変PWM周波数が提供され、調整可能なデューティサイクルも可能になります(リンク内の高時間および低時間の方程式)。
回路:
注:電源電圧の低下の影響を減らすために、Vcc(正のリード)とGND(負のリード)の間に電解キャップを追加します。
PWM周波数:
この投稿の他の人と比較して、私の答えに対するいくつかの弁護。他のほとんどの回答では、一般的な三角波/コンパレータ法など、可変PWM信号を生成するために中間波形が必要です。あなたの問題を解決するための中間段階として、三角波発生器(それ自体が重要な回路)を構築することにはあまり意味がありません。
555は優れたアナログチップであり、必要なことだけを行います。人々が彼らを嫌いにならないように。
アナログ制御のデューティサイクルでPWMを実現するYe Olde Phashionedの方法は、アナログ制御信号を三角波と比較することです。目的のPWM周波数で動作する三角波ジェネレーターを作成します。これはコンパレータの負入力に供給され、アナログ制御信号は正入力に供給されます。結果はフルハイまたはフルローのいずれかですが、デューティサイクルは制御信号に直線的に比例します。たとえば、初期のクラスDオーディオアンプはこの原理に基づいて機能していました。
多くの場合、PWMは超線形である必要はなかったので、三角波は完全に直線のエッジを持つ必要はありません。それらを少し指数関数にすることで、回路を簡素化できます。
マークレイジスは、「サーボモーター」と言うときは、模型飛行機などで使用されている小さな位置制御ホビーモーターを指している可能性があると指摘しました。私の答えは、モーターを駆動したい強さに比例したアナログ電圧があると仮定して、モーターを制御することに当てはまります。これらの「ホビーサーボ」には適用されません。それらは、その用語の常識ではPWMによって制御されるのではなく、通常20〜50ミリ秒ごとに繰り返される1〜2ミリ秒である必要があるパルスの幅によって制御されます。この質問が本当に趣味のサーボに関するものである場合、それを明確にするために修正する必要があります。
三角波。コンパレータ。制御しきい値。それが基本的な方法です。
最初に50Hzの方形波を生成します。最も簡単な方法:
方形波をMMV(Monostable MultiVibrator)に送ります。あなたはLM555でこれを行う、またはのようなロジックデバイスを使用することができます74HC123A。後者を使用する場合、パルス時間は そして :
の時間 s、k単位のR、およびnFのC。
1msと2msの間で変化するパルス幅を得るには、C = 100nFとR = 10kを使用します 10kと直列 ポットメーター。
2つのLM555でこれを行うこともできましたが、外部コンポーネントがさらに必要になります。
編集(マイクロコントローラーについて)
私は、マイクロコントローラーを除外することは近視眼的であるというOlin(コメントを参照)に同意します(Olinは「愚かな」と言いました)。マイクロコントローラ用の開発が複雑だった時代がありましたが、今日ではそれは真実ではありません。数ユーロのプログラミングインターフェイスを使用することもできます。このソリューションは非常に簡単に見えるので、コントローラー以外のソリューションは競合できません。ATTiny5(OlinはPIC10F220)を使用します。電源接続にデカップリングコンデンサを接続し、ADC入力にポットメータを接続します。それでおしまい!3(3)コンポーネント。ADCの読み取り値をパルス幅出力に変換するのは非常に簡単なので、初心者プログラマーであってもほとんどばかげています。
それらを使い始めると、マイクロコントローラーは他のICやディスクリートコンポーネントよりも簡単で柔軟なソリューションを提供することが多いことがわかります。
メモ
他の質問から、マイクロコントローラーを使用していることがわかります。ここでそれらを避けたいのはなぜですか?
PWM信号を生成する最も簡単な方法は、鋸歯状波または三角波をアナログコンパレータの一方の入力に供給し、制御電圧をもう一方の入力に供給することです。純粋な三角波が得られない場合、方形波をRCフィルターに通してフィルターの出力が約1 / 4VDDと3 / 4VDDの間でスイングし、制御電圧をスケーリングすることにより、合理的に近似することができます0.01%のデューティサイクルを生成する制御電圧は、フィルタリングされた方形波の最低電圧に変換され、99.99%のデューティサイクルを生成する制御電圧は、フィルタリングされた方形波の最高電圧に変換されます方形波。これにより、振幅に完全に線形比例しないパルス幅が得られますが、多くの目的には十分に近いです。
UCC3803のような低電圧(BiCMOS)電源制御ICの使用をお勧めします。動作周波数は簡単なRとCで簡単に設定でき、デューティサイクル制御はポテンショメータで簡単に行えます。5Vレールで動作します。
UCC3803は、UCx84xシリーズのPWMコントローラーとピン互換です。簡単なPWMを行いたい場合は、R1、2N2222、および5k ISENSE調整ポットを省略して上記の回路図を使用できます(ピン3をグランドに接続するだけです)。エラーアンプの調整ポットと直列の2つの4.7k抵抗を省略してVrefとGndに直接移動するか、調整が不要な場合は明示的な分圧器を使用することもできます。(デューティサイクルを簡単に変更する必要があるかどうかは指定しませんでした)。
このICは、約1Aの電流を駆動できます。(サーボモーターにPWM入力がある場合、これは重要なポイントです。)