标题: STM32mini板编码器 源程序 [打印本页]

作者: Erin_LY    时间: 2021-8-11 09:27
标题: STM32mini板编码器 源程序
编码器计数主要是对单片机的定时器经行配置,然后是读取得到的值对其进行转换为速度等
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "encoder.h"
  5. #include "timer.h"
  6. #include "pwm.h"
  7. #include "motor.h"
  8. #include "led.h"
  9. #include "key.h"

  10.         int Encoder_Left=0 ,Encoder_Right=0;             //左右编码器的脉冲计数
  11.         float speed_Left=0 ,speed_Right=0;
  12.        
  13.         int main(void)
  14. {

  15.                 delay_init();                     //延时函数初始化
  16.       uart_init(9600);                 //串口初始化为9600
  17.                 Encoder_Init_TIM3();
  18.                 Encoder_Init_TIM4();
  19.                 AIN_Init();
  20.                 KEY_Init();
  21.                 LED_Init();
  22.       TIM1_PWM_Init(899,8);
  23.                 TIM5_Int_Init(99,7199);   // 0.01S        ((arr+1)(psc+1))/72000000
  24.                                 while(1)
  25.     {   
  26.                           TIM_SetCompare1(TIM1,850);
  27.                          TIM_SetCompare4(TIM1,500);
  28.                          zuozhuan();
  29.                 /* 转速(1秒钟转多少圈)=单位时间内的计数值/总分辨率*时间系数 */
  30.                     speed_Left=Encoder_Left/0.01*0.000181245;
  31.                          speed_Right=Encoder_Right/0.01*0.000181245;
  32.                            printf("左轮编码器脉冲数为: %d\r\n",Encoder_Left);
  33.                                 printf("右轮编码器脉冲数为: %d\r\n",Encoder_Right);
  34.                                 printf("speed_Left: %f\r\n",speed_Left);
  35.                                 printf("speed_Right:   %f\r\n",speed_Right);

  36.                         }
  37.                                                
  38. }
  39.        

  40.        
复制代码



代码: 编码器.7z (194.87 KB, 下载次数: 41)

作者: 刘睿飘    时间: 2021-10-29 12:50
请问这用的什么编码器,怎么收到的编码器信号




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1