Implementation
As described in the previous section the overall dead-time duration should be deterministic, the double WAIT statements in the subroutine can ensure the execution time to be mostly constant. When the MCU is woken up from the first WAIT (which is normally triggered by the comparator), the timer counter value is captured and the MCU is then returned to WAIT mode until the timer is overflowed. The subroutine execution time would be equivalent to the timer overflow period (~128∝s) plus some software overhead.
3.4.1 Temperature Conversion
In general, the channel resistance of the temperature sensor reduces as the temperature increases. The corresponding channel resistance against temperature can usually be retrieved from the sensor data sheet. For this application the operating temperature range is defined from 25°C to 100°C. When the ambient temperature is 100°C or above the motor is at maximum speed. The speed drops as the temperature decreases in 5°C steps. Given the sensor channel resistance values the voltage across the sensor can be calculated. The corresponding motor speed for a specific temperature range are also defined and shown in Table 3-3.
EQ 3-2shows how the target PWM period value is calculated. The target value is compared with the measured PWM period every 180 degrees of rotation. The ADC readout delay is considered as constant, therefore, it is omitted from the motor speed measurement and should be deducted from the target period calculation, too.
| | 60---------------------⁄ RPM- | – ADCDelay | |
| T argetPWMPeriod = | 4 | | (EQ 3-2) |
| ---------------------------------------------------------TimerResolution |
| |
The timer resolution used in the application is 64∝s, the ADC readout time contributes a constant delay to the overall PWM period, which is ~128∝s in this application. The target PWM period used for motor speed control is shown in Table 3-3. The table is stored in the upper memory (FLASH). In RS08 architecture upper memory access is done through the paging window (address $00C0 to $00FF) where the PAGESEL register is defining the page to be accessed. Simple table lookup method which uses the captured timer value from the temperature sensor readout as an index in the paging window for the target PWM period conversion.
For software implementation, the target motor speed must be deduced in terms of timer counts, where it is used as the target PWM period per commutation. By using Table 3-2and Table 3-3, a look-up table can be constructed where the ADC readout value is used as an index to retrieve the target PWM period for a specific temperature range.
Variable Speed DC Fan Control using the MC9RS08KA2, Rev. 0
20 | Freescale Semiconductor |