以高整合度混合信号单片机实现桥式Force Sensor应用设计

发布时间:2016-3-10 09:29    发布者:designapp
关键词: 混合信号 , Force , Sensor
1. 内容简介

在2015年,苹果新一代的MacBook和Apple Watch皆搭载压力触控感应技术,它被Apple称为Force Touch,用户每次按下触摸板之后除了可以在屏幕看见视觉回馈,它同时能够分辨出用户点按的力度强弱来做出一系列的相关操控与应用。而本文将介绍以HY16F184内建高精密Sigma-delta 24 Bit ADC搭配HDK Force Sensor来实现一个类似Force Touch应用电路。 在本文中的Force Touch应用电路上,主要的组件有:压力传感器(Force Sensor)、ADC和MCU控制芯片。 纮康HY16F184控制芯片内建高精密Sigma-delta 24 Bit ADC、可程序放大PGA和多段式稳压输出等功能,可以很大幅简化PCB周边线路,精准完成由模拟到数字的讯号转换。

在一个完整Force Touch实际应用上,除了需要考虑到X, Y轴坐标与Z轴强度计算,同时也需要考虑到电流消耗功率与扫瞄速度和校正的应用设计。而在本文内,只先探讨与介绍如何使用HY16F184内建高精密Sigma-delta 24 Bit ADC来扫描四个Force Sensor并透过I2C通讯来输出基本的ADC Raw Data。使用I2C转USB网桥与计算机连接,由计算机端GUI做实时四个信道的ADC Raw Data数据变化量显示。

 2. 原理说明

2.1. 量测原理


压力传感器(Force Sensor)是将物理压力量转换为电压讯号,也可视为一个常见的Loadcell电路,即惠斯登电桥,如图1所示。因为电桥上的4个电阻(阻值相同),所以当有电压施加在VIN+与VIN-两端时V+ = V-,即电桥达到了平衡。




图1 惠斯登电桥电路

此ΔR的变化量产生在讯号两端的电压变化为




本文Force Tocuh的基本架构如下图2所示,包含四个压力传感器(Force Sensor)、ADC和MCU单芯片。当有重力施压在压力传感器上时, 压力传感器会将所得到的电压讯号变化量,透过模拟数字转换(ADC)给单芯片(MCU)做后端的讯号处理计算,最后再透过I2C通讯输出数据。在本文中,使用到的压力传感器为HDK Force Sensor,详细关于HDK Force Sensor规格如下图3,MCU单芯片与ADC规格部份可以章节2.2介绍。




图2 HY16F184 Force Touch基本架构应用图




图3 HDK Force Sesnor基本规格

1.1. 控制芯片


单片机简介:HY16F系列32位高性能Flash单片机(HY16F184)




图4 纮康HY16F系列32位高性能Flash单片机(HY16F184)

(1)采用最新Andes 32位CPU核心N801处理器。

(2)电压操作范围2.4~3.6V,以及-40℃~85℃工作温度范围。

(3)支持外部16MHz石英震荡器或内部20MHz高精度RC震荡器,

拥有多种CPU工作频率切换选择,可让使用者达到最佳省电规划。

(3.1)运行模式 350uA@2MHz/2(3.2)待机模式 10uA@32KHz/2(3.3)休眠模式 2.5uA

(4)程序内存64KBytes Flash ROM

(5)数据存储器8KBytes SRAM。

(6)拥有BOR and WDT功能,可防止CPU死机。

(7)24-bit高精准度ΣΔADC模拟数字转换器

(7.1)内置PGA (Programmable Gain Amplifier)最高可达128倍放大。

(7.2)内置温度传感器TPS。

(8)超低输入噪声运算放大器OPAMP。

(9)16-bit Timer A

(10)16-bit Timer B模块具PWM波形产生功能

(11)16-bit Timer C 模块具数字Capture/Compare 功能

(12)硬件串行通讯SPI模块

(13)硬件串行通讯I2C模块

(14)硬件串行通讯UART模块

(15)硬件RTC时钟功能模块

(16)硬件Touch KEY功能模块 1. 系统设计

1.1. 硬件说明


使用HY16F184内建ADC搭配HDK Force Sensor做Force Touch应用电路。 HY16F184的ADC通道模拟脚位分别与四个Force Sensor的S+与S-做连接,通道1为AIO0和AIO1与S+和S-连接,通道2为AIO2与AIO3,通道3为AIO5与PT3.6,通道4为AIO4与PT3.7,参考电压设置为VDDA对VSSA。在此例子中,设置VDDA=2.4V, VDDA电压可由HY16F184直接输出提供。详细ADC设置图可以参考以下图5设定,详细完整线路设计图可以参考以下图6。






图5 HY16F184 Force Sensor Network与ADC组态设定                                       
               


图6 HY16F184 Force Tocuh硬件线路连接图

主要组件介绍

(1) HY16F184 : 数据处理与运算核心,主要负责执行运算四个Force sensor的扫描数据,并且透过I2C通讯做ADC Raw Data数据输出。

(2) ADC:HY16F184内建之模拟数字转换器,将Force sensor所测得的电压讯号,做模拟数字电压讯号转换。

(3) HDK Force Sensor :压力传感器,负责侦测压力大小,并且将压力转换为电压讯号。

3.2. 软件说明


程序流程图 :





4. 数据规格与总结


4.1. ADC Output Rate测量


在本文中,信道扫描的方式为每一个信道都扫描四次再取平均值,所以四个信道总共会需要扫描16次,在CPU频率设定为2MHz与ADC OSR设定为128的情况下(即ADC的数据输出率为2560sps),每次从CH1到CH4的扫描时间总共需要花费10ms,换算频率约为100Hz。在此条件下,如果要提升ADC的扫瞄速度,可选择提升ADC OSR设置,但是这可能会损失了分辨率,如果选择提升了CPU的工作频率,也可能会造成整体消耗功率过大,在此情况下,本文建议可使用移动平均法来做数据的平均与计算,使用此方式做扫描,可以在不提升CPU功耗与ADC频率的情况下,满足每个通道也为取四笔值取平均的条件,把ADC Output Rate速度从100Hz提升到192Hz。移动平均法的方法为,只有第一次扫描四信道的ADC Raw Data需要完整的扫描16次,之后各个信道的扫描只需要做一次扫描,再与前面三笔旧的数据做平均值计算,不断的递归更新数据。

4.2. 耗电流测量


在CPU频率设定为2MHz与ADC OSR设定为128的情况下,使用移动平均法可以得到的ADC Output Rate为192Hz,当CPU工作电压VDD=3V, VDDA=2.4V时候,在此情况下所测得到的耗电流约1.142mA,此为VDDA不接上HDK Force Sensor负载电路时候耗电流,如果在VDDA接上HDK Force Sensor负载时候的耗电流约为1.568mA。

4.3. 最大承受力


在ADC Gain=8,PGA=1的情况下,可以满足最大5kg秤重,使用者可以自行修改ADC的Gain值,以满足不同的应用。

4.4. ADC Raw Data与I2C通讯格式说明

I2C Slave Address:0x20

I2C Command:0x80

ADC Raw Data Format: S+Addr+0x80+rS+(Addr+1)+CH1Data_L+CH1Data_M+CH1Data_H+CH2Data_L+CH2Data_M+CH2Data_H+CH3Data_L+CH3Data_M+CH3Data_H+CH4Data_L+CH4Data_M+CH4Data_H+P

S: Star; Addr: Slave address; rS: repeat start; P: stop.

CH1,CH2,CH3,CH4: Force Sensor ADC Raw Data;

L: ADC Low byte; M: ADC Middle byte; H: ADC High byte;

每个信道数据(Chx)共8*3=24bit

Bit0,统一为旗标,Bit0=0b,代表为旧资料; Bit0=1b,代表为新资料;

使用者应该在Bit0=1b时,取得数据才有效.

Bit23,统一为Sign bit,

Bit23=0b,代表正数; Bit23=1b, 代表负数

4.5. ADC Raw Data数据显示界面介绍


扫描Force Sensor所输出的ADC Raw Data可透过I2C接口来做数据的传输与读取,搭配纮康设计的I2C转USB的网桥配合PC端的GUI,可以做为实时的ADC Raw Data数据显示。详细数据画面显示GUI操作说明,可以参考如下 :

1. Connect : USB连接状态,如果有正常连接会显示 Connect,如果连接不正常,会显示control board connect fail

2. I2C Slave addr: 预设为0x20.

3. Chart: 显示四个信道的Force sensor扫描数据

4. Scan: 开始读取四个信道的Force sensor扫描数据

5. Save: 存取四个信道的Forec sensor扫描数据



图8 ADC Raw Data数据显示界面

4.6. ADC Raw Data分辨率测试

在本文测试中,如果在HDK Force Sensor没有放置任何重力物的情况下,可以得到稳定度约+/-2~ +/-3 counts误差内(ADC output code: +/-15bits),详细可以由下图观察之。




图9 HDK Force Sensor无放置任何重力物情况下的ADC Raw Data变化量

尝试在四个Force Sensor上建置一平面,CH1定义为左上角,CH2定义为右上角,CH3定义为左下角,CH4定义为右下角,并且在平面CH3位置上放置100g的砝码,观察CH3的ADC Raw Data之变化量。CH3在尚未放置100g砝码前的ADC Raw Data约6350,放置之后ADC Raw Data约8300,所以100g的砝码大约会有1950的ADC Count分辨率,此为ADC Gain=8, PGA=1时候的测试情况。测试结果可以由下图画面显示清楚看到ADC Raw Data的变化量。从下图可以观察到,如果在建置一个机构完整良好的平面之下放置一个带有重量的物体,所有信道的ADC Raw Data都应该会是呈现正数的变化量。当在左下角CH3放置100g砝码的时候,距离最远的右上角的CH2则只会呈现微幅的ADC Raw Data正数变化量。



图10 在CH3放置100g砝码时候的ADC Raw Data变化量

5. 总结


在本文中,提供了完整的Force Sensor相关应用与开发工具供使用者参考,用户可以依据四个通道的ADC Raw Data变化量,来做后续的X, Y轴坐标与Z轴强度计算,等功能的设计与开发。

6. 参考文献


[1] http://www.hycontek.com/attachments/MSP/DS-HY16F198_TC.pdf, 纮康科技HY16F198 Datasheet.

[2] http://www.hycontek.com/attachments/MSP/UG-HY16F198_TC.pdf, 纮康科技HY16F198 User Guide.

[3] https://www.hdk.co.jp/pdf/eng/e138102_4.pdf, HDK Force Sensor datasheet
本文地址:https://www.eechina.com/thread-161887-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表