0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在樹莓派Pico上編程使用步進(jìn)電機(jī)?

jf_zGNBEhbi ? 來源:趣無盡 ? 2023-11-28 09:18 ? 次閱讀

步進(jìn)電機(jī)是一種將電脈沖信號(hào)轉(zhuǎn)換成相應(yīng)角位移或線位移的電動(dòng)機(jī),每輸入一個(gè)脈沖信號(hào),轉(zhuǎn)子就轉(zhuǎn)動(dòng)一個(gè)角度或前進(jìn)一步,其輸出的角位移或線位移與輸入的脈沖數(shù)成正比,轉(zhuǎn)速與脈沖頻率成正比,因此,步進(jìn)電動(dòng)機(jī)又稱脈沖電動(dòng)機(jī)。

步進(jìn)電機(jī)通常需要搭配一個(gè)步進(jìn)電機(jī)驅(qū)動(dòng)模塊(也叫步進(jìn)電機(jī)驅(qū)動(dòng)器)來工作。步進(jìn)電機(jī)驅(qū)動(dòng)器是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度(稱為“步距角”),它的旋轉(zhuǎn)是以固定的角度一步一步運(yùn)行的。可以通過控制脈沖個(gè)數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)可以通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,從而達(dá)到調(diào)速和定位的目的。

四相步進(jìn)電機(jī)按照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉(zhuǎn)動(dòng)力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉(zhuǎn)動(dòng)力矩又可以提高控制精度,驅(qū)動(dòng)器相當(dāng)于開關(guān)的組合單元。通過上位機(jī)的脈沖信號(hào)有順序給電機(jī)相序通電使電機(jī)轉(zhuǎn)動(dòng)。

本文使用到的是 28BJY-48 型步進(jìn)電機(jī)。

硬件連接

首先需要將步進(jìn)電機(jī)和電機(jī)驅(qū)動(dòng)板連起來,直接將電機(jī)的白色插頭插入驅(qū)動(dòng)板上的白色插槽(注意卡扣方向)即可。

再將驅(qū)動(dòng)板和樹莓派 Pico 連接起來,接線如下:
電機(jī)驅(qū)動(dòng)板的 + 引腳接 Pico 的 VSYS。
電機(jī)驅(qū)動(dòng)板的 – 引腳接 Pico 的 GND。
電機(jī)驅(qū)動(dòng)板的 IN1 引腳接 Pico 的 GP18。
電機(jī)驅(qū)動(dòng)板的 IN2 引腳接 Pico 的 GP19。
電機(jī)驅(qū)動(dòng)板的 IN3 引腳接 Pico 的 GP20。
電機(jī)驅(qū)動(dòng)板的 IN4 引腳接 Pico 的 GP21。

編程

將下面的代碼保存在 Pico 的根目錄,命名為 main.py。

from machine import Pin
import utime
 
# 步進(jìn)驅(qū)動(dòng)模塊的引腳初始化
in1 = Pin(18,Pin.OUT)
in2 = Pin(19,Pin.OUT)
in3 = Pin(20,Pin.OUT)
in4 = Pin(21,Pin.OUT)
 
ROUND_VALUE = 509
delay = 1
 
# 四相八拍步進(jìn)電機(jī)的順序值
STEP_VALUE = [
    [0,0,0,1],
    [0,0,1,1],
    [0,0,1,0],
    [0,1,1,0],
    [0,1,0,0],
    [1,1,0,0],
    [1,0,0,0],
    [1,0,0,1],
]
 
# 重置引腳輸出低電平
def reset():
    in1(0)
    in2(0)
    in3(0)
    in4(0)
 
# 單步順時(shí)針轉(zhuǎn)動(dòng),count 為步數(shù)值,可為負(fù)數(shù)(逆時(shí)針)
def step_run(count):
    direction = 1
    if count < 0:
        direction = -1
        count = -count
    for x in range(count):
        for bit in STEP_VALUE[::direction]:
            in1(bit[0])
            in2(bit[1])
            in3(bit[2])
            in4(bit[3])
            utime.sleep_ms(delay)
 
# 以指定角度順時(shí)針轉(zhuǎn)動(dòng),a 為角度值,可為負(fù)數(shù)(逆時(shí)針)
def step_angle(a):
    step_run(int(ROUND_VALUE * a / 360))
 
# 重置驅(qū)動(dòng)板
reset()
 
# 逆時(shí)針轉(zhuǎn) 90 度
step_angle(-90)
 
# 以單步方式持續(xù)順時(shí)針轉(zhuǎn)動(dòng)
while True:
    step_run(1)

程序中定義了這款步進(jìn)電機(jī)的驅(qū)動(dòng)方式和參數(shù)。有兩種方法驅(qū)動(dòng)它:step_angle(角度) 或 step_run(步數(shù))。

運(yùn)行之后,可以看到步進(jìn)電機(jī)先逆時(shí)針轉(zhuǎn)動(dòng) 90 度,再順時(shí)鐘持續(xù)運(yùn)行下去。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 驅(qū)動(dòng)器
    +關(guān)注

    關(guān)注

    51

    文章

    8018

    瀏覽量

    145129
  • 電動(dòng)機(jī)
    +關(guān)注

    關(guān)注

    73

    文章

    4045

    瀏覽量

    95366
  • 步進(jìn)電機(jī)
    +關(guān)注

    關(guān)注

    150

    文章

    3053

    瀏覽量

    146912
  • 脈沖信號(hào)
    +關(guān)注

    關(guān)注

    6

    文章

    380

    瀏覽量

    36795
  • 樹莓派
    +關(guān)注

    關(guān)注

    116

    文章

    1679

    瀏覽量

    105282

原文標(biāo)題:在樹莓派 Pico 上編程使用步進(jìn)電機(jī)

文章出處:【微信號(hào):趣無盡,微信公眾號(hào):趣無盡】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    何在樹莓Pico用PWM實(shí)現(xiàn)LED呼吸燈呢?

    樹莓 Pico 的模擬-數(shù)字轉(zhuǎn)換器只能以一種方式工作,它將模擬信號(hào)轉(zhuǎn)換為微控制器可以理解的數(shù)字信號(hào)。
    發(fā)表于 10-07 17:46 ?1168次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>Pico</b><b class='flag-5'>上</b>用PWM實(shí)現(xiàn)LED呼吸燈呢?

    樹莓pico入門學(xué)習(xí)筆記(一)相關(guān)資料推薦

    樹莓pico入門學(xué)習(xí)筆記選擇自己熟悉的編程語言樹莓pic
    發(fā)表于 07-01 09:28

    樹莓pico如何入門?

    樹莓pico如何入門?
    發(fā)表于 10-13 08:11

    怎么實(shí)現(xiàn)樹莓Pico電機(jī)運(yùn)動(dòng)控制MicroPython+pioasm編程?

    怎么實(shí)現(xiàn)樹莓Pico電機(jī)運(yùn)動(dòng)控制MicroPython+pioasm編程
    發(fā)表于 10-27 06:37

    樹莓Pico的相關(guān)資料推薦

    1月22日,樹莓基金會(huì)最新發(fā)布一款低成本、高性能的微控制器開發(fā)板Raspberry Pi Pico,新產(chǎn)品相比普通樹莓體積更小,售價(jià)僅4
    發(fā)表于 02-07 07:37

    微雪電子樹莓步進(jìn)電機(jī)驅(qū)動(dòng)板|Stepper Motor HAT介紹

    專為樹莓設(shè)計(jì)的步進(jìn)電機(jī)驅(qū)動(dòng)板,可控制兩路步進(jìn)電機(jī),支持32細(xì)分。
    的頭像 發(fā)表于 11-12 16:33 ?5250次閱讀
    微雪電子<b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b>驅(qū)動(dòng)板|Stepper Motor HAT介紹

    遠(yuǎn)程控制樹莓3b的pi pico

    樹莓pi pico樹莓4相比差別很大,但是pi pico有一些特點(diǎn)是
    的頭像 發(fā)表于 03-05 17:23 ?3839次閱讀

    樹莓pico入門學(xué)習(xí)筆記(一)

    樹莓pico入門學(xué)習(xí)筆記選擇自己熟悉的編程語言樹莓pic
    發(fā)表于 12-17 18:42 ?21次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>pico</b>入門學(xué)習(xí)筆記(一)

    基于樹莓pico的可編程游戲手柄設(shè)計(jì)

    方案介紹組件12x12x7.3mm 瞬時(shí)觸覺按鈕按鈕樹莓Pico通用 D1286464 OLED 顯示屏操縱桿模塊 PS210 歐姆電阻?組裝將樹莓
    發(fā)表于 12-26 15:10 ?0次下載

    樹莓驅(qū)動(dòng)步進(jìn)電機(jī)

    步進(jìn)電機(jī)一般由電機(jī)、驅(qū)動(dòng)器構(gòu)成,樹莓連接驅(qū)動(dòng)器控制電機(jī)。 一、接線 DIR+/- 用于控制方向
    發(fā)表于 03-20 14:40 ?0次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>驅(qū)動(dòng)<b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b>

    樹莓驅(qū)動(dòng)步進(jìn)電機(jī)

    ?閑了無聊,想用樹莓驅(qū)動(dòng)步進(jìn)電機(jī)。 測試了兩天終于OK了 下圖是DM422C接步進(jìn)電機(jī)
    發(fā)表于 03-21 14:26 ?0次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>驅(qū)動(dòng)<b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b>

    樹莓控制步進(jìn)電機(jī)

    樹莓控制步進(jìn)電機(jī) 前言 設(shè)備 連接 源碼 前言 測試步進(jìn)電機(jī) 設(shè)備 名稱 型號(hào)
    發(fā)表于 03-21 11:39 ?0次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>控制<b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b>

    樹莓使用Python控制步進(jìn)電機(jī)

    步進(jìn)電機(jī)和普通電機(jī)最大的不同是步進(jìn)電機(jī)可以更加精確地旋轉(zhuǎn),這個(gè)特性使得它們在各種樹莓
    發(fā)表于 03-22 11:36 ?3次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>使用Python控制<b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b>

    樹莓PICO pio使用

    樹莓 Pico 小小的板子總是能讓我們發(fā)現(xiàn)一些驚喜。其所使用的RP2040芯片還具備8個(gè)可編程I/O(PIO)狀態(tài)機(jī),用于自定義外圍設(shè)
    的頭像 發(fā)表于 10-18 15:17 ?1328次閱讀

    何在樹莓Pico使用紅外線接收模塊?

    樹莓 Pico 使用紅外線接收模塊(HX1838 型),我們采用開源的 pico_ir 庫。
    的頭像 發(fā)表于 11-30 09:08 ?1876次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>Pico</b><b class='flag-5'>上</b>使用紅外線接收模塊?