// pid引數初始化
void init_pid(pid*p, float kp, float ki, float kd)
// 設定期待的值
void pid_set_speed(pid* p, float val)
// 增量式pid核心演算法,返回增量
float pid_update(pid*p, float actual)
那怎麼使用????
比如,我想通過電機吹動一塊紙板,通過吹出的角度來控制pwm.....
辣麼,怎麼辦咧???
首先,找出每一度對應的pwm。 我們可以將pwm的占空比調到100%,看能吹出多大角度;
然後,最大的pwm的值 / 最大的角度 = 每一度對應的pwm值。。。(這個pwm值不一定是100,可以是1000,2000,看你的定義)
最後,將pwm和pid輸出的增量關聯起來。
get_pwm += get_increase*12.5; 是 每一度對應的pwm值
好了,剩下的工作就是慢慢調節kp, ki, kd. STM32除錯PID心得
近來從機械轉為電子開始除錯底盤,底盤的控制程式已寫好,我要做的工作主要是調引數。看過很多pid的書,理論基本一樣響應慢就加大p值,而在速度控制中基本都不用d即微分,因為電機速度太快了,d值起不了作用的。相應的誤差較大時則增大i值。道理就是這麼個理兒。但可能很多人都不知道p值是有兩個的乙個加速用,乙個...
stm32增量式光電編碼器
原文 編碼器速度和方向檢測,371電機方向與速度檢測,stm32編碼器介面模式 出處 yfrobot論壇 編碼器是什麼玩意呢,它可是乙個好玩的東西,做小車測速必不可少的玩意,下面,我將從編碼器的原理講起,一直到用stm32的編碼器介面模式,測出電機轉速與方向。1.編碼器 圖1 編碼器示意圖 圖1為編...
STM32 增量式旋轉編碼器測量
博主此篇文章使用的旋轉編碼器型號有兩種。感測器 增量式旋轉編碼器 型號供電電壓 輸出方式 解析度品牌 廠家 輸出電平 s20 1000型拉線位移感測器 5 24v npn集電極開路 400omron 歐姆龍 dt100e40r1024 hi 增量型大孔徑編碼器 5 30v htl 推挽式 1024 ...