System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数值防抖动,具体是一种线性旋钮电位器数值防抖动方法及系统。
技术介绍
1、现有使用的旋钮电位器数值检测方法是通过adc读取转换回来的数值来判断旋钮电位器是处于什么位置,其优点是快速、简单地知道旋钮电位器是什么数值,但是其缺点也很明显,如果adc的外围电路对adc采集有影响或者adc采集的精度不够导致adc采集回来的数值误差偏大,可能会出现挡位来回跳动,那么会导致程序误判断以及影响功能的正常使用。
技术实现思路
1、针对上述缺陷,本专利技术提出了一种线性旋钮电位器数值防抖动方法及系统,目的在于解决现有检测旋钮电位器的adc数值时,adc数值会出现来回跳动,导致程序误判断以及影响功能的正常使用的问题。
2、为达此目的,本专利技术采用以下技术方案:
3、一种线性旋钮电位器数值防抖动方法,包括以下步骤:
4、步骤s1:每隔2-4ms采集一次线性旋钮电位器adc数值;
5、步骤s2:判断当前采集次数是否等于预设采集次数,若是,则将采集到的所有线性旋钮电位器adc数值组成第一数据集,并对第一数据集进行预处理,得到第二数据集;若否,则进行采集线性旋钮电位器adc数值;
6、步骤s3:计算得到第二数据集的平均值;
7、步骤s4:设置线性旋钮电位器每个挡位的数值范围,并在每个挡位的数据范围之间设置一个空白区域范围,当处于某个挡位的数值范围的平均值跳动至与其相邻的空白区域范围时,则该平均值仍保持在原挡位的数值范围内。
8、优选地,在步骤s2中,对第一数据集进行预处理,具体包括以下子步骤:去除第一数据集中采集到的所有线性旋钮电位器adc数值中最大值和最小值。
9、优选地,在步骤s4中,还包括以下步骤:当处于某个挡位的数值范围的平均值跳动至超过与其相邻的空白区域范围时,则进入到下一个挡位状态。
10、本申请的另一方面提供了一种线性旋钮电位器数值防抖动系统,所述系统包括:
11、采集模块,用于每隔2-4ms采集一次线性旋钮电位器adc数值;
12、判断模块,用于判断当前采集次数是否等于预设采集次数,若是,则将采集到的所有线性旋钮电位器adc数值组成第一数据集,并对第一数据集进行预处理,得到第二数据集;若否,则进行采集线性旋钮电位器adc数值;
13、计算模块,用于计算得到第二数据集的平均值;
14、设置模块,用于设置线性旋钮电位器每个挡位的数值范围,并在每个挡位的数据范围之间设置一个空白区域范围;
15、防抖动模块,用于当处于某个挡位的数值范围的平均值跳动至与其相邻的空白区域范围时,则该平均值仍保持在原挡位的数值范围内。
16、优选地,所述判断模块包括预处理子模块,所述预处理子模块用于去除第一数据集中采集到的所有线性旋钮电位器adc数值中最大值和最小值。
17、优选地,还包括换挡模块,所述换挡模块用于当处于某个挡位的数值范围的平均值跳动至超过与其相邻的空白区域范围时,则进入到下一个挡位状态。
18、本申请实施例提供的技术方案可以包括以下有益效果:
19、本方案通过在每个挡位之间设置一个空白区域范围,当经过采集的线性旋钮电位器adc数值的平均值出现波动并波动到空白区域范围时,该平均值也能保持在原来的挡位,不会发生挡位的来回跳动,避免因adc数值波动导致程序误判断以及影响功能的正常使用。
本文档来自技高网...【技术保护点】
1.一种线性旋钮电位器数值防抖动方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的一种线性旋钮电位器数值防抖动方法,其特征在于:在步骤S2中,对第一数据集进行预处理,具体包括以下子步骤:去除第一数据集中采集到的所有线性旋钮电位器ADC数值中最大值和最小值。
3.根据权利要求1所述的一种线性旋钮电位器数值防抖动方法,其特征在于:在步骤S4中,还包括以下步骤:当处于某个挡位的数值范围的平均值跳动至超过与其相邻的空白区域范围时,则进入到下一个挡位状态。
4.一种线性旋钮电位器数值防抖动系统,其特征在于:使用如权利要求1-3任意一项所述线性旋钮电位器数值防抖动方法,所述系统包括:
5.根据权利要求4所述的一种线性旋钮电位器数值防抖动系统,其特征在于:所述判断模块包括预处理子模块,所述预处理子模块用于去除第一数据集中采集到的所有线性旋钮电位器ADC数值中最大值和最小值。
6.根据权利要求4所述的一种线性旋钮电位器数值防抖动系统,其特征在于:还包括换挡模块,所述换挡模块用于当处于某个挡位的数值范围的平均值跳动至超过与其相邻的
...【技术特征摘要】
1.一种线性旋钮电位器数值防抖动方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的一种线性旋钮电位器数值防抖动方法,其特征在于:在步骤s2中,对第一数据集进行预处理,具体包括以下子步骤:去除第一数据集中采集到的所有线性旋钮电位器adc数值中最大值和最小值。
3.根据权利要求1所述的一种线性旋钮电位器数值防抖动方法,其特征在于:在步骤s4中,还包括以下步骤:当处于某个挡位的数值范围的平均值跳动至超过与其相邻的空白区域范围时,则进入到下一个挡位状态。
4.一种线性旋钮电位器...
【专利技术属性】
技术研发人员:周孔昌,
申请(专利权)人:广东尚研电子科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。