国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

電子發燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

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

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

3天內不再提示
電子發燒友網>電子資料下載>電子資料>使用Python進行伺服PWM控制的MaaxBoard設置

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

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

資料介紹

描述

介紹

這些是有關如何設置 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 兼容大多數變體。

集會

一旦你有了所有的零件,你需要安裝伺服驅動器并將伺服器連接到它上面。

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

注意: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)應如下所示:

poYBAGOX-XmAWQt8AAA3If9Chc8496.png
?

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

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

pYYBAGOX-XuAJjOfAAAltaYnsWs034.png
?

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

poYBAGOX-X2AGAowAACvw80DW9Y470.png
?

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 RaspberryPi
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

評論

查看更多

下載排行

本周

  1. 1新一代網絡可視化(NPB 2.0)
  2. 3.40 MB  |  1次下載  |  免費
  3. 2冷柜-電氣控制系統講解
  4. 13.68 MB   |  1次下載  |  10 積分
  5. 3MDD品牌三極管MMBT3906數據手冊
  6. 2.33 MB  |  次下載  |  免費
  7. 4MDD品牌三極管S9012數據手冊
  8. 2.62 MB  |  次下載  |  免費
  9. 5LAT1218 如何選擇和設置外部晶體適配 BlueNRG-X
  10. 0.60 MB   |  次下載  |  3 積分
  11. 6LAT1216 Blue NRG-1/2 系列芯片 Flash 操作與 BLE 事件的互斥處理
  12. 0.89 MB   |  次下載  |  3 積分
  13. 7收音環繞擴音機 AVR-1507手冊
  14. 2.50 MB   |  次下載  |  免費
  15. 8MS1000TA 超聲波測量模擬前端芯片技術手冊
  16. 0.60 MB   |  次下載  |  免費

本月

  1. 1愛華AIWA HS-J202維修手冊
  2. 3.34 MB   |  37次下載  |  免費
  3. 2PC5502負載均流控制電路數據手冊
  4. 1.63 MB   |  23次下載  |  免費
  5. 3NB-IoT芯片廠商的資料說明
  6. 0.31 MB   |  22次下載  |  1 積分
  7. 4UWB653Pro USB口測距通信定位模塊規格書
  8. 838.47 KB  |  5次下載  |  免費
  9. 5蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
  10. 0.04 MB   |  4次下載  |  1 積分
  11. 6蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
  12. 0.08 MB   |  2次下載  |  1 積分
  13. 7100W準諧振反激式恒流電源電路圖資料
  14. 0.09 MB   |  2次下載  |  1 積分
  15. 8FS8025B USB的PD和OC快充協議電壓誘騙控制器IC技術手冊
  16. 1.81 MB   |  1次下載  |  免費

總榜

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