3.6 Fuzzy Adaptive PID Control
The principle of fuzzy adaptive PID control is shown in Figure 1. The general design process of fuzzy adaptive PID controller is: 1. Transform the deviation and deviation change rate from physical quantity to domain, 2. Determine the membership function of deviation e, deviation change rate ec, kp, ki and kd, as shown in Figure 2, 3. Determine the fuzzy rule, 4. According to the fuzzy rule and the membership function of deviation e and deviation change rate ec, calculate the query table of Δkp, Δki and Δkd, and the output surface of Δkp, Δki and Δkd is shown in Figure 2, 5. Real-time query, and transform Δkp, Δki and Δkd from domain to physical quantity, 6. Add Δkp, Δki and Δkd to basic kp', ki' and kd' to obtain actual kp, ki and kd values. The effect of fuzzy adaptive PID control for a large pure lag system is shown in Figure 3. It should be pointed out that when the domain of e and ec is a continuous quantity, Δkp, Δki and Δkd should also change continuously, that is, C'=A'×B'×R, Ri=Ai×Bi×Ci, R=∪Ri, and should not be a table. However, most papers output Δkp, Δki and Δkd in tabular form. Since the data storage device of the 51 single-chip microcomputer is too small and the calculation speed is limited, it is impossible to calculate the continuously changing Δkp, Δki and Δkd. Such an example will be given using MATLAB later.
4 Outlook
This thing can be regarded as a special topic, and it ends here. However, due to the limitations of hardware, including program memory, data memory and ports, some things cannot be done, such as neural network PID control, and a real regulator requires many configuration parameters. In the future, if possible, I would like to play with STM32F429. The original development board costs about 200 yuan, or play with Raspberry Pi. I don’t know if I can stick to it. Playing with programs is very tiring, and my cervical spine is not in good condition.
Previous article:Playing PID control with a single-chip microcomputer - from ideal PID control to advanced PID control_12
Next article:Basic knowledge of interrupts of 51 MCU core
- Popular Resources
- Popular amplifiers
- Learn ARM development(16)
- Learn ARM development(17)
- Learn ARM development(18)
- Embedded system debugging simulation tool
- A small question that has been bothering me recently has finally been solved~~
- Learn ARM development (1)
- Learn ARM development (2)
- Learn ARM development (4)
- Learn ARM development (6)
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
- Detailed explanation of intelligent car body perception system
- How to solve the problem that the servo drive is not enabled
- Why does the servo drive not power on?
- What point should I connect to when the servo is turned on?
- How to turn on the internal enable of Panasonic servo drive?
- What is the rigidity setting of Panasonic servo drive?
- How to change the inertia ratio of Panasonic servo drive
- What is the inertia ratio of the servo motor?
- Is it better for the motor to have a large or small moment of inertia?
- What is the difference between low inertia and high inertia of servo motors?
- TYPEC to HDMI 4K@60HZ docking station CS5265 design reference circuit diagram
- DFT design/digital backend PR/digital backend integration/system software/and other positions, Beijing/Shanghai/Nanjing
- How to write the s-domain transfer function of this circuit? Please give me some advice.
- PIC microcontroller reads battery information and outputs it via serial port
- MSP430G2553 SPI UART
- Qorvo's 2020 review and expectations for 2021
- TIOBE June Programming Language Ranking: Python is expected to surpass C to become the first
- A strange problem when compiling a KEIL project
- LNA Design of ATF54143
- Micropython does not support GBK encoding