资讯详情

【味觉模拟】重口味人士福利“智能咸味勺子”

微电流刺激参数为20-50uA本期将以咸勺为参考,介绍如何制作咸勺。

一、概述

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

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

二、硬件方案介绍

1、硬件框图

image-20210730140854108

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.使用较小的电感值来增加开关频率,这将减少输出电压纹波和反馈引脚上的电压纹波。. 从反馈管脚(FB)在地面添加一个小电容器,以减少反馈管脚上的电压纹波到50mv。作为起点,可以使用与前馈电容C相同的电容值。

(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时钟1定时器T模式  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)/或等于1000Hz  {   TL0 = (65535-11059/fre_set*500)%6;   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 开发工具与服务,助力开发者更高效的完成设备接入,并为开发者提供物联网应用开发及场景服务能力。

标签: 47uh电感sw1005

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台