使用stm32,l298n驅動與可編碼減速電機進行電機pid調速。
為什麼要pid調速?
直接接電源的電機存在執行時阻力的變化、外力等因素,通常不能維持在恆定速度,可能肉眼覺得接上恆定電源電機速度也恆定,但對於車來說,四個電機不可能做到輸入相同電壓達到相同轉速,因此通過pwm動態調整。而pid演算法就是利用比例、微分、積分使各電機更加平穩的在指定速度行駛,應用範圍很廣。
由l298n的in1、in2口接stm32任意兩個gpio口通過高低電平進行轉向調整,ena電機1使能埠接stm32的pwm輸出控制速度。
減速電機編碼器a,b埠接stm32gpio針腳,通過定時器中斷獲取計數,運用pid演算法微分積分控制電機轉速。
寒假裡stm32沒好好學(hhh乙個人在家適合做web),環境搭建,jlink除錯~~很多坑剛剛才踩,在實驗室有超級大佬的貼心指導少走很多彎路(他們都用cubemx我卻還只會用庫函式,clion真的香)。
今天只完成了轉向變換和ena介面pwm調速(後期需要用pid演算法調速,現在先用按鍵水一水)。現在要攻克的是通過編碼相a和相b獲取計數(tim_getcapture3(timx); ),具體工程檔案和**等這個任務完成放出來。去學hal庫,(jetbrains的ide太太太太香了,student license太太太太太香了)
為什麼keil就沒有這麼美的介面!!!!沒有學生優惠!!!!
STM32 電機 PID簡單過程說明
以前做比賽的時候初步了解過pid,但是沒事沒有仔細去學習,後面一直想學都沒時間,只是偶爾去了解下,現在終於有時間學習順便做下記錄。stm32f103c8t6微控制器 某寶買的編碼電機 tb6612電機驅動 首先是微控制器時鐘和中斷設定,然後電機運轉需要兩個io口形成電壓差控制電機正反轉。一路pwm控...
stm32控制電機
使用埠gpioa來連線電機,所以給gpioa程式設計就可以控制電機。使用系統時鐘systick來週期性的給電機傳送脈衝。用四個按鈕來控制需要傳送脈衝的個數,每個按鈕被按下就設定給電機傳送脈衝的個數,如果上一次給電機傳送的脈衝沒有傳送完成,這次按鈕傳送的脈衝將不被響應。由於需要控制兩個電機,所以將gp...
STM32除錯PID心得
近來從機械轉為電子開始除錯底盤,底盤的控制程式已寫好,我要做的工作主要是調引數。看過很多pid的書,理論基本一樣響應慢就加大p值,而在速度控制中基本都不用d即微分,因為電機速度太快了,d值起不了作用的。相應的誤差較大時則增大i值。道理就是這麼個理兒。但可能很多人都不知道p值是有兩個的乙個加速用,乙個...