1、工程描述
基于b站UP主@
日出东水Studio 的视频。项目使用AIDA64extreme作为上位机,采用STM32F207vgt6核心板作为控制器,基于Arduino重新编写的项目程序。
改进内容
1、使用AIDA64extreme作为上位机软件,可获取包含CPU、内存、GPU、电池电压、硬盘使用率等更多参数信息,可自行修改程序DIY,创造更多可能。
2、采用串口通信,通过USB口与电脑连接,无wifi网卡的台式电脑也可使用。
3、STM32F103C8T6核心板作为控制器。
因每台电脑的USB口输出电压存在差异,不一定都为标准的5V输出,在使用PWM模拟DAC输出时会影响输出准确性,故没有选用基于5v单片机的Arduino NANO或是UNO作为控制器。(当然也可以外部提供给NANO、UNO稳定的参考电压,相对较为麻烦)。STM32F103C8T6核心板内置有3.3v稳压芯片,可以保证DAC输出相对精准,不受电脑USB电压影响。
由于ATmega328P单片机价格上涨,国产的Arduino NANO价格已经接近30元了,STM32F103C8T6核心板价格停留在20左右,比较经济。4、采用Arduino IDE编写程序,没有复杂的寄存器配置,程序易于修改。(其实是作者keil和cubemx用不好)
5、支持程序校准和微调电压表,提高适配性。
所需工具
- 电烙铁
- 杜板线
- 任意的USB串口下载器,推荐CH340
- Micro USB数据线
所需器件
- STM32F103C8T6核心板一块
- 两块91C4型号的电压表(需购买3V量程版本)
2、制作过程
1、搭建STM32的Arduino开发环境
注意事项:
刷booloader时候需要核心板把boot0插到1的位置,boot1插到0的位置,刷写成功后需要复原到都接0的状态
- 安装好Arduino_STM32包,并安装好驱动后,需要在Arduino开发板管理器中而外安装Arduino SAM Boards的支持
- 程序下载需按照如下选择单片机型号及串口(成功安装好驱动,并将开发板通过板载micro USB连接电脑后,可以识别到maple mini这个串口)
2、程序刷入
打开工程附件中“程序”文件夹中的“CPURAMGET.ino”,按照第一点中的说明,进行程序下载。
3、表盘制作
- 可使用原作者的PHOTOSHOP文件,替换背景,制作自己喜爱的表盘
- 没有彩色打印机的朋友,也可以使用黑白打印机进行打印(如果打印图片过淡,可以适当调整下对比度和亮度)
- 如果没有彩色打印机又想制作彩色表盘的,推荐某宝上搜索“照片冲印”服务(8寸(6R,15.2*20.3cm)的冲印包邮价格2块多,相当经济)
4、表盘裁剪制作
将91C4电压表拆开,并取出原先的金属表盘,依据表盘的形状用剪刀裁剪打印好的表盘图片,将裁剪好的表盘图片使用胶水粘贴在原先金属表盘的表面,装回电压表,并调整安装位置,确保指针与0点对其,且表盘不会干涉指针运动。
5、依据连接示意图,将STM32核心板的PA9和PA10引脚与CPU使用率显示和内存使用率显示的电压表正极相连。两块电压表的负极并联后与核心板GND连接。
6、下载AIDA64extreme软件进行如下设置:
(1)将STM32核心板通过MICRO USB与电脑连接,并通过Arduino IDE确认连接的串口号
(2)打开AIDA64extreme软件,打开“文件”-“设置”
(3)选择LCD,并将屏幕选择为POS
(4)点击左侧“LCD项目”,按照如下参数设置屏幕输出参数,或通过导入工程文件中提供的配置文件。
(5)观察电压表指针位置是否与电脑的内存和CPU使用率相匹配。
可通过程序中的“电压表量程”和“电源电压”进行微调,其中3.30v为万用表实测STM32核心板3.3v输出引脚的电压。
(6)使用B站原作者的3D模型,进行3D打印外壳,或使用KT板、亚克力板自己制作外壳。
成品效果图
3、电路设计