
ART-PI 扩展板 Sense HAT
简介
ART-Pi Sense HAT 是 ART-PI 开发板适用的 Sense HAT扩展板,用于开发基于显示阵列和传感器的产品原型。传感器配置兼容树莓派Sense HAT,兼容Astro PI实验。
简介:ART-Pi Sense HAT 是 ART-PI 开发板适用的 Sense HAT扩展板,用于开发基于显示阵列和传感器的产品原型。传感器配置兼容树莓派Sense HAT,兼容Astro PI实验。开源协议
:GPL 3.0
描述
基本介绍
ART-PI Sense HAT (Hardware Attached on Top) 是 ART-PI 开发板适用的专感器扩展板,可以用于开发基于显示阵列和传感器的产品原型。
设计目的
传感器配置兼容 树莓派Sense HAT,工程将尝试完整移植树莓派官方的 Sense HAT 驱动库 以提供用户在ART-PI上实践 树莓派官方SenseHat实验 和 Astro PI 两个太空实验 的可能。
介绍一下Sense HAT的由来
树莓派基金会专为英国 ESA 航天员 Tim Peake 首次进入国际太空站的任务而打造了一片传感器实验扩展板,板子的名称叫:Sense HAT,实验项目叫作:AstroPi。
ART-PI Sense HAT的器件组成
-
-
- 8x8 RGB 全彩阵列(NeoMarix) 显示
- 迷你摇杆(Joystick) 方向操控
- 按键(Button) 点触操控 (树莓派版本无此部件,但增加按键后可以设计出更多有趣的实验)
- 陀螺仪(Gyroscope) 倾斜检测
- 加速度计(Accelerometer) 运动速度检测
- 地磁传感器(Magnetometer) 指南针
- 温度传感器(Temperature) 温度检测
- 湿度传感器(Humidity) 湿度检测
- 气压传感器(Barometric pressure) 高度检测
-
工程开发
进度
-
-
- ✅ 原理图绘制
- ✅ PCB绘制
- ✅ PCB打样
- ✅ 元件采购
- ✅ 钢网建模
- ✅ LED排列框架建模
- ✅ PLA打印钢网模型
- ✅ PLA打印LED排列框架
- ✅ PCB焊接
- ✅ 阵列测试
- ✅ 五向按键测试
- ✅ 传感器测试
- ✅ 提供实验用工程框架
-
编程参考
Sense HAT上的元件连接至单片机的特定引脚,使用以下引脚进行编程控制:(Pin - 别名)
-
-
- PG14 - KEY_1
- PG13 - KEY_2
- PH10 - LED_DATA
- PI1 - GYR_ACC_MAG_SCLK
- PI2 - GYR_ACC_MAG_MISO
- PI3 - GYR_ACC_MAG_MOSI
- PB0 - MAGNETOMETER_CS
- PB1 - GYROSCOPE_CS
- PB2 - ACCELEROMETER_CS
- PA6 - GYROSCOPE_INT1
- PA7 - GYROSCOPE_INT2
- PH2 - ACCELEROMETER_INT1
- PH3 - ACCELEROMETER_INT2
- PA2 - TEMPERATURE_HUMIDITY_SCL
- PA3 - TEMPERATURE_HUMIDITY_SDA
- PE4 - PRESSURE_TEMPERATURE_SCL
- PE5 - PRESSURE_TEMPERATURE_SDA
- PH11 - JOYSTICK_UP
- PH12 - JOYSTICK_DOWN
- PH13 - JOYSTICK_LEFT
- PH14 - JOYSTICK_RIGHT
- PH15 - JOYSTICK_CLICK
-
附件工程框架说明
-
-
- 附件提供了STM32 CUBE IDE的工程框架
- 可以在CUBE IDE里打开,也可以在CUBE MX里打开
- 扩展板所有的器件都已经配置好引脚。
- WS2812使用PWM+DMA方式驱动,TIM5定时器CH1通道
- 9轴传感器使用了硬件SPI
- 温湿度和气压仪没有使用软I2C
- 软I2C通信参考此文:https://my.oschina.net/u/4367893/blog/3839277
-
工程配置
PCB迭代
-
-
- V1.1 - 增加SHT30周围槽孔,避免PCB导热影响传感器温度测试
- V1.2 - PCB反面增加引脚功能丝印,方便通过杜邦线调试测试
- V1.3 - 增加USB补电接口,如果LED供电不足可以使用
-
新尝试的PCB技巧
介绍
由于PCB有大量焊盘和众多需要排列整齐的元件,我尝试了用3D打印机打印了钢塑料网和一个用于排列LED的框架作为辅助工具。附件里附上了这两件工具的模型文件和打印文件。
钢网是在一片网上面把焊盘位留出来表现为“洞”,把锡膏用刮片刮到洞里,然后把钢网拿走就留下了锡。自己用针铜挤锡挤不出很小的点,很容易挤多。钢网就没这个问题。如果真的是金属做的网,可以直接用热风枪把锡吹化变成球留在焊盘上,这就叫植锡。
框架和钢网有点象,有一些LED大小的洞。把LED放在洞里就能整齐排列了。一次性把排列整齐的LED放到PCB上,用拆焊台把锡膏熔化了回流焊。
我使用的工具为Blender,在Blender里模型导出STL后,1mm(毫米)或1m(米)单位会对应3D打印机的1mm,Cura切片软件会自动识别。为了编辑方便,我在Blender里习惯使用m为单位(Blender显示辅助网格以0.1m为单位)。
导出文件准备
工程的PCB文件里,有一个钢网和框架的文件。这个文件是普通的打板PCB删除不必要丝印,导线,外框后获得的。
钢网和框架
在立创EDA里使用导出工具,分别导出顶层焊盘和丝印层为SVG文件。事先量好焊盘的实际尺寸为63.5x38.5mm,把SVG导入Blender即为顶层的钢网。为了方便还原真实尺寸,我在Sketch里为导出的SVG添加了一个外框,把尺寸变成了65mm x 40mm和40mm x 40mm(Blender精度设置为0.01所以数值放大100倍)丝印我额外处理了,把丝印方框都闭合成正方形。
这里仅使用钢网做例子,框架的做法和钢网完全一致。把上一步做好的SVG文件导入Blender,设置宽高有65 x 40m(打印出来会是65mm x 40mm)。
然后把焊盘扩展成物体,5mm高,把外框扩展0.4mm高。布尔运算,外框减去焊盘,就得到了一个厚度为0.4mm的网。
因为右侧传感器的焊盘实在太小了,我决定分开焊接,所以实际打印的钢网我去掉了右侧三个传感器部分。实际打印出来的钢网和框架,框架里我拼好了准备焊接的LED:
刮完锡的样子
把框架排列好的LED放上PCB,一起焊接。框架下面两边的电容电阻已经放好,被挡住了。板子上糊糊的东西是助焊膏。
焊接完后洗板洗完,非常干净,没有多余的锡。
上电测试一下元件,传感器还没测试,LED和按钮都很成功,没有虚焊。
功能器件选型
8x8 RGB 全彩阵列
迷你摇杆
按键
陀螺仪 + 加速度 + 地磁 传感器
温度 + 湿度 传感器
气压 + 温度 传感器
* 所有的器件数据手册见页面最下方附件。
设计图
BOM
ID | Name | Designator | Footprint | Quantity |
---|---|---|---|---|
1 | Type 6P | USB1 | TYPE-C-SMD_TYPE-C-31-M-16 | 1 |
2 | BMX055 | U1 | LGA-20_L4.5-W3.0-P0.50-BL | 1 |
3 | 5.1K | R12,R13 | R0603 | 2 |
4 | 10K | R4,R3,R2,R1,R5,R6,R7,R8,R9,R10,R11 | R0603 | 11 |
5 | SHT30 | U3 | DFN-8_L2.5-W2.5-P0.50-BL-EP | 1 |

评论