【E1544】STM32 PID自整定+PID控温+PWM输出 源程序

2021-10-17 09:07:36      索炜达电子      846     

项目编号:E1538

文件大小:320K

源码说明:带中文注释

开发环境:C编译器

简要概述:

主要是利用继电器反馈法进行pid参数自动整定。若测出了系统的一阶模型,或得出了系统的临界比例增益,则可很容易地设计出PID调节器。继电型自整定的基本想法是,在控制系统中设置两种模态:测试模态和调节模态。在测试模态下,调节器自动转换成位式调节,即当测量值小于设定值时,调节器输出为满量程,反之为零,使系统产生振荡,振荡过程中调节器自动提取被控对象的特征参数;而在调节模态下由系统的特征参数首先得出PID控制器,然后,由此控制器对系统进行调节。当需要PID参数整定时,开关置于调整处,系统按继电反馈建立起稳定的极限环振荡后,就可以根据系系统响应特征确定PID参数。自整定计算完成后开关置于调节处,系统进入正常控制。内含STM32程序,包含DS18B20读取温度

目录│文件列表:

 └ pid自整定+pid控温+pwm输出

    │ keilkill.bat

    ├ Doc

    │  └ readme.txt

    ├ Libraries

    │  ├ CMSIS

    │  │  │ core_cm3.c

    │  │  │ core_cm3.h

    │  │  │ stm32f10x.h

    │  │  │ system_stm32f10x.c

    │  │  │ system_stm32f10x.h

    │  │  └ startup

    │  │     │ startup_stm32f10x_cl.s

    │  │     │ startup_stm32f10x_hd.s

    │  │     │ startup_stm32f10x_hd_vl.s

    │  │     │ startup_stm32f10x_ld.s

    │  │     │ startup_stm32f10x_ld_vl.s

    │  │     │ startup_stm32f10x_md.s

    │  │     │ startup_stm32f10x_md_vl.s

    │  │     └ startup_stm32f10x_xl.s

    │  └ FWlib

    │     ├ inc

    │     │  │ misc.h

    │     │  │ stm32f10x_adc.h

    │     │  │ stm32f10x_bkp.h

    │     │  │ stm32f10x_can.h

    │     │  │ stm32f10x_cec.h

    │     │  │ stm32f10x_crc.h

    │     │  │ stm32f10x_dac.h

    │     │  │ stm32f10x_dbgmcu.h

    │     │  │ stm32f10x_dma.h

    │     │  │ stm32f10x_exti.h

    │     │  │ stm32f10x_flash.h

    │     │  │ stm32f10x_fsmc.h

    │     │  │ stm32f10x_gpio.h

    │     │  │ stm32f10x_i2c.h

    │     │  │ stm32f10x_iwdg.h

    │     │  │ stm32f10x_pwr.h

    │     │  │ stm32f10x_rcc.h

    │     │  │ stm32f10x_rtc.h

    │     │  │ stm32f10x_sdio.h

    │     │  │ stm32f10x_spi.h

    │     │  │ stm32f10x_tim.h

    │     │  │ stm32f10x_usart.h

    │     │  └ stm32f10x_wwdg.h

    │     └ src

    │        │ misc.c

    │        │ stm32f10x_adc.c

    │        │ stm32f10x_bkp.c

    │        │ stm32f10x_can.c

    │        │ stm32f10x_cec.c

    │        │ stm32f10x_crc.c

    │        │ stm32f10x_dac.c

    │        │ stm32f10x_dbgmcu.c

    │        │ stm32f10x_dma.c

    │        │ stm32f10x_exti.c

    │        │ stm32f10x_flash.c

    │        │ stm32f10x_fsmc.c

    │        │ stm32f10x_gpio.c

    │        │ stm32f10x_i2c.c

    │        │ stm32f10x_iwdg.c

    │        │ stm32f10x_pwr.c

    │        │ stm32f10x_rcc.c

    │        │ stm32f10x_rtc.c

    │        │ stm32f10x_sdio.c

    │        │ stm32f10x_spi.c

    │        │ stm32f10x_tim.c

    │        │ stm32f10x_usart.c

    │        └ stm32f10x_wwdg.c

    ├ Output

    │  │ DS18B20.hex

    │  │ Template.hex

    │  └ 流水灯.hex

    ├ Project

    │  └ RVMDK(uv5)

    │     │ BH-STM32.uvguix.13224

    │     │ BH-STM32.uvguix.Administrator

    │     │ BH-STM32.uvoptx

    │     │ BH-STM32.uvprojx

    │     └ RTE

    │        └ RTE_Components.h

    └ User

       │ main.c

       │ stm32f10x_conf.h

       │ stm32f10x_it.c

       │ stm32f10x_it.h

       ├ AdvanceTim

       │  │ bsp_AdvanceTim.c

       │  └ bsp_AdvanceTim.h

       ├ ds18b20

       │  │ bsp_ds18b20.c

       │  └ bsp_ds18b20.h

       ├ GeneralTim

       │  │ bsp_GeneralTim.c

       │  └ bsp_GeneralTim.h

       ├ Led

       │  │ bsp_led.c

       │  └ bsp_led.h

       ├ pid

       │  │ pid.c

       │  └ pid.h

       ├ SysTick

       │  │ bsp_SysTick.c

       │  └ bsp_SysTick.h

       ├ timer

       │  │ timer.c

       │  └ timer.h

       └ usart

          │ bsp_usart.c

          └ bsp_usart.h

TAGPID
  • 36 次
  • 1 分