STM32 TIMERS #1. PWM Output || DMA

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

Purchase the Products shown in this video from :: controllerstech.store
________________________________________________________________________________________
Check out more Videos on STM32 TIMERS • STM32 TIMERS
To download the code, goto controllerstech.com/pwm-in-st...
Interface WS2812 RGB LED :::: • WS2812 LED with STM32 ...
________________________________________________________________________________________
****** 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

Пікірлер: 98

  • @God_controls_all
    @God_controls_all3 жыл бұрын

    ControllersTech! You never disappoint. Thanks a bunch....

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

    the best explenation i have seen , thank you !

  • @luizazeredo5197
    @luizazeredo51973 жыл бұрын

    Suas aulas e demostração me ajudam muito ,muito obrigado, sou do Brasil 🇧🇷 e agradeço muito 👍👍

  • @firstprinciples9854
    @firstprinciples98542 жыл бұрын

    Such quality content. Nice work. Thanks.

  • @enginar4900
    @enginar49002 жыл бұрын

    Thank you very much, I searched just for this all the day. Problem solved!

  • @offensivebias3965
    @offensivebias39658 ай бұрын

    Thanks for the formulas , there so easy to understand .

  • @lukeearthcrawler896
    @lukeearthcrawler8963 жыл бұрын

    Wonderful tutorial, as usual! :D

  • @knightdaleknights44
    @knightdaleknights442 жыл бұрын

    Because the output control value changes the moment the CCRx value is reached and the moment the timer overflows, and the timer doesn't overflow until the clock edge after the ARR value is reached, the Duty Cycle should equal CCRx/(ARR+1) and not CCRx/ARR. By adding the "-1" to the "Period" configuration parameter, you are technically setting the ARR value to be one less than what your calculation is using. So when you set the period equal to "10-1", the ARR value is technically 9 (and not 10 as you suggest. And so the equation should have (ARR+1) in the denominator.

  • @omaiswaseem122
    @omaiswaseem12211 ай бұрын

    Best tutorial was so simple to implement

  • @user-jy6pn7mn4u
    @user-jy6pn7mn4u3 жыл бұрын

    Great tutorial bro. THX

  • @mail87523
    @mail875233 жыл бұрын

    Great tutorial !!!

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

    very nice tutorial thank you

  • @CaliBeta
    @CaliBeta2 жыл бұрын

    great video 👏

  • @user-mt3bg4we3q
    @user-mt3bg4we3q3 жыл бұрын

    Nice Video. Thanks.

  • @SergioLopez-vy7xm
    @SergioLopez-vy7xm Жыл бұрын

    very good job

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

    thanku so much

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

    useful thanks

  • @Tristoo
    @Tristoo2 жыл бұрын

    ooh damn, when I heard the robot voice I thought this was gonna be a garbage video but your english is actually spot on. perhaps speed it up just a little bit in the future?

  • @dimaabualfoul9281
    @dimaabualfoul928110 ай бұрын

    Thank you very much! I applied each step but with the DMA part I got only 5 pulses (10,..50)us with a period of 200us, is there a specific setting I should add to the DMA controller? thanks again

  • @sangitamainali2844
    @sangitamainali28442 жыл бұрын

    can you tell me ...what will be the prescaler and counter period for 1 min?

  • @user-de5du8yb2s
    @user-de5du8yb2s10 ай бұрын

    7:16 what program did you use to see pulse wave??

  • @kartikeyyendhe1840
    @kartikeyyendhe18405 ай бұрын

    How do you select the value of prescaler??

  • @alexandrev.3332
    @alexandrev.3332 Жыл бұрын

    There is a error, if you not put DMA Request Settings changing from Normal to Circular the 10 different PWM not work.

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

    hi, I am a beginner , can you please explain, how many clocks are there, what is internal and external clock, what are the channels, PLL,

  • @sridharmakkapati6586
    @sridharmakkapati65863 жыл бұрын

    What's tool used to see the wave form

  • @abdulhai2201
    @abdulhai22013 жыл бұрын

    Use 32f103 ADC read pwm control

  • @alexandrev.3332
    @alexandrev.3332 Жыл бұрын

    I am using logic analyzer like yours, i put trigger and see the different pwms 10%, 20% to 90% one time, not in cycle, don´t work like you explain, stops and do only one time this presentation. Have to set OUTPUT COMPARE PRELOAD to enable because if you set to disable will not work. So this works only one time and not repeat the signals.

  • @janmipunkalani5349
    @janmipunkalani53492 жыл бұрын

    can you tell me, what is the name of that signal-generating software

  • @hsenaed6894
    @hsenaed68943 жыл бұрын

    Please explain to me the xor mode

  • @huseyinulupinar392
    @huseyinulupinar3923 жыл бұрын

    First of all, it's a very good video. but for example can it take a value processed inside the while loop as pwm with dma?

  • @ControllersTech

    @ControllersTech

    3 жыл бұрын

    Yes why won't it ? Just update the pwmData at any point in the entire code. The DMA has been assigned with the address if the buffer, not the value. So its doesn't matter what value you pass.

  • @huseyinulupinar392

    @huseyinulupinar392

    3 жыл бұрын

    @@ControllersTech You are perfect :) thanks...

  • @rahulrajeeva1863
    @rahulrajeeva18637 ай бұрын

    where to get the user manual, which document you found the "14.4.11 TIM1 and TIM8 prescaler"

  • @ControllersTech

    @ControllersTech

    7 ай бұрын

    User manual for your controller can be downloaded from ST's website. You should have it before you start programming.

  • @MsSuperasdfghjkl
    @MsSuperasdfghjkl11 ай бұрын

    Hi. I have a STM32L462 custom board with 40Mhz clock setup. I need to generate pwm for 9600,19200,38400 and 76800 hz. First 3 works fine but 76800 doesnt work. Used a counter to verify. It counts upto 50270 or 51000 only. Its not a very high frequency. So why is there a issue!? Can someone help me!?

  • @sajalqasim3540
    @sajalqasim35405 ай бұрын

    can we use pwm in fsk transmitter? if yes can you please guide us a little?

  • @ControllersTech

    @ControllersTech

    5 ай бұрын

    You can use, but you need another hardware which takes the pwm as input and modifies the frequency of the signal based on the input width.

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

    Pls can u upload a use case of multibufferstartIT to generate pwm . I don't really get it and documentation is very poor from st not a single example

  • @mail87523
    @mail875233 жыл бұрын

    How to make an ac dimmer with PWM please make video !!!

  • @truongtansang7500
    @truongtansang75003 жыл бұрын

    Thanks for this video. I have a question. What type of Logic Analyzer in this video?

  • @ControllersTech

    @ControllersTech

    3 жыл бұрын

    Sealogic

  • @bhargavipedada5109

    @bhargavipedada5109

    8 ай бұрын

    Can we do it in Digital Oscilloscope?@@ControllersTech

  • @ControllersTech

    @ControllersTech

    8 ай бұрын

    Yeah why not

  • @yudhahamdiarzi5553
    @yudhahamdiarzi55533 жыл бұрын

    Great tutorial, can I use it to control DC motor?

  • @timowolff1105

    @timowolff1105

    2 жыл бұрын

    Certainly!

  • @Hfgh564

    @Hfgh564

    2 жыл бұрын

    This is exactly what you need to use to control step motors. Also same technique with floating duty cycle used to make breathing leds

  • @icollided
    @icollided7 ай бұрын

    What software are you using to get the waveforms? I've been using an actual oscilloscope, and it is fine, but having that built into your software looks nice.

  • @ControllersTech

    @ControllersTech

    7 ай бұрын

    Its actually a hardware, logic analyzer. The software is complementary.

  • @icollided

    @icollided

    7 ай бұрын

    @@ControllersTech cool! Thanks. That actially just reminded me that the scope I got has software thay goes with it that I never bothered installing. I should probably try it out.

  • @dhruvsharma6031
    @dhruvsharma60313 жыл бұрын

    is this window 11 ??

  • @alexandrev.3332
    @alexandrev.3332 Жыл бұрын

    I can send my code to see if there is another problem to run like yours

  • @surajjadhav4529
    @surajjadhav45292 жыл бұрын

    Which software you used to see waveforms?

  • @ControllersTech

    @ControllersTech

    2 жыл бұрын

    I used a logic analyzer. The software is complementary

  • @embedded_eng
    @embedded_eng7 ай бұрын

    This is why it does not work for some other users; HAL_TIM_PWM_Start_DMA function have to be in the while loop, Otherwise it does not output any signal.

  • @ControllersTech

    @ControllersTech

    7 ай бұрын

    It shouldn't. That defies the purpose of calling the DMA function.

  • @bakisha
    @bakisha3 жыл бұрын

    What is the lower limit of DMA controller? Is it able to push data to CCR1 register, if prescaler is 0 (1) and ARR register is 15 (16 ticks)?

  • @ControllersTech

    @ControllersTech

    3 жыл бұрын

    You mean how fast the DMA would be able to transfer the data ? There is no definitive answer to that. Also i haven't seen anywhere ST mentioning this. It depends on a lot of factors like your CPU clock, your GPIO speed, the data size etc. So best way is to test yourself.

  • @bakisha

    @bakisha

    3 жыл бұрын

    @@ControllersTech I was just curious what is the limit of stm32f103c8. But you are right, testing is best way to see. I'll test it on bluepill (clone), so tnx for the video.

  • @statstopfinish
    @statstopfinish2 жыл бұрын

    How to use DMA to change pulse frequency? DMA changes the value in the CCR register, how to switch the DMA to change in the ARR register?I want to use Timers and DMA to generate pulses for a stepper motor. For a normal start of the stepper motor, you need to smoothly increase the frequency to the specified one and also stop it by smoothly reducing the frequency. STM has Application note AN2820 how to implement this using DMA and timer. But I want to see a video tutorial on how to do it. Can you give a tutorial on how to change the frequency and tune the duty cycle using DMA? thanks

  • @ControllersTech

    @ControllersTech

    2 жыл бұрын

    I'll check it out

  • @mehmetcan2240
    @mehmetcan22403 жыл бұрын

    What is the name of the program you are using to see the signal

  • @ControllersTech

    @ControllersTech

    3 жыл бұрын

    It's a logic analyzer.

  • @FunSpark-Horizon
    @FunSpark-Horizon3 жыл бұрын

    Does anyone know why STM32 MCUs are so rare to find for the past couple of months?

  • 2 жыл бұрын

    There is a chip shortage. Too high demand for chips and the production is lagging behind. I saw certain chips with >52 weeks lead time...

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

    Hi I have tried same method only. But I am not getting any pulse, can you please help me

  • @ControllersTech

    @ControllersTech

    Жыл бұрын

    check if you have started the timer in PWM mode or not.

  • @pranavdhage9858
    @pranavdhage98582 жыл бұрын

    Can we change frequency (variable frequency)as we changed the duty cycle?

  • @ControllersTech

    @ControllersTech

    2 жыл бұрын

    You can use __HAL_TIM_SET_PRESCALER to change the prescalar.

  • @riehdjcnxnxdien3439

    @riehdjcnxnxdien3439

    2 жыл бұрын

    @@ControllersTech can i change frequency with dma ?

  • @17_gilangrizkisaputra87
    @17_gilangrizkisaputra876 ай бұрын

    What is the name of your application that you use to see PWM signal waves?

  • @ControllersTech

    @ControllersTech

    6 ай бұрын

    Its a hardware, logic analyzer

  • @17_gilangrizkisaputra87

    @17_gilangrizkisaputra87

    6 ай бұрын

    @@ControllersTech That's cool, thanks mann

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

    ACTUALLY AUTO INSTRUCTIONS ARE NOT COMMING IN MY PROGRAMMING WHAT I DO? ALTHOW I TAP CRTL+SPACE. PLEASE REPLY. IT SHOWS NO DEFAULT PROPOSAL

  • @ControllersTech

    @ControllersTech

    Жыл бұрын

    The cubeide does not auto complete the instructions, you have to press the ctrl + space. Whenever you generate the code from cubemx, build the project once before writing the code.

  • @prasadgawade7752

    @prasadgawade7752

    Жыл бұрын

    @@ControllersTech thank you I will try.

  • @tandungbui5694
    @tandungbui56949 ай бұрын

    7:10 what's the name of app that show the wave?

  • @ControllersTech

    @ControllersTech

    9 ай бұрын

    Saleae

  • @nicolosantilio4649
    @nicolosantilio46492 жыл бұрын

    Hi, what if I want to control a 50Hz motor with an stm32 which has 16Mhz Clock?

  • @ControllersTech

    @ControllersTech

    2 жыл бұрын

    Use prescalar and arr to bring the clock down to 50 Hz. Check out the servo motor video in this playlist

  • @nicolosantilio4649

    @nicolosantilio4649

    2 жыл бұрын

    @@ControllersTech ok so to adapt your video to my needing a i would do 16MHz/50Hz = 320 000. To divide it between the Prescaler and ARR i could do PSC = 8-1 and ARR = 40000-1. But then how to set the duty cycle (ex. 50%) ? Tmr1->CCR = 20000?

  • @ControllersTech

    @ControllersTech

    2 жыл бұрын

    Yes you got it correct

  • @nicolosantilio4649

    @nicolosantilio4649

    2 жыл бұрын

    @@ControllersTech oh thanks ;) 🙏

  • @nicolosantilio4649

    @nicolosantilio4649

    2 жыл бұрын

    @@ControllersTech So the reason why you are able to write 30, 50 and they are actually 30% and 50% duty cycle is just because you have ARR = 100 right? So if I wanted to have the same thing I could write tmR1-> CCR = (x) / 40000 * 100 ? Or am I wrong?

  • @alexandrev.3332
    @alexandrev.3332 Жыл бұрын

    Hello, I tryed the part of the code using DMA on STM32F407VET6 and don´t work. I did all the steps, i need help. The other things worked, but DMA not, maybe there is some more configuration to do but i not discover.

  • @ControllersTech

    @ControllersTech

    Жыл бұрын

    Check if the interrupt for the respective DMA channel is enabled in the NVIC settings. If not, then enable it and give it some priority. I think the cube have changed some configurations in the recent updates.

  • @alexandrev.3332

    @alexandrev.3332

    Жыл бұрын

    @@ControllersTech DMA2 Stream1 Global Interrupt in NVIC is gray and maked but i can´t clean or set, not possible. My version of Cube IDE is 1.10.1

  • @alexandrev.3332

    @alexandrev.3332

    Жыл бұрын

    @@ControllersTech It runs one time, but not repeat the pulses again and again, only one time.

  • @alexandrev.3332

    @alexandrev.3332

    Жыл бұрын

    @@ControllersTech i did but the pwms appear but one time only and with trigger

  • @ControllersTech

    @ControllersTech

    Жыл бұрын

    Need to see the code. Either open a thread on the website, or ask in the telegram/discord groups. Links are in the description

  • @luismoiseslopezlopez9329
    @luismoiseslopezlopez93293 жыл бұрын

    oh, then that´s the reason that I can´t watch the first video about PWM

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

    There are showing an error during debug of code - ''no st-link detected please connect st-link and start the debug session''. How to solve, plz guide to overcome from this error

  • @ControllersTech

    @ControllersTech

    Жыл бұрын

    As the error says. Connect the st link.

  • @brothersofficial7926

    @brothersofficial7926

    Жыл бұрын

    Sir another question - from where we can see the PWM pulse after debugging of that code... I mean do we need to install another application??or can we get that in lDE only??

  • @brothersofficial7926

    @brothersofficial7926

    Жыл бұрын

    @@ControllersTech how i link them

  • @ControllersTech

    @ControllersTech

    Жыл бұрын

    You need to have some hardware like oscilloscope or at least a signal analyzer. Then just connect the pwm output to the analyzer and view the waveform in it's software

  • @brothersofficial7926

    @brothersofficial7926

    Жыл бұрын

    @@ControllersTech thanks for all

  • @ScienceDiscoverer
    @ScienceDiscoverer6 күн бұрын

    The meme voice is kind of distracting.

Келесі