Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
STM32
设备驱动
STM32 设备驱动 脉冲编码器过零点问题
发布于 2022-09-08 11:46:47 浏览:532
订阅该版
硬件:STM32F429IGT6核心板 操作系统:RTT V4.1.5 使用设备驱动运行脉冲编码器。 运行情况:定时器10ms采集一次脉冲编码器的脉冲值并与上一次脉冲值做差,来得出速度 代码如下:【代码中的所有变量皆为int32_t 类型】 ```c /** * @brief 编码器计数,速度计算 * @param None * @retval None * @note https://blog.csdn.net/csol1607408930/article/details/112793292 M法 */ rt_int32_t walk_count; rt_int32_t walk_last_count; static void Motor_Encoder_Calculation(void) { /* 读取脉冲编码器计数值 */ rt_device_read(pulse_encoder_dev, 0, & walk_count, 1); walk.motor.get_freq = ( walk_count - walk_last_count) * 10; walk.motor.get_speed = 60 * ( walk_count - walk_last_count) * 10 / RESOLUTION; walk_last_count = walk_count; } ``` 问题点:脉冲编码器过零点问题 使用设备框架运行脉冲编码器,读取的值只有正数。那么在过零点的时候,将会变为一个较大的整数。例如32755等等。这就要去处理过零点问题。很麻烦。 过零时断点截图如下 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20220908/128c03f1e7d2fc648a7df62345a7746f.png) 解决办法:将drv_pulse_encoder.c中的宏定义 `#define AUTO_RELOAD_VALUE 0x7FFF` 改为 `#define AUTO_RELOAD_VALUE 0xFFFF` 这样在过零点时,自动溢出,将变量值变成负数。这样做出来的速度就是正确的了。 应该有个设置,速度模式或者位置模式。速度模式用0XFFFF.角度模式用0X7FFF。这样就比较合适
查看更多
StackYuan
认证专家
2022-09-09
这家伙很懒,什么也没写!
对于过零问题,处理不好会引入相当大的误差,除了引入超大差值的判断并自动纠正,也可以根据自己counter支持的模式,设置watermark,程序上可以是read and clear。
1
个回答
默认排序
按发布时间排序
撰写答案
登录
注册新账号
关注者
0
被浏览
532
关于作者
用户名由3_15位
这家伙很懒,什么也没写!
提问
53
回答
128
被采纳
17
关注TA
发私信
相关问题
1
裸机工程移植 RT-Thread
2
Keil MDK 移植 RT-Thread Nano
3
移植 Nano,rt_thread_mdelay()延迟时间不对
4
裸机工程移植 RT-Thread内核
5
关于利用0x68000000作为扩展sram?
6
STM32F413 SD 卡写入速度提升方法
7
STM32 RTC 闹钟
8
http_ota 提示no memory
9
studio中怎么把PB3 和PA15引脚设置为普通IO口使用?
10
求一份基于RTT系统封装好的STM32F1系列的FLASH操作程序
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
机器人操作系统 (ROS2) 和 RT-Thread 通信
4
国产MCU移植系列教程汇总,欢迎查看!
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
NXP MCXN947测评(二)ETH设备使用
2
【RA8D1-Vision Board】适配 LVGL V8
3
VISION BOARD 第二弹 基础工程配置和点亮一个LED灯
4
musb移植问题记录【设备注册3次挂起】
5
关于使用CherryUSB时候使用外挂的usb phy 芯片配置的一点注意事项
热门标签
RT-Thread Studio
串口
LWIP
Env
SPI
Bootloader
AT
ART-Pi
Hardfault
CAN总线
FinSH
USB
文件系统
RT-Thread
DMA
SCons
线程
RT-Thread Nano
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
ota在线升级
WIZnet_W5500
I2C_IIC
UART
flash
cubemx
packages_软件包
freemodbus
潘多拉开发板_Pandora
PWM
定时器
ADC
BSP
中断
keil_MDK
编译报错
socket
MicroPython
GD32
msh
Debug
ulog
SDIO总线
SFUD
rt_mq_消息队列_msg_queue
C++_cpp
本月问答贡献
xiaorui
7
个答案
3
次被采纳
sakumisu
4
个答案
3
次被采纳
三世执戟
31
个答案
1
次被采纳
梦笑真美
18
个答案
1
次被采纳
踩姑娘的小蘑菇
14
个答案
1
次被采纳
本月文章贡献
Z_Y
2
篇文章
5
次点赞
Alipay
2
篇文章
3
次点赞
2345vor
2
篇文章
1
次点赞
比特饼干
1
篇文章
6
次点赞
Vangaoven
1
篇文章
3
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部