标题:
STM32电机调速PID参考源程序
[打印本页]
作者:
絮桡梦境
时间:
2018-4-13 22:09
标题:
STM32电机调速PID参考源程序
STM32电机调速PID程序参考
0.jpg
(21.17 KB, 下载次数: 155)
下载附件
2018-4-17 04:37 上传
单片机源程序如下:
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "PWM.h"
#include "stm32f10x_tim.h"
#include "key.h"
#include "pid.h"
//捕获TIM4通道二PB7的频率和占空比
//PA8输出PWM驱动脉冲
//按键一设置初始转速为3000;按键二 增加1000转速 按键3 降低1000转速
extern void TIM3_PWM_Init(u16 arr,u16 psc);
extern void TIM4_PWMINPUT_INIT(u16 arr,u16 psc);
extern u16 PWM0_TEMP;
extern u16 period;
extern u16 duty ;
extern u8 CollectFlag ;
float SetSpeed; //定义设定值
float ActualSpeed; //定义实际值
float err; //定义偏差值
float err_next; //定义上一个偏差值
float err_last; //定义最上前的偏差值
float incrementSpeed;
float Kp,Ki,Kd;
unsigned int rpm_set;
//Mini STM32开发板范例代码8
int main(void)
{
u8 b,c;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
PID_init();
KEY_Init();
SystemInit();
delay_init(); //延时初始化
NVIC_Configuration(); //中断配置
uart_init(9600); //串口初始化
DIR_Init();
TIM4_PWMINPUT_INIT(0xffff,72-1); //pwm输入初始化以1M的频率捕捉
TIM1_PWM_Init(1000-1,20); //pwm频率调节
//TIM_SetCompare1(TIM1,2000); //初始转速设定
delay_ms(300);
delay_ms(1000);
rpm_set=3000; //设转速给定
TIM3_Int_Init(50000,72-1); //pid运算进中断速率设置
//TIM_SetCompare1(TIM1,800);
while(1)
{
b=KEY_Scan(0);
delay_ms(100);
if(1)
{ //USART_SendData(USART1,'a');
//USART_SendData(USART1,(u8)err);
// printf("duty = %d%% \r\n",duty*100/period); //打印占空比
// printf("s = %dr/min\r\n",3750000/period);//打印周期另一种叫法
if(period<1.0)
printf("#%f",0.0);
else printf("n=%d\n",3750000/period); //打印速度值
}
if(b==1) rpm_set=3000; //设转速
if(b==2) rpm_set=rpm_set+1000;
if(b==3) rpm_set=rpm_set-1000;
if(rpm_set>=9000) rpm_set=9000;
if(rpm_set<=1000) rpm_set=1000;
}
}
复制代码
所有资料51hei提供下载:
捕获.rar
(289.75 KB, 下载次数: 729)
2018-4-17 04:37 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
一沙鸥H
时间:
2018-5-25 14:11
好资料,51黑有你更精彩!!!
作者:
一波三折
时间:
2018-6-2 15:37
挺不错的
作者:
lzts88
时间:
2018-6-2 20:50
谢谢分享
作者:
929186136
时间:
2018-7-15 21:05
这个资料我正好需要,谢谢楼主
作者:
929186136
时间:
2018-7-15 21:06
谢谢楼主
作者:
梦幻2呱呱
时间:
2018-7-16 14:55
谢谢分享
作者:
55555ss
时间:
2018-7-17 14:23
不错谢谢楼主
作者:
xuning0000
时间:
2018-7-28 21:28
太需要你这资料了
作者:
1464531300
时间:
2018-8-18 15:09
很好的资源
作者:
1464531300
时间:
2018-8-18 15:13
我很需要这个资源,求楼主发我邮箱
1464531300@qq.com
,学习学习PID控制,谢谢了!
作者:
zhujiales
时间:
2018-8-21 11:29
不错不错,最近正需要这方面的东西
作者:
fenglibo
时间:
2018-8-30 13:48
51黑好资料。求楼主发我邮箱
837690912@qq.com
,学习学习PID控制,谢谢了!
作者:
baibaibai123
时间:
2019-3-24 20:10
对应的io接口可以说一下吗
作者:
我去123
时间:
2019-5-8 15:54
楼主可以给我发一份吗
作者:
51黑点子56
时间:
2019-5-10 11:35
请问资料里有上面那些头文件么
作者:
z6509103
时间:
2019-5-18 14:55
感谢分享
作者:
辰宿列张
时间:
2019-5-23 10:17
正好需要,感谢楼主的分享
作者:
LIGHTING006
时间:
2019-7-12 16:59
谢谢楼主
作者:
lemonluilui
时间:
2019-7-20 20:38
谢谢
作者:
ultra梦幻雨
时间:
2019-8-1 09:20
感谢分享
作者:
人之颠
时间:
2019-9-21 22:29
新人报道,下载来学习下
作者:
hqgboy
时间:
2019-9-22 08:14
谢谢分享。。。。
作者:
Liqipeng0822
时间:
2019-10-16 17:11
谢谢楼主分享
作者:
witp1
时间:
2019-11-11 21:24
很好的资源
作者:
puresilicon
时间:
2019-12-14 00:24
这是个单环pid,实际意义不大
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1