<center id="6a4nz"><small id="6a4nz"><track id="6a4nz"></track></small></center>
  • <th id="6a4nz"><video id="6a4nz"><acronym id="6a4nz"></acronym></video></th>
  • <th id="6a4nz"><video id="6a4nz"><acronym id="6a4nz"></acronym></video></th>
    <code id="6a4nz"><nobr id="6a4nz"><track id="6a4nz"></track></nobr></code>
  • 在線留言/ 收藏本站 網站地圖 新浪微博 歡迎來到深圳市博揚智能裝備有限公司官網!

    全國咨詢熱線:0755-26993877

    熱門關鍵詞: 日本藤倉氣缸伺服驅動器精密減壓閥精密電控變換器復合機專用氣缸旋轉編碼器

    派克直線電機
    當前位置:首頁 » 博揚智能資訊中心 » 其它 » 如何使用樹莓派控制伺服電機,控制伺服電機的方法?

    如何使用樹莓派控制伺服電機,控制伺服電機的方法?

    發表時間:2021-09-09 16:41【 閱讀量:-查看手機網址
    掃一掃!如何使用樹莓派控制伺服電機,控制伺服電機的方法?掃一掃!

      連接伺服電機可能是許多項目中的一項基本任務,例如構建定制機器人??梢圆捎枚喾N方法將伺服電機與Raspberry Pi連接起來。本文介紹了其中的兩種,并解釋了伺服電機的工作原理。這些知識將使讀者能夠使用不同的微控制器,甚至是簡單的基于555定時器的電路來控制伺服系統。


      伺服電機是如何工作的?


      通常,伺服系統具有三個輸入,其中兩個為位于塑料體內的電機供電。第三個輸入控制伺服轉動多少。


      通常,輸入信號是脈寬調制(PWM)信號,其頻率不會隨時間變化。相反,當PWM輸入信號的占空比發生變化時,伺服電機會旋轉到某個角度。本例中使用的舵機總共可以轉動180度(每個方向90度)。當占空比為5%(一毫秒長的高脈沖)時,伺服旋轉到其最小位置。如果占空比變為10%(這是一個兩毫秒長的高脈沖),伺服會一直向右旋轉。之間的占空比與-90°和+90°之間的不同角度相關。但是,這些數字可能因不同的伺服系統和制造商而異。因此,始終有必要查閱伺服的數據表。


      請注意,Raspberry Pi不應為伺服提供電壓。相反,使用外部電源來驅動伺服電機,因為Raspberry Pi的GPIO引腳可能無法提供足夠的電源來使電機以可接受的速度轉動。


      如何用樹莓派控制伺服電機?


      要使樹莓派控制伺服電機,請將伺服器的+5 V和GND線連接到外部電源,將剩余的信號線連接到樹莓派的任何I/O引腳。


      不要忘記將Raspberry Pi的任何GND引腳也連接到電源的地。

    20210909164705.png

      如上所述,伺服系統通常需要一個PWM信號來告訴它們轉向哪里。因此,有多種方法可以將舵機旋轉到特定角度。一種方法是使用包含伺服模塊的gpiozero庫。您可以使用pip在Raspberry Pi上安裝該庫。如果尚未安裝rpi.gpio包,也請下載它。否則,gpiozero庫將無法工作:


      復制代碼


    sudo apt-get install python3-rpi.gpiosudo pip3 install gpiozero


      完成后,就可以執行以下腳本:


      復制代碼


    from gpiozero import Servofrom time import sleep
    
    servo = Servo(25)try:	while True:
        	servo.min()
        	sleep(0.5)
        	servo.mid()
        	sleep(0.5)
        	servo.max()
        	sleep(0.5)except KeyboardInterrupt:
    	print("Program stopped")


      如您所見,該庫允許您快速將伺服轉向三個預定義位置之一。這個簡單的python腳本首先導入所需的庫。然后,它定義伺服在開始無限循環之前連接到引腳25,在該無限循環中,伺服旋轉到其最小、中間和最大位置。在角度變化之間,腳本等待半秒。


      但是,庫也可以通過直接將舵機的值設置為-1和1之間的數字來指示舵機轉向舵機最小值和最大值之間的任何位置。負值對應于舵機的最小位置,一個代表舵機的最大旋轉:


      復制代碼


    from gpiozero import Servo
    from time import sleep
    
    servo = Servo(25)val = -1try:	while True:
        	servo.value = val
        	sleep(0.1)    	val = val + 0.1
        	if val > 1:        	val = -1except KeyboardInterrupt:
    	print("Program stopped")


      這個簡單的腳本與前一個腳本的工作方式類似。然而,它在每次循環迭代中直接設置舵機的值,而不是使舵機旋轉到三個預定義位置之一。


      請注意,此庫僅代表使用Raspberry Pi控制伺服的一種方式。同樣,您也可以使用不同的庫,例如pigpio,并直接操縱進入伺服器的PWM輸出信號,使其轉向指定位置。


      控制多個舵機的另一種方法


      任何樹莓派編號的I/O引腳都能夠控制伺服系統。但是,如果您想控制更多的伺服系統,或者您的項目需要GPIO引腳用于其他用途,那么也可以使用伺服控制器板。


      這些模塊通常通過I2C與微控制器或類似設備通信,因此可以僅使用Raspberry Pi的兩個GPIO引腳來控制許多伺服系統。但是,您可以購買許多不同類型的模塊,它們的工作方式通常大不相同。因此,您應該查閱模塊的數據表以了解如何使用它。


      概括


      與普通直流電機不同,伺服系統通常不能旋轉完整的360度。相反,它們在某個最小和最大角度之間轉動。具有恒定頻率的脈寬調制輸入信號控制旋轉。該信號的占空比直接對應于電機的角度。當輸入信號的占空比增加時,伺服會向其最大位置旋轉。樹莓派可以通過軟件直接同時控制多個舵機。每個編號的GPIO引腳都可以管理一個舵機。但是,不建議使用Raspberry Pi為伺服器供電。相反,它們應該連接到外部電源。伺服控制器板是一次控制大量伺服的不錯選擇。


    相關資訊

    996热re视频精品视频这里
    <center id="6a4nz"><small id="6a4nz"><track id="6a4nz"></track></small></center>
  • <th id="6a4nz"><video id="6a4nz"><acronym id="6a4nz"></acronym></video></th>
  • <th id="6a4nz"><video id="6a4nz"><acronym id="6a4nz"></acronym></video></th>
    <code id="6a4nz"><nobr id="6a4nz"><track id="6a4nz"></track></nobr></code>
  • <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>