STM32 TIMERS #3. ENCODER MODE || F103C8

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 ธ.ค. 2024

ความคิดเห็น • 55

  • @86Nezar
    @86Nezar 3 ปีที่แล้ว +17

    Timer counter increasing/decreasing by 4 because it counting each edges from both channels, if you change config for this timer then you should see increasing/decreasing by 2

    • @86Nezar
      @86Nezar 3 ปีที่แล้ว

      Change Encoder Mode to T1 or T2 not both if I remember correctly that means which channel is master and it is depend when timer CNT will increase for CW or CCW

    • @ControllersTech
      @ControllersTech  3 ปีที่แล้ว

      I can see how using T1 or T2 alone could work but how will it identify the jitters ?
      Since it only rely on the signal from 1 channel and then compare it with the signal from another channel at that particular instant, how will it know if it was a deliberate movement or a jitter

    • @86Nezar
      @86Nezar 3 ปีที่แล้ว

      @@ControllersTech in t1 or t2 mode timer incrementing CNT by 2 so also you will have jitter filtering, but for sure it will not be so effective like in t1 and t2 mode. From reference if you use t1 or t2 one input is used as a clock and timer increasing/decreasing CNT depends on second input level, in t1 and t2 both inputs working as a clock (edge trigger f/r) and also as a signal (low/high), if edge will occured on t1 then timer "checking" t2 level and if edge will occured on t2 timer "checking" t1 level.

    • @onuryorutken5540
      @onuryorutken5540 2 ปีที่แล้ว +1

      @@ControllersTech Manual says :
      Programmable counting rate
      x4: normal mode, all edges active
      a 1000 lines encoder will give 4000 counts per revolution
      x2: counts on input A (or B) only, but direction still determined
      with A and B
      “velocity mode”: encoder clock can be further prescaled if
      needed

  • @unholy1771
    @unholy1771 8 หลายเดือนก่อน

    the counter increases by 4 because the callback function is called upon the encoder mechanical zero, and because you used rising & falling edge detection.
    In the reference manual: "the user can obtain dynamic information (speed, acceleration,
    deceleration) by measuring the period between two encoder events using a second timer
    configured in capture mode. The output of the encoder which indicates the mechanical zero
    can be used for this purpose."

  • @hamouz718
    @hamouz718 3 ปีที่แล้ว +10

    Incredible explanation, this channel deserves more subs

  • @unknownhuman1000
    @unknownhuman1000 3 ปีที่แล้ว +3

    Your counts per click depends on the type of rotary encoder.
    My alps encounter does one count per click.
    I also have an encoder like yours which does 4 counts per click.

  • @filmweaver2013
    @filmweaver2013 9 หลายเดือนก่อน +1

    Very well explained! A lot of good information in a short video, thank you!

  • @AxGxP
    @AxGxP ปีที่แล้ว

    6:28 Why you think the prescaler will not work? Is it some documents about it? I use prescaller with value 3, and dont need to divide counter value by 4 in the future.

  • @AhmadAsmndr
    @AhmadAsmndr 11 หลายเดือนก่อน +1

    I cannot thank you enough. Your Videos are amazing.. thank you!

  • @remreergun
    @remreergun 2 ปีที่แล้ว +1

    for increasing/decreasing by 4 problem, try Prescalar(PSC) value as 4 🤗

    • @AxGxP
      @AxGxP ปีที่แล้ว

      Not 4, but 4-1=3. It really works!

  • @panamera970
    @panamera970 3 ปีที่แล้ว +2

    Thanks for very detailed explanation. Very helpful. Can you make video for PID motor control with Encoder.
    Thanks.👍

  • @_Neel_Patel_
    @_Neel_Patel_ 2 ปีที่แล้ว +1

    Please make a video on PID control.

  • @botak333
    @botak333 ปีที่แล้ว

    It posible to used incremental encorder ABI?? 600 until 2500ppr?? But i want to used CPR

  • @Fr4nzB0OM
    @Fr4nzB0OM ปีที่แล้ว

    Hi @ControllersTech I've watched many videos of yours and I have to tell that you are amazing. Very understandable and interesting videos.
    I have one question about the encoder: why sometimes I see, between one step and another of the encoder, the timer reads 3 or 5 steps, instead of 4?

  • @daniekvanderkop7220
    @daniekvanderkop7220 3 ปีที่แล้ว +1

    Hello, do you also know how to count an encoder like this with LL and not HAL? So functions won't start than with HAL_TIM_.... but with LL_TIM_..... We would like to know this because the names are a bit different then.

    • @ControllersTech
      @ControllersTech  3 ปีที่แล้ว +1

      There is more to LL than just replacing the characters "HAL" with "LL".
      You need to have good understanding of the peripheral.
      Read the reference manual for that

  • @yongxiangu6969
    @yongxiangu6969 2 ปีที่แล้ว

    How to use another timer to periodically trigger DMA to capture the value of the rotary encoder ?

  • @francescoguerrini5559
    @francescoguerrini5559 ปีที่แล้ว

    Does this work for optical encoders too?

  • @saustin98
    @saustin98 3 ปีที่แล้ว +2

    Thanks for this! What application are you using to view the PDF? I like the way it shows the index. Please let me know.

  • @MohammadNejad-h4x
    @MohammadNejad-h4x ปีที่แล้ว

    Thanks a lot for your great videos. It would be great if you could please make a video on how to read encoder with DMA. I think it is very helpful for high res encoder application

  • @hoanghoangchannels2469
    @hoanghoangchannels2469 ปีที่แล้ว

    hello why in void HAL_TIM_IC_Capture...( ... )
    { ....}
    you do not use htim2, but using htim?

  • @jackiewang7725
    @jackiewang7725 3 ปีที่แล้ว

    I don't know why it not works on my board. I have to change to TIM1 and everything works as expected. Probably hardware problems.

  • @vinayak4778
    @vinayak4778 3 ปีที่แล้ว +2

    Thanks sir for this wonderful video.❤️

  • @amanaggarwal5217
    @amanaggarwal5217 2 ปีที่แล้ว

    how would we write the same program for 2 encoders. Especially the capture function for two different timers? Can someone please paste the solution

  • @imanmamed1
    @imanmamed1 ปีที่แล้ว

    could you please make a video on encoder with DMA. thanks

  • @yusufselimyuceer1218
    @yusufselimyuceer1218 ปีที่แล้ว

    Hello, my live expressions value change 0 and 1. How can I solve it ? Do you have any ideas ?

  • @MBI99M03
    @MBI99M03 ปีที่แล้ว

    Thanks for sharing this video that is useful for me. I am wondering what software you used to code and to compile on this video. Can you share this software name to me, thanks in advance.

  • @mmt1024
    @mmt1024 3 ปีที่แล้ว

    That's much better version, definitely you deserve for more subs :P

  • @julians0
    @julians0 3 ปีที่แล้ว +1

    Some one video configuration DMA, I can't to do it

  • @ИльяСыромятин
    @ИльяСыромятин 2 ปีที่แล้ว

    It start counting clicks only after second click, after rotation start. If I do only one click, it is not counts it. STM32F413VG.
    P.S. Sorry, it was no name chinese encoder. Encoder from Bourns do it well, from the first click.

  • @jorgejacome4269
    @jorgejacome4269 3 ปีที่แล้ว

    Hi Arun
    would you be interesting to have a real encoder , i have SICK encoders that can be programmed the number of pulses per revolution ,TTL or HTL outputs . let me know your preferences and will send it to you for more of your videos and experiments
    Jorge

    • @ControllersTech
      @ControllersTech  3 ปีที่แล้ว

      Yeah sure. It would be nice to work with something like that

    • @jorgejacome4269
      @jorgejacome4269 3 ปีที่แล้ว

      @@ControllersTech How can I send 2 encoders ?

  • @space2373
    @space2373 3 ปีที่แล้ว

    Thanks . Can you make video for stepper motor speed and direction control with rotary encoder .

    • @ControllersTech
      @ControllersTech  3 ปีที่แล้ว

      There is already a video for stepper speed and direction. Just connect this one to that..

  • @prashantwaiba2290
    @prashantwaiba2290 3 ปีที่แล้ว

    Sir, kindly request you to make a video on timer triggerd adc dma and uart.

  • @juanmoreno1467
    @juanmoreno1467 ปีที่แล้ว

    how can i make it track the distance traveled

  • @walkersky8946
    @walkersky8946 ปีที่แล้ว

    My project is not work. Can y send me your project, please!

  • @fernandocatalani8295
    @fernandocatalani8295 2 ปีที่แล้ว

    Master, how may i get the direction of the encoder? Has some hal function that returns the encoder direction? Many thanks!

    • @ControllersTech
      @ControllersTech  2 ปีที่แล้ว

      It's explained in the video.. see how the count is decreasing..

  • @kamronbekumidjonov2216
    @kamronbekumidjonov2216 13 วันที่ผ่านมา

    Very good thank you

  • @suriyaa1282
    @suriyaa1282 ปีที่แล้ว

    Can I get the code

  • @eXtremeElectronics
    @eXtremeElectronics 2 ปีที่แล้ว

    Good work !

  • @ramazanyarbi
    @ramazanyarbi 5 หลายเดือนก่อน

    👏

  • @dymastro788
    @dymastro788 3 ปีที่แล้ว

    Really great channel! Like the voice

  • @ajithpinninti8845
    @ajithpinninti8845 2 ปีที่แล้ว

    Thank You so much man

  • @JoaoNelsonLima
    @JoaoNelsonLima 3 ปีที่แล้ว

    Muito bom. Parabéns

  • @2cyclone493
    @2cyclone493 8 หลายเดือนก่อน

    thanks