查看:
12970
回复: 14 |
参赛作品《智能汤勺》
|
|
发表于2018-06-12 08:12:12
|
显示全部楼层
1#
电梯直达
【报名阶段需要填写的内容】 1. 参赛者姓名(必填项):林群晓 2. 单位或学校名称(选填项):华南农业大学 3. 当前职务或职称(选填项):学生 4. 参赛作品的名字(必填项):智能汤勺 5. 简要陈述您的idea和作品(必填项): 传统汤勺重量信息不可视,在高校食堂这些需要重量可视化的场合很不方便,传统靠手感感受重量不可靠,本设计可以解决汤勺重量可视化的问题,使用应变片取得重量信息,经过一系列数据处理后在OLED上显示,有去皮、设置重量等一系列功能。
6. 拟用到的立创商城在售物料(必填项):STM32F103C8T6核心板、0.96寸OLED、HX711数据处理芯片、1K欧姆应变片2片、2K或5K或10K电位器若干,电阻电容若干 7. 拟用到的非立创商城物料或其它补充(必填项):导线、焊锡、电烙铁、万能板若干 8. 拟用到的EDA工具软件名称(必填项):立创EDA,Keil uVision5 【作品正式发表(报名成功后进入设计阶段)需要填写的内容】
一、作品简介 1 作品的整机外观图片
图1 作品整体外观图
图2 系统核心板外观图
图3 系统工作状态图
2 作品的研究背景、目的和功能、市场应用前景: 2.1 作品研究背景 现实生活中,许多学校的饭堂都是通过人工打饭之后再大概估算饭的重量,进而估算出饭的价格。但是虽然科技的发展,尤其是单片机技术的不断进步,人工大概估算价格已经越来越不能满足我们的需求,我们越来越迫切寻求一种特殊的饭勺,可以自动准确地测出每次打的饭的重量并自动算出价格,所以我们构想做了一个可以自动称重和计算价格的打饭勺 2.2 目的和功能 传统汤勺重量信息不可视,在高校食堂这些需要重量可视化的场合很不方便,传统靠手感感受重量不可靠,本设计可以解决汤勺重量可视化的问题,使用应变片取得重量信息,经过一系列数据处理后在OLED上显示,有去皮、设置重量等一系列功能。 我们设计的智能打饭勺可以利用传感器精确地称出食物的重量和价格。对于热度较高的食物热隔膜可以起到很好的隔热作用也能很好的减少因为较高温度而带来的感应器的误差。在称重前预先设定好单价,称重时,重量发生变化,传感器就会产生信号,通过线路传递到显示器,通过显示器显示出食物的重量和价格。研发智能打饭勺能准确的测出食物的重量,这能使食物有个定量的标准,减少食物的浪费,同时此打饭勺还可以通过设置单价,从而自动算出食物价格,比人工估算更公平公正。 2.3 市场应用前景 目前市面上已经有称重勺的销售了,但是因为体积等原因还未运用到学校饭堂等地方,但是随着技术的不断发展,可称重可算价格的饭勺终会在学校饭堂取得一席之地,会越来越受到市场的欢迎的。它不仅能帮助厨师们方便快捷地称取定量的食物材料,还能准确的测出食物的重量和算出其的价格,这能使食物有个定量的标准,减少食物的浪费,同时,这对于提高食物的鲜度以及改善人们的均衡饮食有着很重要的意义。因此,我相信称重类的饭勺会越来越受到大家的欢迎。
3 作品在创新性和公益性方面 作品在创新性体现在汤勺上嵌入智能处理装置和微型显示装置,可以自动准确地测出每次称的东西的重量并自动算出价格。 公益性体现在不仅能帮助厨师们方便快捷地称取定量的食物材料,还能准确的测出食物的重量和算出其的价格,这能使食物有个定量的标准,减少食物的浪费,同时,这对于提高食物的鲜度以及改善人们的均衡饮食有着很重要的意义。 二、系统构架图
图4 系统整体流程图 三、硬件部分的描述 3.1 装置的硬件电路连接 1000Ω的电阻式应变片与精密电阻构成惠斯通电桥,并连接HX711芯片,通过串口通信与stm32c8t6主控芯片通信。
图5 硬件连接图 3.2 测量原理 当饭勺有物体放置在上时,饭勺会产生微小的形变,装置利用应变片可以捕获微小形变的能力和惠斯通电桥能反映微小电压变化的能力,将形变程度转化为电压信号并传送给HX711,经过HX711的一级放大电路、消除信号的噪声、24位ADC采集后,以串口通信的方式把数据告知单片机。
图6 原理图 3.3 形变程度与电压的理论计算
惠斯通电桥如下:
图7 电桥 形变会造成应变片阻值改变,改变量为△R
由此可知:电阻变化和敏感系数和形变量有关,电阻变化和电压变化成正比 3.4 HX711芯片
该芯片与后端 MCU 芯片的接口和编程非常简单,所有控制信号由管脚驱动,无需对芯片内部的寄存器编程。输入选择开关可任意选取通道 A 或通道 B,与其内部的低噪声可编程放大器相连。通道 A 的可编程增益为 128 或 64,对应的满额度差分输入信号幅值分别为±20mV或±40mV。通道 B 则为固定的 64 增益,用于系统参数检测。芯片内提供的稳压电源可以直接向外部传感器和芯片内的 A/D 转换器提供电源,系统板上无需另外的模拟电源。芯片内的时钟振荡器不需要任何外接器件。上电自动复位功能简化了开机的初始化过程。 图8 芯片引脚图
数据输出 ,输入通道和增益选择时序如下所示:
图9 时序图
四、材料清单(BOM列表)
STM32F103C8T6核心板、0.96寸OLED、HX711数据处理芯片、1K欧姆应变片2片、2K或5K或10K电位器若干,电阻电容若干 五、软件部分的描述
程序内核采用UCOS-II操作系统内核,提高程序的实时性,使程序能在复杂的环境下快速做出响应。 Main函数和主要任务创建函数StartTask函数如下:
int main() { SystemInit(); NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); delay_init(); InitWKUP(); InitKey(); HX711_Init(); InitLed(); LED = 1; OLED_Init(); //初始化OLED OLED_Clear(); OSInit(); OSTaskCreate(StartTask,(void*)0,(OS_STK*)&StartTaskStack[StartStackSize-1],StartTaskPriority); OSStart();//开启操作系统 }
void StartTask(void *pdata) { OS_CPU_SR cpu_sr=0; KeyCode = OSMboxCreate((void*)0); OSStatInit(); OS_ENTER_CRITICAL(); OSTaskCreate(PowerOff,(void*)0,(OS_STK*)&PowerOffStack[PowerOffStackSize-1],PowerOffPriority); OSTaskCreate(hx711,(void*)0,(OS_STK*)&hx711Stack[hx711StackSize-1],hx711Priority); OSTaskCreate(KeyScan,(void*)0,(OS_STK*)&KeyScanStack[KeyScanStackSize-1],KeyScanPriority); OSTaskCreate(KeyDriver,(void*)0,(OS_STK*)&KeyDriverStack[KeyDriverStackSize-1],KeyDriverPriority); OSTaskSuspend(StartTaskPriority);//挂起任务 OS_EXIT_CRITICAL(); } 程序说明流程图:
图10 程序流程图 六、作品演示
视频链接:https://v.qq.com/x/page/y075750aa9c.html 七、总结 在系统设计过程中遇到了很多问题,经过认真思考和调试把出现的问题解决,这个过程让人感觉很开心。 主办方主持这个活动很有实际意义,能够营造一种良好的电子设计的氛围,祝立创社区越来越火 |
|
发表于2018-06-12 19:41:59
|
显示全部楼层
4#
防抖
|
|