Comments (3)
I agree that this might be a little confusing at first sight, but in my opinion this is the correct way to define it.
Because of many advantages in the background the angle belongs to the electrical ODE and the speed to the mechanical one.
If the angle would be defined in the mechanical subsystem, each mechanical system would have to
define it for compatibility with the PMSM, the SynRM etc.. With the current definition in the electrical subsystem, it can be defined in those motors that require it and it leads to more flexibility.
It would be no issue to put the mechanical angle into the observation, eventhough internally the electrical angle is used. But as this quantity is related to the motor and not to the load, I would personally stick to the current definition. However, we can discuss this issue and if the majority disagrees with me, we can change it π .
If the mechanical angle is really required, each mechanical subsystem could be extended by this quantity.
from gym-electric-motor.
I belive a suitable answer to this issue is: it depends.
There are tasks in the automation industry where we want to control the mechanical rotor angle e.g. as in servo drives for production lines. In this case, we would like to have both: the electrical rotor angle for controlling the electrical quantities and the mechanical rotor position for the specific application task.
Similar this applies to the rotor speed: some applications would like to directly control the mechanical rotor speed (e.g. pumps, fans) while the electrical rotor speed might be more informative for the electrical control loops since it is combines the information of both the pole pair number and the mechanical rotor speed which could be interesting for the feed-forward compensation of induced voltages.
Hence, the largest degree of flexibility would be offered if we provide both the mechanical and electrical speed and angle signals. But on the other hand this might lead to confusions at some users which are not familiar with the distinction between mechanical and electrical variables.
from gym-electric-motor.
We discussed the possibilities and decided to keep it with the electrical angle and the mechanical speed in the observation.
Angle:
The electrical angle is required for the rotational transformation into rotor fixed coordinates for three phase motors. The relation is ββepsilon_el = p epsilon_meββ with p>1 (p: pole pair number). The mechanical angle is only needed for positioning tasks. We decided to include the angle in the electrical ODE due to the importance for the electrical system.
Speed:
The mechanical speed is basically part of the mechanical ODE. It is also related to the electrical speed β'omega_el = p omega_meββ. However, less applications need the electrical speed. Usually the mechanical speed is needed.
To avoid confusions only the electrical angle and the mechanical speed are used. If the mechanical angle would be needed for some task, it could be easily included in a new mechanical load model similar to the existing ones.
The used definitions are:
omega = omega_me
epsilon = epsilon_el
from gym-electric-motor.
Related Issues (20)
- Can you email me, please ? HOT 1
- Log Variables on each Time Step in PMSM Example Notebook[feature request] HOT 10
- incompatibility with gym >0.24.0 HOT 9
- Improve ReferenceGenerator chapter in Gem_Cookbook
- Flat velocity plot for scim_ideal_grid_simulation.py HOT 2
- Limit values for PMSM motor appear to be a peak to peak value vs an amplitude value HOT 2
- Do GEM currently support 3-phase brushless motor control? HOT 3
- Typo in the calculation of the decoupling HOT 1
- Feature Request: migrate from gym to gymnasium HOT 5
- Documentation is showing only current API (no past releases APIs)
- Phase voltage accuracy for PMSM motors HOT 5
- ConstReferenceGenerator enters the reference_name not as string into the env
- gem modularization
- modularization
- CosSinProcessor calculates Cosinus and Sinus based on normalized Epsilon
- DqToAbcActionProcessor calculates advanced angle wrongly
- Extend the GEM cookbook to explain voltage supply usage
- change the nominalization of the voltage
- Change the mapping of discrete switching states in FiniteB6BridgeConverter
- Hi, We are using the GEM library for testing the functionality of PMSM as a part of our undergraduate project. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gym-electric-motor.