正交解码器-选择适当的类型

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.wsdof.com/support。我们会在接下来的几天修复bug /优化搜索和标记。
8个职位/ 0个新职位
最后发表
adam.stroz
离线
最后一次露面:11小时34分钟前
加入:2020-05-22 07:54
正交解码器-选择适当的类型

你好,

我对使用DA14531的旋转编码器有一个小问题。

如何选择合适的编码器类型?

要注意哪些参数?

这个编码器是否可以和内置的解码器一起工作(附件pdf)?我写了一个简单的程序,它计算脉冲错误(例如12 24 36)

示例代码:

void quad_decoder_user_callback_function(int16_t qdec_xcnt_reg, int16_t qdec_ycnt_reg, int16_t qdec_zcnt_reg) {arch_printf("\n\r DX: ");arch_printf("%i %i\n\r",qdec_xcnt_reg >> 8,qdec_xcnt_reg & 0xFF);quad_decoder_enable_irq (1);} void quad_decoder_init_enc(void){QUAD_DEC_INIT_PARAMS_t quad_dec_init_param ={。chx_port_sel = QUAD_DEC_CHXA_P08_AND_CHXB_P09, .chy_port_sel = quad_dec_chya_none_and_chzb_none, .chz_port_sel = QUAD_DEC_CHZA_NONE_AND_CHZB_NONE, .qdec_clockdiv = 0, .qdec_events_count_to_trigger_interrupt = 1,};quad_decoder_init (&quad_dec_init_param);quad_decoder_register_callback (quad_decoder_user_callback_function);quad_decoder_enable_irq (1);}

设备:
PM_DIALOG.
离线
最后一次露面:14小时14分钟前
工作人员
加入:2018-02-08 11:03
嗨adam.stroz,

嗨adam.stroz,

请检查DA14531 datasheet 3:绝对最大评级和表4:推荐运行条件。考虑到编码器可以连接到任何DA4531引脚,你应该检查输入通道的输出是否符合DA14531引脚的规格。

我建议先检查一下UM-B-119: DA14585-DA14531 SW平台参考和5.10节。求积译码器的例子。您能够运行SDK示例吗?请看表15 HDK跳线配置正交解码器。

谢谢,PM_DIALOG.

adam.stroz
离线
最后一次露面:11小时34分钟前
加入:2020-05-22 07:54
你好,

你好,

是的,我运行了这个例子,它也显示了不好的值。我在我的定制PCB上运行程序,这里是示例读数(消息是在旋转编码器4步后发送的,而不是它应该是一个)

Dx: 0 4 Dx: 0 18 Dx: 0 28 Dx: 0 37 Dx: 0 50 Dx: 0 52 Dx: 0 70

PM_DIALOG.
离线
最后一次露面:14小时14分钟前
工作人员
加入:2018-02-08 11:03
嗨adam.stroz,

嗨adam.stroz,

请您指出您正在使用的pinout好吗?是P06 (CHX_A)和P05 (CHX_B)吗?你有没有试着在我们的DK上运行它,看看是否有什么不同?

谢谢,PM_DIALOG.

adam.stroz
离线
最后一次露面:11小时34分钟前
加入:2020-05-22 07:54
目前我正在使用这个

目前我正在使用这个pinout:

的#define ENCODER_SW_PORT GPIO_PORT_0的#define ENCODER_A_PIN GPIO_PIN_9的#define ENCODER_B_PIN GPIO_PIN_8 /////////////////////////////// GPIO_ConfigurePin(ENCODER_SW_PORT,ENCODER_A_PIN,INPUT_PULLUP,pid_gpio,true);gpio_configurepin(encoder_sw_port,encoder_b_pin,input_pullup,pid_gpio,true);///// ////////////////////////// quad_dec_chxa_p08_and_chxb_p09.

你是什​​么意思“你试图在我们的dk中运行它来检查是否有任何区别?”

图在附件。

附件:
PM_DIALOG.
离线
最后一次露面:14小时14分钟前
工作人员
加入:2018-02-08 11:03
嗨adam.stroz,

嗨adam.stroz,

不好意思,我想把编码器放在Pro-DK上进行测试。我猜你用的是定制板吧。

能否使用SDK提供的一个干净的quadrature_decoder项目,只做以下修改?P08用于UART2。

项目位置:6.0.14.1114\projects\target_apps\peripheral_examples\quadrature_decoder\Keil_5

在user_periph_setup.h:

#define quadrature_encoder_chx_pin GPIO_PIN_5 #define QUADRATURE_ENCODER_CHX_A_PORT GPIO_PIN_8 #define QUADRATURE_ENCODER_CHX_B_PORT GPIO_PORT_0 #define QUADRATURE_ENCODER_CHX_B_PORT GPIO_PIN_9 #define quadrature_encoder_chx_p08_and_chxb_p09

谢谢,PM_DIALOG.

adam.stroz
离线
最后一次露面:11小时34分钟前
加入:2020-05-22 07:54
正交解码器/ WKUP
Quadrature Decoder / WKUP控制器SW3按钮启动/停止Quadec轮询SW2按钮终止Quadec测试Quadrature Decoder test开始!按SW2键终止测试。Quadec ISR报告:>第一编码器转DX: 0002 DY: 0000 DZ: 0000 Quadec ISR报告:>第四编码器转DX: 0015 DY: 0000 DZ: 0000 Quadec ISR报告:>第八编码器转DX: 0023 DY: 0000 DZ: 0000

我测试了你的提议(一个干净的quadrature_decoder例子,我只改变编码器和uart引脚),编码器仍然不能正常工作…我只在转(向左或向右)编码器四次(有时是在一次转后)时才看到事件。在附件示波器图表(A和B编码器引脚在蓝色和黄色线,第一张图片显示第一个转弯,第二张图片显示下一个转弯)。也许我用错了编码器?

附件:
PM_DIALOG.
离线
最后一次露面:14小时14分钟前
工作人员
加入:2018-02-08 11:03
嗨adam.stroz,

嗨adam.stroz,

感谢您到达论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有的帖子和账号已经迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程//www.wsdof.com/support

我们会在接下来的日子里修复bug /优化搜索和标记。

此票已张贴于:https://www.dialog-seminile.com/produ雷电竞官网登录cts/bluetooth-low-energy?post_id=11435#tab-support_tab_content.

您的最后一条评论没有同步,所以我将代表您创建一个副本(附附件)。

我会尽快在新的论坛线程上回复你。

谢谢,PM_DIALOG.