NyBoard V1_1 & NyBoard V1_2
Last updated
Last updated
该版本主要用于解决V1_0中 ATMEGA328P-MU芯片的缺货问题
替换主控ATMEGA328P-MU(QFN32封装)为ATMEGA328P-AU(TQFP32封装)
取消了WS2812灯带RGB LED,因为芯片体积变大更换位置,无法容纳LED。
D10口增加绿色LED,带PWM功能。
所有接口的位置、定义完全相同,配置文件和Bootloader也无需变更
NyBoard V1是综合了大家对NyBoard V0的反馈的升级版本。它与以前的版本兼容,但有一些新设计,使其更易于使用。
它仍然使用Atmel ATMega328P作为主控,但是采用16MHz而不是20MHz。现在该开发板与Arduino Uno完全兼容,对于使用Arduino的新用户来说要容易得多。
依然使用PCA9685驱动16个PWM通道,为了方便布线而改变了引脚顺序。但是您不需要读取板上的索引,因为引脚映射是在软件内处理的。
六轴数字运动传感器(MPU6050)被焊接在了PCB上,而不是一个独立的模块。内置运动融合处理器(DMP)进行姿态解算。
8KB的EEPROM依然被使用来保存常数和动作。
优化了电源系统,更可靠且增加了更多的保护措施。
2021年我们新增了官方的蓝牙和WiFi模块。通过尾部的6针串口连接,默认波特率为115200。
Reset按键位于正面,方便使用。
我们增加了4个Grove接口用于连接Seeed Studio的扩展模块,同时我们保留了2.54排针并增加了供电。
增加了电池/电源防反接保护。
NyBoard V1_1 的功能框图如下所示:
NyBoard V1_1使用Atmel ATMega328P-AU作为主控制器。和Arduino Nano完全相同,兼容UNO。
ATMega328P在5V电源下工作于16MHz。它具有2KB SRAM,32KB闪存和1KB片上EEPROM。使用和Arduino Uno相同的启动引导程序,您可以通过串行端口上传工程。
控制器的D10引脚由WS2812串行RGB LED变更为绿色LED,虽然缺少了绚丽的色彩,但您可以更加方便的配置LED来显示Bittle的状态。
主控工作于5V但其他外设工作于3.3V的逻辑电平。我们使用PCA9306将I2C的电压转换至3.3V。同时我们为I2C设置了开关。通过将其拨到“ Arduino”或“ Raspberry Pi”,您可以更改板载外围设备的I2C主从配置。
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通过I2C接口转换16个12位的PWM输出,其地址设置为0x40。 PCB上印有16个PWM的编号,实际上您不需要读取它们,因为引脚映射是在软件中完成的。舵机的物理连接与先前的电路板相同。舵机具有3个引脚,分别为PWM信号,电源(2S)和接地(GND)的引脚。
舵机的电源同电池电源直接相连,请勿连接类似SG90这样的6V标压舵机。
我们使用PCA9685的Adafruit PWM舵机驱动程序库。
我们通过一个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倍。
You should charge the battery in time when the battery is lower than 7.4V.
我们新增了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 |
主芯片由低压降(LDO)线性稳压器供电,以消除噪声并提高稳定性。我们使用LM1117-5V和XC6206P-3.3V为5V和3.3V芯片供电。 3.3V LDO在5V LDO之后串联连接,以提高效率。
电池和LM1117-5V之间串联了一个二极管,以防止错误连接造成损坏。 USB上传器上有一个自恢复保险丝(6V 500mA),以限制电流并保护USB端口。
Raspberry Pi消耗的功率很多,因此我们选择TPS565201 DC-DC提供5V 3A输出。峰值输出可以为5A,并具有高温/电流/电压保护。当芯片持续输出> 4A并超过100摄氏度时,将切断电源,直到温度降至正常水平。
舵机直接由2S锂离子电池供电。注意不要短接电源或NyBoard上的任何引脚。