在机器人的旋转关节中、或者底盘的驱动轮中,编码器是一个很常用的部件,它用于检测输出轴的位置、转速。下面我们先从它的分类开始,后面还有一个简单的用法示例代码。

磁编码器

1.编码器分类:

按工作原理:光电式、磁电式和触点电刷式。按码盘的刻孔方式:增量式和绝对式两类。

笔者到目前为止,就用过这些种类的编码器。像光电的差分编码器,一般由8根线连接。信号线分别为 A+ A- B+ B- Z+ Z- 以及VCC和GND。这里有一种不需要Z信号的,6线差分A+ A- B+ B- VCC 和GND。正交编码器一般是5根线连接,信号线分别为A B Z VCC和GND。

编码器线数: 就是旋转一圈你的A(B)会输出多少个脉冲 ,这里的A、B就是上面的输出脉冲信号线,它们转一圈发出的脉冲数一样的,不过存在90°的相位差。线数越高代表编码器能够反应的位置精度越高。

2.下面以基于stm32的直流电机驱动为例,里面有编码器的读取。

代码及注释如下:

#include "delay.h"

#include "stm32f10x.h"

#include "sys.h"

#include "timer.h"

#include "usart.h"

#include "encoder.h"

#include "oled.h"

#include "pwm.h"

#include "control.h"

#include "led.h"

#include "key.h"

extern int Target_velocity;

extern u16 Encoder; //左右编码器的脉冲计数

extern u16 Moto1; //电机PWM变量

u8 t=0;

float speed;

int main(void)

{

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2

delay_init(); //延时函数初始化

KEY_Init(); //初始化与按键连接的硬件接口

OLED_Init();

uart_init(9600); //=====串口初始化

Encoder_Init_TIM2(); //=====编码器接口

TIM3_Int_Init(99,7199); //10ms

IN2=1;

IN1=0;

LED_Init(); //初始化与LED连接的硬件接口

TIM1_PWM_Init(7199,0);//不分频。PWM频率=72000/(899+1)=80Khz

while(1)

{

speed = Encoder*100/4/13/30;

printf("speed:%0.2f rad/s

logisim优先编码器怎么用_编码器简介、应用的stm32代码及注释相关推荐

  1. 台达编码器型号含义_编码器型号说明 编码器型号大全 编码器型号选型

    编码器型号说明 编码器型号大全 编码器型号选型 编码器型号说明 范 例: EC 11 B H S - D3 - 24 C OO PC -15 KQ B 1 2 3 4 5 6 7 8 9 10 11 ...

  2. 代码注释掉还能执行_日志消息是可执行代码和注释

    代码注释掉还能执行 尽管在一个人的代码中应添加多少注释之间存在意见分歧,但我认为可以肯定地说,大多数开发人员都同意以下代码段中的注释是多余的: // increment the total total ...

  3. logisim优先编码器怎么用_变频电机为什么要用编码器?又该如何选型?

    在自动化控制中经常会碰到各种电机的控制,在输送带.升降机.提升小车等较大功率的电机大部分是用变频电机,各个品牌PLC+变频器驱动控制变频电机也很普及了. 但是,用户经常会有这样那样的问题出现: 变频电 ...

  4. 11旋转编码器原理_旋转编码器的原理是什么?增量式编码器和绝对式编码器有什么区别?...

    先给出结论,最重要的区别在于:增量式编码器没有记忆,断电重启必须回到参考零位,才能找到需要的位置,而绝对式编码器,有记忆,断电重启不用回到零位,即可知道目标所在的位置. 接下来细说一下,主要包含如下的 ...

  5. 台达编码器型号含义_台达光学式旋转编码器

    台达光学式旋转编码器 光学式旋转编码器 ( Rotary Optical Encoder ) 属于传感器的一种, 主要使用光电讯号转换输出轴上的机械几何位移转换成脉冲或数位 量的感测器,所以可以用于侦 ...

  6. 台达编码器型号含义_台达编码器选型.doc

    台达编码器选型 台达编码器选型 德国欧玛AUMA 德国ABB 德国西博思SIPOS 德国科宝KOBOLD 德国萨姆森SAMSON 德国ps 德国力士乐REXROTH 德国贺徳克HYDAC 德国德瑞EM ...

  7. (77)译码器与编码器(八三编码器)

    (77)译码器与编码器(八三编码器) 1 文章目录 1)文章目录 2)FPGA入门与提升课程介绍 3)FPGA简介 4)译码器与编码器(八三编码器) 5)技术交流 6)参考资料 2 FPGA入门与提升 ...

  8. 自编码器与堆叠自编码器简述

    作者:科研君 链接:https://www.zhihu.com/question/41490383/answer/103006793 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...

  9. 【Android RTMP】音频数据采集编码 ( 音频数据采集编码 | AAC 高级音频编码 | FAAC 编码器 | Ubuntu 交叉编译 FAAC 编码器 )

    文章目录 安卓直播推流专栏博客总结 一. 音频数据采集.编码 二. AAC 高级音频编码 三. FAAC 编码器 四. Ubuntu 18.04.4 交叉编译 FAAC 编码器 安卓直播推流专栏博客总 ...

最新文章

  1. faster rcnn流程
  2. Android基于Docker容器的双系统多开实现和自动化部署
  3. 数据库笔记13:创建与使用游标
  4. Java复习-对象的回收与垃圾的回收
  5. JWT—JSON Web Token - 理解JWT网络间应用用户安全认证交互设计
  6. 快应用如何避免JSON.parse()解析出错
  7. 需求分析报告和需求规格说明书有什么区别?
  8. 写个单机版斗地主程序,复习c++面向对象
  9. 怎么快速读懂c语言程序,零基础如何看懂C语言程序的基本结构
  10. 树莓派4B搭建NAS系统(Samba)
  11. 解决nginx emerg bind to 80 failed 98 Address alrea
  12. 2021福建漳州高考成绩查询,2021年漳州高考成绩排名及成绩公布时间什么时候出来...
  13. Python数据预处理:机器学习、人工智能通用技术(1)
  14. itunes下载的软件怎么安装到手机
  15. 吴恩达深度学习课程值不值得学?四晚学完的高手给你建议
  16. 读PPK谈javascript
  17. 运用Python爬取二手房价格与信息的两种常用方法
  18. Gitlab-Runner原理与实现
  19. 四轴飞行器-基于STM32微控制器(电子入门必看)
  20. Learning to Rank using Gradient Descent

热门文章

  1. mysql awr 上海用户组_mysql awr v1.0.3修正说明以及发布
  2. 《软件项目管理(第二版)》期中考试试题总结/复习资料
  3. 数据结构课程设计 迷宫问题
  4. C语言新手最常见的问题!你在这里跌倒过吗?
  5. 利用STM32制作红外测温仪之硬件设计
  6. c语言闰年的判断条件DS1302,DS1302驱动程序(平年和闰年天数自动调整)
  7. 不思议迷宫c语言基础,不思议迷宫神龙收藏品一览
  8. c++ 二次开发 良田高拍仪_六枝特良田LYV-850加工中心导轨配套防护罩日常维修
  9. mysql 编译安装与rpm安装的区别_编译安装与RPM安装的区别
  10. python列表生成器语法_python列表生产式和生成器