搜索
bottom↓
回复: 14

[技术博文分享]利用电位计替代旋转开关设计方案

[复制链接]

出0入0汤圆

发表于 2014-8-26 06:58:49 | 显示全部楼层 |阅读模式
本帖最后由 海尔_小海 于 2014-8-26 07:01 编辑

        有时,基于微控制器的产品需要使用旋转开关。由于很多微控制器都内置了ADC,在找不到旋转开关或旋转开关价格过高时,可以使用低成本电位计来替代旋转开关(图1)。
        尽管仅需执行少量指令即可将电位计设定值数字化,使其表现得像开关一样,但一个急需解决的问题是,在电气噪声或机械噪声的影响下,在某一个值和下一个值之间的切换阈值处,数值会不稳定。该问题的解决方法是为每次转换引入上、下两个迟滞阈值,这样一来,电位计就需要在另一个开关状态有效前越过阈值。针对每次更新的开关状态,都会有新的一对阈值替换之前的阈值。如此,迟滞效应可以实现各状态间的完全切换。
  

  图1:替代多掷开关

  这一方法具有下述诸多优势:单端口引脚对旋转开关的多端口引脚、成本低、更易获得且可实现去抖动切换。该方法的不足之处在于会失去制动感。设定点的另一特性是其可设置在任一位置,例如用以补偿电位计在响应过程中出现的非线性变化。
  迟滞通常稍高于会导致不期望切换的任何噪声。建议在电位计触点与地之间设置一个电容器,以滤除触点噪声(图1)。
  图2列出了算法。一旦用ADC对电位计设定值进行了数字化操作,该数值就将与下阈值比较,若低于下阈值,开关状态会逐渐降低并限制至零。若电位计设定值高于上阈值,开关状态会逐渐增大并限制至最大值。若开关状态发生变化,则上、下阈值会进行更新,并终止子程序。
  


  图2:流程图

  为确保该迟滞算法起作用,必须定期读取电位计设定值,并与上一次开关状态进行比较。这样做旨在将从不同状态跨过阈值或处于相同值的电位计设定值与相同状态区分开。
  此处还需要计算出采样率的最小值,可由电位计旋转率最大值除以开关状态数得到。例如,假设单匝电位计旋钮在0.25s内完整旋转一圈,同时假定有七种状态,那么最低扫描率为28Hz.若电位计数值采样周期低于最小值,即使切换方向正确,计算得出的开关状态也可能不正确。倘若未以较快的速率持续改变电位计设定值,则随后的采样会对切换状态进行校正。
  以七种开关状态为例创建一个阈值列表。假设有一个8位ADC。首先,ADC的256步范围被分割为七种开关状态。各开关状态的宽度为ADC范围除以状态数,即:256/7=36.6.对其四舍五入,将各状态的宽度定为36,但是两个外端状态需增加至38,以使总宽度为256。
  下一步是确定各开关状态的边界。对于状态0,边界为0~37(包含两端)。状态1从38开始到73结束,其余开关状态依此类推。根据增加或降低至边界的迟滞数值确定阈值。此处使用4这一迟滞值。迟滞量既不得大于宽度,也不得低于预期的噪声。因此,上边界加4即可得出上阈值,下边界减4即可得出下阈值,如表1所示。从该例可发现,从状态2切换为状态1需要使电位计数值下降至比切换点数值74小4,因此下阈值为70。相反,从状态1切换为状态2需要使电位计数值上升至比切换点数值73高4,因此上限阈值为77。用于程序代码的表格仅需标明上、下阈值,在此例中仅需14个字节。

  表1 阈值




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入98汤圆

发表于 2014-8-26 07:30:42 | 显示全部楼层
电位计是接触式的,就有磨损,就是硬伤。

出400入0汤圆

发表于 2014-8-26 07:34:35 | 显示全部楼层
有圈数限制,这个是硬伤

出400入0汤圆

发表于 2014-8-26 07:37:43 | 显示全部楼层
有圈数限制,这个是硬伤

出0入0汤圆

发表于 2014-8-26 08:03:05 | 显示全部楼层
是一个很好的思路,可以代替旋转开关。
需要考虑两个问题:
1、电位计输出特性的一致性,如果每个电位计需要设置不同的上下限,那么更换后需要校准,会给后续服务带来不必要的麻烦
2、顺时针旋转和逆时针旋转的输出的滞环效应,滞环大会导致用户产生刻度不均匀的感觉

出0入0汤圆

发表于 2014-8-26 08:33:42 | 显示全部楼层
cdust 发表于 2014-8-26 07:30
电位计是接触式的,就有磨损,就是硬伤。

对,磨损和寿命和不同质量的电位器差别太大了

出0入0汤圆

发表于 2014-8-26 08:36:04 | 显示全部楼层
没有咔咔咔的档位感,用起来会感觉怪怪的。

出0入0汤圆

发表于 2014-8-26 09:26:38 | 显示全部楼层
mark。。。

出0入0汤圆

发表于 2014-8-26 10:58:27 | 显示全部楼层
思路很好,使用手感上会差些。

出0入0汤圆

 楼主| 发表于 2014-8-26 19:26:04 | 显示全部楼层
bailao99 发表于 2014-8-26 08:03
是一个很好的思路,可以代替旋转开关。
需要考虑两个问题:
1、电位计输出特性的一致性,如果每个电位计需 ...

我想到以前半导体收音机,通过改变电容改变频率。用户感觉也挺好的~

出0入0汤圆

发表于 2014-8-29 23:39:38 | 显示全部楼层
这个貌似没什么好讨论的,只取决了电位器的质量,开关的频率

出0入0汤圆

发表于 2014-8-30 06:51:18 来自手机 | 显示全部楼层
海尔_小海 发表于 2014-8-26 19:26
我想到以前半导体收音机,通过改变电容改变频率。用户感觉也挺好的~  ...

可变电容是连续可调的,总在收音机上是合适的。如果用在波段开关上,就是不合适的。

出0入0汤圆

发表于 2014-9-10 13:04:17 | 显示全部楼层

出0入0汤圆

发表于 2014-9-10 13:29:45 | 显示全部楼层
有磨损还是一个硬伤。电位器比开关更不可靠,磨损后或者受干扰会漂移
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-10-2 21:30

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表