Hello,
我对使用DA14531的旋转编码器有一个小问题。
How to choose the right type of encoder?
要注意哪些参数?
Whether this encoder will work with the built-in decoder (pdf in attachment)? I wrote a simple program and it counts impulses wrong (e.g. 12 24 36)
Sample code here:
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); }
Device:
Hi adam.stroz,
Please check the DA14531 datasheet Table 3: Absolute Maximum Ratings and Table 4: Recommended Operating Conditions. Given that the encoder can be connected to any of the DA4531 pins, you should check that the output of the input channels are according to DA14531 pin specifications.
I would recommend first checking theUM-B-119: DA14585-DA14531 SW Platform Referenceand section 5.10. Quadrature Decoder Example. Are you able to run the SDK example? Take a look at Table 15 HDK jumper configuration Quadrature decoder.
谢谢,PM_DIALOG.
Hello,
是的我跑这个例子,它还显示坏的价值es. I run the program on my custom PCB, here are sample readings (the message is sent after turning the encoder by 4 steps, not one as it should be)
Hi adam.stroz,
Can you please indicate the pinout that you are using? Is it P06 (CHX_A) and P05 (CHX_B)? Did you try to run it in our DK to check if there is any difference?
谢谢,PM_DIALOG.
Currently i'm using this pinout:
你是什么意思“你试图在我们的dk中运行它来检查是否有任何区别?”
Diagram in attachment.
Hi adam.stroz,
Sorry for the confusion – I meant to put the encoder on the Pro-DK and test it. I assume that you have a custom board.
Can you please use a clean quadrature_decoder project as provided by the SDK and do only the following modifications? The P08 is used for the UART2.
Project location : 6.0.14.1114\projects\target_apps\peripheral_examples\quadrature_decoder\Keil_5
In user_periph_setup.h :
谢谢,PM_DIALOG.
I tested your proposition (a clean quadrature_decoder example, i change only encoder and uart pins), and encoder still doesn't work properly... I see an event only when turn (left or right) encoder four times (sometimes after one turn). In attachment oscilloscope diagrams (A and B encoder pins on blue and yellow lines, the first picture shows first turn, second pictures shows next turns). Maybe i have the wrong type of encoder?
Hi adam.stroz,
感谢您到达论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程//www.xmece.com/support
We’ll be fixing bugs / optimizing the searching and tagging over the coming days.
This ticket has been posted on :https://www.dialog-seminile.com/produ亚博电竞菠菜cts/bluetooth-low-energy?post_id=11435#tab-support_tab_content.
Your last comment is not sync-up, so I’ll create a copy (with the attachment) on behalf of you.
我会尽快在新的论坛线程上回复你。
谢谢,PM_DIALOG.