Project 02 of 11: 项目 02 / 11:Cirro Phase-Change Cooling Controllers卷云相变散热器控制系统
At Juanyun, I independently completed BaseUnit and three-board ACUnit hardware, firmware, and integration, then continued into automatic control and maintenance. The company team performed the later refrigeration tests.在卷云实习期间,我独立完成 BaseUnit 与三板 ACUnit 的硬件、固件和整机联调,随后继续参与自动控制与维护。后期完整制冷测试由公司团队执行。


Two Controllers两套控制器
The phase-change cooler I worked on during my Juanyun internship is a small air-conditioning system feeding a laptop. An external compressor and refrigeration loop produce cold air, and a base directs it into the laptop intake. My responsibility was to make the base and external-unit hardware, firmware, and PC tool work together, then hand the system over for continued testing.
在卷云实习时,我做的这套相变散热器,可以理解为给笔记本送冷风的小空调。外机用压缩机和制冷回路产生冷风,底座把风送入笔记本进风口。我的工作是让底座与外机的硬件、固件和电脑端工具一起运行,最后交给团队继续测试。
I first completed the BaseUnit hardware, firmware, and real-machine bring-up independently. Sitting under the laptop, it coordinated two temperature/humidity channels, presence detection, a fan, OLED, buttons, Bluetooth, and saved settings. Familiar components became a combined set of questions: whether the fan should run while off, whether a held button should trigger again, and which setting should survive a restart. Getting this smaller controller working gave me the confidence to take on the ACUnit.
我先独立完成了 BaseUnit 的硬件、固件和实机联调。它放在笔记本下面,要处理两路温湿度、在位检测、风扇、OLED、按键、蓝牙和参数保存。器件看起来都熟悉,但放到同一台设备里,关机时风扇该不该转、按键按住会不会重复触发、重启后恢复哪个设定,都得一起考虑。先做通这套较小的控制器,我才有把握继续处理 ACUnit。
The external ACUnit uses power, main-control, and interaction boards to connect the compressor driver, electronic expansion valve (EEV), fans, pressure and temperature sensing, OLED, local inputs, and wireless interfaces. I independently handled all three schematics and PCBs, manufacturing preparation, assembly and soldering, firmware, staged power-up, integration, and the V2.1 development SOP.
外机 ACUnit 分为分电板、主控板和交互板,要接压缩机驱动板、EEV 电子膨胀阀、风扇、压力与温度传感、OLED、本地输入及无线接口。三块 PCB 的原理图、布局、制造准备、装配焊接、固件、分阶段上电与整机联调,以及 V2.1 开发 SOP,都由我独立完成。

Firmware Planning固件规划
I planned the App, Service, and BSP responsibilities before implementing the growing set of interfaces. I also estimated a schedule at 1, 10, 100, 500, and 2000 ms for EEV stepping, input feedback, communications and sensing, display updates, and slower environmental reads. Responsibilities continued to evolve as I decomposed the functions, but the basic structure preceded the firmware implementation.
接口多起来后,我先规划 App、Service 与 BSP 的职责,再写具体功能。调度也提前按 1、10、100、500、2000 ms 分档估算,让 EEV 步进、输入反馈、通信传感、显示和慢速环境读取各有安排。实现时继续拆分和调整职责,基本结构在动笔写固件前就已经确定。
I knew RTOS concepts without having used one on a real project, and wanted this work to test my bare-metal fundamentals. The STM32F103 had limited resources, and explicit cooperative scheduling and state machines could still organize this workload. I split EEV homing, communication waits, and retries into incremental states, returning the CPU to the main loop between actions. Slow DHT reads waited while the EEV was busy. Handling these waits was an important part of the exercise for me.
我知道 RTOS 的概念,却没有实际项目经验,也想借这次工作检验自己的裸机基础。STM32F103 资源有限,这套并发仍能用协作式调度与状态机组织。我把 EEV 回零、通信等待与重试等过程拆成可以逐次推进的状态,在两次动作之间把 CPU 还给主循环;慢速 DHT 读取则避开 EEV 忙碌的时候。对我来说,能否处理好这些等待,正好是这次练习的重点。
Power-Up and Integration上电与联调
I checked the power board first, then connected the main and interaction boards, separating rail checks from peripheral tests. I measured 24.07 V at the 24 V input and bus, 12.03 V at the converted output, and about 18 mA of power-board no-load current. Main-board rails measured 12.03 V, 4.99 V, and 3.32 V.
我先查分电板,再接主控与交互,把电源和外设分开验证。24 V 输入与总线测得 24.07 V,变换输出 12.03 V,分电板空载电流约 18 mA;主控的三条电源轨分别为 12.03 V、4.99 V、3.32 V。



I then tested temperature sensing, fan PWM and TACH, EEV, ESP, OLED, interaction inputs, and basic compressor communication individually. The NTC read about 24.7°C against nearby references of roughly 24.8 to 24.9°C. The interaction board also had a cable-order mismatch, corrected by changing the wire order without another PCB spin. It also reminded me to check the connections between boards separately.
之后再逐项测试温度、风扇 PWM 与 TACH、EEV、ESP、OLED、交互输入和基础压缩机通信。NTC 当时约为 24.7°C,附近参考约为 24.8 到 24.9°C。交互板还遇到一次排线顺序不匹配,调整线序后恢复正常,不需要重新投板。这次异常也提醒我,板间连接需要单独核对。
Next I connected all three ACUnit boards, the compressor driver, compressor, supply, and PC. The ControlPanel began showing compressor state and data returned over Modbus alongside temperatures calculated from ADC readings. Interfaces I had checked separately were finally cooperating in one running system.
随后,我把三块 ACUnit 板、压缩机驱动板、压缩机、电源和电脑全部接起来。ControlPanel 开始显示 Modbus 返回的压缩机状态与数据,旁边还有由 ADC 读数换算出的温度。此前单独检查过的接口,终于在同一次运行里配合起来。
That felt extremely good. The boards I had designed, soldered, and programmed were controlling a real machine.
这种感觉太爽了。自己设计、焊接和编程的板子,真的在控制一台机器。
Automatic Control and Maintenance自动控制与维护
I continued working on the same project's production-line development. Manual valve, fan, and compressor commands remained available for testing, while automatic EEV and compressor decisions moved into a board-side core. The system gained STOP, QUIET, PERF, and ZERO modes, with sensor validity, superheat, pressure, and startup constraints taking precedence over ordinary temperature targets. The automatic-control note explains how those decisions affect the valve and compressor.
后续我继续参与同一项目的 production-line 开发。手动调阀、调风扇和发送压缩机指令保留为测试入口,EEV 与压缩机的自动决策则逐步进入板端核心。系统加入 STOP、QUIET、PERF、ZERO 模式,也把传感有效性、过热度、压力和启动约束放到普通温度目标之前。自动制冷控制笔记具体解释了这些判断怎样影响阀和压缩机。
During later maintenance, the ControlPanel gained trend plots, CSV export, Monitor and Debug logs, and separation between monitoring and direct control. Firmware added safer startup, data-validity checks, and clock fallback after HSE initialization failure.
在后续维护中,ControlPanel 逐渐增加了趋势图、CSV 导出、Monitor 与 Debug 日志,以及监测和直接控制的区分。固件也补充了安全启动、数据有效性检查和 HSE 初始化失败后的时钟回退。
The company team performed the later refrigeration tests. The boss and testers reported working telemetry, manual controls, QUIET, PERF, and ZERO modes, observable EEV superheat regulation and continuous compressor-speed changes, and triggers of low-superheat, negative-superheat, and high-condensing-pressure protection.
后来的实机制冷测试由公司团队完成。老板与测试人员反馈,遥测、手动控制、QUIET、PERF、ZERO 模式能够运行,观察到了 EEV 过热度控制与压缩机连续调速的变化,也触发过低过热度、负过热度和高冷凝压力保护。
After Handoff交付后的状态
The company also described a small trial involving more than ten campus students and faculty. It reported roughly 25 to 40 percent better performance in some sustained workloads, including large renders and AAA games, and one unit running continuously for over 150 hours. Cooling feedback was positive, but the size and poor portability remained practical drawbacks. The product did not reach mass production.
公司还转述过十余名校园师生参与的小规模试用,在大型渲染、3A 游戏等持续负载中,部分场景性能提高约 25% 到 40%;另有单台设备连续运行超过 150 小时。团队反馈制冷效果不错,占地大、便携性不足也始终是实际问题,产品最终没有量产。
My boss later joked that before I joined, opening the EEV involved moving a magnet around the valve by hand. Now testers could issue commands, read status, and continue their own work. I am grateful the team trusted an undergraduate with such a complete hardware and firmware assignment. Connecting it into a working system and handing it over was the most satisfying part of the placement.
老板后来开玩笑说,我来之前,他们开 EEV 还得拿磁铁绕着阀一点点吸着转。现在测试人员终于可以从界面发出指令、读到状态,继续推进自己的工作。我很感谢团队把这么完整的一套硬件与固件任务交给当时还在读本科的我。最后能把它接起来交出去,是这段实习里最让我满足的事。
Development notes开发笔记
Debugging records and technical notes tied to the decisions and artifacts on this project page.与这个项目页面中的设计决策和工程材料直接关联的调试记录与技术笔记。
- 01Cooperative Task Timing on the ACUnitACUnit 的协作式任务时序Examining execution time, deferred sensor reads and missed deadlines in a bare-metal EEV controller.沿 ACUnit 的阀步进与慢速传感器读取,研究执行耗时、任务推迟与错过节拍后的处理。
- 02Flash Parameter Saving and RecoveryFlash 参数保存与恢复Studying delayed writes, committed records and page turnover using the BaseUnit fan setting.从 BaseUnit 的风扇设定值出发,研究延迟写入、记录提交与双页切换时的恢复顺序。
- 03ACUnit Automatic Refrigeration Control and Protection LogicACUnit 自动制冷控制与保护逻辑The later ACUnit firmware moved EEV and compressor decisions onto a portable board-side control core with STOP, QUIET, PERF, and ZERO modes, while keeping sensor validity, superheat, pressure, and startup protection above the temperature target.后期 ACUnit 固件把 EEV 与压缩机决策移到可移植的板端控制核心,形成 STOP、QUIET、PERF、ZERO 模式,并让传感有效性、过热度、压力与启动保护始终优先于温度目标。
- 04Comparing ACUnit V2.0 and V2.1 System DiagramsACUnit V2.0 与 V2.1 系统框图对比A comparison of the V2.0 routed block diagram and V2.1 interface mind map, limited to visible connections, labels, and unanswered revision questions.比较 V2.0 连线框图与 V2.1 接口思维图,只讨论可见连接、标签,以及两张图没有回答的版本问题。
- 05DHT11 and AM2302 Pinouts and Interface RequirementsDHT11 与 AM2302 的引脚定义与接口要求An archived DHT board plan and the AM2302 manual expose a GND/NC conflict that must be resolved before approving a footprint or claiming verification.对读归档 DHT 小板计划与 AM2302 原厂手册,发现一处 GND / NC 冲突;批准封装或声称完成验证前,必须先解决这处冲突。
- 06Hardware Development SOP硬件开发 SOP 整理The Juanyun hardware-development SOP I wrote during the internship, kept as readable webpage text with the original PDF linked at the end.实习期间写下的卷云硬件开发 SOP,以网页正文保留阅读,也在文末保留原 PDF 链接。
- 07ULN2003A Electronic Expansion Valve Drive and Step ControlULN2003A 电子膨胀阀驱动与步进控制An archive reading of the EEV driver board, ULN2003A schematic, STM32F103 phase mapping, blocking valve routines, and the thinner BLDC file trail.沿 EEV 驱动小板、ULN2003A 原理图、STM32F103 相线映射与阻塞式阀控制函数阅读一组历史归档,并标出较薄的 BLDC 文件线索。
Public Project Files公开项目资料
Uploaded evidence served from the public asset folder. Use the file index to preview documents, source code, media, PDFs, and downloadable artifacts without leaving the page.这里列出已经上传到公开目录的项目证据。可以在左侧索引里选择文件,在右侧直接预览文档、源码、媒体、PDF 和可下载附件。
bldc-quiet-fan-bom.xlsx
Excel / 11.9 KB
Preview not available暂不支持预览
This file type is kept as a downloadable project artifact. Use the open button above to view it directly.这个文件类型会作为项目附件保留。可以使用右上角按钮直接打开原文件。
Related media相关媒体
Board photos, schematic sheets, videos, and test captures that show this project at specific stages.展示这个项目具体阶段的板卡照片、原理图分页、视频和测试截图。
Power and signal routes in the V2.0 ACUnit diagramV2.0 ACUnit 图里的电源与信号路径
V2.1 ACUnit interface mind mapV2.1 ACUnit 接口思维图
Connectors around the ACUnit main board围住 ACUnit 主控板的连接器
Main-board routing from the back从背面看主控板走线
DC input and 12 V terminal on the power board分电板上的 DC 输入与 12 V 端子
Wide copper on the power-board back分电板背面的宽铜箔
Encoder and two buttons on the interaction board交互板上的编码器与两个按键
Interaction-header labels from the back从背面读交互板排针标签
5 V pressure-sensor specification screenshot5 V 压力传感器规格截图
140 mm four-pin PWM fan specification screenshot140 mm 四针 PWM 风扇规格截图
Populated V2.1 ACUnit main board完成装配的 V2.1 ACUnit 主控板
Populated V2.1 ACUnit power board完成装配的 V2.1 ACUnit 分电板
Populated V2.1 ACUnit interaction board完成装配的 V2.1 ACUnit 交互板
12 V reading during power-board bring-up分电板上电时的 12 V 测量
24 V reading during power-board bring-up分电板上电时的 24 V 测量
Six-page DHT11 / AM2302 board task plan六页 DHT11 / AM2302 小板任务计划
Cover image for the separate hardware SOP独立硬件 SOP 的封面图
Cirro Tech archive cover卷云科技归档封面
U2 package between the EEV headersEEV 接口之间的 U2 封装
Four EEV channels through a ULN2003A穿过 ULN2003A 的四路 EEV 通道