??? 07/05/05 11:34 Read: times |
#96592 - Simulating an Electric motor |
For many of the test rigs that I design, the commands to AC drives and proprotional valves are done in closed loop with a simple PI controller. If for instance the drive is to be set for 3000 rpm, the set point is the voltage corresponding to 3000 rpm and the loop is closed with the feedback from the RPM sensor ( process variable ).
In such cases it is always a trial-n-error process of tuning. To simplify this I was wondering if I can simulate the electric motor by an MCU : 1. The Setpoint corresponding to 3000 rpm will be fed to the PI controller. 2. The output of the PI controller will drive an ADC and the MCU will read in the setpoint (SP) 3. The MCU will then calculate the magnitude difference between the current SP and the previous SP. It will then start ramping up the commands to a DAC that is connected to the PI controller to act as process variable. 4. The ramp rate (in Step 3 ) will be adjustable and will represent the "inertia " of the motor. Lower the value, faster the response and higher the value, slower the response. Now at a very basic level will this not represent an electric motor's response to a step input ? And if I can program the ramp rate to match the Accel. rate of the variable speed drive, I can peacefully go about tuning the PI controller till it stabilises. ( At times we handle motors of 40 - 50KW power and at rpms of 3000 and above, it is scary lest the PI control should run away ) Any thoughts on this idea ? ( I still can't figure out how to simulate "overshoots" which is an important aspect while tuning ) Thanks for your time. Raghu |
Topic | Author | Date |
Simulating an Electric motor | 01/01/70 00:00 | |
Its called a transfer function | 01/01/70 00:00 | |
laplacce | 01/01/70 00:00 | |
Simulation Block Diagram | 01/01/70 00:00 | |
? | 01/01/70 00:00 | |
Yep | 01/01/70 00:00 | |
Modelling motors | 01/01/70 00:00 | |
In fact | 01/01/70 00:00 | |
Neat linkl | 01/01/70 00:00 | |
This is not really for Raghu who, as far | 01/01/70 00:00 | |
in fact again![]() | 01/01/70 00:00 |