tag 标签: 电位计

相关博文
  • 热度 23
    2014-11-2 01:29
    1146 次阅读|
    0 个评论
    有时,基于微控制器的产品需要使用旋转开关。由于很多微控制器都内置了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,阈值。 代码示例(见下)支持Silicon Labs的C8051F310(8051架构),但也可以很容易地改编用于其他微控制器。 ;POT2SW INITIALIZATION MOV UPRVAL, #00H ;set upper value to opposite end to force the code to run MOV LWRVAL, #0FFH ;set lower value to opposite end to force the code to run MOV SWPOS, #03H ;initialize switch position to middle MOV POSMAX, #06H ;set maximum switch position value ;SUBROUTINES POT2SW: ;CALCULATE SWITCH POSITION VALUE FROM POTENTIOMETER VALUE IN ACC ;check if pot setting is below lower threshold CLR C MOV B, A ;save pot setting to register B SUBB A, LWRVAL ;potval - lwrval JNC P2S1 ;no carry means potval = lwrval DEC SWPOS ;carry means potval lwrval, so decrement switch position value ;check if switch position is zero MOV A, POSMAX ;load maximum switch position value CLR C SUBB A, SWPOS ;max switch value – switch position JNC P2S2 MOV SWPOS, #00H ;reset switch position value to zero since underflow SJMP P2S2 P2S1: ;check if pot setting is above upper theshold CLR C MOV A, UPRVAL SUBB A, B ;uprval - potval JNC P2S2 ;no carry means potval = uprval INC SWPOS ;carry means potval uprval, so increment switch position value ;check if switch position is max MOV A, POSMAX ;load maximum xwitch position value CLR C SUBB A, SWPOS JNC P2S2 MOV SWPOS, POSMAX ;reset curve number to max curve value since overflow P2S2: ;read lower and upper thresholds using switch position value MOV A, SWPOS ;multiply switch position value by 2 MOV B, #02H MUL AB MOV B, A ;save multiplied value as table offset MOV DPTR, #HYSTBL ;load base address of table pointer MOVC A, @A+DPTR ;look up table value from base address + offset MOV LWRVAL, A ;read lower threshold value MOV A, B INC DPTR ;increment base address MOVC A, @A+DPTR MOV UPRVAL, A ;read upper threshold value RET HYSTBL: ;TABLE OF LOWER UPPER THRESHOLDS FOR SEVEN POSITION SWITCH DB 00D, 41D ;Switch state 0 DB 34D, 77D ;Switch state 1 DB 70D, 113D ;Switch state 2 DB 106D, 149D ;Switch state 3 DB 142D, 185D ;Switch state 4 DB 178D, 221D ;Switch state 5 DB 214D, 255D ;Switch state 6 《电子技术设计》网站版权所有,谢绝转载
相关资源
  • 所需E币: 2
    时间: 2020-8-21 17:24
    大小: 169.89KB
    上传者: Argent
    本人从事电子行业多年,由电子硬件开发到软件设计,从工业控制到智能物联,收集了不少单片机产品的开发资料,希望通过这个平台,能够帮助到更多志同道合的网友,资料不在于多而在于精,有需要的老铁们可以下载下来参考参考。
  • 所需E币: 4
    时间: 2020-1-4 11:55
    大小: 991.9KB
    上传者: 2iot
    机械电位计自电子学创立之初即已开始使用,为各种传感器、电源或者需要某类校准的任何器件的输出调节提供了一种便利的方法。时序、频率、对比度、亮度、增益和失调调节,如此等等,不一而足。然而,机械电位计始终面临诸多问题,其中包括物理尺寸、机械磨损、游标污染、电阻漂移,对振动、温度和湿度敏感;需要螺丝刀、布局不灵活等问题。MT-091指南数字电位计简介机械电位计自电子学创立之初即已开始使用,为各种传感器、电源或者需要某类校准的任何器件的输出调节提供了一种便利的方法。时序、频率、对比度、亮度、增益和失调调节,如此等等,不一而足。然而,机械电位计始终面临诸多问题,其中包括物理尺寸、机械磨损、游标污染、电阻漂移,对振动、温度和湿度敏感;需要螺丝刀、布局不灵活等问题。数字电位计避免了机械电位计存在的固有问题,是那些利用微控制器或另一个数字器件来提供必要控制信号的新设计的理想替代型产品。对于那些不使用任何片上微控制器的人,也提供手动控制的数字电位计。与机械电位计不同,在主动控制应用中,数字电位计可以实现动态控制。数字电位计基于以前在MT-014指南中描述的CMOS“串DAC”架构,其基础示意图如图1所示。请注意,在正常串DAC配置中,A端和B端连接于基准电压之间,而W(游标)端则为DAC输出。串DAC配置中还多出一个R电阻,将A端与基准电压相连。VDDTERMINALA3-TO-83-BIT……
  • 所需E币: 5
    时间: 2019-12-24 22:56
    大小: 160.45KB
    上传者: givh79_163.com
    APrimeronDigitally-ControlledPotentiometersAPrimeronDigitally-ControlledPotentiometersApplicationNoteJune7,2005AN124.0Author:ChuckWojslawTheobjectiveofthistechnicalnoteistoprovidethedesignand(3)SPI(SerialPeripheralInterface).Thecontrolsignalsengineerwiththefundamentalsoftheoperationandforthe3-wirebusareUp/Down,Increment,andDeviceapplicationofdigitally-controlledpotentiometers.Sele……