The importance of accurately controlling the speed and torque of Synchronous Machines (SMs) in industry, transportation, aerospace, to name a few, can not be overstated. The driving unit to control the machines are called Variable Speed Drives (VSDs) and they can be designed in many different ways. In this project, a speed sensorless drive using high-frequency square-wave voltage injection is implemented in a open-source Python software called Motulator, developed by Prof. Marko Hinkkanen at Aalto University. The drive is first tested on an already existing linear model of a Permament Magnet Synchronous Machine (PMSM). An equivalent model is built in Matlab/Simulink to benchmark the performance of the implementation in Python. The results suggest that the performance Motulator implementation is satisfactory when compared to the Simulink implementation. Next, a non-linear Synchronous Reluctance Machine (SynRM) is implemented, using data from Finite Element (FEM) simulations of the non-linear flux-current relation. By using the injection scheme (with some tweaks), the speed of the motor is accurately controlled, but a steady-state position error is observed at all operating points. The error is produced due to the cross-saturation effect and a compensation strategy is implemented in an attempt to remove this error. however without full success. / Det är av avgörande betydelse att kunna kontrollera varvtal och vridmomentet hos synkrona elektriska maskiner (SM) inom transport, flyg och rymd, för att nämna några tillämpningar. Drivsystem för att styra de elektriska maskinerna kallas för varvtalsreglerade drivsystem och kan konstrueras på många olika sätt. I det här projektet implementeras ett varvtalsreglerat drivsystem, utan sensor för mätning av varvtalet. Varvtalsestimeringen bygger på att en fyrkantsvåg med hög frekvens injiceras varur det är möjligt att estimera hastigheten. Implementering görs i Python i en open-source programvara kallad Motulator, utvecklad av professor Marko Hinkkanen från Aaltouniversitetet. Regleringen testas först på en redan existerande linjär modell av en permanentmagnetiserad motor. Som jämförelse utvecklas även en motsvarande implementering av regleralgoritm och motor i Matlab/Simulink. Resultaten visar att Motulatorimplementeringen fungerar väl och att simuleringarna stämmer väl överens med Matlab/Simulink-modellen. I nästa steg implementeras en icke-linjär modell av en synkron reluktansmaskin. Det icke-linjära förhållande mellan flöde och ström modelleras med hjälp av data från finita elementsimuleringar (FEM). Simuleringar i Motulator visar att varvtalet i denna motormodell kan kontrolleras för alla olika laster och varvtal. Däremot noteras ett stationärt rotorpositionsfel vid vissa driftpunkter. Felet beror på mättningen av statorinduktansen och en algoritm implementerats för att kompensera effekten av mättningen och därmed eliminera felet. Det visar sig dock att kompenseringsalgoritmen endast fungerar vid vissa driftpunkter.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-321349 |
Date | January 2022 |
Creators | Lundberg, Simon |
Publisher | KTH, Skolan för elektroteknik och datavetenskap (EECS) |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | TRITA-EECS-EX ; 2022:666 |
Page generated in 0.0014 seconds