Design of Micro Voltage Signal Source Based on 89C52 Single Chip Microcomputer

Publisher:ByteChaserLatest update time:2012-02-07 Source: 仪表技术 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

1 Design Principle

The device under test is required to provide an adjustable DC analog voltage of 0.5 to 50 mV, with a resolution of 10 microvolts, an accuracy of ±0.01 mV, and good temperature tracking performance, that is, it is required to provide a high-precision micro-voltage signal.

If a single-chip microcomputer is used to output the required voltage through a D/A converter, the output range is 0~5V, LSB=0.01mV, then the number of bits of the D/A converter is:

X=lg2(5000/0.01)≈19(Bit)

Considering the influence of quantization error, temperature drift, noise and other errors of D/A converter, at least 21Bit D/A converter should be selected, but there is no D/A converter suitable for this system design. Therefore, under the premise of considering the system resolution and output voltage range, the following scheme is adopted: first, the voltage value less than 50 mV is enlarged by 100 times, then output by 16Bit D/A converter, and then output by 200 times high-precision voltage divider and ultra-low drift operational amplifier buffer. At the same time, a high-bit A/D converter is used to form a voltage feedback loop to compensate the output difference, further improving the signal accuracy and stability. Its principle structure is shown in Figure 1.

2 Hardware Design

2.1 Voltage output circuit

In the micro-voltage output circuit composed of a single-chip microcomputer (89C52), a D/A converter, a voltage divider, and an operational amplifier, the key point of the design is how to use a single-chip microcomputer to control the output of the D/A converter. This design uses the 16-bit high-precision digital/analog converter DAC714 produced by BB Company of the United States (single channel, serial communication mode, working voltage ±12V or ±15V, can achieve ±10V, ±5V and 0~10V analog voltage output). Figure 2 is the connection circuit between the D/A converter and the single-chip microcomputer. DAC714 uses a ±15V working voltage and is adjusted by externally connected gain (OFFS) and bipolar offset (GADJ) potentiometers to achieve the accuracy requirements of the output voltage. When adjusting these two parameters, in order to avoid the influence of the zero point on the proportional adjustment, it should be noted that the proportional coefficient should be adjusted first and then the zero point. Among them, A0 is the input register control signal, A1 is the D/A latch control signal, and SDI is the serial data input. Data controls are all valid at low levels. When A0=0, the current data enters the shift register; when A1=0, the data enters the D/A latch.

For a 16-bit DAC714 converter with a full scale of 5V, 1LSB corresponds to 76μV. If the load current at the output is 5mA, the line and contact resistance of 60mΩ will produce a voltage drop of 300μV; in addition, there is a voltage drop caused by the printed circuit board. Therefore, separate the analog ground and digital ground, use a single-point connection, and minimize the ground loop. The analog pins are close to each other, which is conducive to the isolation of analog and digital signals, and the analog signal should be kept as far away from the digital signal as possible. In order to isolate the D/A converter from the switching current, the analog ground is set around the D/A or near the analog signal and power supply below it. It is best to directly ground DCOM and ACOM below the DAC714 converter.

2.2 Voltage feedback circuit

The output voltage of the DAC714 converter can theoretically reach 22-bit resolution after being output through a buffer circuit composed of a precision voltage divider circuit and an OPA111BM op amp. However, due to temperature drift and other errors, the actual output resolution is 19-bit, and the accuracy cannot meet the requirements. For this reason, a feedback compensation circuit is designed. The actual output voltage is measured with a 22-bit A/D converter, and the actual output voltage is compared with the theoretical output value in the microcontroller. The difference signal is used as the compensation voltage output of DAC714 to ensure the voltage output accuracy.

Figure 3 is a voltage feedback circuit composed of ADS1212. ADS1212 is a 22-bit single-channel Δ-Σ analog/digital converter with high precision and wide dynamic characteristics produced by BB Company in the United States. Its differential input is directly connected to a small voltage signal. Due to the use of a low-noise input amplifier, an effective resolution of 20 bits can still be obtained at a conversion speed of 10Hz. It has a flexible synchronous serial interface, a single +5V power supply, internal/external reference voltages and an internal self-calibration system. The interface with external devices can be in the form of two-wire, three-wire, four-wire and multi-wire systems. Here, a three-wire system is used to implement the interface with the microcontroller. The interface signals are the data ready line (DRDY), the data input and output line (SDIO), and the clock signal line (SCLK).


2.3 Temperature control circuit

In order to further reduce the influence of temperature drift, the system operating temperature must be kept within a small range. For this purpose, an automatic constant temperature control circuit is designed. The circuit consists of a TMP01 temperature control chip (AD company) and heating and cooling circuits.

TMP01 sets high and low temperature control points through external resistor values. When the system temperature is higher or lower than the set value, it outputs a voltage control signal to start the heating or cooling circuit. TMP01 temperature control accuracy is ±1°C, load capacity is 20mA, and can directly drive relays.

3 Software Process

This voltage signal source uses a liquid crystal display to display Chinese characters and numbers, and the output voltage can be directly controlled by keys. It is programmed in assembly language to achieve automatic output of voltage. The software flow is shown in Figure 4.

4 Conclusion

The digital micro-voltage signal source introduced in this article uses the principles of precision voltage division and feedback compensation to achieve the goal of outputting a 19-bit resolution DC voltage using a 16-bit D/A digital-to-analog converter. The actual use of the troops shows that the digital micro-voltage signal source controlled by a single-chip microcomputer not only has stable voltage accuracy, but also has low cost and small size, which improves the degree of test automation.

→参考文献CH(开始)

References

[1]16-Bit DIGITAL-TO-ANALOG CONVERTER[Z]. Burr-Brown Corporation,1997.
[2]22-Bit ANALOG-TO-DIGITAL CONVERTER[Z]. Burr-Brown Corporation,1998.
[3]LOW POWER PROGRAMMABLE TEMPERATURE CON-TROLLERTMP01[Z]. Analog Devices,Inc. ,2002.
[4]Hu Hancai. Principles of Single-Chip Microcomputer and Its Interface Technology[M]. Beijing: Tsinghua University Press,1996.
[5]Li Hua. Practical Interface Technology of MCS-51 Series Single-Chip Microcomputer[M]. Beijing: University of Aeronautics and Astronautics Press,1993.

Reference address:Design of Micro Voltage Signal Source Based on 89C52 Single Chip Microcomputer

Previous article:A Peak Detector Based on Single Chip Microcomputer
Next article:Application of Single Chip Microcomputer Control System in EDM Machine Tools

Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号