資料介紹
描述
介紹
這些是有關如何設置 MaaXBoard 以使用精確的 PWM 外部附加卡驅動多個伺服系統的分步說明。
目標是能夠使用 Python 控制這些電機。我們將重用最初由Adafruit的 Tony DiCola 為 RaspberryPi 編寫的代碼(感謝 Tony)。只需進行少量修改,即可在 MaaXBoard 上運行一切。
先決條件:
首先在這里完成 MaaXBoard 無頭設置。
組件列表
除了電路板本身,我們還需要一些外部部件:
PCA9685伺服驅動器
外部控制將使用 PCA9685 芯片,該芯片允許利用單個 I2C 總線控制多達 16 個獨立通道(即 16 個伺服)。有多個為 Raspberry Pi 制造的帶有 PCA9685 的防護罩。我們可以使用Adafruit 的盾牌,或者作為替代方案WaveShare 的盾牌。
GPIO 適配器(可選)
由于 MaaxBoard 上的散熱器非常高,如果您使用 WaveShare 的屏蔽罩,您可能還需要一個適配器來安裝它。我們可以為樹莓派使用GPIO 立管或直角 GPIO 適配器。這將允許“垂直”安裝任何外部屏蔽,如果您在 MaaxBoard 散熱器上安裝了風扇,這將更加方便。
伺服電機
在為您的項目選擇伺服電機的類型時,您需要注意您使用的電機類型。標準標簽很少(SG90、MG90S、MG995、MG996R 等),但 PCA9685 兼容大多數變體。
集會
一旦你有了所有的零件,你需要安裝伺服驅動器并將伺服器連接到它上面。
注意:Adafruit 的防護罩與 Waveshare 的防護罩不同。Waveshare 版本使用板載 5V/3A 穩壓器為舵機供電(最終使用電池作為備用電源),而 Adafruit 版本讓您可以靈活地使用外部電源為舵機提供 5V 電壓。如果您計劃使用多個伺服系統(最多 16 個),Adafruit 版本可能是更好的選擇,因為您不會直接從樹莓電源 (5V) 為伺服系統供電。
軟件安裝
I2c工具
連接屏蔽后,我們需要確保硬件已被識別。為此,我們需要安裝i2ctools 包。通過 SSH 連接到您的開發板并安裝軟件包
sudo apt install i2c-tools
為了允許我們的用戶在不使用 sudo 的情況下訪問 i2c-dev hw,我們需要添加一個自定義規則。我們首先創建一個自定義規則文件
sudo touch /etc/udev/rules.d/50-i2c.rules
然后使用 nano 編輯器編輯文件:
sudo nano /etc/udev/rules.d/50-i2c.rules
并確保內容如下
SUBSYSTEM=="i2c-dev", GROUP="i2c", MODE="0660"
現在我們將用戶添加到“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 的三個庫。創建一個工作文件夾并將庫拉入其中。
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
現在打印目錄樹:
tree -d
示例目錄的樹應如下所示:
需要修改 Adafruit 庫才能在 MaaxBoard 上運行。幸運的是,這只是一個小改動。像這樣創建“測試”文件夾:
cd ~/
cd example
mkdir test
cd test
創建我們將用于我們的簡單測試 Python 應用程序的實際 Python 庫的符號鏈接:
ln -s ../Adafruit_Python_GPIO/Adafruit_GPIO/ .
ln -s ../Adafruit_Python_PureIO/Adafruit_PureIO/ .
ln -s ../Adafruit_Python_PCA9685/Adafruit_PCA9685/ .
注意:我們也可以編譯和安裝這些庫(系統范圍安裝),但是這樣做允許我們直接修改代碼并逐個使用它。
現在我們需要修改 GPIO 庫的兩個文件,以確保 MaaXBoard 被識別為 linux 系統(就像它是 RaspberryPi 一樣)。
要修改的兩個文件是I2C.py和Platform.Py 。
使用 nano 打開 I2C.py:
cd Adafruit_GPIO
nano I2C.py
我們需要通過添加粗體的 elif 語句在 get_default_bus() (大約第 40 行)函數中添加一行:
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() 函數中,添加粗線:
...
# 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 應用程序
現在我們準備使用 Adafruit 提供的示例之一。由于 Python 代碼的可移植性,這里不需要修改。我們將simpletest.py文件復制到我們的測試目錄中:
cd example
cp Adafruit_Python_PCA9685/examples/simpletest.py test
執行測試文件。
cd example/test
python ./simpletest.py
如果一切正常,您的伺服電機將移動,直到您使用 CTRL-C 退出腳本。
注意:在本例中,我們控制的是 N.0 通道,因此請確保將您的伺服器連接到屏蔽位置零的編號接頭。
結論
現在,您可以控制多個伺服電機,用于您的機械裝配,例如云臺變焦或電子動畫或工業原型。當您計劃在外部屏蔽上使用多個伺服時,請始終確保控制伺服類型和最大額定電流,最終添加一個專用于伺服屏蔽的特定電源。
- PWM信號控制舵機原理
- 使用Python進行遠程藍牙燈控制
- 在MaaXBoard Mini上使用Edge Impulse進行安全帽檢測
- 帶PWM控制的伺服電機控制卡
- 使用Arduino和Python Tkinter進行RGB Led控制
- 使用Python控制物聯網項目的伺服電機
- 直流控制系統中PWM功放的頻率和死區設置 3次下載
- 基于DSP的永磁交流伺服控制系統開發
- 基于雙DSP的雙PWM變頻器控制平臺 22次下載
- Python進行配置文件的教程免費下載 6次下載
- PWM控制技術的資料介紹 66次下載
- python基礎教程之如何使用python進行環境搭建 32次下載
- 步進脈沖或PWM控制方式直流伺服驅動器 3次下載
- 8098 單片機和伺服電機PWM 調速控制
- 基于專用PWM控制器的直流伺服位置系統
- 松下伺服電機電子齒輪比怎么設置 1235次閱讀
- 使用Python進行Ping測試 568次閱讀
- 三菱PLC的伺服定位控制詳解 2118次閱讀
- 伺服驅動器要做哪些設置 1991次閱讀
- 伺服驅動器和伺服控制器的區別 2338次閱讀
- 伺服電機驅動器設置參數教程 7586次閱讀
- PWM控制和強制PWM控制的特點 4206次閱讀
- 總線伺服電機的回零控制方法 3718次閱讀
- 如何使用Python和PinPong庫控制Arduino 1033次閱讀
- 伺服驅動器的參數設置方法和故障排查技巧 8855次閱讀
- 伺服的控制方式及注意事項 7778次閱讀
- 伺服系統是如何進行工作的_常見的伺服系統有哪些 3046次閱讀
- 如何使用CAN總線進行紙箱包裝機伺服運動控制系統設計的概述 6077次閱讀
- 伺服電機如何進行快速的測試? 1w次閱讀
- 伺服控制電路簡單設計制作 3533次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 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開發指南
- 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數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 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次下載 | 免費
評論
查看更多