你好,
我有一个关于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);}
设备:
嗨adam.stroz,
请检查DA14531 datasheet 3:绝对最大评级和表4:推荐运行条件。考虑到编码器可以连接到任何DA4531引脚,你应该检查输入通道的输出是否符合DA14531引脚的规格。
我建议先检查一下UM-B-119: DA14585-DA14531 SW平台参考和5.10节。求积译码器的例子。您能够运行SDK示例吗?请看表15 HDK跳线配置正交解码器。
谢谢,PM_Dialog
你好,
是的,我运行了这个例子,它也显示了不好的值。我在我的定制PCB上运行程序,这里是示例读数(消息是在旋转编码器4步后发送的,而不是它应该是一个)
嗨adam.stroz,
请您指出您正在使用的pinout好吗?是P06 (CHX_A)和P05 (CHX_B)吗?你有没有试着在我们的DK上运行它,看看是否有什么不同?
谢谢,PM_Dialog
目前我正在使用这个pinout:
你的意思是“你有没有试着在我们的DK上运行它,看看是否有什么不同?”
图在附件。
嗨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:
谢谢,PM_Dialog
我测试了你的提议(一个干净的quadrature_decoder例子,我只改变编码器和uart引脚),编码器仍然不能正常工作…我只在转(向左或向右)编码器四次(有时是在一次转后)时才看到事件。在附件示波器图表(A和B编码器引脚在蓝色和黄色线,第一张图片显示第一个转弯,第二张图片显示下一个转弯)。也许我用错了编码器?
嗨adam.stroz,
感谢你来论坛发帖。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请在//www.wsdof.com/support
我们会在接下来的日子里修复bug /优化搜索和标记。
此票已张贴于://www.wsdof.com/雷电竞官网登录products/bluetooth-low-energy?post_id=11435#tab-support_tab_content
您的最后一条评论没有同步,所以我将代表您创建一个副本(附附件)。
我会尽快回复你在新的论坛线程。
谢谢,PM_Dialog