資料介紹
描述
你好,
很久以前我想嘗試處理一個新圖書館,但現(xiàn)在。那有意義嗎?可能是這樣,也可能不是,但源工作,機器和電氣板也是如此!
...
所以,我在幾年前的一些幫助下改變了源代碼!我還在 python3 中制作了一個小腳本來處理小型步進電機沿滑軌和滾珠絲杠的運動......
所以,這個簡單的任務(wù)需要這些組件:
- 12VDC 鉛酸電池和/或 SLA 類型
- 電機橋角
- 兩條電源線和 GND 線連接到 Cape 和電池
- 兩個正確尺寸的快速斷開器......使用適合您的電池端子的任何斷開器!
- BeagleBone Green Gateway 或來自beagleboard.org板系列的其他板,即不包括 BBBlue、BBAI 和/或 PocketBeagle,除非您想讓它適用于這些板(它不是即插即用這三個板)。
- 哦……您可能需要一把小一字螺絲刀來處理 Cape 上的連接器。
- Micro USB 轉(zhuǎn) USB Type A 數(shù)據(jù)線
- 以太網(wǎng)或 Wifi 訪問以獲取腳本和其他工具/實用程序
好的……所以到目前為止,我們可能會也可能還沒有收集到我們的工具。如果我們有并且準(zhǔn)備好開始,讓我們開始吧。
...
?

...
在這里你可以看到我為這個項目選擇的快速斷開的電線。
另外......還有一個交互式 Python3 腳本可以處理我們的步進電機使用情況:
https://github.com/silver2row/MotorBridgeCapeforBBG_BBB/tree/master
在上面你會看到我的 Seeed Studio Motor Bridge Cape lib 的分支。
我更改了一些項目以處理特定的數(shù)據(jù)轉(zhuǎn)換、庫更改和不推薦使用的庫。我還添加了一些庫。并改變了它們。幸運的是,在這個硬件領(lǐng)域有一些經(jīng)驗并為這個想法增加了時間,我已經(jīng)能夠輕松地適應(yīng)變化。
...
那么,讓我們來看看這些變化:
在 MotorBridge.py 上,讓我們更改一些特定的行...
import Adafruit_GPIO.I2C as I2C
import Adafruit_BBIO.GPIO as GPIO
import time
Reset = "P9_23"
MotorBridge = I2C.Device(0x4b, 2)
GPIO.setup
(Reset, GPIO.OUT)
這個來源變成了這個想法:
from smbus2 import SMBus
import time
import pathlib
# reset pin is P9.23, i.e. gpio1.17
reset_pin = pathlib.Path('/sys/class/gpio/gpio49/direction')
reset_pin.write_text('low')
bus = SMBus('/dev/i2c-2')
現(xiàn)在,這是他們在bbb.io/latest-images在線頁面上從 2020 年更新的映像中的 4.19.x 內(nèi)核。
...
和這個...
def WriteByte(Reg, Value):
data = [0 for i in range(2)]
data[0] = Reg
data[1] = Value
MotorBridge.writeList(WriteMode,data)
def WriteHalfWord(Reg,Value):
data = [0 for i in range(3)]
data[0] = Reg
data[1] = Value & 0xff
data[2] = (Value>>8) & 0xff
MotorBridge.writeList(WriteMode,data)
def WriteOneWord(Reg,Value):
data = [0 for i in range(5)]
data[0] = Reg
data[1] = Value & 0xff
data[2] = (Value>>8) & 0xff
data[3] = (Value>>16) & 0xff
data[4] = (Value>>24) & 0xff
MotorBridge.writeList(WriteMode,data)
def SetDefault():
WriteOneWord(CONFIG_VALID,0x00000000)
class MotorBridgeCape:
def __init__(self):
GPIO.output(Reset, GPIO.HIGH)
time.sleep(1)
我們將更改此源以處理特定的庫。在編寫此庫時選擇。我們將使用 smbus2 代替他們使用的任何東西,并使用純 python 代替 Adafruit_BBIO b/c,因為它已被棄用。
def WriteByte(Reg,Value):
data = [0 for i in range(2)]
data[0] = Reg
data[1] = Value
bus.write_i2c_block_data(0x4b, 1, data)
def WriteHalfWord(Reg,Value):
data = [0 for i in range(3)]
data[0] = Reg
data[1] = Value & 0xff
data[2] = (Value>>8) & 0xff
bus.write_i2c_block_data(0x4b, 1, data)
def WriteOneWord(Reg,Value):
data = [0 for i in range(5)]
data[0] = Reg
data[1] = Value & 0xff
data[2] = (Value>>8) & 0xff
data[3] = (Value>>16) & 0xff
data[4] = (Value>>24) & 0xff
bus.write_i2c_block_data(0x4b, 1, data)
def SetDefault():
WriteOneWord(CONFIG_VALID, 0x00000000)
class MotorBridgeCape:
def __init__(self):
reset_pin.write_text('high')
time.sleep(1)
所以,要完成這項工作。我們需要執(zhí)行一些特定的任務(wù):
1. 更改 smbus2 庫。在第 304 行處理 i2c-2 而不是任意 i2c 地址和數(shù)字。
2. https://github.com/kplindegaard/smbus2/blob/master/smbus2/smbus2.py#L304是您可以找到第 304 行的地方。
filepath="/dev/i2c-2".format(bus)
pip3 install 或 python3 -m pip install 中的第 304 行位于/.local/lib/python3.7/site-packages/
至少在我的板上,這是我在安裝 w/ 后列出 smbus2 的地方
pip3 install smbus2
or...
python3 -m pip install smbus2
3. 現(xiàn)在,使用壓接器。確??焖贁嚅_在通過拉動和抓取施加高壓力時不會完全脫落。
4. 使用螺絲刀。用一字螺絲刀松開電機橋蓋上連接器上的螺釘。一次滑入一根電線。實際上,讓我們快速嘗試幾個測試,以確保我們的電線正確對齊......
5. 使用 DMM(數(shù)字萬用表)或 MM(萬用表)進入連續(xù)性設(shè)置并進行測試。轉(zhuǎn)到步進器上的一根線,四根線中的一根,然后從 DMM 連接您的 Common GND。現(xiàn)在,嘗試另一根帶電壓的電線。
當(dāng)電線在同一個支架中時,這里應(yīng)該會發(fā)出 DMM/MM 的蜂鳴聲。
如果搜索基礎(chǔ)知識和良好的一般信息,這是另一種選擇。關(guān)于步進電機:https ://en.wikipedia.org/wiki/Stepper_motor 。
6. 一旦我們正確配置了我們的電機并測試了哪些電線與其他電線一起使用,那么我們可以將它們一一放置在 Cape 到 BBGG 的連接器中。擰緊,使運行軟件時電線不會松動。沒有人需要 12v 電擊或電弧。
7. Cape 上有一個工作-待機開關(guān)。在不使用軟件時,最好處于待機模式。然后,準(zhǔn)備就緒后,撥動開關(guān)并運行源。
8. git 克隆https://github.com/silver2row/MotorBridgeCapeforBBG_BBB
通過這種方式,我們可以更改上面提到的MotorBridge.py文件中的所有源。
9. 準(zhǔn)備從未感覺如此美好!
10. 現(xiàn)在,來源:
#!/usr/bin/python3
import MotorBridge
from time import sleep
motor = MotorBridge.MotorBridgeCape()
motor.StepperMotorAInit()
class board:
def StepperMotorATest():
core = int(input("Please provide a numerical value between 0 and 100\n "))
if core >= 85:
motor.StepperMotorAMove(2500, 1000)
sleep(5)
motor.StepperMotorAMove(-2500, 1000)
sleep(2)
print("Making 2500 steps in one direction and back again at 100% duty! ")
elif core <= 84:
motor.StepperMotorAMove(1000, 1000)
sleep(5)
motor.StepperMotorAMove(-1000, 1000)
sleep(2)
print("Making 1000 steps and back again at 100% duty! ")
else:
motor.StepperMotorAMove(500, 800)
sleep(5)
motor.StepperMotorAMove(-500, 800)
sleep(2)
print("Making 500 encoder counts and back again at 80% duty! ")
print("Starting the Script, try to press Control-C to quit!\n")
try:
while True:
board.StepperMotorATest()
sleep(5)
except KeyboardInterrupt:
print("You may have just pressed Control-C!\n")
很多這種來源是出于審美原因,并且是為了熟悉 BBGG 和 Motor Bridge Cape。我最近沒有看到 MBCape 出售。也許在 Ebay 或其他東西上,一個人可以獲得一個。誰知道?
賽斯
PS 但是...有一個類、函數(shù)、if-elif-else 語句和一個 while 循環(huán),用于測試我們作為數(shù)字瞬間輸入的內(nèi)容。
如果我忘記了什么,請發(fā)表評論或分享你學(xué)到的東西。
?

...
?
- Python3與Arduino通信
- python3使用樹莓派GPIO控制步進電機-新手詳細教程
- 步進電機與滾珠絲桿使用
- 《深入Python3》中文版pdf 0次下載
- 在云芯一號中安裝Python3和HomeAssistant
- 步進電機和私服電機的選型工具絲杠水平運動選型計算表格 12次下載
- 如何使用Python3檢查文件是否存在 14次下載
- python2與python3到底有什么區(qū)別 4次下載
- 使用python3寫的圖片壓縮代碼合集免費下載 0次下載
- python3如何取出重復(fù)3次的字符串保存為3列 4次下載
- Python網(wǎng)頁爬蟲,文本處理,科學(xué)計算,機器學(xué)習(xí)和數(shù)據(jù)挖掘工具集 37次下載
- 滾珠絲杠的發(fā)塵特性研究 0次下載
- 步進電機驅(qū)動滾珠絲杠傳動的六自由度并聯(lián)運動平臺 4次下載
- 快速兩天掌握Python3開發(fā) 28次下載
- 舵機滾珠絲杠副測試系統(tǒng)的設(shè)計與實現(xiàn)
- 直線電機有哪些優(yōu)缺點 2642次閱讀
- 滾珠絲杠是干什么用的 滾珠絲杠裝配注意事項 1286次閱讀
- 絲杠:核心傳動功能部件 國產(chǎn)替代 1034次閱讀
- 基于LabVIEW的閉環(huán)步進電機運動系統(tǒng)設(shè)計及精度分析 1520次閱讀
- Linux主機排查腳本介紹 577次閱讀
- 上銀HIWIN滾珠絲杠、絲桿特征及應(yīng)用 1504次閱讀
- Python怎么玩轉(zhuǎn)JS腳本 1157次閱讀
- 什么是步進電機?步進電機單極和雙極的區(qū)別 1.5w次閱讀
- PLC如何操控步進電機 6926次閱讀
- Linux操作環(huán)境下安裝Python 3.6的步驟及避坑指南 2274次閱讀
- 可以使用手機編程實現(xiàn)python嗎 9775次閱讀
- 步進電機使用過程中的異常處理 2547次閱讀
- 步進電機的工作原理及使用特點_步進電機在包裝機械中的應(yīng)用 4708次閱讀
- PLC與步進電機的運動控制詳解 2.4w次閱讀
- python2與python3問題的分析 1063次閱讀
下載排行
本周
- 1DD3118電路圖紙資料
- 0.08 MB | 1次下載 | 免費
- 2AD庫封裝庫安裝教程
- 0.49 MB | 1次下載 | 免費
- 3PC6206 300mA低功耗低壓差線性穩(wěn)壓器中文資料
- 1.12 MB | 1次下載 | 免費
- 4網(wǎng)絡(luò)安全從業(yè)者入門指南
- 2.91 MB | 1次下載 | 免費
- 5DS-CS3A P00-CN-V3
- 618.05 KB | 1次下載 | 免費
- 6海川SM5701規(guī)格書
- 1.48 MB | 次下載 | 免費
- 7H20PR5電磁爐IGBT功率管規(guī)格書
- 1.68 MB | 次下載 | 1 積分
- 8IP防護等級說明
- 0.08 MB | 次下載 | 免費
本月
- 1貼片三極管上的印字與真實名稱的對照表詳細說明
- 0.50 MB | 103次下載 | 1 積分
- 2涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 89次下載 | 1 積分
- 3錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 43次下載 | 1 積分
- 4錦銳CA51F005 SDK開發(fā)包
- 19.47 MB | 19次下載 | 1 積分
- 5PCB的EMC設(shè)計指南
- 2.47 MB | 16次下載 | 1 積分
- 6HC05藍牙原理圖加PCB
- 15.76 MB | 13次下載 | 1 積分
- 7802.11_Wireless_Networks
- 4.17 MB | 12次下載 | 免費
- 8蘋果iphone 11電路原理圖
- 4.98 MB | 6次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191390次下載 | 10 積分
- 5十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評論