99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

電子發(fā)燒友App

硬聲App

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用Python進行伺服PWM控制的MaaxBoard設置

使用Python進行伺服PWM控制的MaaxBoard設置

2022-12-15 | zip | 0.60 MB | 次下載 | 免費

資料介紹

描述

介紹

這些是有關如何設置 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ū)動器并將伺服器連接到它上面。

pYYBAGOX-XeAeta7AAKen8CFk7A712.png
來自 https://learn.adafruit.com/assets/69564
?

注意: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”組并設置權(quán)限:

sudo adduser ebv i2c
sudo chmod g+rw /dev/i2c-*
sudo reboot

重新啟動板后,通過 ssh 連接到它并檢查是否檢測到屏蔽。跑:

sudo i2cdetect -y 1

i2cdetect 的輸出(對于 /dev/i2c-dev-1)應如下所示:

poYBAGOX-XmAWQt8AAA3If9Chc8496.png
?

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

示例目錄的樹應如下所示:

pYYBAGOX-XuAJjOfAAAltaYnsWs034.png
?

需要修改 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.pyPlatform.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 應如下所示:

poYBAGOX-X2AGAowAACvw80DW9Y470.png
?

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 通道,因此請確保將您的伺服器連接到屏蔽位置零的編號接頭。

結(jié)論

現(xiàn)在,您可以控制多個伺服電機,用于您的機械裝配,例如云臺變焦或電子動畫或工業(yè)原型。當您計劃在外部屏蔽上使用多個伺服時,請始終確??刂扑欧愋秃妥畲箢~定電流,最終添加一個專用于伺服屏蔽的特定電源。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1DD3118電路圖紙資料
  2. 0.08 MB   |  1次下載  |  免費
  3. 2AD庫封裝庫安裝教程
  4. 0.49 MB   |  1次下載  |  免費
  5. 3PC6206 300mA低功耗低壓差線性穩(wěn)壓器中文資料
  6. 1.12 MB   |  1次下載  |  免費
  7. 4網(wǎng)絡安全從業(yè)者入門指南
  8. 2.91 MB   |  1次下載  |  免費
  9. 5DS-CS3A P00-CN-V3
  10. 618.05 KB  |  1次下載  |  免費
  11. 6海川SM5701規(guī)格書
  12. 1.48 MB  |  次下載  |  免費
  13. 7H20PR5電磁爐IGBT功率管規(guī)格書
  14. 1.68 MB   |  次下載  |  1 積分
  15. 8IP防護等級說明
  16. 0.08 MB   |  次下載  |  免費

本月

  1. 1貼片三極管上的印字與真實名稱的對照表詳細說明
  2. 0.50 MB   |  103次下載  |  1 積分
  3. 2涂鴉各WiFi模塊原理圖加PCB封裝
  4. 11.75 MB   |  89次下載  |  1 積分
  5. 3錦銳科技CA51F2 SDK開發(fā)包
  6. 24.06 MB   |  43次下載  |  1 積分
  7. 4錦銳CA51F005 SDK開發(fā)包
  8. 19.47 MB   |  19次下載  |  1 積分
  9. 5PCB的EMC設計指南
  10. 2.47 MB   |  16次下載  |  1 積分
  11. 6HC05藍牙原理圖加PCB
  12. 15.76 MB   |  13次下載  |  1 積分
  13. 7802.11_Wireless_Networks
  14. 4.17 MB   |  12次下載  |  免費
  15. 8蘋果iphone 11電路原理圖
  16. 4.98 MB   |  6次下載  |  2 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935127次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設計
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191390次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183342次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81588次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73815次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65989次下載  |  10 積分