MCX N系列NPU, 作为先进的人工智能处理器,以其强大的计算能力和高效的算法优化,不仅能够处理复杂的图像识别任务,还能在咖啡研磨过程中实现精准控制,确保每一粒咖啡豆都能得到恰到好处的处理。为AI咖啡机注入了前所未有的智能动力!
先说结论,利用150MHz MCX N的NPU去推理咖啡豆烘焙程度(39mS)比用400MHz的M7内核推理(109mS)快了3倍!
作为一名“咖市”的“MCU系统与应用工程师”一直为研磨咖啡豆的颗粒度而感到苦恼,每次换豆都要浪费2次18克豆子去实现“18克豆,10bar,30秒内出36克液”(重度强迫症晚期),偶尔还要根据深烘,中烘,浅烘,豆子放的久了再去调整克数以及细调磨的颗粒度。
有没有一种可能利用深度学习的方式结合MCU识别咖啡豆的烘焙程度以及湿度等参数实现自动调整磨豆机的颗粒粗细值?
感谢开源,有人做了阿拉比卡咖啡豆图片的数据集Coffee Bean Dataset Version 1 (kaggle.com),总共4800张分4个烘度等级(各1200张)分辨率3024x3032的图片集,更有好心人将它调整为224x224分辨率Coffee Bean Dataset Resized (224 X 224) (kaggle.com) 使得利用MCU平台去识别豆子烘焙等级更加简单。
说干就干,利用NXP在github的ACH仓库(Application Code Hub (nxp.com))基于FRDM-MCXN947的多人脸侦测的例程以及eIQ工具将TensorFlow的模型转化到MCX N系列NPU上。
大概前后花了5天吧,就大致搭建完了,我们用FlexIO接口去接一个OV7670的摄像头,一组SPI接NXP的3.5寸480x320的TFT LCD屏幕。通过摄像头捕捉咖啡豆图像,利用MCX N947片上的NPU推理出咖啡豆的类型并将咖啡豆的图像和推理结果显示在屏幕上。
整体来看,对MCU的需求为600KB以上的Flash空间含权重,推理代码以及LVGL图形库,280KB以上的SRAM(含LVGL缓冲区)。MCXN947这颗2MBytes(双bank,各1Mbytes)512KB SRAM的MCU问题不大,还有很多富裕的外设以及存储空间可以完成各种咖啡机的控制任务。
MCXN947完成推理的时间为39mS,浮动模型精度是97.75%,一般400MHz的M7完成同样的推理需要107m。这么一看MCXN947就是在微控制器机器学习应用上的功耗(主频不高)和性能(性能翻番)完美结合的王者了。
这么看MCXN947还是有点机会去实现一整套完整的咖啡机方案的,在NPU,FlexIO加持下完成咖啡豆分类推理,结合NXP的GUI Guider工具完成LCD咖啡机显示界面,一路FlexPWM去做AC转DC的PFC电源控制,一路FlexPWM和若干GPIO去实现BLDC控制磨豆机的电机以及颗粒度调节,若干路Ctimer定时器配合两路DAC以及片上运放和16位ADC完成水泵,多个锅炉的控制,以及锅炉温度和压力的检测,捎带还可以利用TSI接口实现电容触摸按键。外加通过NXP提供的VIT和Maestro软件包,可以快速实现语音识别和MP3的提示音播放。主打一个把MCXN947外设吃干用尽,单芯片MCU解决咖啡机所有机电控制。
软件开发方面,莫要担心,NXP提供基于LVGL的GUI Guider界面开发工具,AI方面提供eIQ工具,语音识别方面提供VIT工具包,电机控制方面有成熟的BLDC/PMSC电机控制库,调试咱们也有FreeMASTER这类神级上位机工具,主打就是一个工具链齐全且快速易上手。
随着科技的不断发展,MCX N系列NPU等先进的人工智能技术将在更多领域得到应用。对于咖啡行业而言,更加智能化、个性化的咖啡制作方式将成为未来的主流趋势。AI咖啡机不仅能够实现研磨过程的精准控制,还将在冲泡、拉花等环节发挥重要作用。为咖啡爱好者带来更加丰富多彩的咖啡体验。
让我们共同期待智能咖啡时代的到来吧!感谢各位同事赞助的豆子~