論壇首頁 綜合技術論壇

好玩的stm32直流電機驅動與測速

瀏覽 1431 次
精華帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隱藏帖 (0)
作者 正文
   發表時間:2020-08-21   最后修改:2020-08-21
  stm32直流電機驅動與測速

  說實話就現在的市場應用中stm32已經占到了絕對住到的地位,51已經成為過去式,32的功能更加強大,雖然相應的難度有所增加,但是依然阻止不了大家學習32的腳步,不說大話了這些大家都懂要不然也不會學習stm32的人那么多!!!

  進入我們今天的主題,今天給大家介紹的是stm32中一個很小但是比較實用的stm32直流電機驅動與測速,話不多說先給大家上一段直流電機控制的代碼。

  void pwm_ARRPreloadConfig(void)

  {

  PrescalerValue = (uint16_t) (SystemCoreClock /TIM2_rate) - 1;

  //設定的是定時器的頻率,要設定pwm的頻率為50hz要乘以對

  //應的arr值

  TIM_TimeBaseStructure.TIM_Prescaler = PrescalerValue; //TIM_Prescaler

  設置了用來作為TIMx時鐘頻率除數的預分頻值

  TIM_TimeBaseStructure.TIM_Period = PWM_ARR;

  //設置了在下一個更新事件裝入活動的自動重裝載寄存器周期的值

  TIM_TimeBaseStructure.TIM_ClockDivision = 0;

  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;//向上計數模式

  TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);

  TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;

  TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;

  TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;

  TIM_OC3PreloadConfig(TIM2, TIM_OCPreload_Enable); //pwm3已經調好可以用 PB0

  TIM_OC4PreloadConfig(TIM2, TIM_OCPreload_Enable); //pwm4已經調好可以用 PB1

  TIM_ARRPreloadConfig(TIM2, ENABLE);

  TIM_Cmd(TIM2, ENABLE);

  }

  123456789101112131415161718192021222324252627282930313233

  這段代碼是關于PWM來控制電機的,相信有很多朋友可以直接拿去用,如果對這一段代碼有什么地方不懂可以參照針對stm32直流電機控制與測速的專門錄的視頻


  STM32電機驅動與測速:
   http://www.makeru.com.cn/live/1392_1218.html?s=45051


  可能有些朋友會說你就是為了讓大家看這個視頻,對沒錯

  我不否認,為什么呢?因為完全靠寫我是很難表達清楚其中的一些細節,對于會的人來說細節不重要完全不用看就會,正所謂難者不會會這不難,對于不會的朋友某一個點不清楚那就拜拜了,沒戲。

  只適合初級新手朋友老油條對這種方式不喜勿噴。
論壇首頁 綜合技術版

跳轉論壇:
Global site tag (gtag.js) - Google Analytics 开心农场种蔬菜赚钱 pk10前五后五必中技巧 江西11选5玩法规则 江苏彩票快三 燕赵福彩排列七走势图 黑龙江体彩11选5预测器 浙江11选5有什么诀窍没有 兼职赚钱 排列五进30期走势图 十一运夺金计划稳赚追号 游侠股市模拟炒股 pc蛋蛋诀窍 股票配资平台开发电微178-5613-9019 广东十一选五技巧 彩票软件 浙江省体彩十一选五开奖结果