智能咸味勺子

Posted 三明治开发社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了智能咸味勺子相关的知识,希望对你有一定的参考价值。

咸味勺子设计方案

一、概述

火锅、烧烤、小龙虾,人们在夜晚的时候,总会想要吃一些什么东西来满足食欲。而这些重口味的东西,除了好吃还含有非常高的盐、糖和油,其中高盐的食物几乎无处不在,而长期高盐饮食的人容易高血压,心血管疾病等。为了让我们在享受美食的同时又能避开这些健康隐患,我们想出了咸味勺子来解决。

咸味勺子的原理其实很简单。人类在进食的时候,舌头味蕾会产生相应的生物电,并传到大脑,让大家食而知其味。同理如果我们利用20-50uA的低频率电流的刺激,也会产生实际品尝食物的效果。

本篇会以咸味勺子为参考,给大家介绍如何制作一款带味道的勺子,你也可以根据自己的喜好设计出其它味道。

味道电流&温度参数
20-50uA的低频率电流
60-180uA的电流、舌头温度从20℃上升到30℃
反向电流、舌头温度先升到35℃,再缓慢降低至20℃
60-140uA的反向电流
温度从33℃加热至38℃
薄荷味温度从22℃下降至19℃

二、硬件方案介绍

1、硬件框图

2、硬件设计

(1)原理图(点击下载

(2)PCB图(点击下载

3、电路功能

(1)MCU主控电路

​ MCU主控芯片选择 STC 的一款外围电路简单,低功耗单片机。

(2)电源管理电路

​ 充电管理电路: XT2051 是一款用于单芯锂离子电池的恒流/恒压充电电路。该器件包括一个内部功率晶体管,在应用中不需要外部电流检测电阻和阻塞二极管。XT2051需要最少的外部组件,并满足USB总线规范。而且低功耗,低成本,非常适合便携式,电池供电应用领域。

(3)升压控制电路

输出电压计算:VOUT=1.233*(1+R5/R10)约等于8V。

电感值的选取决定了变换器的最大开关频率,以及电感值应具有满足变换器最大峰值电流的饱和电流。

Ipeak(typ)=400ma+Vin/L*100ns。电感器值越小,芯片开关频率越高,但效率越低。电感值对最大负载的可用电流影响较小,仅为二次级(由芯片手册中的计算公式可以看出)。电感值的范围为2.2uH~47uH。

需要通过反馈电阻R5的前馈电容为误差比较器提供足够的超速驱动。如果没有前馈电容或前馈电容太小, TPS61040 在开关节点(SW)上显示的是双脉冲或脉冲突发,而不是单脉冲,导致输出电压纹波更高。如果这个更高的输出电压纹波是可以接受的,前馈电容可以被排除。变频器的开关频率越低,所需的前馈电容值就越大。在工作点前馈电容所需的值也可以用下式计算:C3=1/(23.14(fs/20)*R5)

完善线路监管的方法: 1、使用较小的电感值来增加开关频率,这将降低输出电压纹波,以及反馈引脚上的电压纹波。2. 从反馈管脚(FB)到地添加一个小电容,以减少反馈管脚上的电压纹波降到50mv。作为起点,可以使用与前馈电容C3相同的电容值。

(4)低频恒流源电路

利用单片机IO输出PWM波去控制电流的频率。

利用 LDO 模块稳压的作用以及输入电流等于输出电流的特性来做的恒流源。

Iout=Vout/R11=3.3V/100K=33uA。

电流以及频率同时满足人体对咸味的感受。

(5)无线通信控制电路

​ 无线通信基于涂鸦智能的一款低功耗嵌入式BLE协议的 BTU 模组。

三、外观结构设计

​ 电路分析完之后,来看看勺子的外形结构。勺子的外形结构也是一个至关重要的部分,怎么把勺子做的便携,精致,小巧,还需开发者发挥想象。结构中利用勺子和嵌入结构中的电极片以及人体舌头来形成回路,从而让电流流过人体到舌头。电极片和勺子需要是导电的材质。

四、产品创建

本demo基于涂鸦IoT平台进行开发,在现有品类中没有百味勺子的产品,因此点击找不到品类,依次填入产品名称、产品描述、通讯协议选择蓝牙。使用BLE模组进行开发,在涂鸦APP通过蓝牙进行设备配对和控制。

五、固件开发

(1)串口初始化及功能

void UartInit()		//9600bps@11.0592MHz
{
	P_SW1 &= ~(3<<6);
	P_SW1 |= 1<<6;			//RXD/P3.2, TXD/P3.3
	P3M0 |= 1<<3;
	P3M1 &= ~(1<<3); //TX推挽输出
	SCON = 0x50;		//8位数据,可变波特率
	AUXR |= 0x40;		//定时器时钟1T模式,不分频
	AUXR &= 0xFE;		//串口1选择定时器1为波特率发生器
	TMOD &= 0x0F;		//设置定时器模式
	TL1 = 0xE0;		//设置定时初始值
	TH1 = 0xFE;		//设置定时初始值
	ET1 = 0;		//禁止定时器1中断
	ES=1;						//打开接收中断	
	TR1 = 1;		//定时器1开始计时
}

void Uart_PutChar(unsigned char value)
{
	SBUF=value;//将接收到的数据放入到发送寄存器
	while(!TI);			 //等待发送数据完成
	TI=0;						 //清除发送完成标志位	
}

void Usart() interrupt 4
{
	u8 receiveData;
	receiveData=SBUF;//出去接收到的数据
	RI = 0;//清除接收中断标志位
	uart_receive_input(receiveData);
}

(2)定时器初始化及功能

void Timer0Init()		//1000微秒@11.0592MHz
{
	P5M0 |=1<<4;
	P5M1 &=~(1<<4);	//P54输出模式
	AUXR |= 0x80;		//定时器0时钟1T模式
	TMOD &= 0xF0;		//设置定时器模式
	TL0 = 0xCD;		//设置定时初始值
	TH0 = 0xD4;		//设置定时初始值
	TF0 = 0;		//清除TF0标志
	ET0=1;//打开定时器0中断允许
	EA=1;//打开总中断
	TR0 = 1;		//定时器0开始计时
}

void Timer0() interrupt 1
{
	static u16 i=0;
	static u16 count=0;
	if(fre_set>=100)//频率大于等于100Hz
	{
		TL0 = (65535-11059/fre_set*500)%256;
		TH0 = (65535-11059/fre_set*500)/256;
		i=0;
		P54 =~P54;
		count++;
	}
	else if(fre_set<100)//0.1ms
	{
		TL0 = 0xAE;		//设置定时初始值
		TH0 = 0xFB;		//设置定时初始值
		if(fre_set==0)
		{
			P54=1;
		}
		else
		{
			i++;		
			if(i>(5000/fre_set))
			{
				P54 =~P54;
				i=0;
				count++;
			}
		}
	}
	if(count>(4*fre_set))
	{
		count=0;
		f_task_ad=1;
	}
}

(3)ADC初始化及功能

void ADCInit()
{
    P5M0 &= ~(1<<5);                                //设置P5.5为ADC口
    P5M1 |= 1<<5;
    P_SW2 |= 0X80;
    ADCTIM=0X3F;
    P_SW2 &= 0X7F; 
    ADCCFG |= 0x0f;                              //设置ADC时钟为系统时钟/2/16/16
    ADC_CONTR |=5;  													//设置通道5
    ADC_CONTR |= 0x80;                           //使能ADC模块
}

void TASK_ADC()		//1000微秒@11.0592MHz
{
	ADC_CONTR |= 0x40;                      //启动AD转换
	while (!(ADC_CONTR & 0x20)) ;           //查询ADC完成标志
    _nop_();
	_nop_();
	ADC_CONTR &= ~0x20;                     //清完成标志
	voltage = ADC_RES*4+ADC_RESL/64;                           //读取ADC结果
	voltage = voltage *32/5;
	mcu_dp_value_update(DPID_VOLTAGE,voltage);//上报
}

六、小结

​ 大家带着手中的智能勺子,结合涂鸦智能APP,一起去探索那些未知的美味吧。涂鸦物联网开发平台为开发者提供了便捷的 IoT 开发工具与服务,助力开发者更高效的完成设备接入,并为开发者提供物联网应用开发及场景服务能力。

以上是关于智能咸味勺子的主要内容,如果未能解决你的问题,请参考以下文章

智能“百味”勺子开发实战营,小白 VS 大神不是不可能!

智能“百味”勺子开发实战营,为你的生活添滋味!

多次对咸味字符串进行哈希处理(自定义密码哈希)。

日本教授发明咸味放大筷子,少盐食物也能有滋味了!此前还搞出舔屏尝味电视...

如何设置 vscode 的代码片段,以便在自动完成后自动触发 vscode 的智能感知?

你可以在 Pentaho 勺子工具中运行 jar 文件吗?