• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 機器人 > 設計應用 > 花了1年半時間,我終于做出來了桌面機器人!

    花了1年半時間,我終于做出來了桌面機器人!

    作者: 時間:2024-12-06 來源:嘉立創 收藏

    做了個,也可以是“電子寵物”

    本文引用地址:http://www.czjhyjcfj.com/article/202412/465286.htm

    參考了Anki公司Cozmo機器人的外觀設計。

    *圖片來源自百度,僅對文中提及的“Cozmo機器人”起到說明作用,侵刪

    它實現了這些功能:

    功能/亮點

    • 機器人拍攝實景,手機可查看實景并控制機器人行動

    • 局域網圖傳

    • 語音交互:能和機器人聊天!通過ESP32的語音喚醒+識別

    • 魔方與機器人交互、UI交互

    • 具備3個自由度(手臂2個、頭部1個):使用自己修改的特制舵機支持關節角度回傳

    硬件設計

    機器人主要由【頭部+底盤】兩部分組成,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.說明

    • 設計軟件:嘉立創EDA

    • 機器人頭部主控:,擔任 “大腦” 進行UI交互、網絡通訊、輕量化AI處理

    • 機器人底盤主控:STM32F103,擔任 “小腦” 進行運動控制

    • 魔方主控:

    • 參加活動:星火計劃,活動已提供3次3D外殼打印(共計717元)3次SMT(共計2250元)等耗材費用

    2.選型說明

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

    首先,機器人的底盤設計,需要滿足以下基礎功能

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

    • 與頭部開發板進行通訊(串口)

    • 支持串口OTA升級固件

    • 支持激光測距,實時檢測掉落

    • 控制兩個 I2C 總線舵機

    • 可通過幻彩燈帶 WS2812 顯示狀態

    • ADC電壓采集測量

    • 控制兩個電機+采集編碼器計數

    • 可以檢測機器人的狀態(拿起、被搖晃等)

    于是,誕生了以下幾點硬件需求

    • 至少2路串口

    • 至少2路 I2C 總線

    • SPI/PWM驅動WS2812

    • 1路ADC

    • 2路硬件編碼器接口

    • 4路PWM輸出

    而 STM32F103RCT6:

    • 資源符合本項目需求,沒有太多資源冗余

    • 價格可以接受

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

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

    ②機器人頭部為什么選擇作為主控?

    頭部PCB實物圖

    頭部PCB實物圖

    首先,機器人的頭部設計,需要滿足以下基礎功能:

    • 支持1路串口MSH交互

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

    • 驅動一路 I2C 總線舵機

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

    • 支持無線協議(遙控、圖傳)

    • 支持攝像頭 DCMI 接口

    • 可以流暢顯示 UI 動畫

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

    于是,誕生了以下幾點硬件需求:

    • 至少2路串口

    • 至少2路 I2C 總線

    • 需要自帶無線射頻功能

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

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

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

    而 ESP32-S3:

    • 價格合理

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

    • 算力較強,有較為完善的AI端側算法支持

    • 自帶 Wi-Fi 協議棧,帶寬符合應用需求

    • 支持 DCMI 接口用于圖傳

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

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

    首先,機器人的手臂&頭部控制板的設計,需要滿足以下基礎功能:

    • 作為I2C從機使用,主機采用I2C控制從機的舵機運動

    • 控制舵機中的電機運動

    • 需要支持力反饋

    • 需要可以精準控制舵機運動

    于是,誕生了以下幾點硬件需求:

    • 支持硬件 I2C 從機協議

    • 支持至少2路 PWM

    • 支持 ADC 采樣

    而 STM32F030F6:

    • 資源符合本項目需求,沒有太多資源冗余

    • 價格可以接受

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

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

    軟件設計

    項目提供配套【開發資料】和對應SDK以供二次開發

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



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 鱼台县| 铅山县| 荔浦县| 合山市| 新兴县| 菏泽市| 元阳县| 屯门区| 襄垣县| 汝城县| 宝鸡市| 枣强县| 泰来县| 克拉玛依市| 治县。| 开江县| 宜都市| 耿马| 扬州市| 郸城县| 荣昌县| 平凉市| 呼伦贝尔市| 玉溪市| 甘泉县| 中卫市| 宁乡县| 汉寿县| 安阳县| 图们市| 互助| 巴东县| 宜都市| 曲麻莱县| 留坝县| 英山县| 商洛市| 永德县| 三亚市| 黄平县| 尼玛县|