This design uses a single-chip microcomputer as the main control component, presets the output current value through the keyboard and uses a liquid crystal module for real-time display. The entire system hardware consists of a microcontroller module, a voltage-current conversion module, a keyboard module, a display module, a DC regulated power supply module, and a voice prompt module. The system structure diagram is shown in Figure 1.
Figure 1 Digital Control DC Current Source System
The microcontroller is the core of the entire system and is responsible for the operation of the entire system. In order to make the hardware circuit simple, the system performance stable and reliable, and to facilitate the coordination of functions such as voice broadcast, keyboard setting and real-time information display, after multiple schemes were demonstrated, the Lingyang 16-bit single-chip microcomputer SPCE061A was selected. The single-chip microcomputer is designed using modern electronic technology - system on a chip SOC (system on a chip) technology, and has integrated ADC, DAC, PLL, AGC, DTMF, LCD-DRIVER and other circuits (related to the IC model). It uses a reduced instruction set (RISC), and the instruction cycle is in units of CPU clocks. In addition, it also has DSP chip functions, built-in 16-bit hardware multipliers and adders, and is equipped with special instructions owned by DSP, which greatly accelerates the running speed of various algorithms. At the same time, the Lingyang 16-bit single-chip microcomputer application development tool can be used in the Windows environment. The tool supports standard C language and Lingyang single-chip microcomputer assembly language, integrating assembly, programming, simulation and other functions, greatly accelerating the software development process. The Lingyang microcontroller has the characteristics of high speed, low price, reliability, practicality, small size, low power consumption, etc. It is more suitable to use this microcontroller as a controller. Under the premise of simple hardware circuit, it is easy to realize A/D, D/A conversion, voice prompt, PID operation and other functions. The
main function of the display module is to display the set current output value and other human-computer interaction information. This part can use a seven-segment digital LED display to display information such as numbers, simple letters and decimal points, but because its display information is single and the human-computer interaction is not friendly, the character LCD display LCDSMC1602A module is used in the system. The module has the advantages of light, thin, short, low voltage, micro power consumption, small size, no radiation hazard, flat right angle display and stable image without flickering. It is convenient to display information such as letters, numbers, symbols, etc., and there is no need to expand too many peripheral circuits. The output display can be directly controlled by the microcontroller. The
voltage-current conversion module is composed of a precision operational amplifier and a Darlington tube circuit composed of 3 transistors. The conversion circuit uses the flat output characteristics of the transistor and the deep negative feedback circuit to stabilize the output current. As shown in Figure 2, this V/I conversion circuit has a strong load capacity and a current output range of 0 to 3A. The output current Io obtains a feedback voltage Vf through the feedback resistor Rf, Vf= V11-V12, which is added to the two input terminals of the operational amplifier through R5 and R6. Assume that the voltages at both ends of the operational amplifier are V1 and V2, and Vi is output by the microcontroller DAC. Because the input current of the ideal operational amplifier is approximately zero, and V1=V2, then V12[1-R6/(R2+R6)]+ViR6/(R2+R6)=V11R1(R1+R6). Since V12=V11-Vf, V11R2/(R2+R6)+(ViR6-VfR2)/(R2+R6)=V11R1/(R1+R5). Let R1=R2=10kΩ, R5=R6=1kΩ, then Vf=ViR6/R2=Vi/10. If feedback is not considered for the time being, Io=Vi/(10Rf).
Figure 2 V/I conversion circuit diagram
It can be seen that the calibration of the output current is determined by the output voltage Vi and Rf of the D/A conversion, which is a linear conversion. Rf is made of large-diameter constantan wire, and its temperature coefficient is very small (5×10-6/℃). The large diameter can minimize its temperature influence. The three triodes should use high-power tubes TIP122, and use heat sinks to ensure that the tubes work in the linear region.
There is another scheme for the composition of the voltage-current conversion module, which uses three operational amplifiers to form a current source with variable output current, as shown in Figure 3. The output current I=Vi/R1. In order to keep the voltage across R1 constant, the differential amplifier IC1b monitors the potential across R1 through the emitter follower IC1c. This potential is added to the inverting input of the comparator ICa through the 7th pin of IC1b and compared with Vref. The comparison result changes the output of the comparator until it is balanced, that is, Vr1=Vi. The capacitor in the circuit is used to compensate the frequency of ICa and reduce the delay of the control loop. As long as R1=R2=R3=R4=R5, the performance of this circuit is good. However, the load capacity of this circuit is not strong, and the loop delay compensation has a great influence on the stability of the circuit.
[page]
Figure 3 Three-op-amp V/I conversion circuit
system The keyboard module can be connected in an independent or row-column (matrix) manner. The function of this module is mainly to complete the setting of output current and other information. The DC regulated power supply module supplies power to the entire system; the voice module implements voice prompts, making the system design more humane and the system has a friendly working interface. The Lingyang microcontroller integrates ADC, DAC, PLL, AGC, DTMF and other modules. The voice function can be implemented by software programming without any external circuit, which effectively utilizes system resources.
During the operation of the system and software flow
, the SPCE061A microcontroller converts the preset current value through D/A conversion, drives the V/I conversion circuit with the output voltage to realize the circuit output, and inputs the voltage value corresponding to the current value into the microcontroller system through the closed loop after A/D conversion, and then adjusts the current output through the PID algorithm. The entire system workflow is shown in Figure 4.
Figure 4 System workflow diagram
The system software design is carried out in the Lingyang 16-chip microcomputer application development tool unSPIDE1.16.1, and the Lingyang MCU assembly language and standard C language are used to program the MCU. It mainly implements five functions: (1) system initialization, including the initialization of various peripheral interface devices; (2) keyboard input; (3) D/A, A/D conversion; (4) PID algorithm for current adjustment; (5) voice prompt and current display. The main program flow chart is shown in Figure 5.
Figure 5 Main program flow chart The
A/D conversion part of the program is mainly used to convert the analog voltage signal sampled by the sampling resistor into a digital signal. The sampling signal is input by IoA6 and directly sent to the buffer P_ADC_MUX_Data. After the ADC automatic mode is enabled, a start signal will be generated. At this time, RDY=0, and the voltage analog quantity of DAC0 is compared with the external sampling analog quantity to find out the digital quantity of the external signal analog quantity as soon as possible. The result of A/D conversion is saved in SAR. When the 10-bit A/D conversion is completed, RDY=1. At this time, the 10-bit A/D conversion data can be obtained by reading the P_ADC_MUX_Data unit. The flowchart of its IRQ1 interrupt service program is shown in Figure 6.
Figure 6 Flowchart of IRQ1 interrupt service programPID
algorithm program is mainly used to correct the deviation between the actual output current value and the set value, adjust the next output value, make the output closer to the set value, and improve the accuracy. The specific control process is that the microcontroller reads the actual current Ik through the A/D chip, and then compares it with the set current Is to obtain the deviation value Ek=Is-Ik. The microcontroller calls the PID formula according to the size of Ek to calculate the increment Δik of this current regulation, and then calculates the output Iq of this current according to the output current Iq-1 after the previous D/A conversion.
The calculation formula of discrete incremental PID is
ΔIk=Kp[(Ek-Ek-1)+K1Ek+KD(Ek-2Ek-1+Ek-2)]
=Kp(Ek-Ek-1)+K1'Ek +KD'(Ek-2Ek-1+Ek-2)
where K1'= Kp.K1, KD'= Kp×KD, Ek is the current error at this sampling moment, Ek-1 is the current error of the last sampling, and Ek-2 is the current error value of the second sampling.
In order to test the accuracy and reliability of the system operation, the set amount was tested and compared with the feedback amount. The error was within 0.01%, and the operation was stable, achieving the expected purpose and adding a unique audio playback design.
Previous article:Research on Several Commonly Used Single Chip Microcomputer System RAM Testing Methods
Next article:Application of wireless sensor network technology in human body parameter collection
- Popular Resources
- Popular amplifiers
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
- Huawei's Strategic Department Director Gai Gang: The cumulative installed base of open source Euler operating system exceeds 10 million sets
- Download from the Internet--ARM Getting Started Notes
- Learn ARM development(22)
- Learn ARM development(21)
- Learn ARM development(20)
- Learn ARM development(19)
- Learn ARM development(14)
- Learn ARM development(15)
- Analysis of the application of several common contact parts in high-voltage connectors of new energy vehicles
- Wiring harness durability test and contact voltage drop test method
- Is this understanding of variable types correct?
- DE1SOC transfers the available memory address in demo2_axi_app in BMP
- Share a cost-effective headset
- Program file does not exist problem occurs in ON Semiconductor IDE
- New Year's work
- Application of indoor navigation and positioning system in the IoT ecosystem
- Share MSP430 control LED and water lamp programming examples
- Precision control techniques and methods for PCB board milling
- MSP430FR6989IPZR Mixed-Signal Microprocessor MCU
- Can anyone help me see how to write the transfer function of the following type of op amp circuit?