Adafruit Feather M0 Adalogger:一款强大的一体化数据记录开发板

电子说

1.4w人已加入

描述

Adafruit Feather M0 Adalogger:一款强大的一体化数据记录开发板

在电子开发领域,拥有一款功能强大且易于使用的开发板至关重要。Adafruit Feather M0 Adalogger就是这样一款值得关注的开发板,它为开发者提供了丰富的功能和便捷的使用体验。

文件下载:2796.pdf

一、概述

Adafruit Feather M0 Adalogger是Adafruit推出的一款“一体化”Cortex M0数据记录器(或数据读取器),内置USB和电池充电功能。其核心是ATSAMD21G18 ARM Cortex M0处理器,时钟频率为48 MHz,采用3.3V逻辑,与新的Arduino Zero使用的芯片相同。这款芯片拥有256K的FLASH和32K的RAM,还内置USB,具备USB - 串口编程和调试能力,无需FTDI类芯片。

规格参数

  • 尺寸:未焊接引脚时,尺寸为2.0" x 0.9" x 0.28"(51mm x 23mm x 8mm)。
  • 重量:仅5.3克,非常轻便。
  • 处理器:ATSAMD21G18 @ 48MHz,3.3V逻辑/电源。
  • 存储:256KB的FLASH + 32KB的RAM。
  • 电源:3.3V稳压器,峰值电流输出500mA。
  • 接口:支持USB原生,带有USB引导加载程序和串口调试功能;拥有20个GPIO引脚,支持硬件串口、硬件I2C、硬件SPI;8个PWM引脚,10个模拟输入。
  • 其他:内置100mA锂聚合物充电器,带有充电状态指示灯LED;引脚#13连接红色LED,用于通用闪烁;具备电源/使能引脚、4个安装孔和复位按钮。此外,还额外增加了MicroSD卡插槽和绿色LED。

二、引脚布局

1. 电源引脚

  • GND:所有电源和逻辑的公共接地。
  • BAT:连接可选锂聚合物电池的JST插孔的正电压。
  • USB:如果连接,为微型USB插孔的正电压。
  • EN:3.3V稳压器的使能引脚,上拉,连接到地可禁用3.3V稳压器。
  • 3V:3.3V稳压器的输出,可提供500mA峰值电流。

2. 逻辑引脚

逻辑引脚为微控制器的通用I/O引脚集,所有逻辑均为3.3V,几乎所有引脚都可进行PWM输出,所有引脚都可作为中断输入。例如,引脚#0 / RX既是GPIO #0,也是Serial1的接收(输入)引脚,还可作为模拟输入;引脚A0既是模拟输入,又因带有DAC(数模转换器)可作为模拟输出。

3. Micro SD卡 + 绿色LED

  • #4:用作MicroSD卡的CS(芯片选择)引脚。
  • #7:用作MicroSD卡的CD(卡检测)引脚,通过配置为上拉输入,可检测卡的插入和移除。
  • #8:连接到绿色LED,可在读写有效数据或进行用户提醒时闪烁。

4. 其他引脚

  • RST:复位引脚,连接到地可手动复位AVR并手动启动引导加载程序。
  • ARef:模拟参考引脚,通常参考电压与芯片逻辑电压相同(3.3V),若需要替代模拟参考,可连接到该引脚并在固件中选择外部AREF,但电压不能高于3.3V。
  • SWCLK & SWDIO:底部的焊盘用于对芯片进行编程,也可连接到SWD调试器。

三、组装

Adafruit Feather M0 Adalogger发货时已完全测试,但未安装引脚,这为用户提供了多种选择。

1. 引脚选项

  • 普通公引脚:可将开发板插入无焊面包板。
  • 母引脚插座:虽不能插入面包板,但便于连接Feather扩展板。
  • “超薄”母引脚:更短,使外形更紧凑。
  • 堆叠引脚:结合了插入无焊面包板和连接Feather扩展板的功能,但体积稍大。

2. 焊接步骤

普通公引脚焊接

  • 准备引脚条:必要时将引脚条裁剪至合适长度,将长引脚插入面包板,便于焊接。
  • 安装 breakout 板:将 breakout 板放在引脚上,使短引脚穿过焊盘。
  • 焊接:确保焊接所有引脚,以实现可靠的电气连接。

母引脚焊接

  • 固定引脚:用胶带将引脚固定,防止翻转电路板时掉落。
  • 定位焊接:翻转电路板后,焊接每个引脚条的一两个点,固定引脚。
  • 完成焊接:焊接所有引脚,确保电气连接可靠。

四、电源管理

1. 电池 + USB 电源

Feather M0 Adalogger有两种供电方式:通过USB电缆连接,开发板会将5V USB电压调节至3.3V;连接4.2/3.7V锂聚合物(LiPo/LiPoly)或锂离子(LiIon)电池到JST插孔,可使用可充电电池供电。当USB供电时,开发板会自动切换到USB电源,并开始为电池充电(如果连接了电池)。

2. 电源供应

开发板提供了多种电源供应选项,包括BAT引脚(连接锂聚合物JST连接器)、USB引脚(连接USB时的+5V)和3V引脚(3.3V稳压器的输出)。使用500mA峰值稳压器,但不能连续从5V获取500mA电流,否则会使稳压器过热。

3. 电池测量

为了方便测量电池电压,开发板在BAT引脚连接了一个双100K电阻分压器,并连接到D9(模拟#7 A7)。通过读取该引脚的电压并乘以2,即可得到电池电压。

4. 使能引脚

通过将EN引脚连接到地,可关闭3.3V稳压器,但BAT和USB引脚仍会供电。

5. 替代电源选项

  • 永久安装:使用5V 1A USB墙式适配器,通过USB电缆提供可靠电源。
  • 移动使用:使用USB电池组。
  • 高电压电源:使用5V降压转换器,并连接到USB电缆的5V和GND输入。

需要注意的是,不要使用碱性或NiMH电池连接到电池端口,也不要使用7.4V RC电池,否则会损坏开发板。

五、Arduino IDE设置

1. 下载Arduino IDE

需要下载最新版本的Arduino IDE,版本需为1.8或更高。

2. 添加URL

在Arduino IDE的偏好设置中,添加URL:https://adafruit.github.io/arduino-board-index/package_adafruit_index.json

3. 安装支持包

  • 安装SAMD支持:在Board Manager中安装最新的Arduino SAMD Boards(版本1.6.11或更高)。
  • 安装Adafruit SAMD:安装Adafruit SAMD包,添加开发板文件定义。

4. 安装驱动(仅适用于Windows 7 & 8)

下载并运行Adafruit驱动安装程序,选择要安装的驱动。

5. 上传第一个闪烁程序

将M0或M4开发板插入电脑,选择匹配的开发板,加载Blink示例程序并上传。

6. 常见问题解决

  • 编译问题:确保安装了Arduino SAMD和Adafruit SAMD板包。
  • 手动引导加载:如果引导加载器出现问题,双击RST按钮进入引导加载模式。
  • Ubuntu & Linux问题:按照说明安装Adafruit的udev规则。

六、使用SD卡

1. 准备工作

确保Adafruit SAMD板包版本为1.6.2或更高,许多默认示例已将CS引脚设置为4。

2. 示例代码

可以使用CardInfo示例开始,上传并打开串口控制台,获取文件列表。也可以使用Datalogger示例将模拟数据保存到SD卡,使用Dumpfile示例读取SD卡中的数据。

3. 注意事项

为了节省电源,数据会进行缓冲,每50个数据点(共512个字符)才会真正保存到SD卡。如果需要确保每个数据点都保存,可以使用logfile.flush(),但会增加功耗。

七、适配M0 & M4的草图

1. 模拟参考

如果使用ARef引脚进行非3.3V模拟参考,使用analogReference(AR_EXTERNAL)。

2. 引脚输出和上拉

对于M0 & M4开发板,使用pinMode(pin, INPUT_PULLUP)设置引脚为上拉输入。

3. 串口与SerialUSB

在Adafruit M0/M4核心中,Serial连接到USB。如果使用官方Arduino SAMD核心,需要使用SerialUSB进行USB通信。

4. 模拟写入/PWM

Feather M0中部分引脚的PWM功能与SAMD21芯片的多路复用表有所不同,需要注意相关引脚的配置。

5. 其他问题

  • 缺少头文件:对于不支持M0核心的库,可以使用#ifdef进行条件编译或直接删除相关行。
  • 引导加载器启动:M0/M4需要双击复位按钮进入引导加载模式。
  • 对齐内存访问:在32位平台上,使用memcpy进行数据复制。
  • 浮点转换:M0运行时库没有dtostrf函数,可参考相关线程找到可用的实现。
  • RAM可用量:可以使用特定函数跟踪RAM使用情况。
  • 数据存储在FLASH:在ARM中,在变量名前添加const即可将数据存储在FLASH中。
  • 寄存器打印:可以使用相关库打印SAMD21的寄存器信息。

6. M4性能选项

  • CPU速度(超频):可调整微控制器核心时钟,但可能会导致代码锁定或部分代码库不兼容。
  • 优化:提供“Small”“Fast”和“Here be dragons”三种优化选项,不同选项对代码大小和速度有不同影响。
  • 缓存:默认启用,可提高性能,若遇到问题可禁用。
  • Max SPI和Max QSPI:通常保持默认设置,特殊情况下可进行调整,但可能会导致SPI读取失败。
  • 启用M4板的降压转换器:部分M4板可通过代码切换到1.8V降压转换器,节省功耗,但会使ADC/DAC读取噪声增加。

Adafruit Feather M0 Adalogger为电子工程师提供了一个功能强大、易于使用的开发平台。通过了解其特点、引脚布局、组装方法、电源管理、Arduino IDE设置、SD卡使用以及适配M0 & M4的草图等方面的知识,开发者可以充分发挥其优势,实现各种创意项目。你在使用这款开发板的过程中遇到过哪些问题呢?欢迎在评论区分享你的经验和见解。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分