問題タブ [xcos]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
discrete-mathematics - 同等の離散制御の実装が XCos で異なる結果を提供するのはなぜですか
scilab/xcos で DC モーターの単純な閉ループ速度コントローラーをシミュレートしています。
連続 PI コントローラーが問題なく動作しています。
次に、連続コントローラーを離散化し、2 つの異なるが同等の方法で実装しました。2 つの離散実装は、同等であると想定されていても、異なる結果を提供するようです。
両方の離散コントローラーは同じ離散化方法 (Tustin) によって得られますが、一方は単一の DLR Xcos 伝達関数として実装され、もう一方は P 部分と I 部分の合計として個別に実装されます。
接続されたモデルには、コンテキスト内のすべてのセットアップが含まれており、連続コントローラーと離散コントローラーの両方が示されています。
「成分ごとの離散制御」は連続コントローラーを適度に追跡しますが、「伝達関数離散制御」は不安定です。
この問題は、より短いサンプル時間で解決されます。これは、2 つの個別の実装を管理する数学が完全に同一であるため、私を困惑させます。したがって、サンプル時間が使用されても、2 つの個別のコントローラーの相対的な動作は同じであると予想されます。
私が間違っていることと、これらの2つの一見同等の実装が異なる理由について、入力または説明をいただければ幸いです。
モデルはここに添付されています:
https://www.dropbox.com/s/itudk4a1ooh6ncz/dc_motor_control.zcos?dl=0
arduino - Scilabで読み取ったPWM値を解釈する[XCOS]
Scilab で超音波センサーを接続しようとしていますが、そのために Arduino ツールボックスを利用しています。残念ながら、温度に応じて電圧を出力する温度センサーとは異なり、超音波センサーを scilab に直接接続することはできないため、ANALOG_READ ブロックを使用して arduino ツールボックスで読み取ることができます。私の解決策は、2 つの arduino-no を使用することです。
A.アルドゥイーノ1
これは、超音波センサーをプログラムし、検出された距離をマッピングして特定の PWM 値を出力する場所です。
B. アルドゥイーノ 2
この arduino には Arduino toolbox.ino がアップロードされているため、scilab で動作します。Arduino toolbox.ino を編集しようとしましたが、その ino ファイルを変更しても scilab では機能しません。これは Arduino toolbox.ino ではないというエラーが表示され、超音波センサーの関数を挿入しただけです。
基本的に、DIGITAL_READ ブロックを使用して scilab で読み取ることができるように、距離に関して PWM 値を出力できるようになりました。しかし、波形を解釈する方法がわかりません。スコープに表示される波形だけでなく、0%-100%として出力したい。