找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2007|回复: 0
收起左侧

基于STM32F103Mini版直流电机pid调速程序 标准库函数

[复制链接]
ID:851495 发表于 2020-12-28 09:55 | 显示全部楼层 |阅读模式
最近调试的直流电机控制,驱动器是L298N

单片机源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "pwm.h"
  5. #include "usart.h"
  6. #include "exti.h"
  7. #include "key.h"

  8. int i=0;
  9. float err=0;
  10. float lasterr=0;
  11. float realspeed;
  12. float setspeed=460;
  13. float vu=0;
  14. float c=0;
  15. int led0=2400;
  16. float m=300;
  17. float w=350;
  18. int main(void)
  19. {        

  20.         delay_init();                     //延时函数初始化        
  21.   uart_init(9600);         
  22.         EXTIX_Init();
  23.         TIM2_Cap_Init(65535,5);
  24.         TIM3_Int_Init(1000-1,7200-1);     //=====定时器初始化 100ms一次中断
  25.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2
  26.         LED_Init();                          //初始化与LED连接的硬件接口
  27.         TIM1_PWM_Init(7119,0);   
  28.            while(1)
  29.         {               
  30.                          PID_Init();
  31.                  c=led0+vu;
  32.                  if(c>7199)
  33.                  c=7119.0;
  34.                  if(c<0.0)
  35.                  c=0.0;
  36.                 TIM_SetCompare4(TIM1,c);
  37.           led0=c;
  38.                  printf("%f,%f,%f\r\n",setspeed,realspeed,err);
  39.                  
  40.         }
  41. }
  42.                




  43. void TIM3_IRQHandler(void)                            //TIM3中断
  44. {
  45.         extern float realspeed;
  46.         extern int i;
  47.         if(TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET) //检查指定的TIM中断发生与否
  48.         {
  49.                 TIM_ClearITPendingBit(TIM3, TIM_IT_Update);   //清除TIMx的中断待处理位
  50.                 realspeed=0.985*i*10*60/260;
  51.                 i=0;

  52.         }
  53. }
复制代码

所有资料51hei提供下载:
直流电机调速.7z (196.02 KB, 下载次数: 100)

评分

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

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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