久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2849|回復: 0
打印 上一主題 下一主題
收起左側

MicroPython TPYBoard v102 驅動28BYJ-48步進電機

[復制鏈接]
跳轉到指定樓層
樓主
    實驗目的

    了解步進電機的工作原理
    學習步進電機的驅動方法

    實驗器材

    TPYBoard v102 1塊
    微型步進電機(28BYJ-48) 1個
    步進電機驅動板(ULN2003APG) 1塊
    micro USB數據線 1條
    杜邦線 若干
    步進電機的介紹
    本次實驗采用的是28BYJ-48 四相八拍電機,電壓DC5V~12V。

    24BYJ48名稱的含義:
    24:電機外徑24mm
    B:步進電機中步字的拼音首字母
    Y:永磁中永字的拼音首字母
    J:減速的減字拼音首字母
    48:四相8步

    實物圖



    工作原理

    步進電機是將電脈沖信號轉變為角位移或線位移的開環控制電機,是現代數字程序控制系統中的主要執行元件,應用極為廣泛。在非超載的情況下,電機的轉速、停止的位置只取決于脈沖信號的頻率和脈沖數,而不受負載變化的影響,當步進驅動器接收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度,稱為“步距角”,它的旋轉是以固定的角度一步一步運行的。可以通過控制脈沖個數來控制角位移量,從而達到準確定位的目的;同時可以通過控制脈沖頻率來控制電機轉動的速度和加速度,從而達到調速的目的。

    28BYJ-48 步進電機參數表



    上表中啟動頻率≥550 P.P.S(每秒脈沖數),意思是要想正常啟動,需要單片機每秒至少給出550個步進脈沖。那么每一節拍需要持續的時間就是1S/550≈1.8ms,所以控制節拍刷新的速率應大約1.8ms。
    驅動原理
    當連續不斷的給電機發送控制脈沖時,電機就會不斷的轉動。每一個脈沖信號對應步進電機的某一相或兩相繞組的通電狀態改變一次,對應轉子就會轉過一定的角度(步距角)。當通電狀態的改變完成一個循環時,轉子轉過一個齒距。
    四相步進電機可以在不同的通電方式下運行,常見的通電方式:
    四拍(單相繞組通電):A-B-C-D-A…
    雙四拍(雙相繞組通電):AB-BC-CD-DA-AB-...
    八拍: A-AB-B-BC-C-CD-D-DA-A…

    模擬效果圖



    硬件連接

    將步進電機白色接頭插到驅動板對應的座子上即可。
    TPYBoard v102驅動板與驅動板的接線圖,如下:




    程序源碼如下:
  1. # main.py -- put your code here!
  2. import pyb
  3. from pyb import Pin

  4. Pin_All=[Pin(p,Pin.OUT_PP) for p in ['X1','X2','X3','X4']]

  5. #轉速(ms) 數值越大轉速越慢 最小值1.8ms
  6. speed=2

  7. STEPER_ROUND=512 #轉動一圈(360度)的周期
  8. ANGLE_PER_ROUND=STEPER_ROUND/360 #轉動1度的周期
  9. print('ANGLE_PER_ROUND:',ANGLE_PER_ROUND)

  10. def SteperWriteData(data):
  11.     count=0
  12.     for i in data:
  13.         Pin_All[count].value(i)
  14.         count+=1
  15. def SteperFrontTurn():
  16.     global speed
  17.      
  18.     SteperWriteData([1,1,0,0])
  19.     pyb.delay(speed)

  20.     SteperWriteData([0,1,1,0])
  21.     pyb.delay(speed)

  22.     SteperWriteData([0,0,1,1])
  23.     pyb.delay(speed)
  24.      
  25.     SteperWriteData([1,0,0,1])   
  26.     pyb.delay(speed)
  27.      
  28. def SteperBackTurn():
  29.     global speed
  30.      
  31.     SteperWriteData([1,1,0,0])
  32.     pyb.delay(speed)
  33.      
  34.     SteperWriteData([1,0,0,1])   
  35.     pyb.delay(speed)
  36.      
  37.     SteperWriteData([0,0,1,1])
  38.     pyb.delay(speed)

  39.     SteperWriteData([0,1,1,0])
  40.     pyb.delay(speed)


  41. def SteperStop():
  42.     SteperWriteData([0,0,0,0])
  43.      
  44. def SteperRun(angle):
  45.     global ANGLE_PER_ROUND
  46.      
  47.     val=ANGLE_PER_ROUND*abs(angle)
  48.     if(angle>0):
  49.         for i in range(0,val):
  50.             SteperFrontTurn()
  51.     else:
  52.         for i in range(0,val):
  53.             SteperBackTurn()
  54.     angle = 0
  55.     SteperStop()

  56. if __name__=='__main__':
  57.     SteperRun(180)
  58.     SteperRun(-180)
復制代碼




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品久久久亚洲 | 日本不卡免费新一二三区 | 久久区二区 | 黄色网址在线免费观看 | 一区二区三区四区在线视频 | 国产精品欧美一区喷水 | 久久久久久久久久久久久九 | 久久精品视频网站 | 国产网站在线 | 国产永久免费 | 成人欧美一区二区三区在线播放 | 黄色永久免费 | 国产高清精品一区二区三区 | 99re在线视频免费观看 | 国产精品视频在线观看 | 久久精品欧美一区二区三区不卡 | 天天操天天射综合网 | 久久国产精品视频免费看 | 日韩精品一区二区三区中文在线 | 国产a区 | 黄色在线免费网站 | 一本色道精品久久一区二区三区 | 欧美一区二区三区在线播放 | 日韩在线免费视频 | 国产精品久久久久久吹潮 | 欧美亚洲视频在线观看 | 免费亚洲婷婷 | 国产午夜精品一区二区三区 | 欧美精品中文字幕久久二区 | 范冰冰一级做a爰片久久毛片 | 久久视频一区 | 成人网在线观看 | 欧美一区二区三区四区五区无卡码 | 涩涩视频在线观看 | 男女网站免费 | 91精品国产综合久久福利软件 | av网站在线看 | 午夜成人免费视频 | www国产成人免费观看视频,深夜成人网 | 国产日韩免费视频 | 免费同性女女aaa免费网站 |