stancecoke
1 MW
not completely.
We want phase B current to be zero at a hallsensor interrupt, therefore the voltage has to be 90° ahead. You have already used a proper configuration in the older branches, e.g. in the J-LCD, here the efficiency is good!
If you look at the "shift_of_angles_transparancy" branch you will find:
1. The ui8_position_correction_value sets the advance angle at higher speeds / loads and is zero at low speed without load (defined as signed integer, as it can get negative...).
2. The MOTOR_ROTOR_DELTA_PHASE_ANGLE_RIGHT is the deviation in the mecanical position of the hallsensors (not exactly 120° due to manufacturing tolerances) and is something about zero
3. The phase shift between voltage and current is taken into account in the start value of the SVM table.
It should be possible to start the SVM table with zero, but then you have to consider the 90° phase shift in the MOTOR_ROTOR_DELTA_PHASE_ANGLE_RIGHT value. Looking at the sketch, I assume, that it has to be set to 30° (21@8bit) in the "shift_of_angles_transparancy" case. I havn't tried that in hardware.
regards
stancecoke
That's wrong, if both voltages are exactly the same you can't get any mechanical power out of it. (see "nominal speed")casainho said:if motor is rotating already, it generates a voltage on his phase wires(the BEMF) and we need to put the same voltage with PWM duty_cycle, other different value is like a "short-circuit"/high currents flowing.
We want phase B current to be zero at a hallsensor interrupt, therefore the voltage has to be 90° ahead. You have already used a proper configuration in the older branches, e.g. in the J-LCD, here the efficiency is good!
If you look at the "shift_of_angles_transparancy" branch you will find:
1. The ui8_position_correction_value sets the advance angle at higher speeds / loads and is zero at low speed without load (defined as signed integer, as it can get negative...).
2. The MOTOR_ROTOR_DELTA_PHASE_ANGLE_RIGHT is the deviation in the mecanical position of the hallsensors (not exactly 120° due to manufacturing tolerances) and is something about zero
3. The phase shift between voltage and current is taken into account in the start value of the SVM table.
It should be possible to start the SVM table with zero, but then you have to consider the 90° phase shift in the MOTOR_ROTOR_DELTA_PHASE_ANGLE_RIGHT value. Looking at the sketch, I assume, that it has to be set to 30° (21@8bit) in the "shift_of_angles_transparancy" case. I havn't tried that in hardware.
regards
stancecoke