Temperature measurement is particularly important in the fields of physics experiments, medical care, food production, etc., especially in thermal experiments (such as teaching experiments on specific heat capacity, heat of vaporization, heat-work equivalent, pressure-temperature coefficient, etc.). Thermometers currently used are usually mercury, kerosene or alcohol thermometers with an accuracy of 1°C and 0.1°C. The scale intervals of these thermometers are usually very close, which is not easy to distinguish accurately and difficult to read. In addition, their heat capacity is relatively large, and it takes a long time to reach thermal equilibrium, so it is difficult to read accurately and it is very inconvenient to use. The digital display thermometer designed by using the linear relationship between the forward voltage drop Ubc between the base and collector of the crystal transistor 3DG6C and the temperature T as the temperature sensor, using OP07 as the amplifier, and using the -bit A/D converter ICL7135 as the A/D converter can solve these problems [1]. According to the actual needs, the author designed a 0.01℃ digital thermometer with AT89C51 as the control core, with adjustable measurement intervals, automatic recording and query of measurement results, and the ability to give an alarm and exchange data with a PC after simple expansion. It has been successfully used in thermal experiments.
1 Hardware circuit and working principle
1.1 Circuit diagram
The whole circuit consists of three parts: temperature signal acquisition and amplification circuit, A/D conversion circuit, CPU control and display circuit, and its block diagram is shown in Figure 1. The temperature signal is converted into an electrical signal by the temperature sensor in the data acquisition circuit, and then sent to the A/D converter after passing through the amplification circuit. After conversion, it is sent to the CPU in the form of BCD code, and then its output display is controlled by the program, and the keyboard completes various settings.
1.2 Data acquisition and amplification circuit
As shown in Figure 2, the BE poles of the transistor Q1 (3DG6C) are connected, and the relationship between the forward voltage drop Ubc between the base and the collector changes linearly with the temperature is used as a temperature sensor [1]. The output (2.5V) of MC1403 (IC1) is used as the power supply to meet the requirements of voltage stability and high measurement accuracy. The differential amplifier composed of the high-precision integrated operational amplifier OP07 (IC2) [2] with low offset, low noise and low drift and R2 and R3 is used to appropriately amplify the temperature-related electrical signal detected by the temperature sensor and then output it to the 10th pin of IC5 (ICL7315) sent by R6 for A/D conversion.
The signal connected to the inverting input of the operational amplifier OP07 is the PN junction voltage drop U1 that changes with temperature, and a fixed voltage U2 is added to the non-inverting input. U2 represents the voltage drop on the PN junction at 0°C, which can be adjusted by the precision adjustable resistor RP2. In this amplifier, if R2=R4 and R3=R5, the output voltage Uo is expressed as:
Uo = (R3/R2)*(U2 – U1)
The amplifier is designed to have a magnification of 5 times, which amplifies the voltage change between the BE poles of Q1 from 2mv/℃ to 10mv/℃. MC1403 also provides a reference voltage source for ICL7135.
Figure 2 Data acquisition and amplification circuit
Figure 3 A/D conversion circuit
1.3 A/D conversion circuit
The core of the A/D conversion circuit is ICL7135 (IC4). ICL7135 is a high-accuracy, general-purpose CMOS single-chip dual-integral A/D converter with a range of 2.0000V, BCD code output, and the output signal is compatible with TTL level. Its working reference voltage is 1V, which is provided by MC1403 after voltage division. As shown in Figure 3, C2 is the self-zeroing capacitor, C4 is the reference capacitor, and R9 and C3 are the self-integral input resistor and capacitor. The clock frequency of ICL7135 is 125KHZ, which is provided by the multivibrator composed of 74HC00 (IC2). The output signal of OP07 is input at pin 10, and its voltage indicates the temperature. After A/D conversion, it outputs BCD code and connects to AT89C51. D1~D5 are the bit selection signals of LED. They are not directly connected to LED, but connected to AT89C51, and the bit selection signals of LED are uniformly provided by AT89C51.
1.4 CPU control and display circuit
As shown in Figure 4, the core of the CPU control and display circuit is AT89C51 (IC5). To ensure reliable reset, MAX814 (IC6) hardware reset is used. P0.0~P0.3 are connected to the BCD code sent from ICL7135, and P0.4~P0.7 and P3.4 are connected to D1~D5 of ICL7135. P1 port is connected to the LED display code position to provide corresponding display information. LED position selection signal
Figure 4 CPU control and display circuit
It is provided by P3.5~P3.7 after being decoded by 74H138 (IC7). When displaying temperature, only 5 bits are needed, but considering that other information (such as clock) may be displayed in some cases, the LED uses 6 bits. P2 port is connected to 16 buttons to complete the setting and control functions of this thermometer. When displaying the tested temperature, the entire system is a DC voltmeter with a range of 2V. The temperature signal detected by the temperature sensor is converted into a corresponding voltage signal, amplified, and input into this voltmeter. The voltage can represent the temperature. Because the minimum reading of the voltmeter is 0.1mV, the minimum temperature that can be read when the temperature is represented by voltage is 0.01℃.
2 Software Design[3]
Software design is one of the keys to this design. Compared with the thermometer made directly using ICL7315, it is precisely because AT89C51 can be flexibly programmed to realize various control functions and meet different practical needs. The program written in this design can realize the functions of setting the measurement interval, automatically recording the measurement results, and querying them.
The program mainly consists of five parts: main function, timer interrupt function (scheduler kernel), keyboard scanning and keyboard processing function, display refresh function, data reading function from ICL7135, and time refresh function. The main function initializes the system, then adds four tasks: scanning and processing keyboard, refreshing display, reading data, and refreshing time; finally, the control is handed over to the scheduler kernel. When there is no need to run tasks, the microcontroller enters sleep mode to reduce power consumption, as shown in Figure 5.
Because the thermometer has high requirements for accuracy and low requirements for speed, the timer interrupt is used as the scheduler kernel. Its main task is to calculate what task to run at what time, and then call the corresponding task function, as shown in Figure 6.
The scan keyboard function is executed every 20ms under the scheduler. This 20ms time interval is used to eliminate the keyboard jitter by delaying the jitter elimination. The keyboard is designed as a row-column matrix. The functions include: setting time, setting measurement time interval, switching clock state and thermometer state, starting and ending temperature measurement, and querying previously measured temperature data. The flow is shown in Figure 7. The display refresh function is executed every 4ms under the scheduler. The display refresh function is used to dynamically display the seven-segment LED display tube. The read data function is executed every 1S under the scheduler. When running this function, the microcontroller reads data from ICL7135 once. The program flow is shown in Figure 8.
The time refresh function is executed every 1 second under the scheduler for timing.
3 Thermometer calibration and data testing
When calibrating the thermometer, use a digital voltmeter to measure the voltage value (reference voltage) between the 2nd and 3rd pins of ICL7135, and adjust R5 to make it around 2V; put the sensor Q1 into the ice-water mixture, stir it thoroughly to reach thermal equilibrium, and then adjust R6 to make the display reading 0.00 (calibrated to 0℃); use a barometer to read the local atmospheric pressure at that time, and calculate the actual pressure at that time based on the atmospheric pressure and the local gravity acceleration; find out the boiling point temperature based on the relationship between boiling point and pressure. Put the sensor into boiling water, and carefully adjust R5 after the display reading stabilizes, so that the display reading is equal to the local boiling point temperature at that time, and then the calibration work is completed [1]. The range of this thermometer is -50~150℃, and the reading accuracy is 0.01℃. Considering that the actual use is generally between 0℃ and 100℃, we use 0℃~50℃ and 50℃~100℃ precision mercury thermometers as the inspection standards, and the measurement results are shown in Table 1. Where T mercury is the measured value of the mercury thermometer, and the last digit is the estimated value, and T digital is the measured value of the digital thermometer, and the last digit is the displayed value. From the test results, it can be seen that the designed thermometer can meet the requirements
4 Conclusion
This digital thermometer has the characteristics of easy reading and high precision. After the introduction of the single-chip microcomputer AT89C51 control, different software designs can be used to meet different usage requirements. Pin P3.2 is reserved during system design. If a speaker is connected to this pin, the temperature over-limit alarm can be realized through software programming, and it can be used as a temperature alarm. Through the reserved serial port, communication with the PC can be realized. By adding a serial port communication program module, it can be used as a lower computer of the multi-point temperature detection system.
References
[1] Pan Xuejun. 0.01℃ digital thermometer[J]. Physical Experiment. 2003(5):22~25
[2] Tan Wenxin, Qian Cong, Song Yungou. Principles and Applications of Analog Integrated Circuits[M]. Xi'an: Xi'an Jiaotong University Press, 1995. 16-39.
[3] He Limin. MCS-51 Single Chip Microcomputer Application System Design[M]. Beijing: Beijing University of Aeronautics and Astronautics Press, 1995.9
Previous article:Liquid Level Control System Based on AT89S51
Next article:Development of heat pump water heater controller based on ADμC834 chip
Recommended ReadingLatest update time:2024-11-17 01:48
- Popular Resources
- Popular amplifiers
- 西门子S7-12001500 PLC SCL语言编程从入门到精通 (北岛李工)
- Siemens Motion Control Technology and Engineering Applications (Tongxue, edited by Wu Xiaojun)
- MCU C language programming and Proteus simulation technology (Xu Aijun)
- 100 Examples of Microcontroller C Language Applications (with CD-ROM, 3rd Edition) (Wang Huiliang, Wang Dongfeng, Dong Guanqiang)
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- Rambus Launches Industry's First HBM 4 Controller IP: What Are the Technical Details Behind It?
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- purchase
- Shocked! One person made a company popular
- [Liquid Level Sensor Evaluation] A/D Data Acquisition and Numerical Display
- [Evaluation of EC-01F-Kit, the NB-IoT development board of Anxinke] + Try to connect the serial port assistant to Alibaba Cloud
- [Jihai APM32E103VET6S MINI Development Board Review] Part 4: Key Interrupt
- Technology Popularization: Do you know why base stations are painted in colors?
- Usage of ^ in Verilog
- A brief list of long and short distance wireless communication technologies
- A classic foreign book about semaphores
- If there is a hidden function on the right side, the reading area will be larger.