# NyBoard V1\_1 & NyBoard V1\_2

## 小版本更新介绍：

该版本主要用于解决V1\_0中 ATMEGA328P-MU芯片的缺货问题

1. 替换主控ATMEGA328P-MU（QFN32封装）为ATMEGA328P-AU（TQFP32封装）
2. 取消了WS2812灯带RGB LED，因为芯片体积变大更换位置，无法容纳LED。
3. D10口增加绿色LED，带PWM功能。
4. 所有接口的位置、定义完全相同，配置文件和Bootloader也无需变更

## 总览

![NyBoard V1\_1 正面图](/files/zHoAJiOTkfDdqYWUSQD2)

![NyBoard V1\_1 背面图](/files/8B57gHfpN8dGbAnp4szk)

‌ NyBoard V1是综合了大家对NyBoard V0的反馈的升级版本。它与以前的版本兼容，但有一些新设计，使其更易于使用。

* 它仍然使用Atmel ATMega328P作为主控，但是采用16MHz而不是20MHz。现在该开发板与Arduino Uno完全兼容，对于使用Arduino的新用户来说要容易得多。
* &#x20;依然使用PCA9685驱动16个PWM通道，为了方便布线而改变了引脚顺序。但是您不需要读取板上的索引，因为引脚映射是在软件内处理的。
* 六轴数字运动传感器（MPU6050）被焊接在了PCB上，而不是一个独立的模块。内置运动融合处理器（DMP）进行姿态解算。
* 8KB的EEPROM依然被使用来保存常数和动作。
* 优化了电源系统，更可靠且增加了更多的保护措施。
* 2021年我们新增了官方的蓝牙和WiFi模块。通过尾部的6针串口连接，默认波特率为115200。
* Reset按键位于正面，方便使用。
* 我们增加了4个Grove接口用于连接Seeed Studio的扩展模块，同时我们保留了2.54排针并增加了供电。
* 增加了电池/电源防反接保护。

## 控制器的功能框架图

NyBoard V1\_1 的功能框图如下所示：

![](/files/YrfVuhPDC9dT9k1T9vqg)

## 板载设备介绍

### 主控

NyBoard V1\_1使用Atmel ATMega328P-AU作为主控制器。和Arduino Nano完全相同，兼容UNO。

ATMega328P在5V电源下工作于16MHz。它具有2KB SRAM，32KB闪存和1KB片上EEPROM。使用和Arduino Uno相同的启动引导程序，您可以通过串行端口上传工程。

### 板载LED （新！）

控制器的D10引脚由WS2812串行RGB LED变更为绿色LED，虽然缺少了绚丽的色彩，但您可以更加方便的配置LED来显示Bittle的状态。

### I2C 开关

主控工作于5V但其他外设工作于3.3V的逻辑电平。我们使用PCA9306将I2C的电压转换至3.3V。同时我们为I2C设置了开关。通过将其拨到“ Arduino”或“ Raspberry Pi”，您可以更改板载外围设备的I2C主从配置。

### 6轴陀螺仪 MPU6050

MPU6050广泛用于许多DIY项目中，以获取设备的运动状态。它检测3个加速度和3个角速度。它还包括一个姿态融合处理器，可直接解算运动状态，而无需使用主控制器的计算资源。

在NyBoard V1\_1上，其I2C地址为0x68。中断引脚连接到ATMega328P的PD2端口（或Arduino Uno的D2引脚）。

有很多可用的MPU6050库，我们正在使用I2CDev / 6050DMP。您还可以使用其他版本：

| 库名称              | 作者              | 特点            |
| ---------------- | --------------- | ------------- |
| I2Cdev           | jrowberg        | 内置DMP处理器调用和校准 |
| Adafruit MPU6050 | Adafruit        | 标准MPU6050库    |
| Kalman Filter    | TKJ Electronics | 含Kalman滤波器    |

### PCA9685和PWM舵机端口 ‌

PCA9685通过I2C接口转换16个12位的PWM输出，其地址设置为0x40。 PCB上印有16个PWM的编号，实际上您不需要读取它们，因为引脚映射是在软件中完成的。舵机的物理连接与先前的电路板相同。舵机具有3个引脚，分别为PWM信号，电源（2S）和接地（GND）的引脚。

舵机的电源同电池电源直接相连，请勿连接类似SG90这样的6V标压舵机。

我们使用PCA9685的Adafruit PWM舵机驱动程序库。

### EEPROM

我们通过一个8KB的板载I2C EEPROM AT24C64来保存运动技能。它的I2C地址是0x54。技能查找表保存在ATMega328P的1KB片上EEPROM中。它使用。在开发新代码时，您需要注意它们之间的差异。

### 无源蜂鸣器

无源蜂鸣器由PD5（或Arduino UNO的D5）驱动，板载放大电路。

### 红外接收器

我们使用VS1838B作为红外接收器，连接到PD4（或Arduino Uno上的D4）。它由Arduino的IRremote库驱动，遥控器以38KHz的NEC格式编码。您可以通过禁用IRremote.h中的其他协议以节约Flash（大约10％！）

### 电源电压

Petoi徽标中的两个LED指示NyBoard的电源状态。左眼为蓝色，显示芯片供电。右眼为黄色，表示舵机电源。当NyBoard连接到电池时，两个LED均应点亮。当NyBoard由USB下载器供电时，只有蓝色LED会点亮。

电池有一个物理防反向插座，同时也内置了防反接电路。电池的输出连接到ADC7（或Arduino Uno的A7）。 ADC7通过分压电路检测电压，实际电压约为读数的2倍。

$$
Voltage\_{real}=\frac{ADC\_{reading}}{1024}  \times 5.0 \times2
$$

You should charge the battery in time when the battery is lower than 7.4V.&#x20;

### Grove 插座

我们新增了Grove插座以方便传感器和模块的。插座有三种类型：

We adopted the Grove sockets for convenient plug-and-play connections. There are three types of socket:

| 编号 | 引脚名称（不含电源）    | 功能            |
| -- | ------------- | ------------- |
| G1 | I2C: SCL, SDA | I2C （ 3.3V电平） |
| G2 | A2, A3        | 模拟输入; 0-5V    |
| G3 | PD8, PD9      | 数字 I/O; 0-5V  |
| G4 | PD6, PD7      | 数字 I/O; 0-5V  |

### 电源系统

![](/files/7uER4pFGzArcgEqj1wKC)

主芯片由低压降（LDO）线性稳压器供电，以消除噪声并提高稳定性。我们使用LM1117-5V和XC6206P-3.3V为5V和3.3V芯片供电。 3.3V LDO在5V LDO之后串联连接，以提高效率。&#x20;

‌ 电池和LM1117-5V之间串联了一个二极管，以防止错误连接造成损坏。 USB上传器上有一个自恢复保险丝（6V 500mA），以限制电流并保护USB端口。&#x20;

Raspberry Pi消耗的功率很多，因此我们选择TPS565201 DC-DC提供5V 3A输出。峰值输出可以为5A，并具有高温/电流/电压保护。当芯片持续输出> 4A并超过100摄氏度时，将切断电源，直到温度降至正常水平。  ‌

&#x20;舵机直接由2S锂离子电池供电。注意不要短接电源或NyBoard上的任何引脚。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.petoi.com/chinese/nyboard/nyboard-v1_1-and-nyboard-v1_2.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
