PSoC 4如何控制伺服

關鍵字 :PSoC4PWMServo

這是一個關於使用 PSoC 通過生成 PWM、調整頻率和占空比來控制伺服的講解!

 

本項目中用到的硬體部件:

賽普拉斯 PSoC 4開發套件 × 1

舵機(Tower Pro MG996R)× 1

 


項目詳情:

使用 Arduino 控制伺服非常簡單!有庫可以做事,你不需要知道命令伺服的控制信號發生了什麼。對於可能需要的人,有一個 Arduino 教程。

但是如何使用 PSoC 4 做到這一點呢?

根據SG90 Micro Servo datasheet,你必須像這樣製作PWM信號來控制Servo

配置 PWM 模塊

當然是選用 TCPWM 組件,但是等等!如何製作 50 Hz 信號 (20 mS) 並在 5% (1mS) 到 10% (2mS) 之間改變占空比?



  • 通過將周期值從“1 更改為 65535”,我們可以改變 PWM 頻率。
  • 通過將比較值從“1 更改為周期值”,我們可以改變占空比。
  • 通過更改 fclk 的值(時鐘信號到 PWM 組件),我們可以改變頻率範圍。
  • fclk 越大,最大頻率越高。

 



配置頻率和占空比的公式:

此 PWM 配置的公式(中心對齊,即對稱 PWM)

  • 周期 = Fclk /(2 X 所需頻率)
  • 比較值 = 期間 - (期望值 X 期間)

 

頻率和占空比的計算:

此處,PWM 組件的 Fclk 選擇為 480 kHz, 我們需要一個 50 Hz 的 PWM 信號(我們所需的頻率)

所以,周期 = 480000 / ( 2 X 50 ) = 4800

比較值(最小) = 4800 - ( 10% X 4800 ) = 4320

比較值(最大) = 4800 - ( 5% X 4800 ) = 4560

在 4320 到 4560 之間改變比較值,我們可以控制伺服,因為它將產生完成工作所需的所需信號!PWM0_WriteCompare(value) API(或Function)用於從C代碼改變占空比,控制舵機的位置!

重要提示:PWM 引腳必須作為硬體連接進行檢查! 內部硬體驅動的引腳 否則,將沒有輸出!

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論