STM32单片机—编码器测速
一、实验工具:STM32开发板一块、L298N电机驱动、直流电机
以及用到的软件(STM32CubeMX、keil4)
二、编码器原理
1.概述:编码器是一种将角位移或者角速度转换成一串电数字脉冲的旋转式传感器。编码器又分为光电编码器和霍尔编码器,我们这里用到的是霍尔编码器。
2.霍尔编码器工作原理:一种通过磁电转换将输出的机械几何位移量转换成脉冲或数字量的传感器,霍尔编码器室友霍尔马盘和霍尔元件组成。霍尔马盘是在一定直径的圆板上等分的布置有不同的磁极。霍尔马盘与电动机同轴,电动机旋转时,霍尔元件检测输出若干脉冲信号,为判断转向,一般输出两组存在一定相位差的方波信号。简单示意图如下:
3.编码器接线图:
4.测速原理:我们这里用到的是M法测速的时候,会通过测量单位时间内A相输出的脉冲数来得到速度信息。
5.采集数据:编码器输出的是标准的方波,我们可以用单片机直接读取。在软件中的处理方式分两种1.自带编码器接口的单片机如STM32,可以以直接用硬件技术2.没有编码器借口的单片机 可通过外部中断读取。
一、转速计算方法:用捕获值(一秒内输出的脉冲数)/编码器线数(转速一圈输出脉冲数)/电机减数比(内部电机转动圈数与电机输出轴转动圈数比,即减速齿轮比)
二、源码解析
1. STM32CubeMX设置用到的引脚,生成keil文件。引脚设置如下图:
1. 编码器,串口,定时器初始化部分就不一一列出,想了解的可以去源码寻找。下面我主要说一下主函数中的代码。
首先是使用按键控制PWM变化来控制电机转速部分:
接下来调用HAL_TIM_IC_CaptureCallback函数 以便接下来得到一秒内输出的脉冲数,通过获取到的脉冲数来计算转速。
接下来在回调函数中计算转速。
综上将电机、单片机、L298N电机驱动模块、连接起来就可以实现功能。
STM32单片机—编码器测速相关推荐
- stm32霍尔编码器测速(标准库函数版)
基本原理:霍尔编码器是有霍尔马盘和霍尔元件组成.霍尔马盘是在一定直径的圆板上等分的布置有不同的磁极.霍尔马盘与电动机同轴,电动机旋转时,霍尔元件检测输出若干脉冲信号,为判断转向,一般输出两组存在一定相 ...
- stm32f103单片机—编码器测速
一.涉及资源 stm32f103ZET6开发板(非指定) MG513P3012V型号电机(带霍尔编码器)(非指定) 二.涉及概念 1.单片机资源要求 此种测速方法要求单片机的定时器具有编码器模式,对于 ...
- STM32正交编码器测速
一.正交编码解码原理 参考链接:https://blog.csdn.net/as480133937/article/details/98750922 二.解码思路 (1)方法一:使用定时器的输入捕获功 ...
- 单片机c语言计数器测速,基于51单片机的光电编码器测速.doc
课程设计报告 课程名称: 微机原理课程设计 题 目: 基于51单片机的光电编码器测速 摘要 光电编码器是高精度位置控制系统常用的一种位移检测传感器.在位置控制系统中,由于电机既可能正转,也可能反转,所 ...
- 51单片机电机测速程序c语言,基于51单片机光电编码器测速.doc
基于51单片机光电编码器测速 PAGE PAGE 2 课程设计报告 课程名称: 微机原理课程设计 题 目: 基于51单片机的光电编码器测速 摘要 光电编码器是高精度位置控制系统常用的一种位移检测传感器 ...
- STM32 HAL库实现编码器测速
STM32 HAL库实现编码器测速 (还开了串口1用来调试,下文没写:然后那个short的用法就是看平衡小车之家(就是喵呜实验室的文档里头的,用法确实惊艳),文末贴了工程) 编码器接口模式 TI1和T ...
- 传统型编码器测速方案
传统型编码器测速方案 编码器,经常被用来测量速度或者显示电机位置,大致分为绝对值式编码器和增量式编码器,顾名思义,相对应的是产生增量或者绝对信号.增量信号不表示特定位置,只表示位置已经更改:绝对信号是 ...
- 【一文读懂】如何用编码器测速
文章目录 前言 一.AB相编码器计数原理 四倍频 二.要用到的一些参数 编码器参数 电机参数 轮子参数 计算 三.代码如下(更契合原理的代码) 四倍频的代码(更新) 前言 详解编码器测速原理及实现 参 ...
- 一种基于STM32F1 MCU的增量型编码器测速的方法
遇到的问题 1. 编码器信号,用来计量长度,如果需要同时测量当前实时速度,在不增加接口的情况下,实现较为准确实时的测速 2. 简单的M法速度,对于低速信号,测量精度较差,实时性也不高. 测速方法 之前 ...
最新文章
- 常用jQuery ajax代码片段
- 中国计算机专业专科学校排名2015,计算机专科学校排名前十(最出名的10所计算机学院)...
- 登录之验证码相关实现
- 利用 Laravel 花 2 小时撸一个 RSS 生成器
- ElementUI中的el-table怎样实现每一列显示的是控件并能动态实现双向数据绑定
- Andorid ListView使用技巧
- ad09只在一定范围内查找相似对象_23、面向对象编程
- opencv(二) 图片处理
- run till exit from #0_华为认证hcip H13821 v2.0云服务考试真题每日一练(一)
- JAVA——附加作业1——统计员工数
- HTML简介与历史版本
- zend framework 重定向方法(render, forward, redirect)总结
- 深度学习图像分类(五): ResNet
- 盘点:2012中国互联网大会十大亮点
- ubuntu20.04WPS解决缺失字体的问题
- 微信网页版(在电脑上聊微信)
- 领域分类的问题_别人的问题领域
- echart图表环形图(饼图)
- php判断关联数组为空,php 关联数组判断是否为空
- es如何提升写入性能