• 大小: 554KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-01
  • 语言: 其他
  • 标签: stm32  编码器  

资源简介

stm32f10x系列读取正交编码器的教程,使用了timer3,一定是正交ab相输出的编码器。

资源截图

代码片段和文件信息

#include “sys.h“
#include “motor.h“
/***********************************************************
Copyright (C) 2013-2023YFRobot
Author: aosini   Version:1.0     Date:2014/03/04
baseOn:YFRobot CoreSTM32 V1.0
Description: YFRobot L298N V1.1 驱动代码
             电机驱动VIN、GND接7.2V
             IN1~2接PC0~1;方向控制端口
 ENA接PA6:速度控制
 电机两根黄线接在298 M1处   
All rights reserved
***********************************************************/

//LED IO 初始化 端口PD.2  运行指示灯
void LED_Init(void)
{      
RCC->APB2ENR|=1<<5;      //使能PORTD时钟  
GPIOD->CRL&=0XFFFFF0FF;
GPIOD->CRL|=0X00000300;  //PD.2推挽输出
GPIOD->ODR|=1<<2;        //PD.2输出高 
}
//电机旋转方向控制信号端口初始化
//PC1~0推挽输出,输出高
void M_Init(void)
{
RCC->APB2ENR|=1<<4;      //使能PORTC时钟
GPIOC->CRL&=0XFFFFFF00;
GPIOC->CRL|=0X00000033;  //PC1~0推挽输出
GPIOC->ODR|=0XF<<0;      //PC1~0输出高电平
}

//定时器TIM3,PWM输出初始化CH1(PA6)
//arr:自动重装值
//psc:时钟预分频数
//设置自动重装值为900,那么PWM频率=72000/900=8Khz
////见STM32参考手册,14.3.9PWM模式。
void TIM3_PWM_Init(u16 arru16 psc) //arr设定计数器自动重装值   
                                    //psc预分频器不分频psc=0
{
RCC->APB1ENR|=1<<1;       //TIM3时钟使能    
  
GPIOA->CRL&=0XF0FFFFFF;//PA6输出
GPIOA->CRL|=0X0B000000;//复用功能输出    
GPIOA->ODR|=1<<6;//PA6上拉

TIM3->ARR=arr;//设定计数器自动重装值 
TIM3->PSC=psc;//预分频器不分频

TIM3->CCMR1|=6<<4;  //CH1 PWM1模式 高电平有效  
TIM3->CCMR1|=1<<3; //CH1预装载使能

TIM3->CCER|=1<<0;   //OC1 输出使能   

TIM3->CR1=0x0080;   //ARPE使能 
TIM3->CR1|=0x01;    //使能定时器3 
}

//电机方向与速度控制,速度调节范围为-100~+100
//大于0时,正转,小于0时,反转
// 占空比低于0.4时电机不转
//(占空比是指高电平在一个周期之内所占的时间比率)
//TIM3->CCR1的设定范围为0~900(因为arr=900)
//见STM32参考手册,14.3.9PWM模式。
void Motor_Speed_Control(s16 motorSpeed)  
{
    s16 speed = 0 ;

    if(motorSpeed>100)  speed = 900;
    else if (motorSpeed<-100)  speed = -900;
else  speed = motorSpeed;
if(speed == 0)
{
M_1 = 0;
M_2 = 0;
}
     else if(speed > 0)
{
M_1 = 0;
M_2 = 1;
TIM3->CCR1 = speed * 5 + 400;
}
else
{
M_1 = 1;
M_2 = 0;
TIM3->CCR1 = -speed * 5 +400;
}
}














 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        399  2011-04-23 10:24  stm32编码器接口\keilkilll.bat

     文件       2378  2014-03-05 09:59  stm32编码器接口\motor\motor.c

     文件        958  2014-03-05 09:59  stm32编码器接口\motor\motor.h

     文件       1632  2014-03-05 09:59  stm32编码器接口\motor\speed_cap.c

     文件        616  2014-03-05 09:59  stm32编码器接口\motor\speed_cap.h

     文件        312  2014-03-05 10:04  stm32编码器接口\readme.txt

     文件       2038  2011-01-12 20:34  stm32编码器接口\SYSTEM\delay\delay.c

     文件        876  2011-01-12 20:34  stm32编码器接口\SYSTEM\delay\delay.h

     文件       6885  2011-01-12 20:34  stm32编码器接口\SYSTEM\sys\sys.c

     文件       3839  2011-01-12 20:34  stm32编码器接口\SYSTEM\sys\sys.h

     文件       3342  2011-04-17 15:42  stm32编码器接口\SYSTEM\usart\usart.c

     文件       1054  2011-04-17 15:45  stm32编码器接口\SYSTEM\usart\usart.h

     文件     148364  2014-03-05 09:59  stm32编码器接口\USER\delay.crf

     文件       1825  2014-03-05 09:59  stm32编码器接口\USER\delay.d

     文件     172140  2014-03-05 09:59  stm32编码器接口\USER\delay.o

     文件       1098  2014-03-05 09:59  stm32编码器接口\USER\main.c

     文件     154992  2014-03-05 09:59  stm32编码器接口\USER\main.crf

     文件       1941  2014-03-05 09:59  stm32编码器接口\USER\main.d

     文件     178620  2014-03-05 09:59  stm32编码器接口\USER\main.o

     文件       1977  2014-03-05 09:59  stm32编码器接口\USER\main.Opt

     文件       2858  2014-03-04 20:43  stm32编码器接口\USER\main.Uv2

    .......      1981  2014-03-05 09:50  stm32编码器接口\USER\main_Opt.Bak

     文件      14042  2014-03-05 10:08  stm32编码器接口\USER\main_Target 1.dep

     文件     150982  2014-03-05 09:59  stm32编码器接口\USER\motor.crf

     文件       1841  2014-03-05 09:59  stm32编码器接口\USER\motor.d

     文件     174240  2014-03-05 09:59  stm32编码器接口\USER\motor.o

     文件     150596  2014-03-05 09:59  stm32编码器接口\USER\speed_cap.crf

     文件       2011  2014-03-05 09:59  stm32编码器接口\USER\speed_cap.d

     文件     174856  2014-03-05 09:59  stm32编码器接口\USER\speed_cap.o

     文件      35240  2014-03-05 09:59  stm32编码器接口\USER\STM32F10x.lst

............此处省略27个文件信息

评论

共有 条评论