pwm控制舵機轉動角度程式 01 舵機旋轉控制基礎

2021-10-12 19:22:41 字數 2338 閱讀 3223

從今天開始,我們將學習python**控制舵機專題。第一節課我們將學習舵機的旋轉控制基礎,**180度舵機的圖形化程式設計控制。

一、舵機

1、舵機簡介

舵機也叫伺服電機,最早用於船舶上實現其轉向功能,由於可以通過程式連續控制其轉角,因而被廣泛應用智慧型小車以實現轉向以及機械人各類關節運動中,

2、舵機分類

舵機分為180度舵機和360度舵機。接下來以輝盛舵機為例。它有兩款,其中輝盛s90舵機是180度舵機,而輝盛s90d舵機是360度舵機。

3、舵機接線圖

將舵機連線到樹莓派,我們使用的是18號口,將正、負和訊號線連線到18號口的相應位置上去。為什麼不能使用其他口呢,因為18號口是擴充套件板預留的pwm訊號輸出口。

二、pwm與占空比

pwm就是脈衝寬度調製的英文縮寫,方波高電平時間跟週期的比例叫占空比。接下來,我們來觀察下面的三幅方波圖。

在第一幅圖中,我們發現,在乙個週期中有四分之一的高電平時間,有四分之三的低電平時間,也就是高電平的時間佔週期的時間為四分之一,所以它的占空比為25%。

在第二幅圖中,我們發現,在乙個週期中有二分之一的高電平時間,有二分之一的低電平時間,也就是高電平的時間佔週期的時間為二分之一,所以它的占空比為50%。

在第三幅圖中,我們發現,在乙個週期中有四分之三的高電平時間,有四分之一的低電平時間,也就是高電平的時間佔週期的時間為四分之三,所以它的占空比為75%。

明白了占空比,我們的18號口就是乙個能夠改變輸出訊號(占空比)的埠。通過輸出不同的訊號(占空比)來改變舵機的旋轉角度。既然舵機有180度舵,還有360度舵機,接下來,我們分別來**如何通過改變占空比來控制舵機。

三、圖形化程式設計**180度舵機占空比與旋轉角度

接下來,我們將以輝盛s90舵機(180度舵機)為例來**,不同占空比帶來的舵機的不同旋轉角度。

下面的測試均以50hz的訊號為例,根據頻率與週期的互為倒數的關係,我們很容易算出它的週期為0.02s,也就是20ms。

1、設定高電平時間為0.5ms

上面的程式中,我們使用了數值為500,在古德微圖形化程式設計中,使用的是微秒這個單位,所以我們將0.5毫秒轉化為500微秒。

2、設定高電平時間為0.5ms、1ms、1.5ms、2ms 、2.5ms

我們先建立乙個叫做高電平時間的列表,將要測試的高電平時間全部放進來。

再使用列表迴圈,依次執行高電平時間,輸出pwm訊號。

現在,你發現了什麼?舵機的轉動,正好是乙個180度的範圍。

3、180度舵機旋轉規律

現在,你再來看下面這個圖,你能看懂嗎?

如果,我們把1500的位置叫做0度,那麼500的位置就是-90度,2500的位置就是90度。從500的位置到2500的位置就是180度,正好是這個舵機能旋轉的角度。

四、圖形化程式設計實現180度舵機的來回往復

在上面的**程式中,我們使用了列表實現了舵機指標從乙個方向轉向另外乙個方向。如果,我們想讓舵機的指標實現連續往復的轉動,實現類似雷達的掃瞄效果,應該怎麼做呢?

1、擴充套件我們的列表

在原來的列表後面,我們又逆序新增了測試資料1500和1000。但是為什麼沒有再新增500呢?因為下一迴圈就是從500開始的,如果連續迴圈,不就實現了連續的資料取值了嗎?

2、增加重複迴圈

現在,你的180度舵機,是不是已經實現了往復的迴圈執行?

FPGA控制舵機轉動

fpga控制舵機轉動 硬體平台 de2 70 軟體平台 quartus13.0 程式語言 verilog hdl 1.舵機的工作原理 舵機接出來有三根線,一根紅色的是電源線,一根棕色的是地線,還有一根橘黃色的是訊號線。舵機的工作電壓在4.8v到6v,給它接的電源不同,會影響舵機轉動的速率以及舵機的輸...

利用arduino 控制舵機轉動

買來的舵機通過杜邦線將舵機的與arduino板相連,此處所用的arduino為2560的,所以通過arduino的整合開發環境時應選擇該版本,以及選擇好對應的埠,這樣才能上傳成功,這裡舵機有三條線,其中那條灰色的線接到板子上標有gnd的介面,中間的線接到5v介面,另外那條線應該接到標有pwd那排裡,...

使用舵機PWM訊號控制直流電機的轉動

下面是由 不知道什麼 得到的直流電機模組。它具有和舵機相同的控制訊號。pwm控制的直流電機 下面測量控制訊號與它的轉動之間的關係。使用兩軸機械臂整體控制模組的模組來驅動直流電機模組,使用 servo命令改變輸出pwm脈衝訊號的時間,來測量該電機運動與指令之間的關係。輸出脈衝指令與1500us之間的插...