电赛-stm32f103zet6-减速电机配置-pid控制(简单使用)

前期准备:

要实现减速电机的配置,首先我们要了解自己的电机上编码器的参数。例如这款电机型号为:CHR-GM37-520

其参数如下图:

 从图上的基础脉冲数为11PPR我们可以看出电机轴转一圈可以产生11个脉冲信号

在电机的标签上看到电机减速比为1:90

那么电机转动一圈实际上产生脉冲数就是:90*11 = 990;

在单片机采用4倍频计数提高精度之后脉冲数:990 * 4 = 3,960;

这就意味着电机一圈的转动我们的单片机就会捕获3960个脉冲信号。

测速方法:在一定时间内,捕获脉冲数。

实际速度:一圈对应3960个脉冲,物理计算出一圈的长度,除以时间,得到实际速度。

驱动使用:l298n

 由图可知单片机需要输出3个信号:一个pwm信号,2个方向控制信号。

code : timer 

TIM1:PWM输出        TIM3:输入捕获        TIM4:定时器(都在里面运行)        

GPIOA: 3,4方向控制信号线        8,11pwm输出控制线

#ifndef __TIMER_H
#define __TIMER_H

#include "sys.h"

extern float cnt;
extern int Tim3_Arr;
extern int Tim3_Psc;

void Encoder_Init_TIM3(void);

void Pwm_Init_TIM1(u16 arr, u16 psc);

void Timer_Init_TIM4(u16 arr, u16 psc);

int Read_Encoder(void);

 
#endif



#include "timer.h"
#include "sys.h"
#include "delay.h"
#include "led.h"

uint16_t TIM1_CCR1_Val = 2000;
uint16_t TIM1_CCR4_Val = 18000;
uint16_t DEMO = 1000;

float zheng;
float fu;
float cnt;
int Tim3_Arr = 5999;
int Tim3_Psc &
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值