Abstract:
An ammonia generating and delivery apparatus generating ammonia by heating a precursor material with a heating device controlled by a temperature pulse controller which receives commands from a pressure controller, and delivering ammonia with a flow rate controlled by a three-stage PWM controller. The temperature pulse controller is used in a first feedback loop to create a temperature pulse sequence at a surface of the heating device. A pressure controller in a second feedback loop provides duty-cycle commands to the temperature pulse controller, while in delivering ammonia, effects of pressure variation to delivery accuracy are compensated in the three-stage PWM controller, which includes a flow-rate feedback loop. The ammonia generating and delivery apparatus can also include two containers, in which the precursor material in one container is charged and discharged according to the capability of the other container in generating ammonia.

Description:
[0001]    This present application claims priority from U.S. provisional application No. 61/803,751 having the same title as the present invention and filed on Mar. 20, 2013. 
     
    
     CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0002]    Not Applicable 
       STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT 
       [0003]    Not Applicable 
       REFERENCE TO SEQUENCE LISTING, A TABLE, OR A COMPUTER PROGRAM LISTING COMPACT DISC APPENDIX 
       [0004]    Not Applicable 
       FIELD OF THE INVENTION 
       [0005]    This invention relates to an ammonia generating and delivery apparatus, and more particularly, to an apparatus in which ammonia is generated by heating a precursor material and delivered with a controlled delivery rate. 
       BACKGROUND OF THE INVENTION 
       [0006]    Selective Catalytic Reduction (SCR) technology has been broadly used in reducing NOx emissions of internal combustion engines, especially diesel engines. In a SCR system, typically ammonia (NH3) needs to be mixed with exhaust gas of an engine and then the result mixture passes through a catalyst where ammonia reacts with NOx in the exhaust gas and reduces NOx to nitrogen and water. Due to safety concerns and difficulties in transportation and storage, in SCR systems, normally ammonia is generated from a precursor, such as urea, rather than being used directly. The precursor is also called reductant. 
         [0007]    Both solid and liquid reductants can be used in a SCR system. Generating ammonia from solid reductants, e.g. metal ammine salts, such as magnesium ammine chloride (Mg(NH 3 ) 6 Cl 2 ) and calcium ammine chloride (Ca(NH 3 ) 8 Cl 2 ), and ammonium salts, such as ammonium carbamate (NH 4 COONH 2 ) and ammonium carbonate ((NH 4 ) 2 CO 3 ), has a few advantages compared to dosing liquid urea solution (e.g. DEF or Diesel Exhaust Fluid), including no freezing temperature, no deposit concerns in the decomposition pipe, higher density and lower volume, insensitivity to impurities in the reductant, and no extra energy needed for heating water in the urea solution. However a hindrance for using solid reductants is the issues in delivering the reductant, including high energy consumption, pressure variation, and delivery rate control problems. These issues make it difficult to deliver solid reductants accurately as required. 
         [0008]    Normally, to use solid reductant in generating ammonia, reductant in an air-tight container is heated as taught in [Chemical Engineering Science 61 (2006) 2618-2625], and then ammonia gas is released to exhaust air after a pressure is built in the container. Since when heating the solid reductant, all reductant in the container is heated, high heating power is needed and it is difficult to control the pressure in the container, especially when the quantity of reductant is large, due to time delay caused by heat transfer. Changes in pressure affect ammonia delivery accuracy, especially when a feedback control, which may significantly increase system complexity and cost, is not available. And overly high pressure may also create safety concerns. 
         [0009]    To solve the problems mentioned above, it is then an objective of the present invention to provide an ammonia generating and delivery apparatus in which an average ammonia releasing rate can be controlled by controlling not only the temperature of a reductant, but also the releasing time, thereby average heating power can be lowered and a more precise control of ammonia releasing rate can be achieved. 
         [0010]    A further objective of the present invention is to provide a closed loop pressure control in the ammonia generating and delivery apparatus for obtaining a stable ammonia pressure. 
         [0011]    Yet another objective of the present invention is to provide an ammonia delivery control in the ammonia generating and delivery apparatus controlling ammonia delivery rate with a feedback loop including only virtual sensors, so that an accurate ammonia delivery rate can be obtained without significantly increasing the system complexity and cost. 
         [0012]    Yet another objective of the present invention is to provide an ammonia generating and delivery apparatus with short response time, so that ammonia can be quickly delivered. 
       BRIEF SUMMARY OF THE INVENTION 
       [0013]    The present invention provides an apparatus and method for generating ammonia and delivering ammonia with a controlled flow rate. In one embodiment of the present invention, a container with a heating device holds a precursor material, i.e. a reductant, from which ammonia is generated when its temperature is above an ammonia releasing temperature. The heating device is controlled by a pulse temperature controller, which generates a temperature pulse sequence at a surface of the heating device. Each pulse in the temperature pulse sequence includes a high temperature section, in which the temperature at the surface of the heating device is above the ammonia releasing temperature, and a low temperature section, in which the surface temperature of the heating device is below the ammonia releasing temperature. With the temperature pulses, the reductant in adjacent to the heating device releases ammonia only when its surface temperature is above the ammonia releasing temperature. Thereby, by controlling the duty cycle of the temperature pulses, an ammonia releasing rate can be controlled. In an example of the pulse temperature controller for controlling an electrical heater, the resistance of the electrical heater is used in a closed loop control for generating the temperature pulse, and a PWM generator is used in driving the electrical heater. 
         [0014]    In the embodiment of the present invention, the container is fluidly coupled to a buffer through a check valve, which keeps the gas in the buffer from flowing back to the container. In the buffer, a pressure sensor is used for sensing the pressure inside the buffer, and the pressure sensing value is used by a pressure controller for maintaining the pressure in the buffer within a predetermined range. In an example of the pressure controller, a constant target pressure value is compared to the sensing value obtained from the pressure sensor, and the error or the difference between the two values is used by the pressure controller to generate a temperature duty-cycle command for the pulse temperature controller. With the dual-loop control, i.e., with the pressure loop and temperature loop control, pressure in the buffer is controlled by precisely adjusting the ammonia releasing rate in the container with the temperature pulse control. 
         [0015]    In the embodiment of the present invention, the buffer is further fluidly connected to an injector, and an ammonia delivery rate can be controlled by controlling the open time of the injector in a repeating cycle. If only ammonia is generated in the container, then the ammonia delivery rate is a mass flow rate of the gas flowing through the injector, while when multi-species are produced in the container, a correction factor is used in determining the ammonia delivery rate. To accurately control the ammonia delivery rate, a three stage PWM control can be used. In this PWM control, a first stage PWM signal is generated by periodically updating the duty cycle of a second stage PWM signal generator, and the duty cycle value is calculated according to a flow amount value in the current cycle calculated with the pressure sensing value. The time from the moment when a first PWM cycle starts to the current moment and the period and the duty cycle values of the second PWM signal are further used in determining the duty cycle of a third stage PWM signal. With the three stage PWM control, a feedback control of flow rate can be achieved without using a dedicated flow sensor, while a pull-in voltage and a hold-in voltage can be provided for controlling the injector. 
         [0016]    In another embodiment of the present invention, two containers are used for generating and delivering ammonia. Both of these two containers have heating devices inside, and the first container is fluidly coupled to the second container through a heat exchanger and a check valve, which keeps gas in the second container from flowing back to the first container. In the first container, the heating device includes an exhaust gas heater and a first electrical heater, while in the second container, a second electrical heater is used for heating the reductant. The temperature and pressure inside the second container are detected respectively with a temperature sensor and a pressure sensor. In an exemplary controller, a pulse temperature control is used in heating controls, and the pressure inside the second container is controlled by a pressure controller generating duty-cycle commands for the pulse temperature control with sensing values obtained from the pressure sensor. The second container is used as a buffer supporting the first container in delivering ammonia, and a saturation value, which is indicative of a reductant capability in generating ammonia, is calculated based on the temperature and the pressure sensing values. The heating control using the second electrical heater is enabled for discharging the reductant in the second container when the exhaust gas heater in the first container is not capable in generating ammonia, or when the saturation value is high to avoid the reducant from being overly charged, and disabled for charging the reductant when the heating control of the first container is enabled. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0017]      FIG. 1  is a schematic representation of an internal combustion engine with a SCR exhaust gas treatment system; 
           [0018]      FIG. 2   a  depicts an ammonia generating and delivery system with a reductant container and a buffer. 
           [0019]      FIG. 2   b  shows a timing chart of an applied voltage to the electrical heater in the ammonia generating and delivery system of  FIG. 2   a , a temperature response curve, and an ammonia releasing-rate curve. 
           [0020]      FIG. 2   c  is a block diagram of a pulse temperature controller for controlling the electrical heater in the ammonia generating and delivery system of  FIG. 2   a.    
           [0021]      FIG. 2   d  shows a block diagram of the pulse controller in the pulse temperature controller of  FIG. 2   c.    
           [0022]      FIG. 2   e  is a flow chart of an interrupt service routine, which runs periodically for a timer interrupt, functioning as the temperature pulse control block in the pulse controller of  FIG. 2   d.    
           [0023]      FIG. 2   f  is a block diagram of a pressure controller generating a temperature duty-cycle for the pulse temperature controller in the ammonia generating and delivery system of  FIG. 2   a.    
           [0024]      FIG. 2   g  is a block diagram of a three-stage PWM controller for controlling an ammonia delivery rate in the ammonia generating and delivery system of  FIG. 2   a.    
           [0025]      FIG. 2   h  is a flow chart of a timer interrupt service routine running periodically for generating a two-stage PWM signal in the three-stage PWM controller of  FIG. 2   g.    
           [0026]      FIG. 2   i  is a flow chart of a timer interrupt service routine, running periodically for generating a third stage PWM signal in the three-stage PWM controller of  FIG. 2   g.    
           [0027]      FIG. 3   a  depicts an ammonia generating and delivery system with two reductant containers. 
           [0028]      FIG. 3   b  is a flow chart of a timer interrupt service routine, running periodically for controlling the heating devices in the ammonia generating and delivery apparatus of  FIG. 3   a.    
           [0029]      FIG. 3   c  is a flow chart of a routine for calculating a saturation value in the step  302  of the interrupt service routine shown in  FIG. 3   b.    
           [0030]      FIG. 3   d  is a flow chart of a routine for calculating a saturation value in the step  303  of the interrupt service routine shown in  FIG. 3   b.    
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0031]    Referring to  FIG. 1 , in an engine exhaust gas treatment system, an exhaust gas generated by an engine  100  enters a passage  120  through a manifold  101 . The passage  120  is fluidly connected to a dosing system  200 , which is controlled by an ECU (Engine Control Unit)  108  through signal lines  107 . Inside the dosing system  200 , reductant is delivered and mixed with the exhaust gas. And through a passage  130 , the result mixed air flows into a catalyst  103 , where reductant reacts with the NOx in the exhaust gas and reduces it. On the passage  120 , a temperature sensor  102  is used to measure the temperature of the exhaust gas upstream from the catalyst  103  and the sensing signals are sent to the ECU  108  via signal lines  106 . A temperature sensor  104  installed on a tail pipe  110 , which is fluidly connected to the catalyst  103 , is used to measure the exhaust gas temperature downstream from the catalyst  103 , and the sensing signals are obtained by the ECU  108  through signal lines  109 . On the tailpipe  110 , there is also a NOx sensor  105  used to measure a NOx emission level at the tailpipe. The sensing signals obtained from the NOx sensor  105  is sent to the ECU  108  through signal lines  111 . 
         [0032]    An embodiment of the dosing system  200  is depicted in  FIG. 2   a . Inside the dosing system, the exhaust gas firstly enters a passage  251  and through a branch passage  202 , a control valve  203 , which is controlled by a DCU (Dosing Control Unit)  240  through signal lines  241 , and a passage  204 , part of the exhaust air flows into a heat exchanger  205  of an ammonia generation chamber  210 . The DCU  240  communicates with the ECU  108  through signal lines  106  (not shown in  FIG. 2   a ), and the outlet of the heat exchanger  205  is fluidly coupled to the low pressure port of a Venturi pipe  260  through a passage  253 . The high pressure inlet port of the Venturi pipe  260  is fluidly connected to the passage  251 , while the high pressure outlet port is fluidly connected to a passage  252 , on which an injector  230  is installed for delivering ammonia. In a container  207  of the ammonia generation chamber  210 , an electrical heater  206  is positioned above the heat exchanger  205  and controlled by the DCU  240  through signal lines  242 . Inside the container  207 , a solid reductant  208  is filled through a cap  211 , and gas releasing pipes  209  with small openings  261  are used to release gas generated inside the bulk solid reductant  208 . The container  207  is fluidly coupled to a container  224  of a buffer chamber  220  through a passage  212 , a check valve  214 , and another passage  215 . Gas pressure in the container  224  is measured by a pressure sensor  225  connected to the DCU  240  through signals lines  244 , and under the pressure, the ammonia gas is delivered by the injector  230 , which is fluid connected to the chamber  224  through a passage  226  and a port  228 . The injector  230  is controlled by the DCU  240  though signal lines  245  connected to a socket  229 . To prevent the injector  230  from overheating, engine coolant can be circulated inside the injector through ports  231  and  232 . 
         [0033]    Unlike liquid reductant solution, metering solid reductant is difficult. And normally a bulk solid reducant has to be heated to reach its decomposition temperature for releasing ammonia. Heating the bulk solid reductant is time consuming and energy consuming, especially when electrical heating is used. To solve this problem, a special pulse control is used in electrical heating. In the pulse control, high current pulses are applied to the electrical heater, resulting in a temporary high surface temperature at high pulse level, which decomposes the adjacent solid reductant. At low pulse level, the heater surface temperature drops below the decomposition temperature, and the heating energy adsorbed by the solid reductant during decomposition further lowers the heater surface temperature. Thereby, the average ammonia releasing rate under the pulse control is determined by the duty cycle of the applied current pulse. Different from the PWM control typically used in heating control, the pulse control is a temperature pulse control, in which temperature is controlled in pulses rather than at a constant level. 
         [0034]    In a system of  FIG. 2   a , a simple temperature control is applying a voltage pulse on the electrical heater  206 . As shown in  FIG. 2   b , when the voltage pulse is applied, the heater surface temperature rises. And when the heater temperature is above the ammonia releasing temperature, the solid reductant then decomposes and releases ammonia. The ammonia releasing rate is determined by the heater temperature, and the higher the heater temperature is, the higher the ammonia releasing rate. When the voltage pulse is off, the heater surface temperature drops. The solid reductant stops decomposing when the heater temperature drops below the decomposition temperature. 
         [0035]    The temperature pulse can be further controlled in a closed loop, and when the temperature dependent resistance characteristics of the electrical heater are known, the heater surface temperature can also be obtained by measuring the heater resistance. Referring to  FIG. 2   c , in a closed-loop temperature control, a current sensing block  247  is used to detect the current applied to the electrical heater  206 , and the sensing signals are sent to a pulse controller  250 , which then generates setting values to a PWM generator  249 . Through a driver  248 , a PWM signal produced by the PWM generator  249  is converted to a driving signal, which is applied to the electrical heater  206  through the current sensing block  247  and the signal lines  242 . 
         [0036]    A variety of methods can be used for current sensing, for example, a simple method is measuring the voltage drop across a shunt resistor, which is connected in series to the electrical heater, while a switch circuit can be used in the driver block  248  for applying the driving signal. In the PWM generator block  249 , a PWM signal with a fixed period value can be generated with a control logic circuit according to a duty-cycle command provided by the pulse controller block  250 . 
         [0037]    The pulse controller block  250  is a closed loop controller using the sensing signals obtained from the current sensing block  247  as a feedback and providing control commands to the PWM generator block  249  according to the sensing signals and a temperature duty-cycle command. An exemplary realization of the pulse controller block  250  is shown in  FIG. 2   d . In the pulse controller block, sensing signals obtained from the current sensing block  247  are converted to digital values in a current measurement block  281 , and in a heater resistance and temperature calculation block  282 , the resistance of the electrical heater  206  is calculated with the applied voltage and the current sensing values, and the heater temperature is calculated according to the temperature-dependent resistance curve of the electrical heater. The result temperature values are then used by a temperature pulse control block  283  in generating the control commands for the PWM generator  249  according to the temperature duty-cycle command. 
         [0038]    The analog-to-digital conversion in the current measurement block  281  can be accomplished with an Analog-to-Digital Converter (ADC) device, while the resistance and temperature calculation in the block  282  can be realized with a routine in a microprocessor. In the routine, the heater temperature is calculated using a lookup table with an input of the heater resistance value and the lookup table can be populated with the temperature dependent resistance values of the electrical heater. In the temperature pulse control block  283 , a variety of control methods can be used. An exemplary control method is a PID based pulse control realized with an interrupt service routine running periodically for a timer interrupt. Referring to  FIG. 2   e , in such a routine, a flag PulseFlag is examined first. If the PulseFlag value is 1, then a timer TimerON is incremented. The TimerON value is compared with a term Tp*T_Dc/T thereafter, where Tp is the period of the temperature control pulse; T_Dc is the duty cycle of the temperature control pulse, and T is the period of the timer interrupt. If the TimerON value is lower than the term Tp*T_Dc/T, then a temperature PID control is enabled and the routine ends. Otherwise, the routine ends after the timer TimerON is reset to zero, and a zero value is assigned to the flag PulseFlag. Referring back to examination of the PulseFlag value, if it is not  1 , then the PulseFlag value in the previous cycle, PulseFlag(K−1), is examined. If the PulseFlag(K−1) value is 1, i.e., there is a change of the PulseFlag value from one to zero, then the PID controller is disabled and reset, and the PWM duty-cycle command, PWM_Dc, is set to zero. A timer TimerOFF is incremented thereafter, and the result TimerOFF value is compared to a term Tp*(1−T_Dc)/T. If the TImerOFF value is lower than the term Tp*(1−T_Dc)/T, then the routine ends, otherwise, the routine ends after the timer TimerOFF is reset to zero and a value of one is assigned to the flag PulseFlag. 
         [0039]    Referring back to  FIG. 2   c , the temperature duty-cycle command to the pulse controller  250  can be provided by a pressure control as shown in  FIG. 2   f . The pressure control is used for controlling the pressure in the chamber  224  ( FIG. 2   a ) to a target pressure value. In the pressure control, the target pressure value is compared with a pressure sensing value obtained from the pressure sensor  225  in the chamber  224  ( FIG. 2   a ), and the result error is used by a pressure controller  285  in generating the temperature duty-cycle command. The pressure controller  285  is a feedback controller, and a variety of controls, including PID controls and relay controls can be used in the pressure controller. 
         [0040]    In the system of  FIG. 2   a , when exhaust temperature is higher than the decomposition temperature of the solid reductant in the chamber  210 , the control valve  203  can be energized open to allow exhaust gas passing through the heat exchanger  205  to heat the solid reductant. When the exhaust gas heating is enabled, the pressure control block  285  of  FIG. 2   f  further generates a control command for the control valve  203  in addition to the temperature duty-cycle command for the temperature pulse control, in which the electrical heater  206  is used. A variety of methods can be used in controlling the control valve  203 . A simple method is a relay control with a lower pressure threshold Thd_PLo and an upper pressure threshold Thd_PHi. When the pressure sensing value obtained from the pressure sensor  225  is lower than Thd_PLo, then the control valve  203  is energized open, and if the pressure sensing value is higher than Thd_PHi, then the control valve  203  is de-energized closed. When the exhaust gas heating works simultaneously with the electrical heating, the thresholds Thd_PLo and Thd_PHi can be determined according to requirements to the system performance. For example, when an accurate pressure control is required, then the upper threshold Thd_Phi can be set lower than the target pressure value. In this way, the exhaust gas heating is used as a coarse control, and a “fine tune” is achieved by the electrical heating. If lower electrical heating consumption is required, then the lower threshold Thd_PLo can be set higher than the target pressure value. Thereby, whenever the exhaust gas is able to bring enough heat energy, the electrical heater  206  is de-energized off. Note that the exhaust gas heating in the system of  FIG. 2   a  is to provide an alternate heating means saving electrical energy. When a solid reductant with low decomposition temperature, e.g. ammonium bicarbonate, is used, engine coolant or engine oil can also be used as the alternate heating means, and similar controls as that with the exhaust gas heating can be used in controlling the ammonia pressure. 
         [0041]    Ammonia delivery rate in the system of  FIG. 2   a  can be controlled by using a PWM method adjusting the open time of the injector  230  in a repeating cycle, according to a command provided by a SCR control, and pressure sensing values obtained from the pressure sensor  225 . To better compensate pressure variations in the chamber  224 , a three-stage PWM control can be used in generating a control signal for the injector  230 . As shown in  FIG. 2   g , in this control, sensing values obtained from the pressure sensor  225  are used by a model block  287  in generating a current value of ammonia delivery amount in a repeating cycle of a first stage PWM signal, while the command provided by the SCR control together with a first stage period value are sent to a target value calculation block  286 , where a target value of ammonia delivery amount in a repeating cycle is generated. The target and the current values are compared to each other and the result error or difference value together with a second stage PWM period value are used by a block  288  to calculate a duty cycle value Dc 2  for a second stage PWM signal. To have a fast response while at the same time avoid overheating, normally a pull-in and a hold-in voltage need to be provided in controlling an injector solenoid. The pull-in and hold-in voltages can be generated using a third PWM signal, the duty-cycle of which, Dc 3 , is calculated in a block  289 . 
         [0042]    The functions of the blocks  286 ,  287 , and  288  together with the comparison between the current value and the target value can be realized in a service routine for a timer-based interrupt running periodically with a time interval of P 2 , which is also the period value of the second stage PWM signal. A flow chart of an exemplary routine is shown in  FIG. 2   h . In this chart, Fault_Thd is a constant value, and P 1  is the period value of the first-stage PWM signal. Status is a PWM pulse status flag. The variable target_value contains the target on-time value of the first-stage PWM signal, while the variable current_value saves the calculated on-time value of the first-stage PWM signal at the current moment. The variable PWMT 2  saves the current time in a first-stage PWM cycle, and values of the variable C 1  are indicative of the PWM capacity of the second-stage PWM control, i.e., the ammonia delivery amount when the injector  230  is energized open for a period of time P 2 . 
         [0043]    When the interrupt routine is triggered, the C 1  value is calculated, and the value of PWMT 2  is compared to the period value P 1  of the first-stage PWM signal. If the current cycle is finished, i.e., PWMT 2 &gt;=P 1 , then the duty-cycle value of the second stage PWM signal, Dc 2 , is examined. When the Dc 2  value is lower than P 2 , the total error of the current PWM cycle is calculated and saved in a variable previous_error. The current_value is initialized thereafter in a step  292 , in which the P 2  value and the variable target_value are updated for a new cycle. And the error to be corrected in the current cycle is calculated by adding the current error to the error in the previous cycle. If the error to be corrected is equal to or higher than C 1 , then the Dc 2  value is set to 100%, and the Status flag is set to ON, otherwise, the Dc 2  value is calculated with a term error/P 2 , and the Status flag is reset to OFF. The routine ends thereafter. Referring back to the comparison between the PWMT 2  value and the P 1  value, if the current cycle ends (PWMT 2 &gt;=P 1 ) with the duty-cycle value not lower than P 2 , then it means the error cannot be corrected in this PWM cycle. In this case, the error in the previous cycle is calculated and after the PWMT 2  value is set to P 2 . The current_value is initialized thereafter, and the Status flag is set to ON. Since the error is not corrected, it is accumulated. If the accumulated error is higher than the threshold Fault_Thd, then the routine ends after a fault is reported. Referring back to the comparison between the PWMT 2  value and the P 1  value again, when the PWMT 2  value is lower than P 1  (the routine is called again in the same first-stage PWM cycle), the PWMT 2  value is incremented by P 2 , and the Status flag is examined. If the Status flag is OFF, then the Dc 2  value is cleared to 0, and the routine ends, otherwise, the current_value is calculated in a step  291  and the error to be corrected is updated thereafter. Before the routine ends, this error value is compared to C 1 . If the error value is equal or greater than C 1 , then the Dc 2  value is set to 100%, otherwise, the routine ends after the Dc 2  value is calculated using the term error/P 2  and the Status flag is reset to OFF. 
         [0044]    In the interrupt routine of  FIG. 2   h , the target_value can be calculated with a reductant mass-flow rate command using the following formula: 
         [0000]      target_value( i )=Mass_flow_rate_cmd* S   0   (F1),
 
         [0000]    , where Mass_flow_rate_cmd is the reductant mass-flow command, and S 0  is the period value of the first stage PWM signal. The formula for calculating the current_value in the step  291  can be: 
         [0000]      current_value( i )= K *sqrt( Pr ( i )− Pc ))* P 2+current_value( i− 1)  (F2),
 
         [0000]    , where i is the number of interrupts since PWMT 2  is reset to P 2 : 
         [0000]        i =PWMT2/P2  (F3);
 
         [0000]    ; sqrt is the square root calculation, K a pre-determined constant, Pr(i) the pressure sensing value for the calculation in the i-th interrupt cycle, and Pc the pressure in the exhaust passage  252 . The constant K can be calculated using the discharge coefficient of the injector, C D , the minimum area of the injector nozzle, A n , and the density of the reductant, ρ: 
         [0000]        K=C   D   ′A   n ′√{square root over (2ρ)}  (1),
 
         [0000]    , and the value of current_value(1) is set to 0 in the step  292 . And the C 1  value can be calculated using the following equation: 
         [0000]        C 1 =K *sqrt( Pr ( i )− Pc ))* P 2  (F4)
 
         [0045]    In the dosing control of  FIG. 2   g , the function of the block  289  can be realized in a service routine running periodically for a timer interrupt. Referring to  FIG. 2   i , this routine starts with comparing the value in a timer PWMT 3  with an on-time value of the second stage PWM signal, On_Time 2 . If the PWMT 3  value is lower than the On_Time 2  value, then the duty-cycle value of the third stage PWM signal, Dc 3 , is calculated with a function of a time term, PWMT 2 −P 2 +PWMT 3 . This time term is the time in a repeating cycle of the first stage PWM signal starting from the moment when the cycle is triggered. A lookup table with an input of the time term can be used in this calculation, so that more voltage levels can be generated. If the PWMT 3  value is not lower than the On_Time 2  value, then the Dc 3  value is reset to 0. The PWMT 3  value is incremented by P 3  thereafter, where P 3  is the period value of the third stage PWM signal, and the PWMT 3  value is compared with the P 2  value. The routine ends if the PWMT 3  value is lower than the P 2  value, otherwise, before the routine ends, the On_time 2  value is updated using the product of the Dc 2  value and the P 2  value, and the PWMT 3  value is reset to 0. 
         [0046]    In the system of  FIG. 2   a , solid metal amines can be used to further increase the buffer capacity. As shown in  FIG. 3   a , in the container  224 , solid metal amines  265  are contained inside and gas releasing pipes  223  with small openings  262  are used for releasing gas generated in the bulk metal amines. The container  224  is heated by an electrical heater  221 , which is controlled by the DCU  240  through signal lines  243 , and a heat exchanger  213  connected in between the passage  212  and the check valve  214  is used to cool down the gas passing through it. The temperature inside the container  224  is further measured by a temperature sensor  222 , which communicates with the DCU  240  through signal lines  246 . 
         [0047]    In the system of  FIG. 3   a , the ammonia generation chamber  210  and the buffer chamber  220  can work in series in providing ammonia. In this mode, when the engine has a cold start, the exhaust air temperature is low. A temperature control using the electrical heater  221  in the buffer chamber  220  is enabled, and metal amines in the container  224  are then heated. When ammonia gas is released through the gas releasing pipes  223  and the surface of the metal amines, gas pressure is built up in the container  224 . When exhaust air temperature measured by the temperature sensor  102  ( FIG. 1 ) increases above a threshold determined by a reductant decomposition temperature, the exhaust gas heating control is enabled. 
         [0048]    Ammonia gas released in the chamber  210  goes into the chamber  220  via the heat exchanger  213  and the check valve  214  if the gas pressure in the container  207  is higher than that in the container  224 . When the generation of ammonia gas in the container  207  is detected by the pressure sensing value obtained from the pressure sensor  225 , the temperature control with the electrical heater  221  can be disabled. Since through the heat exchanger  213 , the temperature of the feeding gas to the container  224  is lower than the decomposition temperature of metal amines inside it, the metal amines stops decomposition and a charging process starts under the gas pressure. The ammonia supply is then provided solely by heating solid reductant in the chamber  210 . During the operation of the system, if the charging time of the metal amines is longer than a threshold, then the temperature control with the heater  221  is enabled for keeping metal amines from being overly charged. Thus after engine stops running, when the control valve  203 , the electrical heaters  206  and  221  are de-energized, the ammonia gas in the container  207  and  224  can be absorbed by the metal amines. 
         [0049]    The series control can be realized using a timer interrupt service routine run periodically in the DCU  240 . An example routine is shown in  FIG. 3   b . In this example, after the routine starts, the exhaust temperature T e , which is obtained from the temperature sensor  102  ( FIG. 1 ) is compared to a threshold Thd 1 . If the exhaust temperature is lower than the threshold Thd 1 , then a timer Timer 1 , the value of which is an indication of the heat exchanger ineffective time, is reset to 0, and the control valve  203  ( FIG. 3   a ) is de-energized closed. The pressure value P obtained from the pressure sensor  225  is examined thereafter. If the pressure value P is not lower than a threshold Thd 3 , then temperature control with the electrical heater  221  is enabled when the pressure value P is lower than a threshold Thd 9 , and the temperature control with the temperature control with the electrical heater  206  is enabled. If the pressure value P is not lower than the threshold Thd 9 , then the pressure in the container  224  is too high, and the temperature controls with the electrical heater  204  and  206  are all disabled. The routine ends after the value of L s , which is an indication of a saturation level of metal amines, is calculated in a step  301 . Referring back to the comparison of the pressure value P with the threshold Thd 3 , if P is lower than Thd 3 , then the value of a timer Time  1 , which is used to indicate the incapable time of the temperature control with the electrical heater  221 , is incremented by an interrupt period time dT, and the incremented value is compared to a threshold Thd 4 . If it is higher than Thd 4 , then the saturation level L s  is calculated and the temperature control with the electrical heater  206  is enabled to produce ammonia gas in the chamber  220 , otherwise, like that when the pressure P is lower than the threshold Thd 3 , the temperature control with the electrical heater  221  is enabled as that with the electrical heater  206  being disabled, and the L s  value is calculated in the step  301  before the routine ends. After the temperature control with the electrical heater  206  is enabled, the metal amines in the chamber  224  can be recharged. The L s  value is then compared to a threshold Thd 6 . If it is higher than the threshold Th 6 , then the charging is completed and the timer Timer 1  is set to 0 before the routine ends, otherwise, the temperature control with the electrical heater  221  is disabled and the routine ends. 
         [0050]    Referring back to the comparison between the temperature T e  and the threshold Thd 1 , if T e  is not lower than Thd 1 , then the timer Timer 1  is set to 0, and in a step  303 , the saturation level L s  is calculated. If the metal amines are not overly-charged, i.e., when L s  is lower than Thd 7 , the temperature control with the heater  221  is disabled, otherwise, the pressure changing rate dP/dt is examined. If the pressure changing rate is lower than a threshold Thd 10 , the temperature control with the electrical heater  221  is enabled to discharge the overly-charged metal amines, otherwise, the pressure changing rate is too high to start a discharging process, and the temperature control with the electrical heater  221  is kept as its previous status. After the temperature control with the electrical heater  221  is determined, the pressure P is compared to a threshold Thd 2 . If it is higher than the threshold Thd 2 , then the pressure is too high, the control valve  203  is then de-energized closed and the temperature control with the electrical heater  206  is disabled, otherwise, the control valve  203  is energized and the pressure P is compared to a threshold Thd 5 . If it is lower than the threshold Thd 5 , then the value of the timer Timer 2  is incremented by dT, and the temperature control with the electrical heater  206  is enabled under a cold condition, in which the Timer 2  value is higher than a threshold Thd 8  and the temperature control with the electrical heater  221  is disabled. The temperature control with the electrical heater  206  is disabled when the P value is not lower than Thd 5 , or the cold condition is not satisfied. And the routine ends thereafter. 
         [0051]    In the control algorithm of  FIG. 3   b , when the control valve  203  is de-energized and the electrical heater  221  is used for generating ammonia, the pressure P in the container  224  is controlled within the thresholds Thd 3  and Thd 9 . Therefore, the value of Thd 3  should be lower than that of Thd 9 . Similarly, when the control valve  203  is energized, the pressure P is controlled within the thresholds Thd 5  and Thd 2 , and the value of Thd 5  should be lower than that of Thd 2 . 
         [0052]    The saturation level L s  can be calculated using pressure sensing values obtained from the sensor  225  and temperature sensing values obtained from the sensor  222 . If the pressure change is small compared to the pressure value, when discharging, the NH3 releasing rate r n  is a function of heating temperature and the saturation level of metal amines indicated by the powder weight: 
         [0000]        r   n   =f ( L   s   ,T   c )  (2)
 
         [0000]    . In the apparatus of  FIG. 3   a , T c  is the temperature in the chamber  224  obtained from the sensor, and under the same ambient conditions, the temperature T c  is a function of the heating power P a  applied to the heater  221 : 
         [0000]        T   c   =g ( P   a )  (3)
 
         [0000]    . If the mass-flow rate through the injector  230  is D, if no gas is fed into the container  224 , then according to the ideal gas low, 
         [0000]    
       
         
           
             
               
                 
                   
                     PV 
                     = 
                     
                       
                         ( 
                         
                           
                             n 
                             0 
                           
                           + 
                           
                             
                               
                                 ∫ 
                                 
                                   t 
                                   0 
                                 
                                 t 
                               
                                
                               
                                 
                                   ( 
                                   
                                     
                                       r 
                                       n 
                                     
                                     - 
                                     D 
                                   
                                   ) 
                                 
                                  
                                 
                                     
                                 
                                  
                                 
                                    
                                   t 
                                 
                               
                             
                             
                               M 
                               w 
                             
                           
                         
                         ) 
                       
                        
                       
                         RT 
                         c 
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   4 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where M w  is the molecular weight of NH3; n 0  is the molar value of the gas in the container  224  at time t 0 ; V is the gas volume in the container  224 , and R is the gas constant. If the volume change of the metal amines is neglected, then the gas volume V is a fixed value. When the temperature T c  changes much slower than that of the pressure P, the changing rate of pressure, dP/dt, according to equation (4) is 
         [0000]    
       
         
           
             
               
                 
                   
                     
                        
                       P 
                     
                     
                        
                       t 
                     
                   
                   = 
                   
                     
                       
                         
                           r 
                           n 
                         
                         - 
                         D 
                       
                       
                         
                           M 
                           w 
                         
                          
                         V 
                       
                     
                      
                     
                       
                         RT 
                         c 
                       
                       . 
                     
                   
                 
               
               
                 
                   ( 
                   5 
                   ) 
                 
               
             
           
         
       
     
         [0000]    By combining equation (5) with equation (2), we have 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                          
                         P 
                       
                       
                          
                         t 
                       
                     
                     = 
                     
                       
                         
                           
                             f 
                              
                             
                               ( 
                               
                                 
                                   L 
                                   s 
                                 
                                 , 
                                 
                                   T 
                                   c 
                                 
                               
                               ) 
                             
                           
                           - 
                           D 
                         
                         
                           
                             M 
                             w 
                           
                            
                           V 
                         
                       
                        
                       
                         RT 
                         c 
                       
                     
                   
                    
                   
                     
 
                   
                    
                   and 
                 
               
               
                 
                   ( 
                   6 
                   ) 
                 
               
             
             
               
                 
                   
                     
                        
                       P 
                     
                     
                        
                       t 
                     
                   
                   = 
                   
                     
                       
                         
                           f 
                            
                           
                             ( 
                             
                               
                                 L 
                                 s 
                               
                               , 
                               
                                 g 
                                  
                                 
                                   ( 
                                   
                                     P 
                                     a 
                                   
                                   ) 
                                 
                               
                             
                             ) 
                           
                         
                         - 
                         D 
                       
                       
                         
                           M 
                           w 
                         
                          
                         V 
                       
                     
                      
                     
                       
                         Rg 
                          
                         
                           ( 
                           
                             P 
                             a 
                           
                           ) 
                         
                       
                       . 
                     
                   
                 
               
               
                 
                   ( 
                   7 
                   ) 
                 
               
             
           
         
       
     
         [0000]    According to equation (6) and (7), L s  can be calculated with the changing rate dP/dt, the mass-flow rate D, and the temperature T c  or the power P a  applied to the heater  221  if effects of ambient condition change are insignificant. During charging, the weight changing rate of metal amines, r c , is a function of the temperature T c , the saturation level L s , and the pressure P: 
         [0000]        r   c   =h ( L   s   ,P,T   c )  (8)
 
         [0000]    . The changing rate r c  is also proportional to the changing rate of the saturation level L s : 
         [0000]        r   c   =m   c   dL   s   /dt   (9)
 
         [0000]    , where m c  is the theoretical charging capacity of the metal amines, i.e., the mass of the metal amines when fully charged, in the container  224 . According to equations (8) and (9), we have 
         [0000]        dL   s   /dt=h ( L   s   ,P,T   c )/ m   c   (10)
 
         [0000]    . Given an initial value, L s  can be calculated according to equation (10). 
         [0053]    In the step  301 , the calculation of L s  is for discharging of the metal amines, therefore, the equations (6) or (7) is applied. In real-time control, to reduce execution time, a two-step lookup table method can be used in the calculation. In this method, the first step is using a three-dimensional lookup table with two inputs of the applied power P a  or the temperature T c  and the pressure changing rate dP/dt to calculate the molar changing rate of gas in the chamber  224 , (f (L s , g(P a ))−D)/M w  or (f(L s , T c )−D)/M w . And then r n  is calculated with the molar changing rate and the mass-flow rate D, which can be further calculated using reductant dosing commands, and L s  is calculated with another three-dimensional lookup table with two inputs of the calculated molar changing rate and the applied power P a  or the temperature T c . The element values in the first lookup table can be calculated according to equation (6) or (7) with the gas volume V determined, while the second lookup table can be populated with testing results obtained from a matrix test with different controlled chamber temperatures and starting saturation levels. If the pressure P varies significantly, then a compensation for pressure is also needed in calculating the saturation level. 
         [0054]    In the calculation of the step  302 , since the calculation of L s  is for charging of the metal amines, equation (10) can be applied. Referring to  FIG. 3   b , the calculation of L s  in the step  302  starts only when insufficient ammonia gas is generated by heating the electrical heater  221 , i.e., the Timer 1  value is higher than the threshold Thd 4 . If the electrical heater  221  works normally, then insufficient generation of ammonia gas is caused by depleted metal amines, therefore, in the first execution of the step  302 , the initial value of L s  can be set to 0. An exemplary calculation algorithm of the step  302  is shown  FIG. 3   c . This algorithm starts with checking the value of Timer 1  in the previous cycle, K−1, where K is the number of the current cycle. If it is lower than or equal to the threshold Thd 4 , then this cycle is the first one in which the step  302 , and the value of L s  is set to 0. The value of dL s /dt is calculated thereafter according to equation (10) with the previously determined L s  value, and the measured pressure P and temperature T c . Then the value of L s  in the current cycle is calculated with the previous determined L s  value and calculated changing rate, dL s /dt. 
         [0055]    Referring back to  FIG. 3   b , in the step  303 , when the temperature control with the heater  221  is disabled, then the calculation is for charging the metal amines, therefore, equation (10) is applied. When the temperature T e  is not lower than the threshold Thd 1 , since the temperature control with the electrical heater  221  can only be enabled when the pressure P is steady, the release of ammonia under the temperature control creates a higher pressure, blocking ammonia gas in the container  207  from entering the container  224 . Thus, the calculation of L s  in this situation is for discharging of the metal amines and the equation (6) or (7) is applied. An exemplary calculation algorithm is depicted in  FIG. 3   d . This algorithm starts with checking if the status of the temperature control with the electrical heater  221 . If it is enabled, then L s  is calculated according to equation (6) or (7) and the method in the step  301  can be used in the calculation, otherwise, as that in the step  302 , the changing rate of L s , dL s /dt, is calculated according to equation (10), and L s  is integrated with the changing rate. 
         [0056]    In the systems of  FIG. 3   a , ammonia can be generated from metal amines and other precursor materials. When ammonia is released in heating metal amines, only ammonia is generated. Therefore, the ammonia delivery command of mass flow rate can be calculated from molar flow rate, which is used in SCR dosing controls, according to the following equation: 
         [0000]        Dc=Mo*Mw _NH3  (11)
 
         [0000]    , where Mo is the ammonia delivery command of molar flow rate, and Mw_NH3 is the molecular weight of ammonia. However, some precursor materials may also release byproducts when ammonia is generated. For example, during decomposition, ammonium bicarbonate releases water, carbon dioxide, and ammonia in a molar ration of 1:1:1. In this situation, a correction factor Fc can be used in the calculation: 
         [0000]        Dc=Fc*Mo*Mw _NH3  (12)
 
         [0000]    . In the example of ammonium bicarbonate, the Fc value is about 4.65. 
         [0057]    In the controls of  FIG. 3   b , the temperature control with the electrical heater  221  is only enabled when the chamber  210  is not capable in generating ammonia or when a discharging of metal amines in the chamber  210  is required. If the chamber  210  is not capable, then ammonia is only released in heating the metal amines in the chamber  220 , therefore, equation (11) can be used in calculating the dosing mass flow rate of ammonia. During discharging, more ammonia is generated in heating the metal amines causing a higher pressure in the chamber  220 . Since in the system of  FIG. 3   a , the check valve  214  keeps the gas generated in the chamber  210  from entering the buffer chamber  220  if the pressure in the buffer chamber  220  is higher than that in the chamber  210 , as long as the ammonia releasing rate in the chamber  220  is controlled to maintain a certain pressure drop from the chamber  220  to the chamber  210 , ammonia is mainly generated in heating metal amines in the chamber  220 , and equation (11) can still be used in calculating the ammonia delivery command of mass flow rate. When such a control is used, a simple routine can be used in calculating the value of the factor Fc. In this routine, if the temperature control with the electrical heater  221  is enabled, then the Fc value is set to 1, i.e., equation (11) is used in calculating the dosing mass flow rate, otherwise, the Fc value is determined by the solid reductant used in the chamber  210 , and equation (12) is used in the calculation of dosing mass flow rate. 
         [0058]    While the present invention has been depicted and described with reference to only a limited number of particular preferred embodiments, as will be understood by those of skill in the art, changes, modifications, and equivalents in form and function may be made to the invention without departing from the essential characteristics thereof. Accordingly, the invention is intended to be only limited by the spirit and scope as defined in the appended claims, giving full cognizance to equivalents in all respects.