資料介紹
描述
介紹
這些是有關如何設置 MaaXBoard 以使用精確的 PWM 外部附加卡驅(qū)動多個伺服系統(tǒng)的分步說明。
目標是能夠使用 Python 控制這些電機。我們將重用最初由Adafruit的 Tony DiCola 為 RaspberryPi 編寫的代碼(感謝 Tony)。只需進行少量修改,即可在 MaaXBoard 上運行一切。
先決條件:
首先在這里完成 MaaXBoard 無頭設置。
組件列表
除了電路板本身,我們還需要一些外部部件:
PCA9685伺服驅(qū)動器
外部控制將使用 PCA9685 芯片,該芯片允許利用單個 I2C 總線控制多達 16 個獨立通道(即 16 個伺服)。有多個為 Raspberry Pi 制造的帶有 PCA9685 的防護罩。我們可以使用Adafruit 的盾牌,或者作為替代方案WaveShare 的盾牌。
GPIO 適配器(可選)
由于 MaaxBoard 上的散熱器非常高,如果您使用 WaveShare 的屏蔽罩,您可能還需要一個適配器來安裝它。我們可以為樹莓派使用GPIO 立管或直角 GPIO 適配器。這將允許“垂直”安裝任何外部屏蔽,如果您在 MaaxBoard 散熱器上安裝了風扇,這將更加方便。
伺服電機
在為您的項目選擇伺服電機的類型時,您需要注意您使用的電機類型。標準標簽很少(SG90、MG90S、MG995、MG996R 等),但 PCA9685 兼容大多數(shù)變體。
集會
一旦你有了所有的零件,你需要安裝伺服驅(qū)動器并將伺服器連接到它上面。

注意:Adafruit 的防護罩與 Waveshare 的防護罩不同。Waveshare 版本使用板載 5V/3A 穩(wěn)壓器為舵機供電(最終使用電池作為備用電源),而 Adafruit 版本讓您可以靈活地使用外部電源為舵機提供 5V 電壓。如果您計劃使用多個伺服系統(tǒng)(最多 16 個),Adafruit 版本可能是更好的選擇,因為您不會直接從樹莓電源 (5V) 為伺服系統(tǒng)供電。
軟件安裝
I2c工具
連接屏蔽后,我們需要確保硬件已被識別。為此,我們需要安裝i2ctools 包。通過 SSH 連接到您的開發(fā)板并安裝軟件包
sudo apt install i2c-tools
為了允許我們的用戶在不使用 sudo 的情況下訪問 i2c-dev hw,我們需要添加一個自定義規(guī)則。我們首先創(chuàng)建一個自定義規(guī)則文件
sudo touch /etc/udev/rules.d/50-i2c.rules
然后使用 nano 編輯器編輯文件:
sudo nano /etc/udev/rules.d/50-i2c.rules
并確保內(nèi)容如下
SUBSYSTEM=="i2c-dev", GROUP="i2c", MODE="0660"
現(xiàn)在我們將用戶添加到“i2c”組并設置權限:
sudo adduser ebv i2c
sudo chmod g+rw /dev/i2c-*
sudo reboot
重新啟動板后,通過 ssh 連接到它并檢查是否檢測到屏蔽。跑:
sudo i2cdetect -y 1
i2cdetect 的輸出(對于 /dev/i2c-dev-1)應如下所示:

Python 庫
要將設備與 Python 一起使用,我們需要安裝一些庫。
sudo apt install git build-essential python-dev
Adafruit 庫
要使用 Python 控制 GPIO 和 PWM,我們需要直接從 GitHub 下載 Adafruit 的三個庫。創(chuàng)建一個工作文件夾并將庫拉入其中。
cd ~/
mkdir example
cd example
git clone https://github.com/adafruit/Adafruit_Python_PureIO.git
git clone https://github.com/adafruit/Adafruit_Python_GPIO.git
git clone https://github.com/adafruit/Adafruit_Python_PCA9685.git
安裝樹,以便您可以檢查目錄:
sudo apt install tree
現(xiàn)在打印目錄樹:
tree -d
示例目錄的樹應如下所示:

需要修改 Adafruit 庫才能在 MaaxBoard 上運行。幸運的是,這只是一個小改動。像這樣創(chuàng)建“測試”文件夾:
cd ~/
cd example
mkdir test
cd test
創(chuàng)建我們將用于我們的簡單測試 Python 應用程序的實際 Python 庫的符號鏈接:
ln -s ../Adafruit_Python_GPIO/Adafruit_GPIO/ .
ln -s ../Adafruit_Python_PureIO/Adafruit_PureIO/ .
ln -s ../Adafruit_Python_PCA9685/Adafruit_PCA9685/ .
注意:我們也可以編譯和安裝這些庫(系統(tǒng)范圍安裝),但是這樣做允許我們直接修改代碼并逐個使用它。
現(xiàn)在我們需要修改 GPIO 庫的兩個文件,以確保 MaaXBoard 被識別為 linux 系統(tǒng)(就像它是 RaspberryPi 一樣)。
要修改的兩個文件是I2C.py和Platform.Py 。
使用 nano 打開 I2C.py:
cd Adafruit_GPIO
nano I2C.py
我們需要通過添加粗體的 elif 語句在 get_default_bus() (大約第 40 行)函數(shù)中添加一行:
elif plat == Platform.BEAGLEBONE_BLACK:
# Beaglebone Black has multiple I2C buses, default to 1 (P9_19 and P9_20).
return 1
elif plat == Platform.MAAXBOARD:
return 1
對于 Platform.py,我們需要再添加一個定義來選擇 MAAXBOARD。還是在 test/Adafruit_GPIO 目錄下,在 nano 中打開 Platform.py:
nano Platform.py
在下面添加粗體行(第 24 行附近):
# Platform identification constants.
UNKNOWN = 0
RASPBERRY_PI = 1
BEAGLEBONE_BLACK = 2
MINNOWBOARD = 3
JETSON_NANO = 4
MAAXBOARD = 5
在 def platform_detect() 函數(shù)中,添加粗線:
...
# Handle Beaglebone Black
# TODO: Check the Beaglebone Black /proc/cpuinfo value instead of reading
# the platform.
plat = platform.platform()
print(plat)
if plat.lower().find('armv7l-with-debian') > -1:
return BEAGLEBONE_BLACK
...
elif plat.lower().find('tegra-aarch64-with-ubuntu') > -1:
return JETSON_NANO
elif plat.lower().find('aarch64-with-debian') > -1:
return MAAXBOARD
...
最終 Platform.py 應如下所示:

Python 應用程序
現(xiàn)在我們準備使用 Adafruit 提供的示例之一。由于 Python 代碼的可移植性,這里不需要修改。我們將simpletest.py文件復制到我們的測試目錄中:
cd example
cp Adafruit_Python_PCA9685/examples/simpletest.py test
執(zhí)行測試文件。
cd example/test
python ./simpletest.py
如果一切正常,您的伺服電機將移動,直到您使用 CTRL-C 退出腳本。
注意:在本例中,我們控制的是 N.0 通道,因此請確保將您的伺服器連接到屏蔽位置零的編號接頭。
結論
現(xiàn)在,您可以控制多個伺服電機,用于您的機械裝配,例如云臺變焦或電子動畫或工業(yè)原型。當您計劃在外部屏蔽上使用多個伺服時,請始終確??刂扑欧愋秃妥畲箢~定電流,最終添加一個專用于伺服屏蔽的特定電源。
- PWM信號控制舵機原理
- 使用Python進行遠程藍牙燈控制
- 在MaaXBoard Mini上使用Edge Impulse進行安全帽檢測
- 帶PWM控制的伺服電機控制卡
- 使用Arduino和Python Tkinter進行RGB Led控制
- 使用Python控制物聯(lián)網(wǎng)項目的伺服電機
- 直流控制系統(tǒng)中PWM功放的頻率和死區(qū)設置 3次下載
- 基于DSP的永磁交流伺服控制系統(tǒng)開發(fā)
- 基于雙DSP的雙PWM變頻器控制平臺 22次下載
- Python進行配置文件的教程免費下載 6次下載
- PWM控制技術的資料介紹 66次下載
- python基礎教程之如何使用python進行環(huán)境搭建 32次下載
- 步進脈沖或PWM控制方式直流伺服驅(qū)動器 3次下載
- 8098 單片機和伺服電機PWM 調(diào)速控制
- 基于專用PWM控制器的直流伺服位置系統(tǒng)
- 松下伺服電機電子齒輪比怎么設置 1235次閱讀
- 使用Python進行Ping測試 568次閱讀
- 三菱PLC的伺服定位控制詳解 2118次閱讀
- 伺服驅(qū)動器要做哪些設置 1991次閱讀
- 伺服驅(qū)動器和伺服控制器的區(qū)別 2338次閱讀
- 伺服電機驅(qū)動器設置參數(shù)教程 7586次閱讀
- PWM控制和強制PWM控制的特點 4206次閱讀
- 總線伺服電機的回零控制方法 3718次閱讀
- 如何使用Python和PinPong庫控制Arduino 1033次閱讀
- 伺服驅(qū)動器的參數(shù)設置方法和故障排查技巧 8855次閱讀
- 伺服的控制方式及注意事項 7778次閱讀
- 伺服系統(tǒng)是如何進行工作的_常見的伺服系統(tǒng)有哪些 3046次閱讀
- 如何使用CAN總線進行紙箱包裝機伺服運動控制系統(tǒng)設計的概述 6077次閱讀
- 伺服電機如何進行快速的測試? 1w次閱讀
- 伺服控制電路簡單設計制作 3533次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論