STM32_PID

所属分类:单片机开发
开发工具:C/C++
文件大小:782KB
下载次数:269
上传日期:2014-11-22 15:02:38
上 传 者fsl
说明:  基于STM32F103R8的PID算法例程,PWM输出控制信号,ADC输入反馈信号,形成闭环控制,完整工程源码。
(PID algorithm based STM32F103R8 routines, complete engineering source, PWM output control signal, ADC input feedback signal to form a closed-loop control.)

文件列表:
STM32_PID (0, 2014-11-22)
STM32_PID\listing (0, 2014-11-22)
STM32_PID\listing\STM32F10x.lst (36557, 2010-01-05)
STM32_PID\listing\tim1.map (73835, 2010-01-05)
STM32_PID\obj (0, 2014-11-22)
STM32_PID\obj\ExtDll.iex (19, 2010-01-05)
STM32_PID\obj\STM32F10x.o (5180, 2010-01-05)
STM32_PID\obj\adc.crf (41593, 2010-01-05)
STM32_PID\obj\adc.d (419, 2010-01-05)
STM32_PID\obj\adc.o (49736, 2010-01-05)
STM32_PID\obj\main.crf (88259, 2010-01-05)
STM32_PID\obj\main.d (625, 2010-01-05)
STM32_PID\obj\main.o (93968, 2010-01-05)
STM32_PID\obj\pid.crf (816, 2010-01-05)
STM32_PID\obj\pid.d (56, 2010-01-05)
STM32_PID\obj\pid.o (7804, 2010-01-05)
STM32_PID\obj\pwm.crf (60514, 2010-01-04)
STM32_PID\obj\pwm.d (370, 2010-01-04)
STM32_PID\obj\pwm.o (58008, 2010-01-04)
STM32_PID\obj\pwm_2.crf (42680, 2010-01-05)
STM32_PID\obj\pwm_2.d (353, 2010-01-05)
STM32_PID\obj\pwm_2.o (42484, 2010-01-05)
STM32_PID\obj\stm32f10x_adc.crf (41600, 2010-01-05)
STM32_PID\obj\stm32f10x_adc.d (390, 2010-01-05)
STM32_PID\obj\stm32f10x_adc.o (51360, 2010-01-05)
STM32_PID\obj\stm32f10x_dma.crf (32629, 2010-01-05)
STM32_PID\obj\stm32f10x_dma.d (390, 2010-01-05)
STM32_PID\obj\stm32f10x_dma.o (39072, 2010-01-05)
STM32_PID\obj\stm32f10x_flash.crf (19342, 2010-01-05)
STM32_PID\obj\stm32f10x_flash.d (367, 2010-01-05)
STM32_PID\obj\stm32f10x_flash.o (23576, 2010-01-05)
STM32_PID\obj\stm32f10x_gpio.crf (34187, 2010-01-05)
STM32_PID\obj\stm32f10x_gpio.d (400, 2010-01-05)
STM32_PID\obj\stm32f10x_gpio.o (41492, 2010-01-05)
STM32_PID\obj\stm32f10x_it.crf (87951, 2010-01-05)
STM32_PID\obj\stm32f10x_it.d (705, 2010-01-05)
STM32_PID\obj\stm32f10x_it.o (97092, 2010-01-05)
STM32_PID\obj\stm32f10x_lib.crf (85444, 2010-01-05)
STM32_PID\obj\stm32f10x_lib.d (682, 2010-01-05)
STM32_PID\obj\stm32f10x_lib.o (85468, 2010-01-05)
... ...

/******************** (C) COPYRIGHT 2007 STMicroelectronics ******************** * File Name : readme.txt * Author : MCD Application Team * Date First Issued : 02/05/2007 * Description : Description of the TIM1 Example1. ******************************************************************************** * History: * 05/21/2007: V0.3 * 04/02/2007: V0.2 * 02/05/2007: V0.1 ******************************************************************************** * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. *******************************************************************************/ Example description =================== This example shows how to configure the TIM1 peripheral to generate three complementary TIM1 signals, to insert a defined dead time value, to use the break feature and to lock the desired parameters. TIM1CLK is fixed to 72 MHz, the TIM1 Prescaler is equal to 0x0 so the TIM1 counter clock used is 72 MHz. TIM1 frequency is defined as follow: TIM1 frequency = TIM1 counter clock / (TIM1_Period + 1) = 1.0*** KHz. The Three Duty cycles are computed as the following description: TIM1 Channel1 duty cycle = TIM1_CCR1 / (TIM1_Period + 1) = 50% TIM1 Channel1N duty cycle = (TIM1_Period - TIM1_CCR1) / (TIM1_Period + 1) = 50% TIM1 Channel2 duty cycle = TIM1_CCR2 / (TIM1_Period + 1) = 25% TIM1 Channel2N duty cycle = (TIM1_Period - TIM1_CCR1) / (TIM1_Period + 1) = 75% TIM1 Channel3 duty cycle = TIM1_CCR3 / TIM1_Period = 12.5% TIM1 Channel3N duty cycle = (TIM1_Period - TIM1_CCR3) / (TIM1_Period + 1) = 87.5% A dead time of 1.62 us is inserted between the different complementary signals, and the Lock level 1 is selected. The break Polarity is used at High level. The TIM1 waveform can be displayed using an oscilloscope. Directory contents ================== stm32F10x_conf.h Library Configuration file stm32F10x_it.c Interrupt handlers stm32F10x_it.h Interrupt handlers header file main.c Main program Hardware environment ==================== Connect the TIM1 pins to an oscilloscope: - TIM1_CH1 pin (PA.08) - TIM1_CH1N pin (PB.13) - TIM1_CH2 pin (PA.09) - TIM1_CH2N pin (PB.14) - TIM1_CH3 pin (PA.10) - TIM1_CH3N pin (PB.15) Connect the TIM1 break pin TIM1_BKIN pin (PB.12) to the GND. To generate a break event, switch this pin level from 0V to 3.3V. How to use it ============= In order to make the program work, you must do the following: - Create a project and setup all your toolchain's start-up files - Compile the directory content files and required Library files: + stm32f10x_lib.c + stm32f10x_tim1.c + stm32f10x_gpio.c + stm32f10x_rcc.c + stm32f10x_nvic.c + stm32f10x_flash.c - Link all compiled files and load your image into either RAM or Flash - Run the example ******************* (C) COPYRIGHT 2007 STMicroelectronics *****END OF FILE******

近期下载者

相关文件


收藏者