新聞中心

EEPW首頁(yè) > 機(jī)器人 > 設(shè)計(jì)應(yīng)用 > 花了1年半時(shí)間,我終于做出來(lái)了桌面機(jī)器人!

花了1年半時(shí)間,我終于做出來(lái)了桌面機(jī)器人!

作者: 時(shí)間:2024-12-06 來(lái)源:嘉立創(chuàng) 收藏

做了個(gè),也可以是“電子寵物”

本文引用地址:http://2s4d.com/article/202412/465286.htm

參考了Anki公司Cozmo機(jī)器人的外觀設(shè)計(jì)。

*圖片來(lái)源自百度,僅對(duì)文中提及的“Cozmo機(jī)器人”起到說(shuō)明作用,侵刪

它實(shí)現(xiàn)了這些功能:

功能/亮點(diǎn)

  • 機(jī)器人拍攝實(shí)景,手機(jī)可查看實(shí)景并控制機(jī)器人行動(dòng)

  • 局域網(wǎng)圖傳

  • 語(yǔ)音交互:能和機(jī)器人聊天!通過(guò)ESP32的語(yǔ)音喚醒+識(shí)別

  • 魔方與機(jī)器人交互、UI交互

  • 具備3個(gè)自由度(手臂2個(gè)、頭部1個(gè)):使用自己修改的特制舵機(jī)支持關(guān)節(jié)角度回傳

硬件設(shè)計(jì)

機(jī)器人主要由【頭部+底盤】?jī)刹糠纸M成,6塊PCB

Chassis-board 原理圖

Chassis-board PCB圖

Cube 原理圖

Cube PCB圖

Cube-usb-ttl 原理圖

Cube-usb-ttl PCB圖

head-board 原理圖

head-board PCB圖

lcd-board 原理圖

lcd-board PCB圖

servo-board 原理圖

servo-board PCB圖

1.說(shuō)明

  • 設(shè)計(jì)軟件:嘉立創(chuàng)EDA

  • 機(jī)器人頭部主控:,擔(dān)任 “大腦” 進(jìn)行UI交互、網(wǎng)絡(luò)通訊、輕量化AI處理

  • 機(jī)器人底盤主控:STM32F103,擔(dān)任 “小腦” 進(jìn)行運(yùn)動(dòng)控制

  • 魔方主控:

  • 參加活動(dòng):星火計(jì)劃,活動(dòng)已提供3次3D外殼打?。ü灿?jì)717元)3次SMT(共計(jì)2250元)等耗材費(fèi)用

2.選型說(shuō)明

①機(jī)器人底盤為什么選擇STM32F103作為主控?

首先,機(jī)器人的底盤設(shè)計(jì),需要滿足以下基礎(chǔ)功能

  • 支持1路串口 MSH 交互(用過(guò)rtthread的同學(xué)知道有多香)

  • 與頭部開發(fā)板進(jìn)行通訊(串口)

  • 支持串口OTA升級(jí)固件

  • 支持激光測(cè)距,實(shí)時(shí)檢測(cè)掉落

  • 控制兩個(gè) I2C 總線舵機(jī)

  • 可通過(guò)幻彩燈帶 WS2812 顯示狀態(tài)

  • ADC電壓采集測(cè)量

  • 控制兩個(gè)電機(jī)+采集編碼器計(jì)數(shù)

  • 可以檢測(cè)機(jī)器人的狀態(tài)(拿起、被搖晃等)

于是,誕生了以下幾點(diǎn)硬件需求

  • 至少2路串口

  • 至少2路 I2C 總線

  • SPI/PWM驅(qū)動(dòng)WS2812

  • 1路ADC

  • 2路硬件編碼器接口

  • 4路PWM輸出

而 STM32F103RCT6:

  • 資源符合本項(xiàng)目需求,沒(méi)有太多資源冗余

  • 價(jià)格可以接受

  • ST的芯片成熟度較高(主要是軟件)

由此,最終底盤主控選擇了STM32F103RCT6

②機(jī)器人頭部為什么選擇作為主控?

頭部PCB實(shí)物圖

頭部PCB實(shí)物圖

首先,機(jī)器人的頭部設(shè)計(jì),需要滿足以下基礎(chǔ)功能:

  • 支持1路串口MSH交互

  • 與底盤進(jìn)行通訊(串口)

  • 驅(qū)動(dòng)一路 I2C 總線舵機(jī)

  • 算力不能太弱(需部署語(yǔ)音識(shí)別等算法)

  • 支持無(wú)線協(xié)議(遙控、圖傳)

  • 支持攝像頭 DCMI 接口

  • 可以流暢顯示 UI 動(dòng)畫

  • 可以播放音頻(I2S/DAC)

于是,誕生了以下幾點(diǎn)硬件需求:

  • 至少2路串口

  • 至少2路 I2C 總線

  • 需要自帶無(wú)線射頻功能

  • 需要支持 DCMI/MIPI-CSI 接口

  • 需要支持高速率 SPI/RGB/MIPI-DSI 接口

  • 需要支持 I2S /高分辨率 DAC 接口

而 ESP32-S3:

  • 價(jià)格合理

  • 樂(lè)鑫的軟件成熟度較高(ESP-IDF)

  • 算力較強(qiáng),有較為完善的AI端側(cè)算法支持

  • 自帶 Wi-Fi 協(xié)議棧,帶寬符合應(yīng)用需求

  • 支持 DCMI 接口用于圖傳

因此,底盤采用的主控是 ESP32-S3

③機(jī)器人控制板為什么選擇ESP32-S3作為主控?

首先,機(jī)器人的手臂&頭部控制板的設(shè)計(jì),需要滿足以下基礎(chǔ)功能:

  • 作為I2C從機(jī)使用,主機(jī)采用I2C控制從機(jī)的舵機(jī)運(yùn)動(dòng)

  • 控制舵機(jī)中的電機(jī)運(yùn)動(dòng)

  • 需要支持力反饋

  • 需要可以精準(zhǔn)控制舵機(jī)運(yùn)動(dòng)

于是,誕生了以下幾點(diǎn)硬件需求:

  • 支持硬件 I2C 從機(jī)協(xié)議

  • 支持至少2路 PWM

  • 支持 ADC 采樣

而 STM32F030F6:

  • 資源符合本項(xiàng)目需求,沒(méi)有太多資源冗余

  • 價(jià)格可以接受

  • ST的芯片成熟度較高(主要是軟件)

因此,底盤采用的主控是STM32F030F6

軟件設(shè)計(jì)

項(xiàng)目提供配套【開發(fā)資料】和對(duì)應(yīng)SDK以供二次開發(fā)

參考開源資料:
https://oshwhub.com/rbbbb/ATom-Bot



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉