ziopaper
Electrical
- Feb 6, 2008
- 1
Hi all, I am controlling a pmsm (8 poles) with a texas instruments ezdsp 320lf2407a with a sinusoidal pwm. At a certain VDC bus voltage, if the motor speed is lower than the rated V/f, I have too much current in the motor; I am trying to reduce it reducing the modulating waveform that is being compared with the triangular waveform, in order to obtain smaller duty cycles. everything is fine, but I'd like to increase the modulating waveform automatically to let the motor go faster, but when it happens, the lose control of the motor; the system is still open loop but without caring about the current, I have no problem in deciding at what speed the motor should go.
the code that I am using is like this one:
if (speed_rpm<150){
modulating_wave=modulating_wave/2
}
else{
modulating_wave=modulating_wave*speed_rpm/speed_rated;
}
where for example speed_rated is 300rpm; doing this, when the motor goes over 150rpm, the modulating waveform instead of being divided by 2, should be divided by something smaller than 2;
this doesn't work;
any suggestion about this? thanks in advance
Marco
the code that I am using is like this one:
if (speed_rpm<150){
modulating_wave=modulating_wave/2
}
else{
modulating_wave=modulating_wave*speed_rpm/speed_rated;
}
where for example speed_rated is 300rpm; doing this, when the motor goes over 150rpm, the modulating waveform instead of being divided by 2, should be divided by something smaller than 2;
this doesn't work;
any suggestion about this? thanks in advance
Marco