STM32 TIMERS #3. ENCODER MODE || F103C8

Ғылым және технология

Purchase the Products shown in this video from :: controllerstech.store
________________________________________________________________________________________
Check out more VIDEOS on TIMERS in STM32 • STM32 TIMERS
To download the code, goto github.com/controllerstech/ST...
Watch the previous video with encoder and servo • Incremental Encoder an...
________________________________________________________________________________________
****** SUPPORT US BY DONATING*****
paypal.me/controllertech
******Join the Membership******
/ @controllerstech
Join the Discord Server / discord
Join the Telegram Group t.me/controllerstechdiscuss
Follow me on Instagram / controllerstech
For more info, visit www.controllerstech.com

Пікірлер: 57

  • @86Nezar
    @86Nezar3 жыл бұрын

    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 жыл бұрын

    @@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

  • @hamouz718
    @hamouz7183 жыл бұрын

    Incredible explanation, this channel deserves more subs

  • @filmweaver2013
    @filmweaver20133 ай бұрын

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

  • @AhmadAsmndr
    @AhmadAsmndr5 ай бұрын

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

  • @mmt1024
    @mmt10243 жыл бұрын

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

  • @vinayak4778
    @vinayak47783 жыл бұрын

    Thanks sir for this wonderful video.❤️

  • @unholy1771
    @unholy17713 ай бұрын

    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."

  • @unknownhuman1000
    @unknownhuman10002 жыл бұрын

    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.

  • @eXtremeElectronics
    @eXtremeElectronics2 жыл бұрын

    Good work !

  • @panamera970
    @panamera9703 жыл бұрын

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

  • @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.

  • @rick_er2481
    @rick_er24813 жыл бұрын

    Really great channel! Like the voice

  • @botak333
    @botak3339 ай бұрын

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

  • @ajithpinninti8845
    @ajithpinninti8845 Жыл бұрын

    Thank You so much man

  • @Fr4nzB0OM
    @Fr4nzB0OM9 ай бұрын

    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?

  • @JoaoNelsonLima
    @JoaoNelsonLima3 жыл бұрын

    Muito bom. Parabéns

  • @user-ty9jd8sx6x
    @user-ty9jd8sx6x7 ай бұрын

    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

  • @remreergun
    @remreergun Жыл бұрын

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

  • @AxGxP

    @AxGxP

    Жыл бұрын

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

  • @ramazanyarbi
    @ramazanyarbi15 күн бұрын

    👏

  • @yongxiangu6969
    @yongxiangu69692 жыл бұрын

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

  • @_Neel_Patel_
    @_Neel_Patel_2 жыл бұрын

    Please make a video on PID control.

  • @amanaggarwal5217
    @amanaggarwal52172 жыл бұрын

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

  • @2cyclone493
    @2cyclone4933 ай бұрын

    thanks

  • @jackiewang7725
    @jackiewang77252 жыл бұрын

    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.

  • @francescoguerrini5559
    @francescoguerrini555910 ай бұрын

    Does this work for optical encoders too?

  • @hoanghoangchannels2469
    @hoanghoangchannels24697 ай бұрын

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

  • @imanmamed1
    @imanmamed1 Жыл бұрын

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

  • @yusufselimyuceer1218
    @yusufselimyuceer12189 ай бұрын

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

  • @daniekvanderkop7220
    @daniekvanderkop72202 жыл бұрын

    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

    2 жыл бұрын

    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

  • @prashantwaiba2290
    @prashantwaiba22903 жыл бұрын

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

  • @julians0
    @julians03 жыл бұрын

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

  • @MBI99M03
    @MBI99M038 ай бұрын

    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.

  • @space2373
    @space23732 жыл бұрын

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

  • @ControllersTech

    @ControllersTech

    2 жыл бұрын

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

  • @saustin98
    @saustin983 жыл бұрын

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

  • @ControllersTech

    @ControllersTech

    3 жыл бұрын

    Okular

  • @user-hw7vm6mb1b
    @user-hw7vm6mb1b2 жыл бұрын

    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.

  • @user-vi2zd5go2o
    @user-vi2zd5go2o Жыл бұрын

    can you explain how frequency can be measured of encoder signal using input capture mode..?

  • @ControllersTech

    @ControllersTech

    Жыл бұрын

    See the input capture video for that

  • @user-vi2zd5go2o

    @user-vi2zd5go2o

    Жыл бұрын

    ​@@ControllersTech i have seen input capture mode from controllers tech still iam unable to get frequency of an rotary encoder signal

  • @jorgejacome4269
    @jorgejacome42693 жыл бұрын

    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 ?

  • @fernandocatalani8295
    @fernandocatalani82952 жыл бұрын

    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..

  • @walkersky8946
    @walkersky8946 Жыл бұрын

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

  • @juanmoreno1467
    @juanmoreno14678 ай бұрын

    how can i make it track the distance traveled

  • @ControllersTech

    @ControllersTech

    7 ай бұрын

    use maths (RPM, circumferece, etc..)

  • @suriyaa1282
    @suriyaa12826 ай бұрын

    Can I get the code

Келесі