色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 如何用RaspberryPi Pico來控制直流電機(jī)?

          如何用RaspberryPi Pico來控制直流電機(jī)?

          作者: 時(shí)間:2021-04-28 來源:EETOP 收藏

          由樹莓派基金會(huì)剛剛發(fā)布的RaspberryPi Pico(樹莓派Pico)是一個(gè)小巧而強(qiáng)大的板子,它可以為用戶提供了創(chuàng)建大大小小的項(xiàng)目的機(jī)會(huì)。其中一個(gè)項(xiàng)目是機(jī)器人,為此我們需要用到馬達(dá)。那么我們?nèi)绾斡肦aspberryPi Pico來控制呢?我們可以把它們直接連接到GPIO嗎?

          本文引用地址:http://cafeforensic.com/article/202104/424990.htm

          答案是否定的。RaspberryPi Pico的GPIO引腳無(wú)法提供所需的電流,如果嘗試連接,很可能會(huì)損壞Pico。為此我們需要一個(gè)電機(jī)驅(qū)動(dòng)器,充當(dāng)Pico和電動(dòng)機(jī)之間的橋梁。我們打開/關(guān)閉兩個(gè)PicoGPIO引腳,讓它們控制電機(jī)驅(qū)動(dòng)器,電機(jī)驅(qū)動(dòng)器輸出較大的電流來控制電機(jī)運(yùn)動(dòng)。

          對(duì)于這個(gè)小項(xiàng)目,將需要以下準(zhǔn)備

          運(yùn)行MicroPython的Raspberry Pi Pico安裝在您的電腦上的Thonny4 x公對(duì)公跳線半尺寸或全尺寸面包板電機(jī)驅(qū)動(dòng)板。在我們的案例中,我們使用了DRV8833芯片,但L298或L9110S芯片應(yīng)該也可以。5V / 6V。我們使用了一個(gè)微型齒輪金屬電機(jī),電機(jī)需要2根公對(duì)公的跳線來連接到面包板上。

          如何用RaspberryPi Pico來控制直流電機(jī)?

          使用RaspberryPi Pico的直流電動(dòng)機(jī)的硬件設(shè)置

          我們?cè)谠擁?xiàng)目中使用的芯片是DRV8833,選定的特定版本是為面包板制作的,但是還有許多其他版本,包括設(shè)計(jì)用于嵌入機(jī)器人的版本。市場(chǎng)上還有其他電機(jī)控制器,例如L298D和L9110S,所有這些電機(jī)控制器都有相同的輸入/輸出約定。

          如何用RaspberryPi Pico來控制直流電機(jī)?

          將Raspberry Pi Pico放入面包板,使微型USB端口掛在面包板的末端。將DRV8833電機(jī)控制器放入面包板,使插針位于中間通道的兩側(cè)。使用跳線將Raspberry Pi Pico的VBUS引腳連接到DRV8833的VCC引腳。這將直接通過USB提供的5V為電機(jī)控制器供電。將Raspberry Pi Pico的GND引腳連接到DRV8833的GND引腳。將Raspberry Pi Pico的GPIO 14連接到DRV8833的IN1。將Raspberry Pi Pico的GPIO 15連接到DRV8833的IN2。將OUT1和OUT2連接至電動(dòng)機(jī)的引腳

          如何用RaspberryPi Pico來控制直流電機(jī)?

          Raspberry Pi Pico直流電動(dòng)機(jī)的軟件設(shè)置


          import utimefrom

          machine import Pin

          2.創(chuàng)建兩個(gè)對(duì)象,motor1a和motor1b。這些將存儲(chǔ)用作輸出的GPIO引腳號(hào),以控制DRV8833電機(jī)控制器。

          motor1a = Pin(14, Pin.OUT)

          motor1b = Pin(15, Pin.OUT)

          3.創(chuàng)建一個(gè)使電動(dòng)機(jī)“前進(jìn)”的函數(shù)。為此,我們需要將一個(gè)引腳拉高,另一個(gè)引腳拉低。這繼而將我們的預(yù)期方向傳達(dá)給電機(jī)控制器,并且相應(yīng)的輸出引腳將緊隨其后,迫使電機(jī)沿設(shè)定方向移動(dòng)。

          def forward():

          motor1a.high()

          motor1b.low()

          4.創(chuàng)建一個(gè)向后移動(dòng)的函數(shù)。這會(huì)看到GPIO引腳狀態(tài)反轉(zhuǎn),從而導(dǎo)致電動(dòng)機(jī)沿相反方向旋轉(zhuǎn)。

          def backward():

          motor1a.low()

          motor1b.high()

          5.創(chuàng)建一個(gè)停止電動(dòng)機(jī)的函數(shù)。通過將兩個(gè)引腳都拉低,我們告訴電動(dòng)機(jī)控制器停止電動(dòng)機(jī)的所有運(yùn)動(dòng)。

          def stop():

          motor1a.low()

          motor1b.low()

          6.創(chuàng)建一個(gè)最終的“測(cè)試”函數(shù),該函數(shù)將調(diào)用先前的函數(shù)并運(yùn)行一個(gè)測(cè)試程序,該程序?qū)⑹闺妱?dòng)機(jī)“向前”旋轉(zhuǎn)兩秒鐘,再“向后”旋轉(zhuǎn)兩秒鐘。然后它將停止電動(dòng)機(jī)。

          def test():

          forward()

          utime.sleep(2)

          backward()

          utime.sleep(2)

          stop()

          7.創(chuàng)建一個(gè)for循環(huán),該循環(huán)將連續(xù)5次運(yùn)行此測(cè)試函數(shù)

          for i in range(5):

          test()

          將代碼作為motor.py保存到Raspberry Pi Pico,然后單擊綠色箭頭以運(yùn)行代碼。電機(jī)將雙向旋轉(zhuǎn)五次。



          關(guān)鍵詞: 直流電機(jī)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉