3.1. 實作 - 軟體控制測試

XD
0



首先,要能讓MG996R透過PI配合PCA9685擴充版動起來,因為查到的範例都是python,就趁這個機會邊學python。

PI使用的是Raspberry Pi 3 Model A+,直接安裝有圖形介面的PI OS,使用1.5A的USB供電還是常常跳電源不足,不過只要不當機,就先不管了。

安裝後使用WiFi透過SSH登入操作Pi。


配線接法與安裝軟體參考 >
Using a PCA9685 module with Raspberry Pi • AranaCorp

PCA9685使用i2c介面與Pi連接,PCA9685擴充版的電源指示燈,是指示工作電源是否正常,正確接上Pi就會亮起來。

而驅動MG996R因為電流較大,PCA9685擴充版需要額外的電源供應器,不能使用Pi的電源,這邊就沒有額外的指示燈可以判斷。


首先需要額外安裝
Introduction — Adafruit ServoKit Library 1.0 documentation (circuitpython.org)

控制範例就接拿網頁上提供的python script進行測試。
這邊運氣不錯,預設的i2c位址都不需要改,範例就順利跑起來了。

這邊就接著練習一下修改python script,確認要如何控制MGR996,也順便修改成方便自己測試和控制的python code。也把雙腳共12個MGR都接上去,也都能順利控制。





還有一個IMU是MPU9250要接上去

配線接法與安裝軟體我是參考
Hands-on with RPi and MPU9250 Part 3 | by Niranjan Reddy | Medium
需要另外安裝imusensor package ,
imusensor · PyPI
imusensor還需要EasyDict,
easydict · PyPI
這次安裝完很幸運的範例一跑就能用,之前其他的imu範例都跑不起來就不提了。


接著還要把PCA9685和MPU9250同時接上使用

一開始以為i2c被我用掉,只能另外去接SPI介面,不過研究了一下,i2c應該能串接裝置,但是在串接電阻的部分完全看不懂。
有些範例在串接時也都沒加裝電阻,至少單接PCA9685擴充版的範例就沒接,這時看到PCA9685,有第二組i2c介面,想說應該是用來串接的,就來把針腳焊上去試試,不管電阻了。

結果運氣很好,接上去就能讀到MPU9250的IMU數據,同時也能控制PCA9685擴充版連接的MGR996。
MPU9250的i2位址是0x68,PCA9685擴充版的i2位址是0x40,剛好不需要修改。
電阻的問題就記錄下來,之後有需要再研究了。

其實在依照範例練習修改python code時也是多災多難,光看python的錯誤訊息根本不知道發生什麼事,反覆嘗試錯誤才知道原因,同一個錯誤訊息可能代表多種錯誤,學著照回報的錯誤行數才慢慢看得懂。
Tags

發佈留言

0留言

發佈留言 (0)

搜尋此網誌

#buttons=(Accept !) #days=(20)

Our website uses cookies to enhance your experience. Check Now
Accept !