pid アルゴリズムを使用した DC モーターの速度制御 (stm32f4)
» ブログ » pid アルゴリズムを使用した DC モーターの速度制御 (stm32f4)

pid アルゴリズムを使用した DC モーターの速度制御 (stm32f4)

ビュー: 0     著者: サイト編集者 公開時間: 2020-09-02 起源: サイト

お問い合わせ

フェイスブックの共有ボタン
ツイッター共有ボタン
ライン共有ボタン
wechat共有ボタン
リンクされた共有ボタン
Pinterestの共有ボタン
WhatsApp共有ボタン
カカオ共有ボタン
スナップチャット共有ボタン
電報共有ボタン
この共有ボタンを共有します

みなさん、こんにちは。私は別のプロジェクトの tahir ul haq です。
今回は2017-11-407で使われたMCをする回でした。
これで中期プログラムは終了です。
気に入っていただければ幸いです。
多くの概念と理論が必要なので、最初に見てみましょう。
コンピューターと工業化されたプロセスの出現に伴い、人類の歴史の中でプロセスを再定義する方法、そしてより重要なことに、機械を使用してプロセスを自律的に制御する方法を開発する研究が行われてきました。
目的は、これらのプロセスへの人間の関与を減らし、これらのプロセスでのエラーを減らすことです。
そこで「制御システム工学」という分野が誕生しました。
制御システムエンジニアリングは、手動か自動かにかかわらず、プロセスの作業や一定の好ましい環境の維持を制御するためのさまざまな方法の使用として定義できます。
簡単な例としては、部屋の温度を制御することが挙げられます。
手動制御とは、現場で現状を確認する人(センサー)が存在し
、期待を持って(処理)
、目標値を得るために適切なアクションを起こす(アクチュエーター)ことを指します。
このアプローチの問題は、仕事でミスや過失が発生しやすいため、あまり信頼性が低いことです。
また、アクチュエータが開始する処理の速度が常に一定ではなく、必要な速度より速い場合もあれば、遅い場合もあるという問題もありました。
この問題の解決策は、マイクロコントローラーを使用してシステムを制御することです。
与えられた仕様に従って、マイクロコントローラーは回路内の接続プロセス (
後で説明します)
の値または条件を制御するようにプログラムされており、それによってプロセスが所望の値を維持するように制御されます。
このプロセスの利点は、このプロセスに人間の介入が必要ないことです。
さらに、このプロセスの速度は安定しています。
先に進む前に、この時点でさまざまな用語を決定することが重要です。 フィードバック制御: このシステムでは、特定の時点での入力は、システムの出力を含む 1 つ以上の変数に依存します。
負帰還:このシステムでは基準(入力)
から誤差を差し引いて入力の位相を180度にして帰還します。
正帰還:このシステムでは、
フィードバックと入力が同相のときに基準(入力)誤差が加算されます。
エラー信号: 望ましい出力と実際の出力の差。
センサー: 回路内の特定の数のデバイスを検出するために使用されるデバイス。
通常、出力または測定を行いたい場所に配置されます。
プロセッサ: プログラミング アルゴリズムに基づいて処理される制御システムの一部。
何らかの入力を受け取り、何らかの出力を生成します。
アクチュエーター: 制御システムでは、アクチュエーターは、出力に影響を与えるためにマイクロコントローラーによって生成された信号に基づいてイベントを実行するために使用されます。
閉ループ システム: 1 つ以上のフィードバック ループを持つシステム。
オープンループシステム: フィードバックループのシステムはありません。
Rise Time: 出力が信号の最大振幅の 10% から 90% まで上昇するのに必要な時間。
Drop Time: 出力が 90% から 10% に低下するまでに必要な時間。ピーク オーバーシュート: ピーク オーバーシュートは、定常状態値 (
を超える出力量です。
システム過渡応答中の正常)
安定時間: 出力が安定状態に達するまでに必要な時間。
定常状態誤差: システムが定常状態に達したときの実際の出力と期待される出力の差。上の図は、制御システムの非常に簡略化されたバージョンを示しています。
マイクロコントローラーはあらゆる制御システムの中核です。
これは非常に重要なコンポーネントであるため、システムの要件に従って慎重に選択する必要があります。
マイクロコントローラーはユーザーからの入力を受け取ります。
この入力は、システムに必要な条件を定義します。
マイクロコントローラーはセンサーからの入力も受け取ります。
センサーは出力に接続され、その情報は入力にフィードバックされます。
この入力は負帰還とも呼ばれます。
ネガティブフィードバックについては前に説明しました。
マイクロプロセッサはプログラミングに基づいてさまざまな計算を行い、アクチュエーターに出力します。
出力ベースのアクチュエータ制御プラントは、これらの条件を維持しようとします。
例としては、モーターを駆動するモーター ドライバーが挙げられます。この場合、モーター ドライバーはドライバーであり、モーターは工場です。
したがって、モーターは一定の速度で回転します。
接続されたセンサーは現在の工場の状態を読み取り、マイクロコントローラーにフィードバックします。
マイクロコントローラーは再び比較され、計算されるため、ループが繰り返されます。
このプロセスは反復的かつ無限に行われますが、マイクロコントローラーは望ましい状態を維持できます。
DC モーターの速度を制御する主な方法は 2 つあります)
手動電圧制御: 産業用アプリケーションでは、DC モーターの速度制御メカニズムが重要です。
場合によっては、通常よりも高いまたは低い速度が必要になる場合があります。
したがって、効果的な速度制御方法が必要です。
供給電圧の制御は、最も簡単な速度制御方法の 1 つです。
電圧を変えると速度が変わります。 b)
PID を使用して PWM を制御します。もう 1 つのより効率的な方法は、マイクロコントローラーを使用することです。
DC モーターはモータードライバーを介してマイクロコントローラーに接続されています。モータードライバーは
受け、入力に応じてDCモーターに出力するICです。
パルス幅変調)入力を
マイコンからのPWM(図
1.2: PWM 信号の第 1 章。
はじめに 3 PWM 信号を考慮して、まず PWM の動作を説明します。
一定時間の連続パルスで構成されます。
時間周期は、波長に等しい距離を移動する点が費やす時間です。
これらのパルスはバイナリ値 (HIGH または LOW) のみを持つことができます。
他にパルス幅とデューティ サイクルという 2 つの量もあります。
パルス幅は、PWM 出力が High である時間です。
デューティ サイクルは、期間に対するパルス幅の割合です。
残りの期間では、出力は低くなります。
デューティ サイクルはモーターの速度を直接制御します。
DC モーターが一定時間内に正の電圧を供給すると、一定の速度で回転します。
正の電圧が長時間供給されると、速度は大きくなります。
したがって、パルス幅を変更することで PWM のデューティ サイクルを変更できます。
DC モーターのデューティ サイクルを変更することにより、モーターの速度を変更できます。
DC モーターの速度制御の問題: 最初の速度制御方法の問題は、時間の経過とともに電圧が変化する可能性があることです。
これらの変化は速度の不均一を意味します。
したがって、最初の方法は望ましくない。
解決策: 2 番目の方法を使用して速度を制御します。
2 番目の方法を補足するために PID アルゴリズムを使用します。
PID は比例積分微分を表します。
PID アルゴリズムでは、モーターの現在の速度が測定され、希望の速度と比較されます。
この誤差は、時間に応じてモーターのデューティ サイクルを変更する複雑な計算に使用されます。
各サイクルにはこのプロセスがあります。
速度が所望の速度を超える場合、デューティ サイクルは減少し、速度が所望の速度よりも低い場合、デューティ サイクルは増加します。
この調整は、最適な速度に達するまで行われません。
この速度を常にチェックして制御してください。
このプロジェクトで使用されるシステム コンポーネントと、各コンポーネントの詳細について簡単に説明します。
STM 32F407: ST Micro-section によって設計されたマイクロコントローラー。
ARM Cortex上で動作します。 M建築。
168 MHz の高いクロック周波数でこのファミリーをリードします。
モータードライバー L298N: この IC はモーターを駆動するために使用されます。
2つの外部入力を備えています。
1つはマイクロコントローラーから。
マイクロコントローラーはそれに PWM 信号を提供します。
パルス幅を調整することでモーターの速度を調整できます。
2 番目の入力は、モーターの駆動に必要な電圧源です。
DC モーター: DC モーターは DC 電源で動作します。
この実験では、モータードライバーに接続された光電カップリングを使用して DC モーターを動作させます。
赤外線センサー: 赤外線センサーは実際には赤外線トランシーバーです。
赤外線を送受信し、さまざまなタスクを実行できます。
IR エンコーダ 光カプラ 4N35: 光カプラは、回路の低電圧部分と高電圧部分を分離するために使用されるデバイスです。
名前が示すように、光に基づいて動作します。
低電圧部分が信号を受け取ると、高電圧部分に電流が流れます。
システムは速度制御システムです。
前述したように、システムは比例積分と微分の PID を使用して実装されます。
速度制御システムは上記の構成要素から構成されます。
最初の部分は速度センサーです。
速度センサーは赤外線の送受信回路です。
固体がU字型のスリットを通過すると、センサーはロー状態になります。
通常はハイ状態です。
センサーの出力はローパス フィルターに接続され、センサーの状態が変化するときに生成される過渡現象によって引き起こされる減衰を除去します。
ローパスフィルターは抵抗とコンデンサーで構成されます。
値は必要に応じて選択されました。
使用されるコンデンサは1100nf、使用される抵抗は約25オームです。
ローパス フィルターは、追加の読み取り値やガベージ値を引き起こす可能性のある不必要な過渡状態を排除します。
次に、ローパス フィルターはコンデンサを介して stm マイクロコントローラーの入力デジタル ピンに出力されます。
他の部分は、stm マイクロコントローラーによって提供される pwm によって制御されるモーターです。
この設定は、光カプラ IC を使用して電気的に絶縁されています。
光カプラはicパッケージ内に発光するledが入っており、入力端子にhighパルスを与えると出力端子をショートさせます。
入力端子は、光カプラに接続された LED の電流を制限する抵抗を介して pwm を与えます。
出力にはドロップダウン抵抗が接続されており、端子が短絡するとドロップダウン抵抗に電圧が発生し、抵抗の端子に接続されているピンはHIGH状態になります。
光電カプラの出力はイネーブルピンの高さを維持するモータードライバーICのIN1に接続されています。
光カプラ入力で pwm デューティ サイクルが変化すると、モータ ドライバ ピンがモータを切り替え、モータの速度を制御します。
PWM がモーターに供給された後、モータードライバーは通常 12 ボルトの電圧を供給します。
その後、モーター ドライバーによってモーターが動作できるようになります。
このモーター速度調整プロジェクトの実装に使用したアルゴリズムを紹介しましょう。
モーターの pwm は単一のタイマーによって提供されます。
タイマーの構成が作成され、pwm を提供するように設定されます。
モーターが始動すると、モーター軸に取り付けられたスリットが回転します。
スリットはセンサーキャビティを通過し、低いパルスを生成します。
低パルスでコードが開始され、スリットが移動するのを待ちます。
スリットが消えると、センサーが High 状態になり、タイマーがカウントを開始します。
タイマーは 2 つのスリット間の時間を示します。
ここで、別の Low パルスが現れると、IF ステートメントが再度実行され、次の立ち上がりエッジを待ってカウンタを停止します。
速度を計算した後、速度と実際の基準値との差を計算し、pid を与えます。
Pid は、特定の瞬間に基準値に達するデューティ サイクル値を計算します。
この値は CCR (
比較レジスタ)に提供されます。
エラーに応じて、タイマーの速度が遅くなったり速くなったりします。
Atollic Truestudio コードが実装されました。
デバッグのために STM Studio のインストールが必要になる場合があります。
STM Studio にプロジェクトをインポートし、表示する変数をインポートします。
2017-11-4xx に若干の変更があります。
クロック周波数を 168 MHz の h ファイルに正確に変更します。
コード スニペットは上で提供されています。
結論は、モーターの速度は PID を使用して制御されるということです。
ただし、その曲線は必ずしも滑らかな線ではありません。
これには多くの理由があります。ローパス フィルターに接続されたセンサーには依然として特定の欠陥がありますが、これらは非線形抵抗器やアナログ電子デバイスの避けられない理由によるもので、モーターが小さな電圧または pwm でスムーズに回転できないためです。
これは、システムに間違った値を入力させる可能性のあるひどいものを提供します。
ジッターにより、センサーはより高い値を提供する一部のスリットを見逃す可能性があり、別のエラーの主な理由は stm のコア クロック周波数である可能性があります。
Stmのコアクロックは168MHzです。
この問題はこのプロジェクトで解決されましたが、このモデルにはそれほど高い周波数を提供しない全体的な概念があります。
開ループ速度は非常に滑らかなラインを提供しますが、予想外の値はわずかです。
PID も機能しており、モーターの安定時間が非常に短くなります。
モーター PID は、基準速度を一定に保つさまざまな電圧でテストされました。
電圧が変化してもモーターの速度は変化しません。これは、PID が機能していることを示しています。
PID の最終出力のいくつかのセグメントを次に示します。 a)
クローズド ループ @ 110 rpmb)
クローズド ループ @ 120 rpmこのプロジェクトは、私のグループ メンバーの助けなしでは完了できませんでした。
彼らに感謝したいと思います。
このプロジェクトをご覧いただきありがとうございます。
お役に立てれば幸いです。
どうぞご期待ください。
その前に祝福してください:)

HOPRIO グループはコントローラーとモーターの専門メーカーとして 2000 年に設立されました。グループ本社は江蘇省常州市にあります。

クイックリンク

お問い合わせ

WhatsApp: +86 18921090987 
電話番号: + 18921090987 
電子メール: sales02@hoprio.com
住所: 中国江蘇省常州市武進ハイテク地区馬行南路19号 213167
伝言を残す
お問い合わせ
著作権© 2024 ChangZhou Hoprio E-Commerce Co., Ltd.すべての権利予約。 サイトマップ | プライバシーポリシー