日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

树莓派控制电机转速_怎样用树莓派控制直流电机的方向和速度

發布時間:2023/12/13 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 树莓派控制电机转速_怎样用树莓派控制直流电机的方向和速度 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

步驟1:DC的控制方向通過RPi電機

使用RPi控制直流電機

我們的下一個任務是使用樹莓派上的python腳本和GPIO頭控制直流電動機,這將在我們的腦海中產生一幅“機器人如何工作”的圖景。您可以根據外面的天氣來控制房間的風扇(因為您知道rpi會使用傳感器)。完成所有這些操作將使您了解機器人技術的基本規則。

我們將控制一個直流電動機,該電動機至少需要400mA的電流才能正常工作,但我們的RPi只能提供接近20mA的電流。這意味著我們必須在外部連接直流電源。這不成問題!我們在市場上有6V和9V的小型電池。

警告:請勿將電機直接連接到Raspberry Pi,否則會損壞Raspberry Pi。

顯然,我們將需要一個電動機控制器IC來控制電動機的功能(順時針或逆時針旋轉)。最好從L293D電機控制器IC開始。

要求:

·預先裝有Raspbian的SD卡的Raspberry Pi

·面包板

·一個L293D電機驅動器集成電路

·跳線(公對公,母對公)

·一臺額定電壓為6v的直流電動機

·一塊6V或9V電池。

L293D

這是一個電機驅動器IC,我們可以一次控制2個電機。其引腳配置如下所示。它是一個16針IC,在一側包括一個Vcc(上電),一個GND針,一個Enable針(用于打開和關閉電動機),兩個輸入對應兩個輸出。

連接:

·首先將L293D的Vcc引腳連接到5V(也可以使用3.3V)

·現在連接地線

·使用GPIO-2、3、4來控制IC。(分別將GPIO-02和GPIO-03分別作為輸入1和2)

·將GPIO-04連接到IC的相應使能引腳。

·現在終于將輸出1和2連接到電動機的兩個連接上,如圖所示。

Python代碼:-

導入RPi.GPIO作為GPIO

從導入睡眠時間開始

GPIO.setmode(GPIO.BCM)

Motor1A = 02

Motor1B = 03

Motor1E = 04

的 GPIO.setup(Motor1A,GPIO.OUT)

GPIO.setup(Motor1B,GPIO.OUT)

GPIO.setup(Motor1E,GPIO.OUT)

打印“電動機要啟動“

GPIO.output(Motor1A,GPIO.HIGH)#以順時針方向運行電動機

GPIO.output (Motor1B,GPIO.LOW)#將其設置為高電平以使電動機沿逆時針方向旋轉

GPIO.output(Motor1E,GPIO.HIGH)#啟動時應始終為高電機

睡眠(5)

打印“停止電機”

GPIO.output(Motor1E,GPIO.LOW)#停止電動機后

GPIO.cleanup()

上面的代碼,您的電動機將開始沿順時針方向旋轉5秒鐘。通過修改以上代碼,您可以將其反轉。現在我們可以用兩個或四個電動機來制造汽車。

使用RPi控制直流電動機的速度

您知道在某些地方我們需要也可以控制電動機的速度。通過以上主題,您了解了電動機的ON-OFF控制,但這還不夠嗎?現在您應該在腦海中思考一個問題,即我們如何從RPi的GPIO引腳產生模擬電壓。沒問題,因為我們可以通過PWM(脈沖寬度調制)從中產生電壓脈沖并控制GPIO引腳的輸出電壓。

脈沖寬度調制

這是一個非常簡單的過程,我們可以控制電源的電壓頻率。我們知道,PWM模塊可用于RPi中的GPIO。

時間段= 1/頻率

因此,如果我選擇100Hz的頻率,則意味著時間段為10m sec。 (電壓被觸發為“高”持續10m秒)。我們的電池為電動機提供9V的電壓,為了降低速度,我們必須降低此電壓。因此,如果要將速度降低一半,而不必將占空比(電壓為高電平的時間段的百分比)更改為50。

由于供應給電動機的電壓由電機驅動器IC-L293N的使能引腳,因此我們僅需將PWM應用于使能引腳即可改變速度。貝婁是理解PWM的python代碼,需要上一主題中的上述連接(通過RPi控制直流電動機)。

》》》導入RPi.GPIO為GPIO#導入GPIO庫。

》》從時間導入睡眠開始

》》》 GPIO.setmode(GPIO.BCM)

》》》 Motor1A = 02#將GPIO-02設置為控制器IC的輸入1

》》》 Motor1B = 03#設置GPIO- 03作為控制器IC的輸入2

》》》 Motor1E = 04#將GPIO-04設置為控制器IC的使能引腳1

》》》 GPIO.setup(Motor1A,GPIO.OUT)

》》》 GPIO.setup(Motor1B,GPIO.OUT)

》》》GPIO.setup(Motor1E,GPIO.OUT)

》》》pwm=GPIO.PWM(04,100)#配置啟用引腳表示用于PWM的GPIO-04

》》》 pwm.start(50)#以50%的占空比啟動它

》》》打印“前進”

》》》 GPIO.output(Motor1A,GPIO.HIGH)

》》》 GPIO.output(Motor1B,GPIO.LOW)

》》》 GPIO.output(Motor1E,GPIO.HIGH)

》》》 sleep(2)

##這將使電動機以50%的速度向前運行2秒。

》》》 pwm.ChangeDutyCycle(80)#將占空比增加到80

》》》打印“后退”

》》》 GPIO.output(Motor1A,GPIO.HIGH)

》》》 GPIO.output(Motor1B,GPIO.LOW)

》》》 GPIO.output(Motor1E,GPIO.HIGH)

》》》睡眠(2)

##通過提供80%的電池電壓,電動機將以80%的速度反向運行2秒

》》》打印“立即停止”

》》》 GPIO.output(Motor1E,GPIO.LOW)

》 》》 pwm.stop()#從GPIO輸出中停止PWM是必要的

》》》 GPIO.cleanup()

打開APP精彩內容

點擊閱讀全文

總結

以上是生活随笔為你收集整理的树莓派控制电机转速_怎样用树莓派控制直流电机的方向和速度的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。