ElectronBot
Derivative work of ElectronBot.
Useful links
Githubs
- Gitee Study Repo
- ElectronBot Github
- ElectronBot Voice Github (Jinson)
- 小卡 JLC 開源
- 電子腦殼
- Github 馬達調適 issue
Videos
Debugging
Time line
日期 | 進度 |
---|---|
6/29 | 完成新的 layout |
7/1 | 送 PCB |
7/5 | 淘寶訂貨完成 |
7/12 | PCB 到貨,完成6片伺服馬達板子焊接 |
7/12 | 發現沒買到 PAJ7620U2 ,吐了 |
7/14 | 完成底板 + SensorBoard 焊接 |
7/14 | 換了不少片 HS8836A ,但是還是沒有成功連線 |
7/14 | 另外3片底板只有一片能讀到,其他兩片都沒有 |
7/16 | 今天做比較晚做到半夜,5片底板測試都OK |
7/16 | 一片新 layout的板子銅箔被我剝起來,要重新焊整片了嗚嗚 |
7/16 | libusb32 安裝 ElectronBot@PZH 問題解決 |
7/16 | 頭部版測試也OK (播放表情沒問題) |
7/16 | 完成 3 組機器人核心版 (包含ElectronBot, SensorBoard, BaseConnector),其中一組有相機測試沒問題 |
7/16 | 有多完成一組自己 layout 的 SensorBoard 板子,測試過也沒問題 |
7/16 | 注意測量電壓的時候不要誤觸短路,今天也燒掉一條排線,還有一片 SensorBoard 的電阻,測半天弄不出來,後來整批換掉就好了 |
7/17 | 馬達 I2C 好像還是有點問題,兩個上位機都連線不上 |
7/17 | 單顆馬達目前直接稍轉 360 的韌體可以動作了,正在懷疑是不是焊接問題 |
7/19 | 把六個馬達板上到馬達上了,有一個馬達是壞的,換過之後都可以正常轉動並讀到數值,但是9g的大馬達轉不起來,跟小羊要了一顆之後,他的角度讀數是壞掉的 |
7/24 | 今天燒馬達韌體 I2C ID,燒錄之後全部接到板子上,也成功連線上位機,成功讀寫每個馬達的角度!不過角度的位移有點不敏感,可能 tune PID 會好。 |
8/14 | 擱了一陣子回來繼續做,多加了一條供電線到 SensorBoard 上面,9g馬達總算會動了,不過角度也沒有到180。 |
8/22 | Tune 好了小顆的馬達,不過大顆的9g馬達還是控不太起來,現在計畫全部都改成小顆的馬達了。希望今天組得完~ |
8/23 | 算是組完了,阿不過殼子合不起來,身體的空間太小了,脖子的現也不夠粗 |
8/24 | 把 CAD 圖改完了,零件要重新印過 |
9/4 | 出國玩回來直接開組,總算組完了,新的零件也很合適 |
Cost
5 隻小機器人
- 電路板 ~10000元
- 元件 + 零件 ~8000元
1 隻價格: ~3500元
使用元件
Original version
- CP2102: USB to UART Bridge
- STM32F405RGT6: 32-bit ARM Cortex-M4F MCU
- MPU6050: 6-axis motion tracking device
- USB3300: USB PHY
- HS8836A: USB Hub
- LCD 240x240 round
- PAJ7620U2: Gesture sensor
- Camera module
- STM32F042F6
- FM116C: Motor driver
Audio version
- PCM2912A: USB audio codec
- SC8002B: Audio amplifier
- WM8978: Audio codec
- W25Q256: 256Mbit Flash
電路板
Original version
- ElctronBot: 頭部主板
- SensorBoard: 接感測器、馬達的主板
- ServoDrive: 馬達驅動板
- ServoDrive-DK: 馬達驅動板(調整用)
- BaseConnector: USB Type-C 轉接板
Jinson
- ElctronBot: 頭部主板與原本使用一樣地即可
- SensorBoard: 增加 Audio Codec
- 其他都一樣
小卡
- ElctronBot: 頭部主板與原本使用一樣地即可
- SensorBoard: 與原本相同
- MotorDrive: 增加電容更穩定
- BaseConnector: 將 codec 晶片、麥克風等等 lay 到這張上面
最終選擇
- ElectronBot: 自己 lay
- 大部分是原版,參考小卡增加喇叭 (8P FPC -> 10P FPC)、增加一個 SH-2P
- 增加兩組 SH-2P for capacitance sensing
- SD card module modification
大約 lay 5 個小時
- SensorBoard: 自己 lay
- 大部分是原版,參考小卡 header 位置,比較好連接
- 增加兩組 I2C header,作為底部連接擴充
大約 lay 7 個小時
- BaseConnector: 用小卡的
- MotorDrive: 用小卡的
Audio version
- 可以只改用新版的 SensorBoard
硬體線路
USB Hub USB Hub 總共有4個port,這裡用到3個port,分別是:
- Port 1 (ST): USB3300
- Port 2 (CP): STM32F405RGT6 + CP2102
- Port 3 (CAM): Cameara module
- Port 4 (PAJ): Audio codec
韌體燒錄
系統辨識 Port
- CP2102
- ElectronBot@PZH (USB3300)
- camera
上位機
-
ElectronBot Braincase
- 有蠻多功能可以用的
- 測試OK
-
ElectronBot-Debugger
- 所有的韌體編譯好的檔案都在 pictures 路徑下面
- 操作可以參考這篇
- 測試連線不到
- 所有的韌體編譯好的檔案都在 pictures 路徑下面
-
Jinson-ServerMotor Tester
- 好像也連線不到
-
All I2C Command
單元測試
先單獨測試每個模組沒問題(屏幕顯示和USB通信用Test資料夾裡的工程、舵機都單獨測試好了),然後需要接上所有6個舵機才行; 先連接機器人,再打開studio,三檔開關打到模型優先就可以動了,是即時同步的
字體在LargeFiles資料夾裡面
螢幕 可以參考這個教學 8:00 的地方 Bilibili video
但是可能會發生缺少 dll 的問題,用 Dependency 掃一下
之後照著這個 issue 提供的方法做就可以了 dll issue resolve 將 ElectronBot@PZH 直接強制燒到 USB3300 的 Port 上面,就可以了
硬體組裝全測
在 gitee 上我有找到馬達對應的位置和 ID,ID 都是偶數從 2 ~ 12,如下圖所示:
馬達連接全測:
全部插上之後可以測式連接,用寫好的 Unity 上位機去連線,記得左右滑動調整模型優先模式或是實體優先模式。
問題
- CSDN 這篇也是遇到一樣問題,不過是焊接虛焊的問題。
datasheet 裡面用的是 10k,但 schematic 裡面用的是 100k,不果目前兩種都無法正確連線到,看網路上寫沒差,姑且先這樣。
小卡的板子在 5V 的地方 decoupling capacitor 的容值是 0.1uF,但是原本的板子是 4.7uF,替換過後還是連不到,不確定有沒有影響。
214b:7250
- VID PID search Linux 讀得到 HS8826A 但是 Windows 就讀不到,不確定是不是 HS8826A 的問題。
用 libusb-win32 也有抓到 Generic USB Hub
214b:7250
跟著這個教學把原本ElectronBot@PZH的驅動程式移除,然後重新安裝,裝完就變成上圖這個樣子。本來想按照 Readme 裡面做,但是我發現我電腦關掉驅動強制簽名之後,還是沒辦法抓到並安裝,所以就用這個方法。
這裡的 GND 跟 SWDIO 和原本版本相反了,燒綠的時候要注意要把兩條線反過來才能正常燒錄。 switch SWDIO and GND
更新:換成小馬達之後就不用這樣做了
馬達供電不足,導致馬達轉不動,要從 USB 底板供電。 測試過後,多焊接兩題線到中間的 5V 和 GND,就可以正常運作了。
馬達上電之後,會不斷來回轉動看起來有點像overshooting (6號馬達有問題,其他都正常)
測試: 1. 不是馬達正負線接反 (有試過直接返著接,他直接爆轉轉到可變電阻中間被扭斷) 2. 角度感測器沒有接錯讀值正常 3. 有把PID從(10 0 50)調成(5 0 30)(1 0 0)但是看起來響應都一樣所以應該不是這個問題 4. 也不是 FM116C 壞掉的問題,有換過其他的但結果還是一樣
8/16 新問題:今天把壞掉的板子漢好的板子PWM拿來比較,發現壞掉的PWM頻率比較低
-
好的:
-
壞掉的:
是軟體的問題嗚嗚嗚,修好了。 不過還是怪怪的,我調PID沒有任何變化,不知道是哪裡有問題。
修好之後的波型:
成品展示
-
電路組裝測試
-
組裝完成圖
-
展示影片