标题:
stm32f103rct6单片机测量电机的正反转和速度,可以进行pid控制速度 源程序
[打印本页]
作者:
wyyxz
时间:
2022-4-21 09:01
标题:
stm32f103rct6单片机测量电机的正反转和速度,可以进行pid控制速度 源程序
使用stm32f103rct6测量电机的正反转和速度,可以进行pid控制速度
单片机源程序如下:
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "timer.h"
#include "usart.h"
uint16_t Qian_Count,Hou_Count;
uint8_t flag;
float speed;
char str[100];
int main(void)
{
//NVIC_Config();
TIM3_Init( 0xffff-1, 0x00);
TIM2_Init(999 , 7199);
//TIM_Init();
delay_init(); //延时函数初始化
uart_init(9600); //串口初始化波特率为9600
LED_Init(); //初始化与LED连接的硬件接口
while(1)
{
sprintf(str,"speed :%.3f\r\n",speed);
printf(str);
delay_ms(100);
}
}
void TIM3_IRQHandler(void)
{
if(TIM_GetITStatus(TIM3,TIM_IT_Update) != RESET)
{
TIM_ClearITPendingBit(TIM3,TIM_IT_Update); //清除标志位
flag++;
}
}
//定时器2的中断函数
void TIM2_IRQHandler(void)
{
if(TIM_GetITStatus(TIM2,TIM_IT_Update) != RESET)
{
TIM_ClearITPendingBit(TIM2,TIM_IT_Update); //清除标志位
Qian_Count = TIM3->CNT;
speed=(10*(flag*0xffff+Qian_Count-Hou_Count)/4)/210;
flag = 0;
Hou_Count=Qian_Count;
}
}
复制代码
51hei图片20220421085920.png
(94.94 KB, 下载次数: 44)
下载附件
2022-4-21 09:00 上传
那么问题来了,如何加入pid:
编码器.7z
(191.15 KB, 下载次数: 61)
2022-4-23 04:08 上传
点击文件名下载附件
作者:
564988996
时间:
2023-7-14 16:31
如何加入pid
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1