How do I prevent motor from entering reverse generating region, and stay in forward motoring region?

46 ビュー (過去 30 日間)
I am trying to simulate an electric motor for an aircraft, but when I input my reference speed and torque demand, the motor seems to enter reverse generating instead of forward motoring.
The motor parameters are as such:
The motor's torque output vs torque demand as shown:
However, the motor's rpm output vs reference rpm is as shown:
Is there a way to "force" the motor to stay in quadrant 1 as opposed to entering quadrant 4?

回答 (1 件)

Umar
Umar 2025 年 9 月 25 日 18:34

Hi @Zachary,

Looking at your simulation results, the issue is clear: your motor is operating in Quadrant 4 (negative speed, positive torque) instead of the desired Quadrant 1 operation due to a sign convention mismatch between your speed reference and the motor block's internal reference frame - while your torque control is working correctly (yellow line tracking blue demand), your RPM output (yellow) is negative when your RPM reference (blue) is positive, indicating the motor's internal electrical angle or control system expects the opposite polarity for positive rotation. The quickest solution is to add a gain block with value -1 to invert your speed reference signal before it enters the motor block, which should flip the motor into proper Quadrant 1 operation while maintaining your excellent torque tracking performance. After implementing this fix, verify that positive speed commands produce positive RPM outputs and that the motor operates within the correct quadrant boundaries during your aircraft simulation - this is particularly critical for aircraft applications where propeller rotation direction, engine mount torque reactions, and flight control system expectations must align properly for safety. If the simple polarity inversion resolves the issue (which is highly likely based on your plots), you can then decide whether to keep this as a permanent solution or investigate deeper motor parameterization changes, but the torque-speed lookup table configuration and overall motor parameters appear correct since your torque control is performing well.

References

Motor & Drive (System Level) Block Documentationhttps://www.mathworks.com/help/sps/ref/motordrive.html

  10 件のコメント
Zachary
Zachary 約10時間 前
Hi @Umar, those suggestions didn't work,
Now my RPM output is tracking further away from my reference before throwing an error.
Umar
Umar 約9時間 前

Hi @Zachary,

I do appreciate you being patient and tried multiple suggestions but the system keeps getting worse instead of better. So, I have realized at this point that the core problem is that maybe*I am debugging blind* right now. You mentioned that after implementing my latest suggestions, the RPM output is "tracking further away from reference before throwing an error," but you forgot to share the updated block diagram showing what was actually implemented. So, here is what I need to see to properly diagnose the issue:

1. Current Complete Block Diagram Please share a screenshot of your entire current simulation setup showing: * All blocks and connections * Any gain blocks you've added (especially any -1 gains) * The complete control loop from reference to motor * Current motor block type you're using

2. Current Motor Parameters Screenshot of your motor block dialog showing: * Initial rotor speed setting * Rotor inertia value * Rotor damping (if set) * Torque-speed envelope data * Any other parameter changes you made

3. Error Details * What specific error message are you getting? * At what simulation time does it occur? * Copy/paste the exact error text

4. Implementation Clarity Based on my comment 3 suggestions, please confirm: * Did you add a -1 gain block? If yes, exactly where is it connected? * Did you remove any previous -1 gains from earlier attempts? * Are you still using the "Torque Envelope with Speed" motor or switched back to "Max Torque and Power"?

Why This Matters I made a critical observation that when you used the "Max Torque and Power" motor, it worked correctly in Quadrant 1. This strongly suggests the issue is a sign convention mismatch specific to the "Torque Envelope with Speed" parameterization.

However, without seeing your current implementation, I can't determine if: * The -1 gain was placed incorrectly (wrong location causes instability) * Multiple -1 gains are conflicting with each other * Parameter changes were applied incorrectly * There are leftover modifications from previous attempts

Next Steps

Once you share the current block diagram and parameters, I can: 1. Identify exactly what's causing the instability 2. Provide a clean, step-by-step fix 3. Get your motor operating properly in Quadrant 1 by doing my best

The good news is that this is definitely solvable - I just need visibility into the current state of your simulation to provide the right guidance.

Hope this helps clarify everything.

P.S. - If you're pressed for time, the absolute minimum we need is the current block diagram showing where any -1 gains are connected.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangePowertrain Blockset についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by