你好,
我对使用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_CHYB_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,
表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引脚),编码器仍然不能正常工作…我只在4次转向(左或右)编码器时才看到事件(有时是在一个转弯之后)。在附件示波器图表(A和B编码器引脚上的蓝和黄线,第一图显示第一个转弯,第二图显示下一个转弯)。也许我有错误类型的编码器?
嗨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.