ST_UserMotorDataPMSM - Informations générales
Type : |
Structure de données |
Disponible à partir de : |
V1.0.0.0 |
Hérite de : |
- |
Cette structure contient des données propres aux moteurs PMSM (moteurs synchrones à aimants permanents).
Variable |
Type de données |
Description |
---|---|---|
uiEncoderType |
UINT |
Type de codeur (voir ET_EncoderType) : o1 : codeur SinCos Hiperface (rotatif) o2 : codeur SinCos (rotatif) o257 : codeur SinCos Hiperface (linéaire) o258 : codeur SinCos (linéaire) Paramètre obligatoire |
uiNominalSpeed |
UINT |
Vitesse nominale en [tr/min] ou [mm/s]. Paramètre obligatoire |
rNominalVoltage |
REAL |
Tension nominale en [Veff]. rNominalVoltage = PhaseVoltage * root3 Paramètre obligatoire |
rPeakCurrent |
REAL |
Courant crête du moteur en [Aeff]. Paramètre obligatoire |
rNominalCurrent |
REAL |
Courant nominal du moteur à la vitesse nominale en [Aeff]. Lorsque la fiche de données techniques du moteur ne fait pas la distinction entre le courant nominal à l'arrêt et le courant nominal à la vitesse nominale, réglez rNominalCurrent et rContStallCurrent sur la même valeur. Paramètre obligatoire |
rContStallCurrent |
REAL |
Courant nominal du moteur à l'arrêt [Aeff]. Lorsque la fiche de données techniques du moteur ne fait pas la distinction entre le courant nominal à l'arrêt et le courant nominal à la vitesse nominale, réglez rNominalCurrent et rContStallCurrent sur la même valeur. Paramètre obligatoire |
uiPolePair |
UINT |
Nombre de paires de pôles. Paramètre obligatoire pour les moteurs rotatifs |
rConstStallTorque |
REAL |
Couple nominal du moteur en [Nm] ou force nominale du moteur en [N]. Paramètre obligatoire |
rPeakTorque |
REAL |
Couple crête du moteur en [Nm] ou force crête du moteur en [N]. Paramètre obligatoire |
rPhaseResistance |
REAL |
Résistance d'enroulement du moteur (phase à phase) en [Ω]. Paramètre obligatoire |
rQuadraturePhaseInductance |
REAL |
Inductance d'enroulement (composant q) du moteur (phase à phase) en [µH]. Lorsque la fiche de données techniques du moteur ne fait pas la distinction entre le composant d et le composant q, réglez rDirectPhaseInductance et rQuadraturePhaseInductance sur la même valeur. Paramètre obligatoire |
uiRotatingFieldDirection |
UINT |
Sens du champ tournant (valeur par défaut 0) : o0 : sens anti-horaire o1 : sens horaire Si les phases du moteur, oU -> U oV -> V oW ->W sont raccordées au variateur, ce paramètre doit être réglé sur 1 (sens horaire). Facultatif |
uiMaxSpeed |
UINT |
Vitesse de rotation maximale du moteur en [tr/min] ou [mm/s]. Paramètre obligatoire |
udiMotorIntertia |
UDINT |
Moment d'inertie du moteur en [gcm²] (moteur rotatifs) ou masse du moteur en [g] (moteurs linéaires). Paramètre obligatoire |
uiBrake |
UINT |
Indique si le moteur intègre un frein : o0 : aucun frein intégré o1 : frein intégré Paramètre obligatoire |
uiTempSensorType |
UINT |
Type de capteur thermique : o0 : aucun capteur o1 : capteur non linéaire (par exemple, PTC) o2 : capteur linéaire (par exemple, KTY) Paramètre obligatoire |
uiMaxMotorTemperature |
UINT |
Température maximale du moteur en [°C] (valeur par défaut : 130 °C). Facultatif |
uiTempSensorResistanceOvertemp |
UINT |
Résistance minimale du capteur de température en cas de température excessive en [Ω] (valeur par défaut : 4 kΩ). Ce paramètre est utilisé seulement pour les capteurs PTC. Le bloc fonction FC_MotorDataFileCreate détermine les caractéristiques du capteur en fonction de ce paramètre. La valeur est utilisée avec un capteur de température de type 1 uniquement. Facultatif |
auiTempSensorCharacteristics |
ARRAY [0..19] OF UINT |
Courbe caractéristique du capteur de température. Ce paramètre est utilisé seulement pour les capteurs linéaires. Dans ce cas, vous devez indiquer les valeurs suivantes : oauiTempSensorChracteristics[0] : résistance en [Ω] à -30 °C oauiTempSensorChracteristics[1] : résistance en [Ω] à -20 °C oauiTempSensorChracteristics[2] : résistance en [Ω] à -10 °C o… oauiTempSensorChracteristics[19] : résistance en [Ω] à 160 °C Facultatif |
rInsulationSystemVoltage |
REAL |
Tension d'isolement du moteur en [V]. La tension d'isolement du moteur est liée à la tension maximale admise au niveau d'une phase moteur, et non à la tension du bus CC. La formule suivante permet de convertir la tension sur le bus CC en tension au niveau d'une phase moteur : U_Motorphase := (U_Dcbus * 1.15) / (1.4142 * 2) Exemple : si la tension maximale autorisée sur le bus CC pour un moteur est 500 V, la tension maximale admise au niveau d'une phase moteur est égale à (500 V * 1,15) / (1,4142 * 2) = 203. Facultatif |
uiEncoderMaxSpeed |
UINT |
Vitesse de rotation maximale du codeur en [tr/min]. Facultatif |
uiEncoderMaxTemp |
UINT |
Température maximale du codeur en [°C]. Facultatif |
uiEncoderTempSensor |
UINT |
Indique si le codeur intègre un capteur de température : o0 : aucun capteur de température o1 : capteur de température Facultatif |
uiEncoderNumberOfTurns |
UINT |
Nombre de rotations affichables du codeur. Paramètre obligatoire pour les codeurs SinCos (sans interface Hiperface) |
uiEncoderLinesPerrevolution |
UINT |
Nombre de périodes par rotation du codeur. Paramètre obligatoire pour les codeurs SinCos (sans interface Hiperface) |
rDirectPhaseInductance |
REAL |
Inductance d'enroulement (composant d) du moteur (phase à phase) en [µH]. Lorsque la fiche de données techniques du moteur ne fait pas la distinction entre le composant d et le composant q, réglez rDirectPhaseInductance et rQuadraturePhaseInductance sur la même valeur. Paramètre obligatoire |
rEMK_Constant |
REAL |
Constante EMF (force électromotrice) (phase à phase) en [Veff / 1 000 tr/min] ou [Veff / m/s]. NOTE : La formule suivante permet de convertir la constante EMF d'une phase (valeur de type chaîne) en valeur phase à phase : EMF_Constant_Phase_to_Phase := EMF_Constant_Phase * SQRT(3); Paramètre obligatoire |
uiModelC1 |
UINT |
Paramètre C1 pour le modèle thermique. Facultatif |
uiModelA12 |
UINT |
Paramètre A12 pour le modèle thermique. Facultatif |
uiModelDeltaA |
UINT |
Paramètre DeltaA pour le modèle thermique. Facultatif |
uiModelDeltaB |
UINT |
Paramètre DeltaB pour le modèle thermique. Facultatif |
wBrakeType |
WORD |
Type de frein si celui-ci est présent (valeur par défaut : 0) : 0 : frein de maintien par défaut 1 : frein de maintien inversé Facultatif |
uiBrakeDisconnectionTime |
UINT |
Délai de relâchement du frein en [ms]. Si uiBrakeDisconnectionTime est égal à 0, le variateur utilise la valeur par défaut 100 ms. Facultatif |
uiBrakeCouplingTime |
UINT |
Délai d'actionnement du frein en [ms]. Si uiBrakeCouplingTime est égal à 0, le variateur utilise la valeur par défaut 100 ms. Facultatif |
rBrakeMinVoltage |
REAL |
Tension de contrôle minimale pour utiliser le frein en [V]. Si rBrakeMinVoltage est égal à 0, la tension du frein du variateur n'est pas surveillée. Facultatif |
rBrakeMaxVoltage |
REAL |
Tension de contrôle maximale pour utiliser le frein en [V]. Si rBrakeMaxVoltage est égal à 0, la tension du frein du variateur n'est pas surveillée. Facultatif |
uiBrakeNomCurrent |
UINT |
Courant nominal du frein en [mA]. Facultatif |
uiThermalConstant |
UINT |
Constante de temps permettant de surveiller la surchauffe du moteur en [ms]. Ce paramètre définit la durée pendant laquelle le moteur peut fonctionner au courant crête sans surchauffer. La valeur par défaut est 1 000 ms. Facultatif |
rPeriodLength |
REAL |
Longueur de période du codeur en [µm]. Paramètre obligatoire pour les moteurs linéaires |
rPolePairPitch |
REAL |
Distance entre deux paires de pôles en [µm]. Paramètre obligatoire pour les moteurs linéaires |
Dans l'exemple suivant, un moteur synchrone linéaire est configuré. Les données du moteur sont les suivantes :
oVitesse nominale = 3 200 mm/s
oTension nominale = 600 V
oCourant nominal = 9,4 A
oCourant crête = 20,7 A
oForce nominale = 5 N
oForce crête = 200 N
oRésistance d'enroulement = 4,34 Ω
oInductance d'enroulement = 32 mH
oConstante EMF = 920 V / m/s
oLongueur de période = 5 mm
oDistance entre deux paires de pôles = 2,4 mm
oMasse du moteur = 6,3 kg
oLe moteur dispose d'un codeur linéaire SinCos Hiperface.
oLe moteur dispose d'un capteur de température non linéaire. En cas de température excessive au niveau du moteur, la résistance de ce capteur est supérieure à 4 kΩ.
oLe moteur ne dispose pas de frein.
Les données du moteur sont intégrées dans la structure de données comme suit :
stUserMotorData.eMotorType := Linear_PMSM;
stUserMotorData.sMotorname := 'Tec-TL30_N';
stUserMotorData.sMotorArticleNumber := 'ETYP00056';
stUserMotorData.sMotorSerialNumber := '201138.00';
stUserMotorData.stMotorDataPMSM.uiEncoderType := MTP.ET_EncoderType.SincosHiperfaceLinear;
stUserMotorData.stMotorDataPMSM.uiPeriodLength := 5000; // µm
stUserMotorData.stMotorDataPMSM.uiNominalSpeed := 3200; // mm/s
stUserMotorData.stMotorDataPMSM.uiNominalVoltage := 600; // V
stUserMotorData.stMotorDataPMSM.rNominalCurrent := 9.4; // A
stUserMotorData.stMotorDataPMSM.rPeakCurrent := 20.7; // A
stUserMotorData.stMotorDataPMSM.rContStallCurrent := 9.4; // A
stUserMotorData.stMotorDataPMSM.rConstStallTorque := 5; // N
stUserMotorData.stMotorDataPMSM.rPeakTorque := 200; // N
stUserMotorData.stMotorDataPMSM.rPhaseResistance := 4.34; // Ohm
stUserMotorData.stMotorDataPMSM.rQuadraturePhaseInductance :=
32000; // uH
stUserMotorData.stMotorDataPMSM.rDirectPhaseInductance := 32000; // uH
stUserMotorData.stMotorDataPMSM.uiRotatingFieldDirection := 1;
stUserMotorData.stMotorDataPMSM.udiEMK_Constant := 920; // V / m/s
stUserMotorData.stMotorDataPMSM.uiPolePairPitch := 2400; // µm
stUserMotorData.stMotorDataPMSM.uiMaxMotorTemperature := 130; //°C
stUserMotorData.stMotorDataPMSM.uiTempSensorType := 1;
stUserMotorData.stMotorDataPMSM.uiMaxSpeed := 3200; // mm/s
stUserMotorData.stMotorDataPMSM.udiMotorIntertia := 6300; // g
stUserMotorData.stMotorDataPMSM.uiBrake := 0;
stUserMotorData.stMotorDataACIM.uiTempSensorResistanceOvertemp := 4000;