Silicon piezoresistive pressure core measurement precision compensation method and device, electronic equipment and storage medium
The method utilizes pre-defined data tables and filtering techniques to address temperature-related accuracy issues in silicon pressure sensors, enhancing measurement stability and precision across varying conditions without hardware changes.
Patent Information
- Application Number
- CN202411618511.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-13
- Publication Date
- 2025-03-14
AI Technical Summary
Existing silicon pressure sensors face significant temperature-related accuracy and stability issues due to the non-linearity of semiconductor materials, leading to temperature drift and measurement errors, which current hardware and software compensation methods struggle to adequately address.
A method involving pre-defined accuracy compensation data tables to calculate and apply correction factors for temperature and pressure measurements, using a combination of filtering and interpolation techniques to improve measurement accuracy and stability across varying conditions without requiring hardware changes.
This approach significantly enhances measurement accuracy and stability by compensating for temperature and pressure non-linearities, reducing environmental impact and lowering the computational complexity of the control system, thus improving the precision and reliability of silicon pressure sensors.
Smart Images

Figure CN119618425A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of pressure core measurement accuracy compensation, and in particular to a silicon piezoresistive pressure core measurement accuracy compensation method, device, electronic equipment and storage medium. Background Art
[0002] The more commonly used temperature compensation methods for existing silicon piezoresistive pressure cores mainly include two types of compensation: hardware and software. Hardware compensation includes hardware methods such as bridge arm series-parallel resistors, dual bridges, and thermistor compensation. However, the hardware compensation currently used is limited by factors such as the need for frequent debugging of matching resistors and defects in the resistance value accuracy. Therefore, most of the current methods use software compensation to achieve silicon piezoresistive pressure core temperature compensation.
[0003] The mainstream software compensation solutions include: least squares, cubic spline, a combination of cubic spline and least squares, and a series of temperature compensation solutions based on neural networks. Since the least squares method fits the coefficients based on the calibration data set and then writes them into the non-volatile memory, it is suitable for pressure core temperature compensation with lower precision requirements. Although the cubic spline has higher accuracy, the boundary of the interpolation interval must be determined, and too many fitting times can easily lead to pathological conditions. Neural network-based artificial intelligence compensation requires a large amount of data sets and complex hardware support, and it is difficult to complete real-time online compensation. Summary of the invention
[0004] The present application provides a silicon piezoresistive pressure core measurement accuracy compensation method, device, electronic device and storage medium to solve the above-mentioned technical problems.
[0005] An embodiment of the present application provides a method for compensating the measurement accuracy of a silicon piezoresistive pressure core, the method comprising: obtaining a current temperature code value and a current pressure code value of the pressure core, obtaining a temperature code value sequence, a pressure code value sequence and a standard pressure value sequence by searching a pre-calibrated accuracy compensation data table, wherein the accuracy compensation data table is obtained by calibrating pressure points and calibrating temperature points; calculating a fitting pressure code value of the calibrated pressure point according to the temperature code value sequence and the pressure code value sequence, and obtaining an initial fitting pressure code value sequence; performing a search operation in the initial fitting pressure code value sequence based on the current pressure code value of the pressure core, and obtaining a fitting pressure code value closest to the current pressure code value of the pressure core, which is recorded as a screened fitting code value sequence; calculating a compensated fitting pressure value through the screened fitting code value sequence and the pressure value sequence, and performing measurement accuracy compensation for the silicon piezoresistive pressure core through the compensated fitting pressure value.
[0006] In one embodiment of the present application, the calibration process of the accuracy compensation data table includes: collecting temperature points within a preset temperature range, recorded as calibration temperature points, and collecting pressure points within a preset pressure range, recorded as calibration pressure points; arranging and combining the calibration temperature points and the calibration pressure points to obtain multiple calibration point combinations; collecting pressure code values in each calibration point combination, and performing mean filtering on the pressure code values, and performing median filtering on the pressure code values after the mean filtering to obtain a pressure code value data table; and collecting temperature code values in each calibration point combination, and performing mean filtering on the temperature code values, and performing median filtering on the temperature code values after the mean filtering to obtain a temperature code value data table; combining the pressure code value data table and the temperature code value data table to obtain an accuracy compensation data table.
[0007] In one embodiment of the present application, a temperature code value sequence, a pressure code value sequence and a standard pressure value sequence are obtained by searching a pre-calibrated accuracy compensation data table, including: performing a search operation in a pre-calibrated temperature code value calibration data table according to the current temperature code value of the pressure core, and obtaining a temperature code value closest to the current temperature code value of the pressure core, recorded as a temperature code value sequence; performing a search operation in a pre-calibrated pressure calibration code value data table according to the temperature code value sequence, and obtaining a pressure code value group, recorded as a pressure code value sequence, and obtaining a standard pressure value, recorded as a standard pressure value sequence.
[0008] In one embodiment of the present application, a search operation is performed in a pre-calibrated temperature code value calibration data table according to the current temperature code value of the pressure core to obtain a temperature code value closest to the current temperature code value of the pressure core, which is recorded as a temperature code value sequence, including: calculating the absolute value of the difference between the current temperature code value of the pressure core and the temperature code value in the temperature code value data table, which is recorded as a temperature code value error value; sorting the temperature code value error values according to a small to large rule to obtain a temperature code value difference sequence; extracting a preset temperature error value from the temperature code value difference sequence to obtain a temperature code value closest to the current temperature code value of the pressure core, which is recorded as a temperature code value sequence.
[0009] In one embodiment of the present application, the fitting pressure code value of the calibration pressure point is calculated according to the temperature code value sequence and the pressure code value sequence to obtain an initial fitting pressure code value sequence, including: calculating an initial fitting coefficient through the temperature code value sequence and the pressure code value sequence; obtaining an initial fitting pressure code value sequence through the initial fitting coefficient, the current temperature code value of the pressure core and the temperature code value sequence: P_code x =k 2 *(t c -t 0 )*(t c -t 1 )+k1 *(t c -t 0 )+k 0 (x=0...6);
[0010] Among them, P_code x is the initial fitting pressure code value; k 0 is the first initial fitting coefficient; k 1 is the second fitting coefficient; k 2 is the second initial fitting coefficient; t c is the current temperature code value of the pressure core; t 0 is the first calibration temperature code value; t 1 It is the second calibration temperature code value.
[0011] In one embodiment of the present application, a search operation is performed in the initial fitting pressure code value sequence based on the current pressure code value of the pressure core to obtain a fitting pressure code value closest to the current pressure code value of the pressure core, which is recorded as a screened fitting code value sequence, including: calculating the absolute value of the difference between the current pressure code value of the pressure core and the initial fitting pressure code value in the initial fitting pressure code value sequence, which is recorded as a pressure code value error value; sorting the pressure code value error values according to a small to large rule to obtain a pressure code value difference sequence; extracting a preset number of pressure error values from the pressure code value difference sequence to obtain a fitting pressure code value closest to the current pressure code value of the pressure core, which is recorded as a screened fitting code value sequence.
[0012] In one embodiment of the present application, calculating the compensated fitting pressure value by screening the fitting code value sequence and the pressure value sequence includes:
[0013] The target fitting coefficient is calculated by the standard pressure value sequence and the screened fitting code value sequence; the compensated fitting pressure is obtained by the target fitting coefficient, the current pressure code value of the pressure core and the screened fitting code value sequence:
[0014] P nihex =k nihe2 *(P c -P_code 1 )*(P c -P_code 0 )+k nihe1 *(P c -P_code 0 )+k nihe0
[0015] Among them, P nihex is the compensation fitting pressure value; P c is the current pressure code value of the pressure core; k nihe0 is the first target fitting coefficient; knihe1 is the second target fitting coefficient; k nihe2 is the third target fitting coefficient; P_code 0 P_code is the first filter fitting code value; 1 Fit code value for the second filter.
[0016] The embodiment of the present application provides a silicon piezoresistive pressure core measurement accuracy compensation device, the device comprising: an acquisition module, used to acquire a current temperature code value and a current pressure code value of the pressure core, and obtain a temperature code value sequence, a pressure code value sequence and a standard pressure value sequence by searching a pre-calibrated accuracy compensation data table, wherein the accuracy compensation data table is obtained by calibrating pressure points and calibrating temperature points; a calculation module, used to calculate the fitting pressure code value of the calibrated pressure point according to the temperature code value sequence and the pressure code value sequence, and obtain an initial fitting pressure code value sequence; a search module, used to perform a search operation in the initial fitting pressure code value sequence based on the current pressure code value of the pressure core, and obtain a fitting pressure code value closest to the current pressure code value of the pressure core, which is recorded as a screened fitting code value sequence; a compensation module, used to calculate a compensated fitting pressure value through the screened fitting code value sequence and the pressure value sequence, and perform silicon piezoresistive pressure core measurement accuracy compensation through the compensated fitting pressure value.
[0017] An embodiment of the present application provides an electronic device, including a processor, a memory and a communication bus; the communication bus is used to connect the processor and the memory; the processor is used to execute a computer program stored in the memory to implement the above-mentioned silicon piezoresistive pressure core measurement accuracy compensation method.
[0018] An embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program is used to enable a computer to execute the above-mentioned silicon piezoresistive pressure core measurement accuracy compensation method.
[0019] The beneficial effects of the present application are as follows: through a pre-calibrated accuracy compensation data table, the influence of temperature and pressure on the measurement accuracy of the pressure core is taken into consideration, and the current measurement value can be accurately compensated, thereby significantly improving the accuracy of the measurement; since the changes in temperature and pressure are taken into consideration, the influence of environmental factors on the measurement results can be reduced, so that the pressure core can maintain a high measurement stability under different temperature and pressure conditions; and through accuracy compensation, the pressure core compensation accuracy can be effectively improved without replacing the hardware, and the compensation correction of temperature drift factors such as temperature and nonlinearity of the core pressure can be better realized, and the calculation complexity of the main control microcontroller is reduced, and the peripheral packaging cost of the pressure core detection is reduced, so the accuracy and stability of the pressure detection of the silicon piezoresistive pressure sensor can be effectively improved, and it also has certain economic benefits in actual industrial production.
[0020] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The drawings herein are incorporated into the specification and constitute a part of the specification, showing embodiments consistent with the present application, and together with the specification, are used to explain the principles of the present application. Obviously, the drawings described below are only some embodiments of the present application, and for those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative work. In the drawings:
[0022] Figure 1 is a schematic diagram of a silicon piezoresistive pressure core measurement accuracy compensation hardware platform shown in an exemplary embodiment of the present application;
[0023] Figure 2 is a flow chart of a method for compensating measurement accuracy of a silicon piezoresistive pressure core shown in an exemplary embodiment of the present application;
[0024] Figure 3 is a block diagram of a silicon piezoresistive pressure core measurement accuracy compensation device shown in an exemplary embodiment of the present application;
[0025] Figure 4 It is a structural schematic diagram of an electronic device shown in an exemplary embodiment of the present application. DETAILED DESCRIPTION
[0026] The following will describe the implementation methods of the present application with reference to the accompanying drawings and preferred embodiments. Those skilled in the art can easily understand other advantages and effects of the present application from the contents disclosed in this specification. The present application can also be implemented or applied through other different specific implementation methods, and the details in this specification can also be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present application. It should be understood that the preferred embodiments are only for illustrating the present application, not for limiting the scope of protection of the present application.
[0027] It should be noted that the illustrations provided in the following embodiments are only schematic illustrations of the basic concept of the present application, and thus the drawings only show components related to the present application rather than being drawn according to the number, shape and size of components in actual implementation. In actual implementation, the type, quantity and proportion of each component may be changed at will, and the component layout may also be more complicated.
[0028] In the following description, a large number of details are discussed to provide a more thorough explanation of the embodiments of the present application. However, it is obvious to those skilled in the art that the embodiments of the present application can be implemented without these specific details. In other embodiments, well-known structures and devices are shown in the form of block diagrams rather than in detail to avoid making the embodiments of the present application difficult to understand.
[0029] The embodiments of the present application respectively propose a silicon piezoresistive pressure core measurement accuracy compensation method, a silicon piezoresistive pressure core measurement accuracy compensation device, an electronic device and a storage medium, and these embodiments will be described in detail below.
[0030] First of all, it should be noted that silicon piezoresistive pressure sensors use the piezoresistive effect of semiconductor materials to measure pressure. They have the advantages of high sensitivity, fast dynamic response, high measurement accuracy, good stability, and a wide operating temperature range. They have been widely used in various industries. However, since they are made of semiconductor material silicon, the sensor is sensitive to temperature. If temperature compensation is not used, its temperature error is large. This is mainly because the sensitive core of the silicon piezoresistive pressure sensor is composed of semiconductors, and one of the important characteristics of semiconductor materials is that its conductivity will increase exponentially with the increase of temperature. Therefore, sensors composed of semiconductor materials are sensitive to temperature. The temperature drift error of silicon piezoresistive pressure sensors mainly comes from the following aspects: Zero point temperature drift: Due to production process problems, the resistance values of the four resistors that make up the Wheatstone bridge cannot be exactly the same, that is, the bridge does not reach balance when zero input, so a zero-position output is generated. The imbalance of the bridge arm resistance can be corrected by an external compensation resistor. Within a certain temperature range, the resistance value increases with the increase of temperature, but the increments of the resistance of each bridge arm of the bridge with temperature changes are not the same, and the zero-position output changes accordingly, resulting in errors. In addition, heat is inevitably generated when the bridge is working. Due to the uneven diffusion of resistor doping, the generated heat is unevenly distributed, which will also cause zero output errors. Sensitivity temperature drift: The temperature drift of sensor sensitivity is caused by the change of piezoresistance coefficient with temperature. When the temperature rises, the piezoresistance coefficient becomes smaller and the sensor sensitivity decreases; conversely, the sensitivity increases;
[0031] The impact of temperature drift error on silicon piezoresistive pressure sensors is mainly reflected in the following aspects: Reduced measurement accuracy: Temperature drift error will cause the output value of the sensor to shift at different temperatures, thereby reducing measurement accuracy. Deterioration of stability: Since temperature changes are uncontrollable, temperature drift error will cause the output value of the sensor to fluctuate with temperature fluctuations, reducing the stability of the sensor;
[0032] The temperature compensation of silicon piezoresistive pressure core is realized based on software compensation. The software compensation method uses digital signal processing technology to correct the output of the sensor through an algorithm to compensate for the error caused by temperature. This method can realize real-time correction of the sensor output, thereby improving the measurement accuracy and stability of the sensor. According to the temperature drift error source of the silicon piezoresistive pressure core, a mathematical model as shown in the following formula can be constructed:
[0033] U(p,t)=f 0 (p)+f 1 (t)+f 2 (p)*t 1 +f 3 (p)*t 2
[0034] Among them, U(p,t) is the core output; f 0 (p) is a nonlinear term; f 1 (t) is the zero point temperature drift term; f 2 (p)*t 1 is the primary temperature sensitivity drift term; f 3 (p)*t 2 It is the secondary temperature and sensitivity drift term. From the mathematical model of silicon piezoresistive core, it can be seen that the interaction and superposition of nonlinearity and temperature drift are the main reasons for the inaccuracy of the pressure output signal. In order to achieve fast, accurate and economical core pressure detection compensation, this application proposes a temperature and nonlinear compensation scheme for silicon piezoresistive pressure core based on table lookup combined with Newton algorithm; the specific scheme is implemented as follows:
[0035] See also Figure 1 , Figure 1 FIG. 4 shows a silicon piezoresistive pressure core measurement accuracy compensation hardware platform according to an embodiment of the present application, such as Figure 1 As shown, the hardware platform is composed of a pressure core 110 , a drying box 120 , a pressure controller 130 , a DC power supply 145 , a host computer 150 and a hardware circuit board 160 .
[0036] See also Figure 2 , Figure 2 FIG. 1 is a flow chart of a method for compensating the measurement accuracy of a silicon piezoresistive pressure core according to an embodiment of the present application. Figure 2 As shown, the method at least includes steps S210 to S240, which are described in detail as follows:
[0037] Step S210, obtain the current temperature code value of the pressure core and the current pressure code value of the pressure core, obtain the temperature code value sequence, pressure code value sequence and standard pressure value sequence by searching the pre-calibrated accuracy compensation data table, and the accuracy compensation data table is obtained by calibrating the pressure points and the temperature points.
[0038] In one embodiment of the present application, the calibration process of the accuracy compensation data table includes: collecting temperature points within a preset temperature range, recorded as calibration temperature points, and collecting pressure points within a preset pressure range, recorded as calibration pressure points; arranging and combining the calibration temperature points and the calibration pressure points to obtain multiple calibration point combinations; collecting pressure code values at each calibration point combination, and performing mean filtering on the pressure code values, and performing median filtering on the pressure code values after the mean filtering to obtain a pressure code value data table; and collecting temperature code values at each calibration point combination, and performing mean filtering on the temperature code values, and performing median filtering on the temperature code values after the mean filtering to obtain a temperature code value data table; combining the pressure code value data table and the temperature code value data table to obtain an accuracy compensation data table.
[0039] As an example, the pressure code value data table is a pressure core pressure code value calibration data table, and the temperature code value data table is a pressure core temperature code value calibration data table. Based on the core compensation hardware platform built, the temperature of the pressure core, the Wheatstone bridge differential output electrical signal ADC (analog to digital converter) code value and the standard pressure value are collected to form two pressure calibration data tables, which are Table 1-pressure core pressure code value calibration data table and Table 2-pressure core temperature code value calibration data. Specifically, taking the calibration temperature range of -40℃~85℃ as an example, 7 calibration pressure points and 7 calibration temperature points, i.e., 7×7 calibration data sets, are selected to calibrate the pressure code value, and the pressure core pressure code value calibration data table shown in Table 1 is obtained; similarly, 7 temperature code values under 7 calibration pressure points, i.e., 7×7 temperature code values, are collected, and then the average value under each temperature point is taken for pressure compensation calibration, and the pressure core temperature code value calibration data table shown in Table 2 is obtained. In the process of collecting the calibration data set, it is necessary to use mean filtering and median filtering algorithms to filter the collected calibration pressure code values and temperature code values respectively, so as to avoid random interference and pulse interference causing inaccurate collected data sets. Among them, for the calibration points of the calibration data set, the calibration points can be appropriately increased or decreased according to the accuracy requirements.
[0040] Table 1-Pressure core pressure code value calibration data table
[0041]
[0042] Table 2-Pressure core temperature code value calibration data table
[0043]
[0044] In one embodiment of the present application, a temperature code value sequence, a pressure code value sequence and a standard pressure value sequence are obtained by searching a pre-calibrated accuracy compensation data table, including: performing a search operation in a pre-calibrated temperature code value calibration data table according to the current temperature code value of the pressure core, and obtaining a temperature code value closest to the current temperature code value of the pressure core, recorded as a temperature code value sequence; performing a search operation in a pre-calibrated pressure calibration code value data table according to the temperature code value sequence, and obtaining a pressure code value group, recorded as a pressure code value sequence, and obtaining a standard pressure value, recorded as a standard pressure value sequence.
[0045] In one embodiment of the present application, a search operation is performed in a pre-calibrated temperature code value calibration data table according to the current temperature code value of the pressure core to obtain a temperature code value closest to the current temperature code value of the pressure core, which is recorded as a temperature code value sequence, including: calculating the absolute value of the difference between the current temperature code value of the pressure core and the temperature code value in the temperature code value data table, which is recorded as a temperature code value error value; sorting the temperature code value error values in an ascending order to obtain a temperature code value difference sequence; extracting a preset number of temperature error values from the temperature code value difference sequence to obtain a temperature code value closest to the current temperature code value of the pressure core, which is recorded as a temperature code value sequence.
[0046] As an example, the core is calibrated through the calibrated accuracy compensation data table to obtain the current temperature code value of the pressure core, t c , through the current temperature code value t of the pressure core c In the temperature code value calibration data, the current temperature code value of the pressure core is selected by the table lookup rule. c The closest temperature code value is recorded as the temperature code value sequence T(t 0 , t 1 , t 2 ), the specific table lookup rules are as follows:
[0047] By calculating the average code value of the 7 calibration temperatures and the current temperature code value of the pressure core t c The absolute value of the difference is recorded as: Δf 0 , Δf 1 , Δf 2 , Δf 3 , Δf 4 , Δf 5 , Δf 6 ;
[0048] Δf x =abs||t c -t x ||(x=0...6)
[0049] Where Δf x is the temperature code value and the current temperature code value of the pressure core tc The absolute value of the difference, t c is the current temperature code value of the pressure core, t x is the temperature code value; through the sorting algorithm, Δf 0 , Δf 1 , Δf 2 , Δf 3 , Δf 4 , Δf 5 , Δf 6 After sorting, select the first three Δf x The corresponding temperature code value is obtained to obtain the temperature code value sequence T(t 0 , t 1 , t 2 );
[0050] According to the temperature code value sequence T(t 0 , t 1 , t 2 ) performs a search operation in the pressure core pressure code value calibration data table to obtain the pressure calibration code value data corresponding to the temperature code value sequence, and obtains the pressure code value group, which is recorded as the pressure code value sequence P(P t0 , P t1 , P t2 ), and obtain the standard pressure value, recorded as the standard pressure value sequence PV(PVAL t0 PVAL t1 PVAL t2 ).
[0051] Step S220, calculating the fitting pressure code value of the calibration pressure point according to the temperature code value sequence and the pressure code value sequence to obtain an initial fitting pressure code value sequence.
[0052] In one embodiment of the present application, the fitting pressure code value of the calibration pressure point is calculated according to the temperature code value sequence and the pressure code value sequence to obtain the initial fitting pressure code value sequence, including:
[0053] The initial fitting coefficient is calculated through the temperature code value sequence and the pressure code value sequence; the initial fitting pressure code value sequence is obtained through the initial fitting coefficient, the current temperature code value of the pressure core and the temperature code value sequence:
[0054] P_code x =k 2 *(t c -t 0 )*(t c -t 1 )+k 1 *(t c -t 0 )+k 0 (x=0...6);
[0055] Among them, P_code x is the initial fitting pressure code value; k 0 is the first initial fitting coefficient; k 1 is the second fitting coefficient; k 2 is the second initial fitting coefficient; t c is the current temperature code value of the pressure core; t 0 is the first calibration temperature code value; t 1 It is the second calibration temperature code value.
[0056] Step S230 , searching the initial fitting pressure code value sequence based on the current pressure code value of the pressure core, and obtaining the fitting pressure code value closest to the current pressure code value of the pressure core, which is recorded as the screened fitting code value sequence.
[0057] In one embodiment of the present application, a search operation is performed in the initial fitting pressure code value sequence based on the current pressure code value of the pressure core to obtain a fitting pressure code value closest to the current pressure code value of the pressure core, which is recorded as a screened fitting code value sequence, including: calculating the absolute value of the difference between the current pressure code value of the pressure core and the initial fitting pressure code value in the initial fitting pressure code value sequence, which is recorded as a pressure code value error value; sorting the pressure code value error values according to a rule from small to large to obtain a pressure code value difference sequence; extracting a preset pressure error value from the pressure code value difference sequence to obtain a fitting pressure code value closest to the current pressure code value of the pressure core, which is recorded as a screened fitting code value sequence.
[0058] As an example, the absolute value of the difference between the current pressure code value of the pressure core and the initial fitting pressure code value in the initial fitting pressure code value sequence is calculated and recorded as the pressure code value error value;
[0059] By calculating the 7 initial fitting pressure code values and the current pressure code value P of the pressure core c The absolute values of the differences are recorded as:
[0060]
[0061] Among them, P c is the current pressure code value of the pressure core, is the pressure code value and the current pressure code value P of the pressure core c The absolute value of the difference is recorded as the pressure code value error, P_code x is the initial fitting pressure code value; After sorting, select the first three smallest The corresponding pressure code value is used to obtain the fitting pressure code value closest to the current pressure code value of the pressure core, which is recorded as the screening fitting code value sequence (P_code0 、P_code 1 、P_code 2 ).
[0062] Step S240 , calculating a compensated fitting pressure value by screening the fitting code value sequence and the pressure value sequence, and performing measurement accuracy compensation for the silicon piezoresistive pressure core by using the compensated fitting pressure value.
[0063] In one embodiment of the present application, the compensated fitting pressure value is calculated by screening the fitting code value sequence and the pressure value sequence, including: calculating the target fitting coefficient through the standard pressure value sequence and the screened fitting code value sequence; obtaining the compensated fitting pressure through the target fitting coefficient, the current pressure code value of the pressure core and the screened fitting code value sequence:
[0064] P nihex =k nihe2 *(P c -P_code 1 )*(P c -P_code 0 )+k nihe1 *(P c -P_code 0 )+k nihe0 ;
[0065] Among them, P nihex is the compensation fitting pressure value; P c is the current pressure code value of the pressure core; k nihe0 is the first target fitting coefficient; k nihe1 is the second target fitting coefficient; k nihe2 is the third target fitting coefficient; P_code 0 P_code is the first filter fitting code value; 1 Fit code value for the second filter.
[0066] exist Figure 1 In the technical scheme shown, through the pre-calibrated accuracy compensation data table, considering the influence of temperature and pressure on the measurement accuracy of the pressure core, the current measurement value can be accurately compensated, thereby significantly improving the accuracy of the measurement. Since the changes in temperature and pressure are taken into account, the influence of environmental factors on the measurement results can be reduced, so that the pressure core can maintain a high measurement stability under different temperature and pressure conditions. Moreover, through accuracy compensation, the pressure core compensation accuracy can be effectively improved without replacing the hardware, and the compensation correction of temperature drift factors such as temperature and nonlinearity of the core pressure can be better realized. In addition, the calculation complexity of the main control microcontroller is reduced, and the peripheral packaging cost of the pressure core detection is reduced. Therefore, the accuracy and stability of the pressure detection of the silicon piezoresistive pressure sensor can be effectively improved, and it also has certain economic benefits in actual industrial production.
[0067] In one embodiment of the present application, through the test platform Figure 1 The correctness, reliability and accuracy of the method proposed in the present invention can be verified, and the performance indicators of the pressure core such as the correctness, reliability and accuracy are obtained. Table 3-Pressure adjustment accuracy test results are obtained. The full-scale 100 kPa absolute pressure silicon piezoresistive pressure core is used for testing and verification. 7×7 calibration data pressure code values and 7×7 calibration data temperature code values are collected and their average values are taken; therefore, the pressure accuracy is finally adjusted and calibrated by the 7×7 data pressure code values and 7 temperature code values. The silicon piezoresistive pressure core is precision compensated by the method of the present invention, and the data results after compensation are shown in Table 3. From Table 3, it can be concluded that the accuracy after pressure accuracy adjustment in the full temperature range is ≤0.05% FSO (Full Scale Output, full scale output), so the method of the present invention can effectively improve the compensation accuracy of the pressure core and can better realize the compensation correction of temperature drift factors such as temperature and nonlinearity of the core pressure between -40℃ and 85℃.
[0068] Table 3 - Accuracy test results after pressure adjustment
[0069]
[0070] Figure 3 FIG. 1 is a block diagram of a silicon piezoresistive pressure core measurement accuracy compensation device according to an exemplary embodiment of the present application. Figure 3As shown, a silicon piezoresistive pressure core measurement accuracy compensation device 300 according to an embodiment of the present application includes: an acquisition module 310, a calculation module 320, a search module 330 and a compensation module 340. The acquisition module is used to acquire the current temperature code value and the current pressure code value of the pressure core, and obtain the temperature code value sequence, the pressure code value sequence and the standard pressure value sequence by searching the pre-calibrated accuracy compensation data table, and the accuracy compensation data table is obtained by calibrating the pressure point and the calibrated temperature point; the calculation module is used to calculate the fitting pressure code value of the calibrated pressure point according to the temperature code value sequence and the pressure code value sequence, and obtain the initial fitting pressure code value sequence; the search module is used to perform a search operation in the initial fitting pressure code value sequence based on the current pressure code value of the pressure core, and obtain the fitting pressure code value closest to the current pressure code value of the pressure core, which is recorded as the screened fitting code value sequence; the compensation module is used to calculate the compensated fitting pressure value by screening the fitting code value sequence and the pressure value sequence, and perform silicon piezoresistive pressure core measurement accuracy compensation by compensating the fitting pressure value. Through the pre-calibrated accuracy compensation data table, considering the influence of temperature and pressure on the measurement accuracy of the pressure core, the current measurement value can be accurately compensated, thereby significantly improving the accuracy of the measurement. Since the changes in temperature and pressure are taken into account, the influence of environmental factors on the measurement results can be reduced, so that the pressure core can maintain a high measurement stability under different temperature and pressure conditions. Moreover, through accuracy compensation, the compensation accuracy of the pressure core can be effectively improved without replacing the hardware, and the compensation correction of temperature drift factors such as temperature and nonlinearity of the core pressure can be better realized. It also reduces the calculation complexity of the main control microcontroller and reduces the peripheral packaging cost of the pressure core detection. Therefore, it can effectively improve the accuracy and stability of pressure detection of silicon piezoresistive pressure sensors, and also has certain economic benefits in actual industrial production.
[0071] In one embodiment of the present application, the silicon piezoresistive pressure core measurement accuracy compensation device also includes a data table calibration module 350, which is used to collect temperature points within a preset temperature range, recorded as calibration temperature points, and collect pressure points within a preset pressure range, recorded as calibration pressure points; the calibration temperature points and the calibration pressure points are arranged and combined to obtain multiple calibration point combinations; pressure code values are collected at each calibration point combination, and the pressure code values are mean filtered, and the pressure code values after the mean filtering are median filtered to obtain a pressure code value data table; and, temperature code values are collected at each calibration point combination, and the temperature code values are mean filtered, and the temperature code values after the mean filtering are median filtered to obtain a temperature code value data table; the pressure code value data table and the temperature code value data table are combined to obtain an accuracy compensation data table.
[0072] As an example, the pressure code value data table is a pressure core pressure code value calibration data table, and the temperature code value data table is a pressure core temperature code value calibration data table. Based on the core compensation hardware platform built, the temperature of the pressure core, the Wheatstone bridge differential output electrical signal ADC (Analog to Digital Converter) code value and the standard pressure value are collected to form two pressure calibration data tables, which are Table 1-pressure core pressure code value calibration data table and Table 2-pressure core temperature code value calibration data. Specifically, taking the calibration temperature range of -40℃~85℃ as an example, 7 calibration pressure points and 7 calibration temperature points, i.e., 7×7 calibration data sets, are selected to calibrate the pressure code value, and the pressure core pressure code value calibration data table shown in Table 1 is obtained; similarly, 7 temperature code values under 7 calibration pressure points, i.e., 7×7 temperature code values, are collected, and then the average value under each temperature point is taken for pressure compensation calibration, and the pressure core temperature code value calibration data table shown in Table 2 is obtained. In the process of collecting the calibration data set, it is necessary to use mean filtering and median filtering algorithms to filter the collected calibration pressure code values and temperature code values respectively, so as to avoid random interference and pulse interference causing inaccurate collected data sets. Among them, for the calibration points of the calibration data set, the calibration points can be appropriately increased or decreased according to the accuracy requirements.
[0073] In one embodiment of the present application, the search module is used to perform a search operation in a pre-calibrated temperature code value calibration data table according to the current temperature code value of the pressure core, and obtain the temperature code value closest to the current temperature code value of the pressure core, which is recorded as a temperature code value sequence; perform a search operation in a pre-calibrated pressure calibration code value data table according to the temperature code value sequence, and obtain a pressure code value group, which is recorded as a pressure code value sequence, and obtain a standard pressure value, which is recorded as a standard pressure value sequence.
[0074] In one embodiment of the present application, the search module calculates the absolute value of the difference between the current temperature code value of the pressure core and the temperature code value in the temperature code value data table, which is recorded as the temperature code value error value; the temperature code value error values are sorted according to the rule of small to large to obtain a temperature code value difference sequence; a preset temperature error value is extracted from the temperature code value difference sequence to obtain the temperature code value closest to the current temperature code value of the pressure core, which is recorded as the temperature code value sequence.
[0075] As an example, the core is calibrated through the calibrated accuracy compensation data table to obtain the current temperature code value of the pressure core, t c , through the current temperature code value t of the pressure core c In the temperature code value calibration data, the current temperature code value of the pressure core is selected by the table lookup rule. c The closest temperature code value is recorded as the temperature code value sequence T(t 0 , t 1 , t2 ), the specific table lookup rules are as follows:
[0076] By calculating the average code value of the 7 calibration temperatures and the current temperature code value of the pressure core t c The absolute value of the difference is recorded as: :Δf 0 , Δf 1 , Δf 2 , Δf 3 , Δf 4 , Δf 5 , Δf 6 ;
[0077] Δf x =abs||t c -t x ||(x=0...6)
[0078] Where Δf x is the temperature code value and the current temperature code value of the pressure core t c The absolute value of the difference, t c is the current temperature code value of the pressure core, t x is the temperature code value; through the sorting algorithm, Δf 0 , Δf 1 , Δf 2 , Δf 3 , Δf 4 , Δf 5 , Δf 6 After sorting, select the first three smallest Δf x The corresponding temperature code value is obtained to obtain the temperature code value sequence T(t 0 , t 1 , t 2 );
[0079] According to the temperature code value sequence T(t 0 , t 1 , t 2 ) performs a search operation in the pressure core pressure code value calibration data table to obtain the pressure calibration code value data corresponding to the temperature code value sequence, and obtains the pressure code value group, which is recorded as the pressure code value sequence P(P t0 , P t1 , P t2 ), and obtain the standard pressure value, recorded as the standard pressure value sequence PV(PVAL t0 PVAL t1 PVAL t2 ).
[0080] In one embodiment of the present application, the calculation module is used to calculate the initial fitting coefficient through the temperature code value sequence and the pressure code value sequence; the initial fitting pressure code value sequence is obtained through the initial fitting coefficient, the current temperature code value of the pressure core and the temperature code value sequence:
[0081] P_code x =k 2 *(t c -t 2 )*(t c -t 1 )+k 1 *(t c -t 0 )+k 0 (x=0...6);
[0082] Among them, P_code x is the initial fitting pressure code value; k 0 is the first initial fitting coefficient; k 1 is the second fitting coefficient; k 2 is the second initial fitting coefficient; t c is the current temperature code value of the pressure core; t 0 is the first calibration temperature code value; t 1 It is the second calibration temperature code value.
[0083] In one embodiment of the present application, the calculation module is used to calculate the absolute value of the difference between the current pressure code value of the pressure core and the initial fitting pressure code value in the initial fitting pressure code value sequence, which is recorded as the pressure code value error value; the pressure code value error values are sorted according to the rule from small to large to obtain a pressure code value difference sequence; a preset pressure error value is extracted from the pressure code value difference sequence to obtain a fitting pressure code value that is closest to the current pressure code value of the pressure core, which is recorded as the screened fitting code value sequence.
[0084] As an example, the absolute value of the difference between the current pressure code value of the pressure core and the initial fitting pressure code value in the initial fitting pressure code value sequence is calculated and recorded as the pressure code value error value;
[0085] By calculating the 7 initial fitting pressure code values and the current pressure code value P of the pressure core c The absolute values of the differences are recorded as:
[0086]
[0087] Among them, P c is the current pressure code value of the pressure core, is the pressure code value and the current pressure code value P of the pressure core c The absolute value of the difference, P_code xis the initial fitting pressure code value; After sorting, select the first three smallest The corresponding pressure code value is used to obtain the fitting pressure code value closest to the current pressure code value of the pressure core, which is recorded as the screening fitting code value sequence (P_code 0 、P_code 1 、P_code 2 ).
[0088] In one embodiment of the present application, the calculation module is used to calculate the target fitting coefficient through the standard pressure value sequence and the screened fitting code value sequence; the compensation fitting pressure is obtained through the target fitting coefficient, the current pressure code value of the pressure core and the screened fitting code value sequence: P nihex =k nihe2 *(P c -P_code 1 )*(P c -P_code 0 )+k nihe1 *(P c -P_code 0 )+k nihe0 ;
[0089] Among them, P nihex is the compensation fitting pressure value; P c is the current pressure code value of the pressure core; k nihe0 is the first target fitting coefficient; k nihe1 is the second target fitting coefficient; k nihe2 is the third target fitting coefficient; P_code 0 P_code is the first filter fitting code value; 1 Fit code value for the second filter.
[0090] It should be noted that the device provided in the above embodiment and the method provided in the above embodiment belong to the same concept, wherein the specific manner in which each module and unit performs the operation has been described in detail in the method embodiment, and will not be repeated here. In practical applications, the device provided in the above embodiment can distribute the above functions to different functional modules as needed, that is, divide the internal structure of the device into different functional modules to complete all or part of the functions described above, and this is not limited here.
[0091] See also Figure 4 , Figure 4 is a schematic diagram of a structure of an electronic device shown in an exemplary embodiment of the present application. It should be noted that: Figure 4The electronic device 400 shown is only an example and should not bring any limitation to the functions and usage area of the embodiments of the present application.
[0092] like Figure 4 As shown, the electronic device 400 includes a processor 401, a memory 402 and a communication bus 403; the communication bus 403 is used to connect the processor 401 and the memory 402; the processor 401 is used to execute the computer program stored in the memory 402 to implement one or more methods as in the above embodiments.
[0093] The electronic device provided in the present application includes a processor, a memory, a transceiver and a communication interface. The memory and the communication interface are connected to the processor and the transceiver and complete communication with each other. The memory is used to store computer programs, the communication interface is used to communicate, and the processor and the transceiver are used to run the computer program so that the electronic device executes each step of the above method.
[0094] In this embodiment, the memory may include a random access memory (RAM), and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.
[0095] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
[0096] The above embodiments are merely illustrative of the principles and effects of the present application, and are not intended to limit the present application. Anyone familiar with the technology may modify or change the above embodiments without violating the spirit and scope of the present application. Therefore, all equivalent modifications or changes made by a person of ordinary skill in the art without departing from the spirit and technical ideas disclosed in the present application shall still be covered by the claims of the present application.
Claims
1. A method for compensating the measurement accuracy of a silicon piezoresistive pressure core, characterized in that: The method comprises: Obtain the current temperature code value of the pressure core and the current pressure code value of the pressure core, and obtain the temperature code value sequence, the pressure code value sequence and the standard pressure value sequence by searching a pre-calibrated accuracy compensation data table, wherein the accuracy compensation data table is obtained by calibrating the pressure point and the temperature point; Calculate the fitting pressure code value of the calibration pressure point according to the temperature code value sequence and the pressure code value sequence to obtain an initial fitting pressure code value sequence; Based on the current pressure code value of the pressure core, a search operation is performed in the initial fitting pressure code value sequence to obtain a fitting pressure code value closest to the current pressure code value of the pressure core, which is recorded as a screening fitting code value sequence; The compensated fitting pressure value is calculated by using the screened fitting code value sequence and the pressure value sequence, and the measurement accuracy of the silicon piezoresistive pressure core is compensated by using the compensated fitting pressure value.
2. According to the silicon piezoresistive pressure core measurement accuracy compensation method of claim 1, the calibration process of the accuracy compensation data table comprises: Collecting temperature points within a preset temperature range and recording them as calibration temperature points, and collecting pressure points within a preset pressure range and recording them as calibration pressure points; Arrange and combine the calibration temperature points and the calibration pressure points to obtain a plurality of calibration point combinations; Collecting pressure code values at each calibration point combination, performing mean filtering on the pressure code values, and performing median filtering on the pressure code values after mean filtering to obtain a pressure code value data table; and, Collecting temperature code values at each calibration point combination, performing mean filtering on the temperature code values, and performing median filtering on the temperature code values after mean filtering to obtain a temperature code value data table; The pressure code value data table and the temperature code value data table are combined to obtain a precision compensation data table.
3. The silicon piezoresistive pressure core measurement accuracy compensation method according to claim 1, characterized in that: By searching the pre-calibrated accuracy compensation data table, the temperature code value sequence, pressure code value sequence and standard pressure value sequence are obtained, including: According to the current temperature code value of the pressure core, a search operation is performed in a pre-calibrated temperature code value calibration data table to obtain a temperature code value closest to the current temperature code value of the pressure core, which is recorded as a temperature code value sequence; A search operation is performed in a pre-calibrated pressure calibration code value data table according to the temperature code value sequence to obtain a pressure code value group and a standard pressure value, and the pressure code value group is recorded as a pressure code value sequence, and the standard pressure value is recorded as a standard pressure value sequence.
4. The silicon piezoresistive pressure core measurement accuracy compensation method according to claim 3, characterized in that: According to the current temperature code value of the pressure core, a search operation is performed in a pre-calibrated temperature code value calibration data table to obtain a temperature code value closest to the current temperature code value of the pressure core, which is recorded as a temperature code value sequence, including: Calculate the absolute value of the difference between the current temperature code value of the pressure core and the temperature code value in the temperature code value data table, and record it as the temperature code value error value; The temperature code value error values are sorted in ascending order to obtain a temperature code value difference sequence; A preset number of temperature error values are extracted from the temperature code value difference sequence to obtain a temperature code value closest to the current temperature code value of the pressure core, which is recorded as a temperature code value sequence.
5. The silicon piezoresistive pressure core measurement accuracy compensation method according to claim 1, characterized in that: Calculating the fitting pressure code value of the calibration pressure point according to the temperature code value sequence and the pressure code value sequence to obtain an initial fitting pressure code value sequence includes: Calculating initial fitting coefficients through the temperature code value sequence and the pressure code value sequence; The initial fitting pressure code value sequence is obtained by the initial fitting coefficient, the current temperature code value of the pressure core and the temperature code value sequence: P_code x =k2*(t c -t0)*(t c -t1)+k1*(t c -t0)+k0(x=0...6) Among them, P_code x is the initial fitting pressure code value; k0 is the first initial fitting coefficient; k1 is the second fitting coefficient; k2 is the second initial fitting coefficient; t c is the current temperature code value of the pressure core; t0 is the first calibration temperature code value; t1 is the second calibration temperature code value.
6. The silicon piezoresistive pressure core measurement accuracy compensation method according to claim 1, characterized in that: Based on the current pressure code value of the pressure core, a search operation is performed in the initial fitting pressure code value sequence to obtain a fitting pressure code value closest to the current pressure code value of the pressure core, which is recorded as a screening fitting code value sequence, including: Calculate the absolute value of the difference between the current pressure code value of the pressure core and the initial fitting pressure code value in the initial fitting pressure code value sequence, and record it as the pressure code value error value; The pressure code value error values are sorted in ascending order to obtain a pressure code value difference sequence; A preset number of pressure error values are extracted from the pressure code value difference sequence to obtain a fitting pressure code value closest to the current pressure code value of the pressure core, which is recorded as a screened fitting code value sequence.
7. The silicon piezoresistive pressure core measurement accuracy compensation method according to claim 1, characterized in that: Calculating the compensated fitting pressure value by screening the fitting code value sequence and the pressure value sequence includes: Calculating a target fitting coefficient by using the standard pressure value sequence and the screening fitting code value sequence; The compensated fitting pressure is obtained by the target fitting coefficient, the current pressure code value of the pressure core and the screened fitting code value sequence: P nihex =k nihe2 *(P c -P_code1)*(P c -P_code0)+k nihe1 *(P c -P_code0)+k nihe0 Among them, P nihex To compensate the fitting pressure value; P c It is the current pressure code value of the pressure core; k nihe0 is the first target fitting coefficient; k nihe1 is the second target fitting coefficient; k nihe2 is the third target fitting coefficient; P_code0 is the first screening fitting code value; P_code1 is the second screening fitting code value.
8. A silicon piezoresistive pressure core measurement accuracy compensation device, characterized in that: The device comprises: An acquisition module is used to acquire the current temperature code value of the pressure core and the current pressure code value of the pressure core, and obtain the temperature code value sequence, the pressure code value sequence and the standard pressure value sequence by searching a pre-calibrated accuracy compensation data table, wherein the accuracy compensation data table is obtained by calibrating the pressure point and the temperature point; A calculation module, used for calculating the fitting pressure code value of the calibration pressure point according to the temperature code value sequence and the pressure code value sequence to obtain an initial fitting pressure code value sequence; A search module, configured to search the initial fitting pressure code value sequence based on the current pressure code value of the pressure core, and obtain the fitting pressure code value closest to the current pressure code value of the pressure core, which is recorded as a screening fitting code value sequence; The compensation module is used to calculate the compensation fitting pressure value through the screening fitting code value sequence and the pressure value sequence, and to perform measurement accuracy compensation of the silicon piezoresistive pressure core through the compensation fitting pressure value.
9. An electronic device, characterized in that: The electronic device comprises: one or more processors; A storage device for storing one or more programs, which, when executed by the one or more processors, enables the electronic device to implement the silicon piezoresistive pressure core measurement accuracy compensation method as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: A computer program is stored thereon, and the computer program is used to make a computer execute the method according to any one of claims 1 to 7.
Citation Information
Cited By
Temperature compensation method based on silicon resonance pressure sensor
CN121253036A