Petoi Doc Center
🇨🇳中文版
🇨🇳中文版
  • 欢迎查阅派拓艺文档中心
  • 快速上手指南
  • Petoi 机器人关节序号
  • 蓝牙连接
  • 上传固件
  • 关节校准
  • 红外遥控
    • 遥控器
  • 手机应用
    • 总览
    • 关节校准
    • 控制面板
  • 桌面应用
    • 总览
    • 固件上载
    • 关节校准
    • 技能创作坊
    • 调试器
  • 图形化编程
    • Petoi 编程积木
    • Mind+中的Python代码模式
    • Arduino UNO 编程积木
  • Arduino IDE
    • 为NyBoard上传程序
    • 为BiBoard上传程序
    • 使用Arduino IDE校准舵机
    • 串口监视器
  • API
    • 🖇️串口协议
    • 🐍Python serialMaster使用指南
    • 🐛MicroPython控制器
      • MicroPython上手玩
      • 配置WebREPL
      • 使用ESP-NOW协议
    • 🍓通过树莓派控制机器人
    • 🤖ROS
  • NYBOARD
    • 总述
    • NyBoard V1_0
    • NyBoard V1_1 & NyBoard V1_2
  • BiBoard
    • BiBoard V0 快速上手指南
    • 例程介绍
      • 1. GPIO例程
      • 2. 串口
      • 3. 模拟-数字转换器
      • 4. 数字-模拟转换器
      • 5. EEPROM(电擦除存储器)
      • 6. 陀螺仪IMU(MPU6050)
      • 7. 红外遥控
      • 8. PWM
      • 9. 舵机(施工)
      • 10. 经典蓝牙串口SPP
      • 11. 蓝牙低功耗(BLE)串口透传
      • 12. 文件系统SPIFFS
      • 13. Arduino IDE增加硬件分区配置选项
      • 14. 播放MP3
      • 15. WiFi和OTA的使用
    • BiBoard V1 用户指南
  • 通信模块
    • 通信模块概要说明
    • USB上载模块(CH340C)
    • 双模蓝牙模块
    • WiFi模块(ESP8266)
      • 使用ESP8266 + Python 脚本实现无线群控
  • 扩展模块
    • 扩展模块概要说明
    • MU摄像头模块
    • 超声波传感器
    • 光强传感器
    • 触摸传感器
    • 手势传感器
    • 人体移动探测器
    • 语音指令模块
    • Petoi AI Vision摄像头模块
    • 深度开发应用AI视觉模块
      • 🏋️模型训练
      • ⚖️模型量化
      • 🏌️模型部署
      • COCO数据集DIY训练
    • 机械臂
      • 升级旧款 Bittle/Bittle X
    • Micro:bit 游戏手柄
  • 应用实例
    • 技能创作
    • 姿势模仿教程
    • 可编程木偶角色
  • 历史文档
    • 为NyBoard上传1.0版本程序
  • 技术支持
    • 🛠️配套应用软件
    • 🙋‍♂️常见问题 (FAQ)
    • 烧录Bootloader
  • 资源链接 🕸
    • 🔭Official Site of Petoi
    • 💿GitHub of OpenCat
    • 📀GitHub of OpenCatEsp32
    • 🎪PetoiCamp (Forum)
Powered by GitBook
On this page
  • 1. 简介
  • 2. BiBoard功能模块简介
  • 3. 功能模块详细介绍 :
  • 3.1 电源设计
  • 3.2 板载模块
  • 4. 舵机接口
  • 5. 扩展接口
  • 5.1 模拟输入接口(P15)
  • 5.2 总线接口(P16)
  • 5.3 树莓派接口 (P17)

Was this helpful?

Export as PDF
  1. BiBoard

BiBoard V0 快速上手指南

PreviousNyBoard V1_1 & NyBoard V1_2Next例程介绍

Last updated 13 days ago

Was this helpful?

1. 简介

BiBoard是一款Petoi制作的一款基于ESP32的机器人控制器,主要面向社区开发者和极客发烧友。相比基础的NyBoard,配备了高性能的处理器,更大的内存和存储空间,蓝牙和WiFi连接,还配置了音频电路以满足更多的开发需求。

2. BiBoard功能模块简介

BiBoard功能模块分区图如下所示:

区域
编号
模块
功能简介

电源区

1

电池接口

接入 Bittle 的电池或外接 8.4V 供电

2

电源指示灯

左蓝色为 5V/3.3V 供电,右橙色为舵机 8.4V 供电

3

供电电路

提供 5V 以及 3.3V 供电

板载模块区

4

USB 下载电路

用于下载程序和软复位控制器

5

陀螺仪

MPU6050 6 轴陀螺仪, 地址 0x68, 中断连接 1026

6

EEPROM

64Kbit I2C EEPROM, 地址 0x51

7

DAC 功放

单声道功放, 连接 1025

8

红外模块

红外接收器, 连接 1023

扩展接口

9

PWM 舵机接口

12 路 ESP32 直出的 PWM 引脚

10

3路扩展接口

4 路模拟输入, 2 个串口, 1 个 I2C, 5V 电源

按键

11

Boot模式键及

Reset复位键

经常使用的是复位键,重启程序。按键边有丝印。

电路的功能框图如下图所示:

3. 功能模块详细介绍 :

3.1 电源设计

主板的供电方式有2种:通过USB接口供电和电池插座供电。

当使用USB供电时,主板上的舵机和外置5V电源接口没有供电。主板芯片和其他外设工作正常。

当使用电池插座供电时,最大的建议电压为7.4V(最大为8.4V)。此时舵机将获得供电,同时5V开关电源(TPS565201)输出5V电压,可以为树莓派供电。线性稳压器得到5V电压后输出3.3V为主板上的传感器和ESP32主芯片供电。

3.2 板载模块

3.2.1 准备ESP32开发环境

注意:

  • Arduino IDE 2.0 版本目前无法增加 large_spiffs_16MB (4.5MB APP with OTA/6.93MB SPIFFS)配置选项。

打开Arduino的“首选项”,添加ESP32开发板的地址:

https://espressif.github.io/arduino-esp32/package_esp32_index_cn.json

保存后退出。

打开“开发板管理器...”,搜索 "esp32" 并安装开发板支持库:

当前最新可用版本是2.0.12,安装2.0.13及以上版本可能导致主板无法正常启动。

当显示“INSTALLED”时,BiBoard的支持库就安装好了。

3.2.2 USB及下载电路

因为ESP32不带USB电路,我们使用了官方推荐的CP2102 USB转串口桥接芯片,最大下载波特率为921600bps。桥接芯片连接了ESP32的第一串口。

USB使用了最新的TypeC接口,在CC1和CC2脚位上加入了识别电阻。原理图如下图所示:

我们参考了ESP32官方推荐的下载电路以及NodeMCU的下载电路,均不能完美工作。根据ESP32的下载时序我们设计了电路,增加了第三个三极管并修改了EN脚对地电容的阻值,问题解决。

三极管电路接受标准的Modem信号RTS和DTR后产生组合时序控制ESP32进入下载状态并复位。具体原理图如下,若有更好的改进意见也请反馈给我们!

3.2.3 陀螺仪 IMU

陀螺仪使用的是经典的MPU6050,I2C地址为0x68,数字运动处理器(DMP)的中断脚连接的是IO26。

借助Jrowberg的I2Cdev和MPU6050DMP库,不熟悉姿态融合算法的新手也可以轻松获得动作状态。ESP32如果直接使用MPU6050库需要做一些修改,主要是AVR的8位数据类型以及PGMSpace的问题。增加ESP32的宏定义即可解决,我们也提供修改好的库,直接替换掉原来的文件即可(记得备份)。替换过之后AVR也可以使用。

3.2.4 EEPROM

BiBoard上有64Kbit的EEPROM,这样可以直接使用UNO的EEPROM操作程序存储陀螺仪校准的数值,操作也比较方便。

请注意ESP32中有一个名为EEPROM的示例程序,这个程序并不是操作EEPROM的,而是使用ESP32模块的Flash模拟EEPROM操作。

3.2.5 DAC与音频输出

为了让Bittle的声音更加好听,Biboard使用了DAC输出,并连接了一个单声道D类功放(PAM8302A)。您可以使用以下3种方法驱动音频模块,记得连接扬声器并调节合适的音量大小。

  1. 使用系统自带的Tone()函数,即标准的无源蜂鸣器的方法。

  2. 使用ESP库函数,dacWrite(). 用法类似analogWrite(),但是精度会比通过PWM调节的analogWrite()精度更高。

  3. 使用MP3解码库,使用XTronical开发的ESP32音频库,在Biboard库文件中我们已经为您封装好,需要注意的是ESP32的MP3播放需要文件系统(SPIFFS或者FAT)的支持,以及Flash分区和上传数据的操作。

3.2.6 红外模块

Biboard的红外模块和Nyboard型号相同,使用的库也相同(IRremote)。因为Biboard的Flash容量非常大,所以不再需要注释掉IRremote.h中非NEC_DECODE的解码配置,所以可以适配更多的遥控器了。

4. 舵机接口

BiBoard一共设置了12个PWM舵机接口。每个PWM接口对应的IO号被标注在正面的焊盘旁边。

由于ESP32模块体积较大,所以变更了排针的方向。请接线后再装入Bittle。

5. 扩展接口

BiBoard一共有3个扩展接口,对应的丝印号为P15、P16和P17。

5.1 模拟输入接口(P15)

该接口用于模拟输入扩展,可以作为脚底压敏传感器接口。

5.2 总线接口(P16)

该接口用于板载ESP32的总线扩展。

5.3 树莓派接口 (P17)

此接口与树莓派通信,但是无法直接将树莓派安装到BiBoard上,请使用飞线或中间转接板连接。

Arduino IDE 1.8.* 中是用 Java 编写的。 而 Arduino IDE 2.0 是用不同的语言编写的(TypeScript + Golang),因此之前的上传插件不能在Arduino IDE 2.0 中使用。目前还没有支持Arduino IDE 2.0 SPIFFS文件上传插件。

因此建议您暂时安装使用 。

URL:

SPIFFS文件上传插件
Arduino IDE 1.8.* 版本集成开发环境
https://www.xtronical.com/basics/audio/dacs-on-esp32/