找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3407|回复: 1
收起左侧

STM32电机PID算法

[复制链接]
ID:224896 发表于 2017-8-5 10:04 | 显示全部楼层 |阅读模式
0.png
0.png
附上一份关于PID内容的stm32程序源码:
#include "pid.h"
#include "usart.h"

PID pid; //存放PID算法所需要的数据

int PID_Calc(int Encoder,int Target)  //pid计算
{
    float DelEk;        
         float Pwm;
        pid.Kp =80,pid.Ki =0.1,pid.Kd=500;
        
   pid.Ek =Target -Encoder ; //计算偏差
        
         pid.SEk+=pid.Ek;        /历史总偏差和 即偏差积分 sek=sek+ek
        
          DelEk=pid.Ek-pid.Ek_1;  //最近两次偏差之和
        
        Pwm=pid.Kp *pid.Ek +pid.Ki *pid.SEk +pid.Kd *DelEk;
        
        pid.Ek_1=pid.Ek;  //更新偏差
        
        //printf(" pwm:%f\r\n", Pwm);
        
   return Pwm;  


}

全部资料下载地址:
电机PID算法.7z (190.33 KB, 下载次数: 106)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:228452 发表于 2017-8-20 02:24 | 显示全部楼层
Any idea Encoder to DAC output +-10V instead PWM
Thank you

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表